Category Archives: commentary

Do Web Applications Suck?

A recent rant about the state of the web has made its way around the tech chattersphere, and is part of the growing commentary on application development for native applications (something you install, on a PC, Mac, iPhone, Android) versus web applications (written to work in any of the major web browsers).  The general gist is how fantastic it is to see the re-emergence of cool native applications, and how much more robust, functional, and well-designed they are compared to web applications, because they are liberated from the lowest common denominator approach of web standards and can take full advantage of the specific device they are running on.

So are web applications now the equivalent of MS-DOS applications, circa 1990: dinosaurs in the face of applications with windowed, mouse-controlled user interfaces?  Or is this just excitement over what’s shiny and new right now?

Context, part I:  One computer to many devices

It wasn’t too long ago that everyone was celebrating the death of traditional (aka “native”) applications and the liberating rise of web applications.  In the past, you had to have your floppy disks, your thumb drive, or your e-mail file transfer system to shuttle data between all of the local native applications you ran.  You had to hope your friend had the same software installed to show them your work.  And you got annoyed.  You didn’t have the right version…of the file, the software, whatever. Or there just wasn’t any way to do the job electronically at all, because the software the system used was too expensive or too complicated.

So when the web application revolution began, it was liberating.  You could get to your e-mail from any computer, spend endless hours searching for the best airline fare without a grumbling travel agent, file your reimbursement before you even got back to the office,  and unleash your creative skills designing your next holiday card.  All from the web.  And you couldn’t wait until you untethered yourself from every last installed application you had on all the various computers you owned and used.

Context, pt II:  From fixed on the ground to mobile in the cloud

So why the sudden counterrevolution to take us back to what we were so happy to get away from?  If all of those “old” applications were such a frustration, why are the new ones so appealing?  For the answer, we look to two of the big changes in the last few years in how we use computers and applications:  cloud-based services (typically remote data storage and computer processing at large scales) and mobile devices (aka “smartphones”).  And an additional “secret sauce” we’ll get to in a minute.

From the viewpoint of the user, you could say that most web applications succeeded because they took advantage of the cloud (even if it doesn’t meet the technical definition):  whatever you were doing happened on the web and the data you created was stored there as well, for you to access from anywhere.  The big change from old applications to web applications was this connectivity.  The new native applications have stolen the thunder from the web applications, because they use the cloud too.

The other big difference is that where we see most of the native application success is in the world of mobile devices:  the iPhone, Android phones, and now, in particular, on the iPad.  These are very different from most computers, because they are personal, in the sense that you actually take them with you.  Everywhere.  So the old application problem of not having it on the computer you are using goes away…because you are always using just that one device.

And the secret sauce of the new native applications?  It’s design.  “Traditional” desktop applications were horrendous looking things, both because nobody seemed to care, and also because there wasn’t enough computing power to make things look nice.  The evolution of the web brought in a cadre of people with design backgrounds while Apple raised interface design to a temple for worship, and now the new applications have adopted similar attention to design, and look nothing like the old systems we once abhorred.

Pick the right tool for the job

The only thing that all of this tells us, though, is that you can now make native applications that are really good, and succeed because of both what the web created (cloud services and nice design) and because of a whole new paradigm in mobile personal computing, not to mention the intrinsic virtues of a native application.

But is it the death knell of the web application?

I seriously doubt it, because there is a whole dimension of the question still unanswered:  what, exactly, is it that web applications “suck” at doing?  But it is perhaps easier to see this by looking at when native applications are better.

Native applications are fantastic when you (as a user) have a task which:

  • You undertake frequently and repeatedly (like checking e-mail);
  • Relies upon a set of services or contextual information specifically native to the device you happen to be using (think GPS location);
  • Has very complicated workflow or interaction behavior which benefits from a highly sophisticated design interface; or
  • Is performed primarily on a single, “personal” device like a smartphone, which you always have with you .

While there are certainly a large number of applications which fall into these categories, many don’t.  And for these types of applications, a web application is probably better, or at the very least, “good enough.”  And there isn’t anything wrong with that.

Serving up universal access

And let’s not forget one area where web applications vastly outperform native applications:  universal access.  This is a feature that can get easily overlooked by the new apostles of the native application.  It is certainly fantastic to be able to benefit from the vastly improved interfaces that some of these devices enable, but let’s not forget that these devices are considered a luxury for many, whether as individuals or as institutions.  One could argue that this could change (and it probably will), but the trailing edge of adoption is very slow.

One of the great benefits of the web is the level of access to services and information which has been granted to the public at large.  A public whose needs have been successfully served because of the lowest common denominator approach of standards-compliant web technology.  Fostering a new race to develop competing platforms significantly undermines our ability to serve a wide and general public, to serve those who happen to be on the trailing edge.

And ignoring their needs is what would really make the web suck.