What Makes a World-Class Software, Part 1

Monday, May 25th, 2009

When I was a computer science student in college, I loved taking project-based classes where I spent 3 months to develop apps on the coolest ideas ever. Having this experience, and hearing all the “agile” buzz from start-up’s in the early 2000’s, I was once convinced that great software products should just happen in a snap. Is that true?

Well, it depends. There are definitely cases where my early thinking stays true. But over the years I find that no matter what your PM methodology is, you can’t get away from spending a phenomenal amount of time and resources if you want to build a world-class software.

Why is that? Well, as your product matures and gets deployed to more people, it will be put into situations that you would never imagine in front of your screen. Everyone has different needs and will praise your product only if it does what they want. (boo otherwise)

So what exactly needs to be considered for a world-class software? Well, I don’t think I can ever come up with an exhaustive list, but here is a sample list that would give you an idea:

Testing, testing, testing

Well, I’m starting the list with an item that’s not a typical design consideration. (design in its narrow sense) But I can’t stress more about the importance of testing, which many start-ups overlook.

Remember Friendster? They were the inventor of Internet social network. They were the one who showed me which friends I have in common with friend X. It was incredibly cool and I would be willing to pay them a subscription fee for the service because of the amount of value they’ve created.

Well, 3 months later, the service starts to become sluggish, my input sometimes gets dropped, and often times you can’t even log on to the web site. This is not a state you want to be in when many others see your success and are ready to make a clone of your idea. If you’ve never heard of Friendster, this is the reason why. They could have be in Facebook’s position today, but the overall bad user experience dragged them down.

Please, test your software. Test it in every aspect I’m listing below and go find more things to test, and make sure it can take all the beating and torture in the real world.

Usability

Is your software considered easy to use by your users? Usability is probably the hottest topic in software these days but often overlooked in practice. World-class software starts usability testing with paper mock-ups before a line of code is written. Treating usability testing as a final thought or as a way to “polish” the product is both costly and ineffective.

Bad usability is frequently observed on iPhone applications. Though Apple published a great usability guide with the iPhone SDK, it’s easy as cake to spot a blatant usability violation. Sometimes I download sketchy apps just to laugh at the poor design ]:->

photo

Here is a great example that I hope you would find entertaining. It’s an app for browsing Craigslist postings, and this is the screen you see when you launch the app.

So…where are the the classified categories? Turns out, the designer assumed a search-based usage so you can’t browse anything until you define a search by clicking on the “+”  button.  (Does this + symbol suggests a search functionality? Not to me.)

Oh, and when you tap on it you get a prompt asking whether you want to Add a New Search before it shows you the actual search form…another trigger for user confusion.

Nope, this app is not world-class.

To be continued…

4 comments

  1. TinyFox

    Man, nice to see you get your blog set up. :3

    #16
  2. mike

    Hey Joseph, nice blog! I credit Asianavenue.com as the father to modern social networking. At least for me! Anyway, I look forward to your next post!

    #17
  3. TinyFox

    http://www.dearjohn.idv.tw/1934

    This can be another example. :3

    #19
  4. Joseph

    Hmm…this looks more like a failure in community facilitation. It is critical for community-centric services, but not a software issue per se.

    Good thing to watch out for community dependent start-ups though!

    #21

Leave a Comment

OR

Account