Which is more difficult?

Somewhat of a continuation of this thought, but really which is more difficult: building scalable well designed software or writing simple, easy to use software?

My answer: Building software that is simple and easy to use it much more difficult than building scalable well designed software.

Building scalable well designed software really isn't that hard any more. A lot of the important things that you had to do or know (like C++) really isn't a factor any more. The base technology has improved so much that even poorly written code on top of a great platform (like .NET) can perform exceptionally well or can iteratively be addressed as problems show up. Furthermore, at least as it related to public web applications, the number of exceptionally high traffic sites (>250mm impressions/mo) is relatively small.

It seems there are 2 ways software gets written and marketed: inside-out development which places the emphasis on the technology, for example describing itself as follows, "...Implements Microsoft Enterprise Library...", "...uses AJAX everywhere...", and "...abstract data access APIs...". This is contrasted against outside-in development which places emphasis on the problems the software solves, using descriptions such as. "...simple to use, get started in less than 5 minutes...", "...intuitive screens with simple step-by-step wizards...", and "...works with your existing data...".

Building simple and easy to use software is hard because is forces you to make choices. Instead of adding features and making that the selling point (quantity of what the software can do) you instead focus on writing features that solve the problem in the simplest possible way. It sounds like it should be simple, but it's really not.

We've applied this line of thinking to our newest product that we're rolling out on November 7th, blogmailr.com, as well as several other new products we'll roll out in 2007.

Published Wednesday, November 01, 2006 9:49 AM by Rob Howard

Comments

# re: Which is more difficult?

Wednesday, November 01, 2006 11:45 AM by lynn

This is so true. Making software that's easy to use is much harder.

# re: Which is more difficult?

Wednesday, November 01, 2006 11:46 AM by Sean
Have you been reading Getting Real? ;)

# re: Which is more difficult?

Wednesday, November 01, 2006 11:48 AM by Chris Hammond

Why make us wait till the 7th? Spill it already! :D

# Scalable or simple?

Wednesday, November 01, 2006 1:30 PM by Mike Diehl's WebLog

Rob Howard asks "Which is more difficult?"Steve, if you liked the "Writing Maintainable

# re: Which is more difficult?

Wednesday, November 01, 2006 2:04 PM by Jeff

"Have you been reading Getting Real? ;)"

Hahahahaha. Don't even bait Rob like that!

As a user I prefer the simple and easy to use. The well-designed and scalable stuff is all the boring back-end stuff a lot of people write for a living.

I've come full circle to believe that creating UI first is not such a bad thing. When I got into hard-core build-the-library-first mode, I found that my UI always ended up making sacrifices to work with the library, and that's all screwed up.

# Do Not Forget the User Experience

Wednesday, November 01, 2006 2:20 PM by Ancora Imparo

Rob asks , " which is more difficult: building scalable well designed software or writing simple, easy

# re: Which is more difficult?

Wednesday, November 01, 2006 4:08 PM by Frans Bouma

Why does it have to be SIMPLE and easy to use? Some software isn't simple, though still has to be easy to use, or better: has to do what it should do, and the user should be able to use the software as intended with the least effort possible.

Common sense software engineering. Though I don't see the 'simple'. Some software just has a lot of features. Making it simple would chop it up in a lot of small apps, which then would become a clutter and need a manager app... ;)

# Community Server Daily News for Wednesday, November 1, 2006

Wednesday, November 01, 2006 6:35 PM by External News Feed

news of the day a grab bag for what's happening in Community Server BlogMailr. Get the buzz started.

# Community Server Daily News for Friday, November 3, 2006

Friday, November 03, 2006 4:46 PM by Community Server Daily News

news of the day a grab bag for what's happening in Community Server Wyatt Preul, like Ben, is in suspense

# A different look at the useability issue

Saturday, November 04, 2006 11:30 AM by Dave Burke

Several important posts on application design and useability were written by several Community Server

# This Week's News for November 3, 2006

Monday, November 06, 2006 8:47 AM by External News Feed

This week... The Community Server 2.1 Service Pack 1 is released! BlogMailr is announced! Well, sorta.

# re: Which is more difficult?

Monday, November 06, 2006 4:18 PM by merc

I think http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/sessfin00.asp is a much better read.  I have been designing software for 28 years and have been using these concepts for the past 8-10 years.  When used properly, they save you time and money.  When used improperly, they can mean the end of your project.  The key is to know what the true needs are and to know that users do not truely know what they need.

# Community Server Daily News for Monday, November 6, 2006

Monday, November 06, 2006 5:04 PM by Community Server Daily News

news of the day a grab bag for what's happening in Community Server Steve Kaschimer describes a very

# re: Which is more difficult?

Monday, November 06, 2006 8:19 PM by Hank Lynch

I think that if you spend the time up front, in the design and planning stage, enough of this stuff usually comes to the teams attention way before it becomes a problem.  As long as you design for performance, and usability in tandem....it's been my experience that you'll end up with a good product.

Like CS :)

# Loving AJAX

Tuesday, November 14, 2006 10:37 PM by Rob Howard's Blog

As a web application development team I’m really excited about how AJAX and related technologies