Has anyone else noticed that native clients are back in vogue? For several years now the conventional wisdom has been to move applications to a Web browser interface. Whenever I talked about native clients people would scoff, even though native clients still provide a richer experience than a Web browser interface.
Don't misunderstand me. I see huge value in building applications as Web services and offering a rich Web-browser-based interface to those applications. But for a long time I've disagreed with the conventional wisdom that one day all applications would only be available via a browser interface. (Much as I disagree that all software will be sold as SaaS, but that's a topic for another time.)
Just as browser based applications have advantages and make sense in many cases, so do native clients. Both will continue to exist. The world is not going to be only accessible through the Web. I don't have an iPhone, but my wife does. Notice something about the iPhone? It has native clients for Facebook, Twitter, Google, Youtube, EBay, and many others. Aren't those supposed to be Web applications? But Web application now means more than just a Web browser interface. They have Web services APIs (as they should). Although they are often accessed through a Web interface, the interface that works best and makes the most sense on the iPhone is a native client. My Blackberry is loaded with native clients for Twitter, Typepad, Google and many others. There's nothing wrong with that. It's the best way to build an interface for those applications on those devices.
Think about one of the most popular "Web 2.0" applications: Twitter. How many people use Twitter via a native client versus a Web interface? More than half. A Web browser isn't always the best interface to an application. At Medsphere we built a cross-platform client in C#/Mono that runs on Linux, OSX and Windows. Cross platform clients used to be hard because every client was custom. Today it's much easier to develop once and run anywhere.
I predict that more native clients will proliferate. Developing native clients is just getting easier. And given the choice, what application wouldn't prefer to be running in a native client and deliver seamless integration with the user's desktop?
Until recently the native client and Web interfaces were built in completely different technologies. So even when we developed a native client we needed a completely different development effort for a Web client. That too is now changing. With Appcelerator's recent release of Titanium we can write once for both native and the Web. (Disclaimer: I'm an investor in Appcelerator.) That means there's no excuse for not doing both a native client and a Web client for every application.
So if you thought the Web browser was going to kill the native client, think again. We're going to have both for a long time to come.
I think of "Native Client" as something different than a cross platform RIA.. which seems to be what's in vogue.
Posted by: Corey | January 02, 2009 at 12:09 PM
I completely agree and given that our devices have increasing bandwidth, processing power and storage capability, there's nothing to suggest use of thick client apps will diminish. However, I have been impressed with some Adobe Flex applications I've seen recently that try as hard as possible to look and behave like thick client apps. Strange that, isn't it?
Posted by: Oaxaca | January 04, 2009 at 07:07 PM
As you know, MindTouch is pioneering this kind of architecture with our collaboration platform. We're calling it a Web Oriented Architecture (WOA), a term we're co-opting and redefining from the original conceptions laid out by analysts such as Nick Gall.
A short summary is: MindTouch Deki is built entirely from RESTful web services. Everything in the platform is inherently a web service This gives our development team and users many advantages.
I write on this topic briefly here: http://www.mindtouch.com/blog/2008/12/28/10-deki-capabilities-you-likely-dont-know-about/
Also, it's explained high level here: http://mindtouch.com/Technology
Finally, Steve Bjorg (MindTouch Founder, CTO and chief architect) writes about WOA (in general terms for the enterprise) here: http://dotnet.sys-con.com/node/771173
Posted by: Aaron Fulkerson | January 05, 2009 at 06:48 AM
One of the effects, perhaps one of the causes, of this "non-Web clients to Web Apps" trend appears to be "avoiding the ads." Since eyes-on-ads is one of the most popular business models, this seems like a commons-tragedy gaining steam.
Posted by: Jack Repenning | January 05, 2009 at 03:36 PM
Hi!
I see a lot of native client use, but I see it mainly from a phone. Browsers don't really meet the need there, and to deliver a good environment you really do need a custom application (which tells me some one shall some day create a "browser" for a phone).
On the desktop? I don't see the need for smart clients there.
Cheers,
-Brian
Posted by: Brian Aker | January 15, 2009 at 05:31 PM