Latest Posts »
Latest Comments »
Popular Posts »

I’m not Cool Enough for the Web

Written by Kendall Miller on April 21, 2009 – 12:51 pm

Since leaving my last company and getting into the wild as a consultant, I’ve been amazed by the divergence between the conventional wisdom prevailing on the Internet and what I see actually happening on the ground with clients.

The prevailing wisdom appears to be:

  • Google is the world’s best technology company.  Anything they solve they are the best at, and if you aren’t doing it their way you’re a dinosaur.
  • Client / Server is dead.  All new applications will be web applications, most likely delivered as a service.

We visit a lot of companies, both prospects and clients.  Here’s what we’ve actually seen over the past two years:

  • Outside of search, Google doesn’t have their act together.  Pretty much everything else is an academic experiment.  There’s nothing wrong with experiments, but there’s a big distance from there to running your business.
  • Business are run on Client / Server.  They’re still creating new apps this way – they may use newer technologies like WPF to do it, but if it is core to making the business work, it’s usually not a web app.

With a name like Google, it’s got to be good!

Our own internal experience mirrors this.  We use Exchange and Outlook for email so I can’t say a lot directly about Gmail, however it’s clear from Google’s reactions to recent outages that their perspective doesn’t fit the enterprise because it doesn’t take into account the premium companies place on predictability and communication.  Predictability meaning that things are consistent – you get a consistent experience so your users can get their jobs done.  Businesses are change averse for good reason:  Users will adapt even to crazy problems and discover the patterns that work to get their jobs done.  When the patterns keep changing, they get frustrated.  On the communication front, businesses prize feedback on knowing the true scope of a problem and how long it may take to get it resolved.  

SalesForce learned this a few years ago and in response introduced Trust.Salesforce.Com, which went a long way to getting companies what they wanted to be comfortable with an outsourced critical solution.   If you operate a SaaS, you would do well to model after this.   Now, it isn’t necessarily bad that Google doesn’t do anything like this for Gmail – it just means it isn’t a solution for a large set of businesses.  

The thing we use the most internally from Google is Google Analytics.  It’s very pretty and easy to use, however we’ve noticed a lot of “what’s broken today?” experiences with it, enough that we can’t recommend it to anyone.  Two of the sites we monitor appear to be chronically under counted by Google Analytics, and we can’t figure out why.  And like most things Google – you’re on self support.  Now, there are paid options however unlike email we haven’t been able to find a strong paid competitor that is actively competing with Google.  It feels like most have left the field of battle, or are exorbitantly expensive (and aimed at large enterprises).

After much early on talk about how Google Docs was going to make Office obsolete, it simply hasn’t come to pass – and Microsoft continues to sell a lot of copies of Office.  It turns out that making a great word processor and spreadsheet is a very hard problem to do through the web.  Now, you might take the perspective that Microsoft’s announcement that they are going to offer lightweight web versions of Office 14 applications as being an admission that the old model is bankrupt, but it really points to an increase in reach:  Reaching many users that wouldn’t have been purchasing the product before.  Casual home users that wouldn’t purchase a “real” copy of office may find what they want in Google Docs, and would also be happy with a lightweight feature set of Office.

In Google’s defense, the products are worth what you’re paying for them:  Free.  But, you have to ask yourself:  If it wasn’t for the Google brand, would you give them the time of day?  For search, absolutely.  Finding an address and getting a street view?  Bring it on.  But don’t feel bad for depending on traditional software next time you want to buy a copy of Office, Photoshop, or use Outlook for your email.

It’s all SaaS These Days

Make no mistake, web applications, SaaS and Cloud Computing are all here to stay.  However, that doesn’t mean that there isn’t a lot going on in Client \ Server as well.  The key question to consider is how many applications you would have made, but done in another technology are being built as a web app instead?  There certainly are some, but for the most part web applications are creating entirely new spaces and solving problems that weren’t being solved before instead of replacing entrenched problems.  

Take document management:  On the surface this feels like a problem that should go entirely web and not look back because the web is very good when the readers to editors ratio is very high.  That said, the big document management companies still have very robust, integrated traditional offerings as well as their web portals.  You do have people using web document management solutions (like SharePoint) that never had document management before, which is a case of expanding the size of the market not replacing an alternative option.

When you are running your business, you have a set of requirements that are often best suited by a traditional client application:

  • Users need advanced capabilities:  Once you stray out of the basics, it is invariably harder to provide features through web technologies than traditional technologies.  Tools are improving and making it better, but the cost per feature is lower in a modern client development environment than through a browser.  This is particularly true since you can put a browser in your app to enable things that it does really well – like show HTML content – you just let it do and keep the tricky stuff – like that big set of coordinated data entry fields – in your traditional app.
  • Users are doing a lot:  One thing that is easy to lose perspective on is that when you run a client/server application every computer is bringing power to the party.  You often don’t need that strong a central server because the real action is happening out on the clients, and every new client that logs in is bringing their own muscle with them.  In the web, it’s all on the server. Not only that, but you’re rendering things in a less efficient way due to the stateless nature and limited protocols available for data exchange.
  • Users need access to diverse data:  With web technologies it’s straightforward to manage information once you’ve brought it into the cloud, but it’s tricky to provide end users with fast casual access to a range of data in a range of formats.  In many businesses data is coming in pieces from many sources and being assembled to produce a coherent output.  This isn’t easy to do in any environment, and it’s one thing that the modern PC operating system, particularly Windows, has gotten very good at.  You can double click a file and almost always get it to open into a good viewer.  You can preview files, drag and drop from one program into another or a file into a program.  All of this is intuitive and fast for users that aren’t fitting into a pre-packaged user scenario.  

There are counter balancing effects:

  • Transient user community:  The more far flung your people are, the more work it is to keep them up to date.  The more transient that user community is, the higher a barrier installation is.  This is the leading reason why you want to make something a web app:  It just isn’t worth the deployment effort to do it any other way.
  • Diverse user community:  If you want to service Linux, Windows, and the Mac then web technologies are the lowest common denominator, it’s just the way it is.

What we’re seeing in the field fits into this:  People are creating a lot of new, lightweight web apps to solve point problems they probably wouldn’t have solved through technology before.  But they’re also still heavily investing in traditional applications.  

As a development team, it’s easy to get caught up thinking that Effort is the same as Value – just because something was a lot of work it must have a commensurate value.  The fact is, that there’s just no evidence that effort and value are correlated.  On the web, if you want to create a great looking and functioning generalized tool you’re signing up for a lot of effort.  And the value may be there – it could be that you’re going to reach a whole set of new users that otherwise wouldn’t use an application at all.  On the other hand, it could be that users perceive no extra value for it being in the web so all the extra work you put into creating the graphics, testing in five browsers, establishing identity, and the dozen other things you wouldn’t have needed to worry about if you were just running on the desktop netted you nothing.

So if you’re a business wondering how to approach that next application you need, don’t be afraid to get one that isn’t all wrapped up in Web 2.0 goodness.  In the end, it’s all about making the solution work for you and your users.


Tags: ,
Posted in Management, Software Development | No Comments »