John’s Adventures

Archive for the ‘Technical’ Category

SnagIt 9 Or How To Take A Step Backwards In Usability

I’ve been an avid user of SnagIt for a few years now. It’s a great tool for taking screenshots of things and adding boxes, arrows and a variety of effects to explain something. It’s fantastic for putting together documentation or explaining to someone how to use a piece of software. You click a button and it captures either a window or you can draw a box around what you’re interested in. You can then annotate it all you want and save it in the format of your choice. It’s quick, simple and powerful. Well, that is until SnagIt 9.

First of all, let’s look at SnagIt 8:

SnagIt 8

SnagIt 8 is simple. The tools you need are on the left, such as boxes, arrows, highlighter, text and so forth. The image you’ve captured is in the middle and all effects are on the right such as resizing the image, adding a drop shadow, a torn effect (which is what I’ve used), adding a caption and so on. I frequently capture an image, draw some boxes, arrows and text on it, then add an edge effect - usually that torn paper one - then resize it and save it. Since everything is in one place it takes the minimal number of mouse clicks, all the tools such as the arrow tool remember the settings I’d used before (such as the colour, thickness and depth of shadow) so once I’ve used SnagIt one time it’ll remember everything from then on. Simple.

Now let’s look at SnagIt 9:

SnagIt 9

The first thing to note is that it uses the fancy new Ribbon control that was introduced by Microsoft in Office 2007 (it’s the strip at the top of the dialog labelled Draw, Image, Hotspots, Tags, etc. and when you click on one it reveals a bunch of related controls). When Microsoft introduced the ribbon a lot of people complained - people hate change after all. However Microsoft put a great deal of effort into deciding what controls to put on which section of the ribbon so that commonly used controls lived next to each other and were easy to discover. After struggling with it for a bit myself I have to admit that Office is far better for the new ribbon. Sadly I can’t say the same about SnagIt.

While the ribbon looks sexy in SnagIt, it’s pretty clear that not a great deal of thought went into deciding what goes where. OK, there may have been a lot of thought about it, but unlike the Office team TechSmith didn’t have the usability statistics to see how people actually use the product. And in a straw poll of one person (me) I have to say that SnagIt 9 has actually made my life harder and as a result I’ve rolled back to version 8 - the first time I’ve ever preferred an older product over a new one.

Take my standard workflow. I’ll capture an image, draw some boxes and arrows, resize it, add a torn edge effect and save. In SnagIt 8 I’d do the following (and I’m assuming I’ve run through the process previously and SnagIt has saved my preferences):

  1. Capture the image
  2. Click the ‘box’ tool and draw a box
  3. Click the ‘arrow’ tool and draw an arrow
  4. Click the ‘Resize Image’ button on the right and choose the size
  5. Click the ‘Edge Effects’ button then choose ‘Torn Edge’
  6. Save image

In SnagIt 9, things are no longer as simple. Now I have to do the following (and note that I’m assuming I’ve run through the process before so SnagIt should really remember my presets like SnagIt 8 does):

  1. Far too many steps to change the shadow settingCapture the image (same as before)
  2. Click the ‘Draw’ tab
  3. Click the ‘box’ button and find that it’s chosen the default one and not the one I want so I have to…
  4. Click the drop-down next to the styles to find one I’ve saved before in ‘Quick Styles’ noting that after a reboot my quick style has disappeared so I have to…
  5. Use the default box and draw it, then click the ‘Outline’ button and choose the red colour I prefer to the default dark red (note that red isn’t in any of the presets)
  6. Next click Effects > Shadow > More Shadows so that I can change the default shadow (note that in SnagIt 8 I’d do this once only and it would be remembered for ever more)
  7. Click the arrow next to ‘Styles’ to add the current style to ‘Quick Styles’ knowing it’ll be forgotten later
  8. Now to draw the arrow I’ll have to go back to point 3, but click the arrow instead of the box button - sigh
  9. Ok, time to resize the image, that means clicking the ‘Image’ tab
  10. Click Resize > Resize image - pretty much the same as SnagIt 8
  11. Now to add the edge effect, as usual it’s forgotten my quick style so I click Edges > Torn Edges and set the values I want (click ‘Add to Quick Styles’ and hope it’s there next time)
  12. Save image

Ok, I admit that if they manage to fix the fact that the quick styles keep being lost (and kept in view every time) it’ll make things slightly better, but nevertheless for my workflow - which is nothing special - it would mean a lot of flitting between the ‘Draw’ and ‘Image’ tabs and indeed that’s been the frustration. I love the fact that SnagIt 8 has all the tools you need in one place - changing tabs is like walking into another room and it just slows me down. It’s a real shame as SnagIt 9 has a lot of other cool features like being able to do multiple captures in a row and having a library recording all the snapshots you’ve taken. I gave it a few months to see if I liked it but when I happened to use SnagIt 8 on one of my machines it reminded me how much better it was so I rolled back.

I can see why as a software vendor you’d see the Microsoft Office ribbon and want to put it in your application - if nothing else it looks cool - but it’s easy to forget that the ribbon was designed to handle software containing hundreds of functions such as Word and was laid out with a great deal of care and thought. And while it works well in Word it’s not necessarily of benefit to applications with a couple of dozen functions. In the case of SnagIt it takes a light, quick and simple application and makes it just that little bit less light, quick and simple - which for me has always been its defining strength.

If you don’t take a lot of captures or are happy with all the defaults, then SnagIt 9 may be fine for you. But I’m a bit particular and fussy, so all that new GUI just gets in my way and means I’m better sticking with SnagIt 8. Bah humbug!

I’ve Finally Gotten Into Podcasting

PodcastingPodcasting (in case you don’t know) is a cool way to listen to your favourite radio show whenever you like on your iPod instead of at the allotted time it’s broadcast. The idea is that you subscribe to a particular podcast (such as the Adam and Joe BBC 6 Music show) and each time a new episode is released it is automatically copied onto your iPod (or any other MP3 player for that matter) and you can listen to it at your leisure, such as when you’re taking the train to work. Sounds great!

Of course, back when podcasting began it wasn’t so cool and I pretty much ignored it (which is what I tend to do with most technical things until they prove themselves capable of making my life better). Initially the only podcasts out there seemed to be recorded by American men droning on in monotone voices about some boring technology or other (or making some interesting technology sound boring as a result of their monotone, droning voices) - which is exactly the last thing I wanted to listen to on the train in the morning. So I steered clear.

But more recently mainstream media, such as the BBC to name but one, have picked up podcasting in a big way. Pretty much every radio show of interest has its own podcast and with the tight integration from software such as iTunes, it’s incredibly easy to subscribe to them. And that’s exactly what I’ve been doing. Much like getting Sky+ revolutionised the way I watch TV - I “series link” all the things I’d like to see and watch them at a time of my choosing instead of being a slave to the schedules (and as a bonus feature I never have to watch ad breaks) - podcasting now means I don’t have to turn radio 5 on at 11am on a Saturday to listen to Fighting Talk. Instead the next time I hook my iPod up to my Mac the latest episode is automatically copied across and I can listen to it when I want.

As well as audio podcasts there are also video podcasts produced by a variety of people and organisations (even NASA) although personally I prefer not to squint at a small screen while on a train so will stick to audio for now. But as is often the case, something that I thought was a bit of a waste of time when it first came on the scene has grown into a huge success that’s been bought into by most mainstream media companies, not to mention talented individuals who would otherwise not be able to show their skills without getting a job in radio or TV. Still, better late than never!

Oh, and before you ask, no, I have no plans to ever record my own podcasts. I’d just drone on in monotonous tones about my hair, the weather and a whole bunch of other things nobody would ever be interested in. This site does enough of that already!

As Fast As My Imagination Isn’t Fast Enough Damnit!

Picture this scene. My good lady is looking on the Dell website speccing out a new laptop. She’s not the most technically savvy person on the planet so isn’t exactly sure of what options she should and shouldn’t choose.

Like most non-technical people she gets bored of reading technical talk within about 30 seconds. So after a couple of minutes she says the following in a monotone, bored voice, almost sighing as she did: “Dual processor processes power as fast as your imagination… Do I want that?”.

Some marketing BS courtesy of Dell

A slogan like that is supposed to be said in a triumphant, confident way, and definitely in bold like Buzz Lightyear saying: “To Infinity And Beyond!”. I’m sure the copywriter who wrote the line about dual processors imagined people reading it and saying “Wow! I want one of them!”. But of course the reality is that most people won’t understand what a dual processor does and if it being “as fast as your imagination” actually matters on not.

A techie like me just ignores it as meaningless marketing spiel (I don’t know which part of their statement to correct first) but I’m sure many people like my good lady just get confused and turned off to technology even more. So much for being consumer focused.

The Difficulties Of Finding Good People

My company has been looking for the past while to hire someone with very strong software development skills using Microsoft ASP.NET with C#, SQL Server and a host of the usual 3 letter acronyms (which I won’t bore you with). It’s pretty much the standard skill-set of any current developer that works on the Microsoft platform building web applications - so nothing out of the ordinary.

In addition to these skills we’re after someone who can not only sit in a corner and write code, but can go in front of business people (i.e. non-technical types) and gather requirements, spec out a piece of work, build it, deal with customer changes and ship it to end users. Someone who can work on their own and as part of a team as the projects dictate, has no ego and is just a normal person at the end of the day. We’re pretty much looking for someone like me or Ian. Writing a blog or being obsessed with your hair is not a requirement! ;)

Now that said, what we’re really after is someone who’s smart and gets the job done. We’d far rather hire someone who has less experience in our toolset but is smart enough to pick it up than someone with loads of experience but isn’t very bright. As a further twist, I along with my boss have been doing the interviewing! Although I’ve not interviewed everybody, thank goodness.

The thing I’ve found amazing about the experience is that we’ve been taking the absolute best CVs that have come in, throwing loads of others out. We’ve been in the software game for long enough to know what we’re looking for and time after time we read a CV and think “hey, this person looks great, with their experience they could be the one”. We bring them in and time and time again they bear absolutely no resemblance to the person on their CV.

We split the interview into 3 parts.

  1. A light-hearted overview of the company, the department, the development team.
  2. We ask them about their experience, some of the projects they’ve worked on and more importantly what their thought process was about decisions they’ve made and how they approached any problems they came across. We’re just trying to stimulate a conversation to see how their mind works and if they’d be a good fit for the team (no prima donnas please).
  3. A short technical test (which I wrote).

A rabbit in a hatIt’s the last part that’s surprised me the most. Since it’s an interview situation, you’re under a lot more pressure than in a normal day so there’s no point making that worse with an extremely complicated trick problem. The test is in fact very easy. You get to sit down with Visual Studio 2005 to write a single method for an already-existing console application. You’ve got a spec telling you exactly what it needs to do and some helper classes and methods to provide you with what you need. In essence you need to match all orders for a given customer and the code is already there to return all the customers and all the orders for a given customer. It should take no more than 10-15 minutes and when I wrote it some of us thought it was so easy that it would be a waste of time.

Even under the pressure of an interview situation anybody who can actually write code should be able to waltz through it. Since you have full access to the documentation and internet in the test, even if you don’t know C# but can write any sort of code, you can probably work it out!

We leave them to have a read of the spec and come back to answer any questions they might have. Then we give them 10-20 minutes and see how they’ve done. It’s not a black-and-white right-or-wrong test as it’s really just to see if they can actually write code and if it doesn’t work first time (none of the code I ever write does) then can they debug it and work out what’s wrong, with some help from us if need be. You wouldn’t hire a magician without watching them do a few tricks would you? There are lots of opportunities to ask what-if questions just like you’d do in the real world and rather than a “test” we look at it as a way of having a discussion.

But what’s left me utterly beside myself is that virtually all the people we’ve interviewed that consider themselves to be very strong developers have done absolutely terribly at the test! It beggars belief that people who can’t even compare a string to another string should be writing software for a living - comparing strings is one of the most basic things you can do in software. It’s like a plumber not knowing how to turn off the hot water supply. Some of the interviewees have 15 years development experience with CVs that look far better than mine and talk the talk, but have clearly managed to survive using the drag-and-drop method of writing software without ever understanding what they’re actually doing. No hire.

A lovely chrome piece of pipingNow I know we’re not going to attract the creme de la creme to work on a hill above Halifax in Yorkshire even if we do score 8/12 on the Joel Test (which isn’t too bad - and we’d have 11/12 if it weren’t for some of our management). And I know that most decent people aren’t looking for jobs because their employers realise how important they are and pay them so much money that they’d never leave (heh heh, yeah right). But we’re surely not being unrealistic to think we could find some people who can actually write software and communicate with other human beings.

One thing about the technical test we’ve found is that it hasn’t made us change our opinions about a candidate. If they were doing badly and did well on the test we’ve still said ‘no’ and if they’ve done well everywhere but the test we don’t rule them out. By having a chat with someone for an hour we reckon we can pretty much tell if they’re a good fit or not even without testing their coding so for now we’re going to move the test into the second interview stage (which is usually just a formality and chance to meet the director and more senior people than us) and use it as final confirmation rather than wasting half an hour with someone now that we already know we’d not hire.

Fortunately the last time we hired someone we found a guy who really blew us away. I was starting to lose hope that decent people existed but then in walked my future colleague who was clearly a really nice guy, intelligent, sharp, on the same wavelength as my boss and I and of course he flew through the technical test in record time!

But until we get lucky enough that another superstar walks through the door we’re wasting a hell of a lot of time interviewing people who we can tell within 20 minutes aren’t going to cut it - but because we’re nice people we don’t say “Stop! There’s no point carrying on - get out!”, we give people every opportunity to show us what they’ve got. It’s hard work and I’m glad I don’t have to do it all the time. I’m almost inclined to take the advice I read somewhere about recruiting and throw half the CVs in the bin because you wouldn’t want to hire someone who’s unlucky! ;)

Finally, A Device From The World Of Tomorrow!

I’ve always had a fairly active imagination. When I was a kid I used to imagine having a tunnel in my back garden that lead to Australia - seems a touch impractical now I look back - how would I keep the molten lava from ruining my mother’s plants? Anyway, sometimes I like to let my imagination run away with me even today and one scenario I often consider is if I found myself sent back in time 20 years - what would I do?

Since I’m not the money-obsessed type I don’t bother with betting on the result of sporting events to make loads of instant cash. I also don’t feel the need to track down any old foes and sort them out “once and for all”. This is mainly because I don’t actually have any old foes. The temptation is also there to track the young John Conners down and tell him about some of the important things in his future as well as what choices to make to guarantee him success (such as telling him all the women that fancied him but because he was too stupid to spot the signals he completely missed out on). But again, it’s not something I’d do - he has to learn these lessons himself - he can kick himself when he’s in his 30’s looking back like me!

Or maybe I’ll drop in on the then down-on-her-luck J.K. Rowling and give her some motivational words that one she’ll change the world in a way that nobody else ever will!

One thing that I probably would do however is drop in on my mother. 20 years ago my brother and I were at school during the day and she’d have been on her own in the house - which is when I’d pay her a visit. I’m not entirely sure what I’d say to her but I suspect it would be the truth and for her not to tell anybody else that I’d dropped by.

My iPod TouchWhatever I decided to do, I now know the one thing I’d bring with me. It’s a device that can prove to anybody that I’m from the future, it would let me listen to music when bored waiting for a bus and come in handy if I wanted to show my mother photos from her future (and to prove I am who I say I am). It is in fact my new iPod Touch. I think if I went back in time a mere 5 years people would think I was from 100 years in the future as it really is an amazing piece of kit.

Not only is it extremely thin and beautifully designed but the way it operates is like something out of Star Trek: The Next Generation. Rotating it around 90 degrees and seeing the picture or album cover rotating too looks cool on the advert but it looks amazing when you see it in the flesh.

I have mine synced with a good selection of my music and all the photos I’ve taken over the last 7 years (which live in Apple’s iPhoto on my Mac). It’s so cool if someone asks what I got up to at New Year and I just show them on the iPod. Or if they want to see some of my landscape photography I can hand it to them. Combining it with a telephone in the iPhone is just awesome - although the 18 month contract is just not worth it for me, I’ll wait for version 2. Also, since digital mobile phone networks didn’t exist 20 years ago it wouldn’t be much use in my time travelling adventures!

Technological improvements happen slowly, people who talk about revolutions in technology are either salesmen or over-excited techies. But if you compare consumer electronics in 5 year intervals over the last 20 years then you really can see the giant leaps and bounds that would blow people away if they could see ahead. I’ll be interested to see what the 53 year old John Conners who travels back in time 20 years has to show me! But I’ll never tell. ;-)

Another Satisfied Wordpress User

Well no sooner had I written that I was pondering switching blogging platforms from Movable Type to Wordpress than I started actually doing it. One of my many character flaws is that once I get an idea in my head I tend to go 100% all guns blazing and don’t stop until I’ve done it and this was no exception.

Having been a Movable Type user for several years I’d not paid a lot of attention to Wordpress other than installing it and having a quick look at it a couple of times. Version 2.3 was coincidentally released just at the time I was thinking of moving my site so I took it as a sign to proceed.

I must say, I’m very very impressed with Wordpress. Writing good software that’s easy to use, powerful and fun is very difficult. There aren’t that many people out there that can really do it. But writing good software that’s easy to use, powerful, fun and easy to extend is much harder. Wordpress manages to do this very well, better than any software that I can think of. While I know PHP quite well, I hadn’t used Worpress at all yet within 4 evenings I’d managed to do the following:

  • Import all my posts and comments from Movable Type
  • Create a theme that looked exactly the same as the old site but used the new functionality that Wordpress offers (such as improved comment handling)
  • Write a plug-in that changes the Wordpress WYSIWYG editor to be just the way I like it and tweak the RSS feed to be just the way I like it
  • Migrate the ‘My Software‘ section of this site over to Wordpress Pages - a much better way to handle things

To an experienced user of Wordpress this is all pretty straightforward stuff, but I’m not an experienced Wordpress user. Up until a couple of weeks ago I’d never so much as looked at the documentation or actually written a post with it. Now I’ve moved my site to a different platform, haven’t broken any links and it all seemed far too easy - which I like!

Wordpress on John’s Adventures

My point is that to do what I’ve achieved as a novice MT user moving from Wordpress to MT would have been a far more serious undertaking (note that I’m talking about Movable Type 3.x here, I can’t comment on MT4 as I wasn’t impressed enough with it to see what’s changed under the hood). I’d have been able to import my content no problems but creating a theme is a lot harder in MT - they’re stored within the database whereas the theme files in Wordpress are files in a folder making them easy to copy onto a test server where I can get things right then simply copy to my live site. With MT I’d have to do a lot of copying and pasting or database updates - not ideal. I’d probably have ended up just using the default template and tweaking that rather than using my existing lovingly created and evolved layout. Of course, some might argue that’s a good thing…

The documentation for Wordpress is also worth a mention - whether you’re modifying themes, writing plugins or just trying to figure out how it all works. It can be a bit tricky to find what you’re looking for in the MT documentation (or maybe it’s just me) but the Wordpress docs rock. Whenever I was stuck trying to figure something out when creating my theme or plugin the solution was easy to find and explained thoroughly. Feature-wise I think Wordpress and Movable Type 4 are pretty much on the same level but I find Wordpress to be faster (on my server at least) and with a far more active community in terms of themes and plugins - which is always a good sign for a product. In fact there are so many plugins out there it makes my head spin!

I know they say “a change is as good as a rest” but it’s more than that. I actually feel more inspired since installing Wordpress. I can’t put my finger on why but when I log in and look at the clean, slick interface I just want to write something. Which is great news for me - but bad news for you, the poor reader. So I’ll apologise in advance and you can just blame the developers of Wordpress - it’s their fault for doing such a damn fine job! :)

Stick With Movable Type Or Twist To Wordpress?

I’ve been using Movable Type as the power (with a capital ‘P’) behind this site for the last few years and I’ve been pretty happy on the whole. One thing that was missing was a decent WYSIWYG editor (so that when I write a post I can see how it’ll look when it gets published) - but I sorted that one out by using TinyMCE. Another was comment spam but I fixed that with CAPTCHA. Everything was great, it was working happily and despite the fact that I really liked the look of Wordpress (more about that later), I was happy to stay put.

Then recently Movable Type 4 was released. I installed a beta version to have a play around and I really liked it. It’s organised similarly to Wordpress (which is much nicer to work with than Movable Type 3) and it seemed very slick. That is, until I tried editing a post. Six Apart have implemented their own WYSIWYG editor and, to be frank, it’s nowhere near good enough. I never find myself switching to the plain HTML view to fix something TinyMCE has messed up and it was only when testing MT4’s rich editor that I realised just how good TinyMCE is. MT4 produces some real garbage HTML underneath, doesn’t let you edit the properties of images you’ve placed such as the CSS class or style you’d like to apply to it (unless you switch to HTML view), doesn’t support tables (except with HTML view) and when creating a new post it doesn’t even surround the text with paragraph markers (unless you switch to HTML view) and you end up having lots of line breaks entered instead of paragraphs. These things may seem minor (and there are many more) but they’re annoying enough for me to not upgrade my installation. It’s the 21st century, I shouldn’t have to be hand-coding HTML to produce a basic, standard blog post about my hair or new football boots.

I have attempted to write a plug-in to get TinyMCE working with MT4 but haven’t managed it thus far - the entry editing page is quite different to the MT3 one and is proving rather tricky! Plus I’ve not really sat down and dedicated a lot of time to figuring it out.

I will say though that there are plenty of other slick features I like such as being able to create pages (a la Wordpress), manage uploaded files (such as pictures) more easily, some more powerful template tags, finer-grained user permissions, better look-and-feel and just basically a more logically organised front-end. But until I manage to use a better WYSIWYG editor, I won’t be upgrading.

Which brings me onto Wordpress. Many times over the years I’ve been tempted to migrate my site over to Wordpress. It’s been ahead of MT for ages in terms of features and the fact that it’s written in PHP (which I know) rather than Perl (which I don’t and don’t particularly want to) makes me like it more. The latest version - 2.3 - has just been released and after installing it I’m impressed. The management pages are much faster than MT4’s, nicely laid out, and best of all - it uses TinyMCE for entry editing! I can quite easily write a plugin (plugins are incredibly simple to write since they’re PHP which I know as I said) to use the same options I use in TinyMCE on my current MT install. I’ve looked into migrating the content (pretty straightforward) as well as the layout (time consuming, but not hard) and maintaining the links structure so no links get broken and it’s mighty tempting.

Of course, you as a reader couldn’t care less, you see the output, not the tool that creates the site. “So why are you telling us about this John?” I hear you say - to which I reply that “you’ve got some attitude mister!”. Well I spend most of my time in Movable Type and very little of it actually browsing my own site, and you know what they say: a change is as good as a rest!

I know that the sensible choice is to just stick with what I’ve got now. It works and changing platform won’t really make any different to those reading my ramblings. Just because something is new and shiny doesn’t mean I should instinctively use it. But if I know me I’ll find myself sitting in my house on a rainy Sunday with nothing better to do and then port the lot to Wordpress. Or maybe I’ll properly crack putting a decent editor into MT4. We shall see… And in Yorkshire most Sundays are rainy Sundays!

Adios Vista, Hola XP Again

While I don’t like to be on the bleeding edge of new technology and software, I do like to stay on the leading edge where possible so when Windows Vista was released late last year on MSDN I installed it on a machine at home, liked the look of it and then put it on my work machine (wiping the hard drive first as it needed a good tidy up anyway).

At first I liked it. The new user interface looked slick and a cut above Windows XP, the Windows+Tab 3D effect looked very nice indeed and I even liked the way the new address bar turned into buttons so going up several folder levels involved less clicking. After installing all the software I use I even got used to living with the UAC popups - although I eventually turned the whole thing off and ran as an administrator since most of my time at work is spent working with Visual Studio 2005 and IIS which both require you to run as an admin if you want to do any debugging. I know it’s “wrong” but I’ve never once had a computer virus or piece of spyware so I wasn’t concerned.

The Grey Screen Of MiseryAll was well for a while but as time passed I started to get more and more frustrated with Vista. For one thing, it’s significantly slower than XP. My work machine is a dual core P4 3GHz with 1.5GB of RAM so isn’t a lightweight. But run a couple of instances of Visual Studio, Outlook and a few other apps and it would grind to a halt in a way it didn’t with XP. I’d spend a lot of time looking at the ‘Grey Screen of Misery’ (right - question mark added for emphasis).

So I had to learn to be more patient between starting a debugging session and anything actually happening. I realised that if I was in a hurry I was going to get annoyed so I relaxed a bit. But then Visual Studio started to crash. A lot. And in a multitude of different ways. Like so:

One of many Visual Studio crashes on Vista

It would crash in the middle of it sitting around doing nothing. It would crash when I was debugging some code. It would crash when I closed it. When I opened it. Just any time it felt like it - and it was driving me crazy! Writing software is something that you need to be able to concentrate for extended periods of time to do well - and when your machine is flaky and falling over frequently requiring numerous reboots you just can’t get anything done. (And before you ask, it was indeed doing the same before I disabled UAC - it wasn’t spyware or a virus, it’s just the standard behaviour that I and my colleagues who installed it came across). I even went as far as to completely uninstall Visual Studio and put it all back on again. No change.

One or two problems to report...Vista’s nifty feature of being able to check for problem solutions from the web wasn’t very handy either (right). As with most things that don’t work when you’ve tried them numerous times I gave up checking for solutions when it never found any.

I started considering wiping my work machine and re-installing XP and the more crashes I came across doing my day job the stronger my feelings got. Eventually I had a bad day where I got hardly anything done and I actually had a lot of work to do but every time I started something Visual Studio crashed and I had to almost start again. I cracked and copied all my documents onto an external hard drive. The next morning I got out an XP SP2 CD and put it back on.

Here I am a week later and I don’t regret my move one bit. XP is much faster, Visual Studio is rock solid again and hasn’t crashed once. I can safely say that while there are indeed some really nice new features to Vista (I’ll probably write about them once the bitterness has gone), I don’t miss anything at all about it. Not a thing. I’ve read about loads of problems with Vista and graphics cards, other pieces of hardware, iTunes and that sort of thing but my work machine really only has Visual Studio, Outlook and a couple of web browsers running. Nothing special and no on-the-edge hardware. And yet myself and my colleagues who took the plunge have found that Vista just doesn’t cut it as a day-to-day development system. What finally made me roll back to XP was the fact that the other developers who stuck with XP weren’t having any crashes at all.

I can only join the chorus of people who say that Vista really isn’t worth upgrading to for the time being if you’re a software developer. I’ll mention that my good lady’s laptop - which is used exclusively for surfing the internet - is running Vista and has been as solid as a rock since I installed it, so I’m not saying Vista isn’t ready for most people’s uses. It just isn’t ready for mine, or anybody who does the same sort of work as me.

See, I wrote a whole post about Windows Vista and never once mentioned how much more I love my Mac. That’s for another day! ;-)

FogBugz 6 Goes Live

I've been using the defect tracking / customer support software FogBugz - brainchild of blogging A-lister Joel Spolsky - for a few years now and I've been a big fan. I've used it for work as well as for home projects such as my beloved John's Background Switcher and it's made my life a million times easier. Anybody who writes software, whether for money or fun, needs some form of bug tracking in their life if they want to remain organised (even a simple spreadsheet will do). But FogBugz is much more than a mere bug tracker though.

I also use it to handle all the email that comes into my web site. I get frequent requests for new features or help with my background switcher (as well as random emails about all sorts) and that all gets fed directly into FogBugz. This means I can track each person's request from replying to them for clarification and having a conversation, turning it into a feature for a future version of JBS that I can estimate, decide which version to put it in, implement it (it also hooks into my source control) and create a release note that turns up in the release notes (not surprisingly). It does this all without any thought from me and I don't need to keep a hundred things in my head at once (I can manage about 7 then things start to fall out of it). The chance of me screwing something up, not replying to someone or completely forgetting about a suggestion gets reduced to zero. I also use the discussion forum functionality when I run beta tests of JBS so when people find a problem I can turn that into a bug and fix it with full circle visibility (i.e. I can look at the bug and go directly to the forum post or see the code change I made to implement it and so on).

While I don't use FogBugz at my current place of work (although I would if I could) if I were to run my own company I know I could use it to handle everything from customer support to defect tracking and release management. Nice.

When Fog Creek requested beta testers for the long awaited FogBugz 6 I jumped at the chance. Having seen an alpha version running on Joel On Software I knew it contained a Wiki which would plug a hole that FogBugz 5 had. While it was great for tracking features, bugs and emails, writing a spec and documentation would happen outside FogBugz which was less than ideal. Integrating a Wiki would be cool.

So for the last couple of months I've been testing and using FogBugz 6 and despite being initially a bit shocked by the redesign (mostly because once you get used to something any change seems scary - see below) I like it and really think it's a big step forward.

The new FogBugz 6 case view

The wiki implementation is great and it's encouraged me to sit down and write some specs for big features for JBS (about time too) as well as keeping notes like my list of beta testers and such things in one handy place. When combined with community users - which means anybody can create an account in my FogBugz and I can give access to wikis and discussion forums of my choosing - I'll be able to interact much more closely with people using my software.

There are loads of new features which you can read all about in Fog Creek's What's New page but one of the really cool ones is 'Evidence-Based Scheduling'. It's a rather clever way of predicting the probability that you'll be able to ship versions of your software by certain dates. Each developer can estimate how long each task and, taking into account how accurate each developer has been in past estimates, you can see a fancy graph that lets you see the probabilities. Like the following which shows that it's 94% likely that I'll be able to release JBS 3.2 on October 3rd if I work solidly on it from now until then (which I won't):

Ship date estimation in FogBugz 6

The more releases you go through the more accurate it will be and the more confident you'll become with it. It's rather clever and something I'd love to use at work where release dates are a lot more important than on my own projects.

There are more new features than you can shake a stick at (including a much more powerful search system) and I'm really impressed by it. I'll continue recommending FogBugz to anybody who'll listen with more enthusiasm than ever as it's quite simply the best solution I've come across for managing the whole product development process (not just the software development part, I mean everything) by a country mile. Fog Creek now offer a hosted version of FogBugz so you don't even have to set up your own server if you don't want to. There's no excuse to not give it a try - you won't be disappointed.

My Very Own Digital Signature

One of the effects of User Account Control on Windows Vista is that whenever you run a software installer you are asked to confirm if you really want to run it and if you agree, you are either elevated to the mighty powers of an Administrator or you’re asked to enter the credentials of one. The idea behind this is to make sure that you don’t accidentally install something dodgy or some evil software doesn’t manage to install itself without you knowing about it.

It can be quite annoying although it is a useful measure against spyware and malware. However, when launching my installer for John’s Background Switcher I would get this rather scary dialog:

Unidentified Publisher Warning

Windows Vista cares a lot more about digital signatures than previous versions of Windows. To obtain a digital certificate to sign your software you have to go through an authorisation process to verifiably identify your company or yourself. If you’re a malware author you’re not likely to get a digital certificate because it costs money, you’d have to identify yourself to an issuing authority and as soon as you’re reported for making malware your certificate would be revoked. So if the installer you run is digitally signed with a valid certificate Windows Vista can be pretty sure it’s not likely to be evil software that’ll take over your computer. In this case it presents a much prettier dialog that’s far less likely to scare any normal user into cancelling. And there’s no orange in sight.

For this reason (and because I thought it would be cool) I decided to stump up a bit of cash and buy my own digital certificate in my name (since I don’t have my own company). After sending a copy of my passport to the issuing authority I can now sign any software I create so that it’s uniquely identified as coming from me. So now when you run my installer you’re shown this:

JBS Installer Signed Warning

It’s a far friendlier dialog and I hope that people being presented with it are much less suspicious that my software has some evil, ulterior motive. Also, if someone tampers with my installer, the signature will become invalid and Windows will complain.

It’s a bit of a pain having to pay for a digital certificate to stop Windows from scaring off potential users but I guess that’s thanks to all those dodgy malware authors out there exploiting the formerly trusting nature of Windows. Grrrr.