Tuesday, December 12, 2006

Simplicity Ain't So Simple, Part III: Don't Add Features You Can't Support


Making software simpler for end users is incredibly important, but sometimes simplifying your software means making things simpler for you, the developer.  And the best way you can do that is to avoid adding any feature that would bury you in support costs.

I'll give you an example: a number of FeedDemon customers have asked for an integrated blog publishing tool, which certainly sounds like a good idea. 

Source: Simplicity Ain't So Simple, Part III: Don't Add Features You Can't Support
Originally published on Tue, 12 Dec 2006 17:12:19 GMT by Nick Bradbury

As a developer myself, I have to say HUZZAH! (Why is that not in spell check?)

I do use FeedDemon. I love a good 95-99% of it. No software, even the stuff I write for myself, ever hits 100% in the 'love' category. Why? A couple of thoughts.

Ask any 10 users on what a piece of software needs to do, and you will get 10 different views. Hopefully you will find some common themes, but no matter what someone will be disappointed. There are times it seems that half your users a function work way A, half want way B. Of course A & B are polar opposites. So now we either piss off half the clients or add options. Add the option then all the users complain there is too many options. Bang head here. I could make a mint on selling those posters to programmers.

Programming for all levels of expertise is tough. Make it too simple and you loose the experts. Make to too tough and the newbies will give up. Adding both adds complexity, and makes it tougher to maintain and enhance down the road. Sometimes you can find a 'just right' middle ground, but too often that leaves a bad taste in everyone's mouth. Users have a nasty tendancy to want to use an app they way THEY work, not they way the PROGRAMMER works. Might inconsiderate in my opinion ;).

Let us not forget the limitations of our systems and conventions. Really cool, and useful, user interfaces are sometimes poo-pooed because they are 'too different' and viewed as too difficult to use. Never mind if the learning curve is worth the effort - kill the uniqueness. Why am I reminded of the Borg? Sometimes really slick user interfaces are just not doable given other requirements. Sometimes the 'typical' machine just does not have the horsepower to do what is needed. Sometimes the operating system throws up roadblocks.

Finally the user requirements keep shifting. The slick (and useful) UI of today is tomorrow's crap that gets in the user's way. Expert users will find new (and many times surprising ) ways of using your software that you never dreamed of. Other companies start supplying data that is a natural fit to your app. Sometimes your data would be a great fit for another app. Maybe your app data would make sense on a cell phone. Or PDA. Let's not even go into the infinte possibilities of Web 2.0 mashups.

As for FeedDemon, my main pain point is the "Blog This" feature, somewhat mentioned in the above post. I have no problem launching the blogging software of my choice. In fact I prefer that over using some weird, to me, software that Nick would provide. However I always have trouble finding the option. I want it on a particular view on the right click. However it is on the 'Send To' menu on an icon. I understand WHY it works the way it does, but it does not help when I want to blog about something I just read. The problem exists between chair & keyboard, not with the software. However until that little bit of knowledge finally leaks into my brain, I will have frustrations with FeedDemon.

Truth is all software development is a serious of trade-offs. Even with infinite time it is unlikely perfect software would emerge. You need to get something into the hands of the user. Many times something that is 70-80% (or less) of what the user needs is better than nothing. Search for 'good enough software' and you will find plenty of articles that discuss this.

Akron City Council approves debt refinancing

Source: Akron City Council approves debt refinancing
Originally published on Tue, 12 Dec 2006 08:01:00 GMT

It is odd to see a city refinancing a loan (bonds) that does not relate to other fiscal problems. However it makes perfect sense. People routinely refinance a loan when the interest rates drop. Maybe because bond interest rates are a little more stable (business-types like stability) than say home mortgage rates you don't hear about it.

Good to see someone in government applying the same common sense normal people use.

Friday, December 01, 2006

Today is "Support Your Favorite Small Software Vendor Day"

Source: Today is "Support Your Favorite Small Software Vendor Day"

Jeff Atwood makes a great point. If you read the comments of the post, and I do recommend it, you can get a lot of great little pieces of software. Granted most are aimed at programmers, but still worth the look. Like Jeff, I also registered WinZip back in the day when they shipped it on a 3.5" disc even if you downloaded it at no extra charge.

I tend to use a fair amount of Open Source software. Many times I find Open Source or shareware tends to get the software that I need and they respond well to bugs or exhancements. I prefer Open Source since if something happens to the primary developer the project is still there for someone else to pick up. I have run into problems with shareware when the developer has some problems (or worse yet, dies) and there is no one to pick up the project.

I registered MPG, a small Palm app to keep track of your milage and total cost of ownership for multiple cars. I have used it for years but never paid for it, just putting up with the nag screens.

Some others I will be registering are Euchre, a Palm-based Euchre game, plus sending some money to the nice people at Mozilla for FireFox and ThunderBird, plus digging through my pile of programs at home to see if I have been negligent in the past.

Some other programs I have registered - FeedDemon (RSS reader), TextPad (fancy text editor, primarily for programmers), Geocaching Swiss Army Knife (handling GPX files from Geocaching.com), Cachemate (Palm-based handling Geocaching info, works with Geocaching Swiss Army Knife) and Runners Log. Those are the biggies.

Update: Ooops. Runners Log can be found here.