Open Source Network Blog

Ten steps to a killer app, a user point-of-view
Tuesday, 03 March 2009 22:48
Guido Jansen

Guido Jansen

Guido Jansen is the founder of the Dutch Magento community Dutchento, is a Magento and Joomla! consultant. Authors profile

Today I'd like to talk about the user perspective of (potentially great) software. Web-applications to be more specific. So no technical details here, I'll be talking to the developers from the (end)user perspective. And since I'm the funny guy around here at OSN (not a programmer, just a crazy applied cognitive psychologist), I'll think you'll excuse me for not making this post too technical. Developers can also use this blog to show users what huge effort goes into developing quality software nowadays.

So what about it?

I think there are some key features any web-application nowadays should have. Of course you (a developer) have a great idea for an application and now there is a big market out there that's waiting for your product, but then what?

Here is my list of 10 most sought-after features. Users and businesses will look for these when they consider using your app. That doesn't mean every aspect below has to be met to be successful. But you'll need to honor most of them to produce a quality product and get a wide audience.

The list

1) Let me try!

If you're product is commercial, provide a demo or a trial product. I'm not going to buy if I can't try.

2) Easy Install and Upgrade

Not all users are techies so make some kind of installation program to get your application running.
Provide an automatic or minimal-click upgrade. And not just because ease of use, it's also a security issue. If it's taking users a lot of effort to upgrade, they will delay. "If it ain't broke, don't fix it" right? Well, that will become a problem when updates fixes for serious security issues. And guess who gets blamed for that?

3) Documentation, support, feedback

You will need to write documentation. Obviously, writing documentation isn't something most developers like to do. But it is a necessary one or else your e-mail inbox, support tickets or forums will get a lot of attention since your users don't know how stuff works. Also provide a real easy way for users to give you feedback (through the application itself of your website).

4) Be neat and use logic

Use programming concepts like MVC, KISS, YAGNI, DRY. When everything is written according to standards and uses general programming logic others can read it with ease. This will save a lot of time on writing documentation too.

5) Easy customization

Make the software completely customizable in a way people don't need to change the core. This saves a lot of work when upgrading the product to new versions.

6) Exchange data

Make it easy for users to change from your competitors to your software. So have a data import function.
Don't hold your customers hostage. They won't choose you if all there data gets locked-in. So also have a data export function.

7) Extend, Connect and Sync

Your product will never have all the features potential users want. You don't even want to make such a product because the software will get way too bloated. Focus on the core and make it extendable so people can add their own features.
Make a great API function so other developers can connect with you product and integrate it seamless in their complete IT infrastructure.

8) Be open

Use open standards. If people need to learn your (not so standard) way of programming habbits, they won't like using it.
Use open source. Just because you don't charge a license fee doesn't mean you can't make lots of money from the product. It will be much easier to create a community, get more feedback, and more users.
Making use of open standards and licensing your application as open source will also help a lot with point 1 and 3 in this list

9) Get Social

Make your software connect with social networks. This might not be a core function of your product, but with the popularity of social networks you might want to consider supplying the option for it (as an extension maybe). Also: implement RSS.

10) Usability

Couldn't ignore that point as a cognitive psychologist now could I? So last but not least: optimize your product for use by human beings...
  • Use basic usability concepts for your software. Don't let it behave in ways users won't/cannot expect.
  • Make it work in all (most) browsers. Yeah, IE is a bitch.
  • Don't forget visual impaired users (also users with color blindness)

Some examples

Here are some examples of applications that follow most points and have become really popular in relatively short time:

 
Get help for Joomla Now

Stay In The Loop

Subscribe now and we'll send you our latest News, Tips & Trics and Tutorials by email.
Jira ICT
Open Source Support Desk

Latest Comments

Canonical URLs and Joomla!
... I am working on a pretty huge page for a cli
Using Eclipse as Joomla! IDE
Codelobster isnt bad... I'm a dotnet developer...
Writing your own Joomla! splitmenu
Great job and it's worked! But, how to change the
Comparing VirtueMart and Magento
Magento is way worse of spaghetti code. Do you rea
Is Joomla! safe?
You can nver make any software full proof, the lat

Follow Us on Tiwtter

osSupportDesk Yes! RT @rdeutz: @HermanPeeren in reality after #jab11 doesn't exists, this time frame is called before #jab12 #partyon
ABOUT 23 HOURS AGO
osSupportDesk Available at ourcmsrocks.com soon -> Buy a Brian: http://bit.ly/2wmeeo #joomla
Thursday, 02 September 2010 09:01
osSupportDesk RT @MarcosPeebles: #Joomla vote for the OSS Hall of Fame award http://tinyurl.com/ourcmsrocks-showit go and show your support
Thursday, 02 September 2010 08:06
twitter Follow osSupportDesk on Twitter
Home Blog General Ten steps to a killer app, a user point-of-view