« Avoiding the Love/Hate Relationship in Software | Main | Do You Run 15N, 19F, and 31P Experiments? »

April 10, 2008


Feed You can follow this conversation by subscribing to the comment feed for this post.

Rich Apodaca

I can completely understand the desire to give users a wealth of features to work with. On a basic level, it seems like the right thing to do. Unfortunately, it's sometimes the wrong thing to do.

Consider: every non-core feature that goes into an app not only needs to be carefully designed and created, but also tested, debugged, and maintained over the app's lifetime. This sucks up precious time, from developers on down to salespeople, and it takes money. Both costs can be substantial over a product lifetime. It also takes machine resource, something that users bitterly complain about but usually feel powerless to change.

Most importantly, it's almost impossible to hide all those extra features well enough that the really useful stuff stands out.

Less software means more time and resources to focus on what your users actually need. Much easier said than done - and a hard lesson to learn.

I would yank out any feature not being used by every single user of an application and keep it out until it can be proven to be absolutely critical. You may end up with a completely different and totally unique product that does one thing very well.

More than one company has built a fortune around that idea...

Brent Lefebvre

I agree that design is the key here. Rich, you say that it is nearly impossible to hide all those extra features well enough that the really useful stuff stands out. My opinion exactly. So design is the key. I think it can be done.

Microsoft Excel is a good example. Tons of features in there that I never use. Would I want them to take them out? Some of them, maybe. Do they get in my way? Not really. I think the U.I. is designed well enough that I can get at what I want and get out quickly enough.

Really the ultimate goal is to capture the most users. If you can balance the design so that the main workflow is easy and uninterrupted, and you can have some extra functionality so that the more advanced users are still happy, I think you can strike a very happy medium.

Ryan Sasaki

I think one more point that shouldn't go unmentioned is one of upgrading from both a financial and technical perspective.

If we make a 1D NMR Processor Lite for Chemists and a suped-up 1D NMR Processor for more advanced users, what happens when the chemists become more advanced and they want/need those features we ripped out? They'd have to pay an upgrade fee to get them.

Of course we could be really nice and provide these upgrades for free, but even if we did there's another problem.

1D NMR Assistant is generally sold to groups of open access chemists. In many organizations there are many IT restrictions and testing policies that need to be obeyed. As a result upgrading software is not as easy as we would all like it to be. The less you need to upgrade the better so it seems.

You make an excellent point about the need to test, debug, upgrade, and maintain features various features and the more there are the more difficult it is.

I think we were fortunate that the processing backbone of 1D NMR Assistant is very mature and the majority of those features have been available for years and years so I am confident this isn't much of an issue. If we were starting completely from scratch, I think the KISS method would be more appropriate.

Although thanks for pointing this out as it will force us to think long and hard about what gets added to 1D NMR Assistant in the future vs. NMR Processor for example.

Interesting debate indeed!

Malcolm Beckett

As a power user I want the power but as a poor overworked spectroscopic I want the simplicity. The trouble with easy is that it is subjective quite often I have shown people how to get the best out of the software for them to say "that's not as hard as I thought in fact it is quite easy I will remember how to do that next time" . Well in my experience the chance of them remembering rapidly diminishes over several days. I know if I do not reuse unfamiliar software within a relatively short time I will forget how to use that particular feature (possible senior moment :0) ) Which brings me to my point I love the power of Spec manager but at the same time I do not want it to stop my work flow; that is make it intuitive so if I forget it is not to hard to regain the lost knowledge.

Ryan Sasaki

Hi Malcolm,

I think that what you speak of is a very common challenge that many people experience.

I hear it a lot from customers about our databasing utility, or prediction training for example. Everyone learns how to do it the first time, and usually realizes the value...but if they don't use it for awhile they forget. And if it means going back to the manual to get a reminder, more often than not it just doesn't get done.

Ease of Use is absolutely subjective. That is what makes implementing it into a software package such a challenging endeavor.

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Your comment could not be posted. Error type:
Your comment has been saved. Comments are moderated and will not appear until approved by the author. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.


Post a comment

Comments are moderated, and will not appear until the author has approved them.

Your Information

(Name is required. Email address will not be displayed with the comment.)