Filed under: Business, Internet, Features, Windows, Macintosh, Blogging, E-mail, Office, Productivity, Web services, Apple, Google, Microsoft, Shareware, Freeware, web 2.0
Should software be native or web-based?
How many of the applications you use on a daily basis are web-based as opposed to locally installed native applications? For me, the answer is way more than I ever would have expected. Had you asked me this question a few years ago, I would have vehemently denied that the future of development is on the web. As much as I could see and understand the value of a ubiquitously available web-based application, there's just no way to approach the level of power and integration (not to mention the ability to be always-available) that is possible with well conceived and developed desktop software.
Of course, back then I didn't imagine that web applications could become as useful as Google Calendar or Remember the Milk. I also didn't imagine that light - yet still useful - versions of these apps would be available from my mobile phone almost wherever I was.
In fact, and much to my surprise, today most of my personal data today is tied up in online services: Gmail, Google Calendar, Google Docs, Backpack, Remember the Milk, Facebook, Newsgator, and Evernote to name just a few.
Most of these are probably pretty familiar names, but one is a newcomer in the web space: Evernote. Still in beta, the new version of Evernote contains a full-featured web version, but synchronizes seamlessly with desktop software on either Windows or Mac platforms. And it's a breath of fresh air.
This got me to thinking - what other software do I use that has the satisfying element of great natively installed local software that integrates with an online system offering its own interface? I came up with only three: my email, my blog composition tool, and my RSS reader. On the other side of the break, I'll explain what they are, and what I think all this means with respect to the future of software.
For email, I use Gmail's IMAP feature to allow me to use my Mac's Mail application to interact with my email in a local native way. This means that I can use hooks from other programs that tie into Mail, yet still take advantage of Gmail's many attractive features. Plus, if I'm ever not at my computer, I can use Gmail's superb web and mobile interfaces to access my email. There's even a native application that installs on my mobile phone to make using Gmail on a mobile device more pleasant. For me, this combination simply rocks.
Composing blog posts
I have a number of personal blogs on various platforms, and while all of them have web-based composition interfaces, they all basically suck. There's nothing like losing your internet connection in the middle of an 800 word essay and having your work disappear to make you wary about trusting your work to an online tool. While some blog platforms have introduced the ability to automatically save drafts, there is a better way.
I use MarsEdit to edit my blogs, and the beauty of it is that it performs a form of synchronization that allows me to go back and edit published posts from the comfort of my native application. It handles multimedia gracefully whereas the web interfaces uniformly stink at multimedia. Yet, if I'm stuck at another machine, I can still have access to what I need through the web interfaces. There are other great offline blog editors like Ecto, ScribeFire, and Microsoft Windows Live Writer. If you're frustrated with your blog writing experience, I suggest giving one of these a try.
RSS reader
My RSS reader of choice is NetNewsWire. Not only is it a best-of-breed news reader on the Mac (and recently made free, as in beer), but it is owned by NewsGator, a company that offers a full online back-end. NetNewsWire synchronizes my feed subscriptions and read-states seamlessly back to my NewsGator account, which means that I can use their NewsGator Online web interface, mobile web interface, or even native mobile applications on either my Pocket PC or Blackberry mobile phone - and it all stays in sync. In fact, I can even use FeedDemon (in my opinion the best-of-breed Windows feed reader, also free) on a Windows machine, and it also synchronizes to my account.
While it might sound fantastic or over-the-top, these experiences are what I expect from modern software. In all cases I have access to my data locally in an application that integrates with the other software on my computer, and I can get to it even if I don't have a network connection. At the same time, if I don't happen to be at my own computer (or it unceremoniously dies), I have access to all of my data from web interfaces.
For some of the other web services that I use (for example, Google Calendar) there are no natively-built synchronization tools available. In some cases this can be worked around by using 3rd party tools such as Plaxo to synchronize to a local application like iCal. Unfortunately, in my experience keeping things synchronized using a 3rd party tool is a recipe for heartache. Building solid synchronization is not an easy task, and when you don't control both ends of the equation the level of difficulty approaches infinity.
One common thread links all of the applications discussed here: for me, they represent personal productivity applications. Email, calendaring, blogging, feed-reading - all of these are things that I need to work right, and need available at all times. So what's missing? For me, it's task management.
My two absolute favorite current task management tools are OmniFocus, and Remember the Milk. OmniFocus is an incredibly well done native Mac application, and Remember the Milk is an incredibly well done web app. Right now I'm using both of them, and it's driving me crazy.
I can't seem to let go of OmniFocus because it feels like it belongs as part of my Mac's operating system. It integrates seamlessly with Mail, is so fast as to be essentially instantaneous when making edits, and the native user interface allows for some pretty fantastic on-the-fly sorting and filtering functionality.
Remember the Milk has none of these features. But, I can't let go of it either. What RTM has going for it is ubiquitous accessibility; if I have a web connection of any kind, I can get to it. It has a mobile version, and from what I understand a beautiful enhanced mobile version if you are an iPhone user. It even has a Firefox extension that allows you to put your RTM task list in the sidebar of your Gmail account. Some will argue that it also has an offline interface, since it uses Google Gears to allow you to continue to access it if you are not online.
While I love the concept behind Google Gears, it has two very big strikes against it at this stage. First is that in testing, I've yet to have it perform correctly with Google Reader. That scares me, since Gears is a Google product that was initially developed with Reader. My second beef with Gears is that it requires Firefox, and as much as I love Firefox, it's a bit of a pig on the Mac. (I'm hoping of course that Firefox 3.0 rectifies this situation when it is released).
Right now, RTM and OmniFocus are in a dead heat. So what's it going to take to break the tie? One of them will decide to branch out into new territory. If OmniFocus seamlessly synchronized my tasks to an online equivalent with mobile access, the game would be over. Unfortunately, building a web service to support an application is arguably more complicated than building a desktop client to integrate with an existing service, so my money is on Remember the Milk to win this race. If they were to build native Mac and Windows clients, and make sure to take full advantage of each platform's strengths, they could take over the world, or at least win a lot of mindshare.
The future of offline access to web services is not in the browser, it's in fully functional local applications. Imagine having a client as powerful as Microsoft Word to edit your documents, but have them seamlessly synchronized to an online account like Google Documents, which has an online editor that is still useful, but has less features. Now imagine that for every web application you use, or an online service for every local application you use.
That's the computing future I want to see.



Reader Comments (Page 1 of 1)
Brian said 9:06AM on 4-07-2008
Native for me. I travel a lot and need to have access to all my data in the air, taxi, hotel-with-shitty/expensive-wifi, etc. Plus, I just don't want all my data held hostage by some Big Company.
Reply
Todd said 9:42AM on 4-07-2008
Factoring the iPhone and the Gphone, all our apps will be cloud based very soon.
This is the very reason Microsoft is in its "shame spiral" right now desperately trying to save itself form obsolescence with acquisitions of other companies ( Yahoo, Danger, dozens of advertising companies ) who have already acknowledged the desktop is dead.
Post subjects like this ( native or web-based? ) only serve to underscore the just how far Microsoft's pigheadedness for trapping the user to its proprietary technologies has fallen.
Reply
Ken Love said 10:41AM on 4-07-2008
Software should be native. But native software tends to suck. From feature-set to flexibility to interface, native software has fallen short for years. The rise of web software is not because the web is a better paradigm but because the web is easier to develop for, has a larger user-base than any OS, and removes a lot of the cruft from the development cycle; not to mention that the market-leading software houses stopped user-centered development at the turn of the century. Native software simply dropped the ball.
I'd much prefer native software, as I think most do. I remember the cheers of joy from google's offline features. And the excitement for Adobe AIR. There's a lot of action around taking online applications off; is that not because people prefer "native" apps?
Reply
Dustin said 11:00AM on 4-07-2008
There's a place for both. And one day when internet speeds are in the Gigabits/sec for everyone I could see only Web based applications.
But Ken, I disagree that Web based apps are easier to develop. I'm primarily a Enterprise Software Engineer but have now started doing some Web Development for our VOIP product and web developing simply SUCKS. Its like I started programming C without an IDE or debugger.
For as popular web development is I'd think they would be better tools out there. I've looked and tried and while some are ok (at best) they simple all SUCK. Its like moving back in time, a few decades.
For the immediate future Native apps will still rule over web based. If I like a product enough I'm ok with installing it on all my computers, apparently people agree with me otherwise Firefox would be nothing.
Reply
Alahmnat said 11:03AM on 4-07-2008
Finally, someone who agrees with me!
I've been arguing for the existence of rich desktop applications tied to pervasive cloud-based data stores for a while now, and everyone seems to look at me like I'm crazy before heading off to play with Google's newest offering. I'm certainly not going to say that the web is worthless for everyday tasks like email and RSS reading... Google has clearly proven that it can be. But for me, the browser is not a good place to run full-fledged applications, because the experience is limited to what can be done with HTML, CSS, and JavaScript. For me, native apps offer a much better and more reliable user experience than a web application ever could, but that doesn't mean they can't tie into an online data store for their information. It's the best of both worlds, and I hope more people start following this trend.
Speaking as someone with both Windows and Mac computers at home, and working in a Windows-based office, I also hope that online services looking to develop native front-end clients remember that there are people like me that use both platforms, need to be able to access data from *anywhere*, and prefer using a native app wherever they go. I don't like being short-changed by a service because there's no desktop client for one OS or the other, especially if the online experience is junk.
Reply
Bufsabre said 11:05AM on 4-07-2008
i am way the favor in native, not so much about big companies having my data but moreover that every web based app ive used had just plain sucked in comparison to native ones.
i just like having my own data on my computer that no one but me and well educated people and 9 year old Japanese kids can access. most people now travel with their laptops and even if they dont there is tons of cheap flash media and jumpdrive based office apps
Reply
Blake said 11:11AM on 4-07-2008
You were wrong about the ways to get information into Evernote. I read this (http://www.lifehacker.com.au/tips/2008/03/31/jott_your_way_to_evernote_bliss-2.html article on Lifehacker the other day. Awesome. So, I guess, TECHNICALLY, it's the mobile interface. But, meh. Now I'm just splitting hairs, I suppose.
Reply
Alex said 11:14AM on 4-07-2008
I want a hybrid.
I like my apps being native, but my data being web-based. Much like my email, I have a simple web-interface to access it when I'm not at my computer. Otherwise I use a desktop client to do the heavy lifting.
I want to use all the features of my word processor but I want to access that data from another computer in case I forget something. A simpler web interface will allow me to do notes/jots when I need it quickly.
I want my address book to be web-based and integrated into all my apps (phone, email, scheduling, documents, chat, and video conferencing)
I don't want to own hardware, I want to rent desktop software, and I want to have web-based access. I will pay for the data storage, privacy, and reliability.
Reply
Riley said 6:55PM on 4-07-2008
The main reason I like web-based software is because it's (usually) OS-independent. I run Linux, so I run into a lot of software compatibility issues...however, I don't know how well a web-based autoCAD program would work (just for example).
Reply
tizzyd said 2:52PM on 4-08-2008
There is no single answer to your question. It's a continuously evolving environmental balance of capability, capacity, and need. More importantly, the line constantly changes, and good application architects keep tabs on where that line sits.
Remember the first efforts at using applets to provide desktop-like functionality in Windows applications? I worked at Lotus at the time, and I really tried to use Components (remember them?). They were difficult to use, unstable, and ultimately unsuccessful. Presently, we're seeing some of the latest attempts with Zoho and GoogleDocs, and while these web applications have considerably improved in feature, form, and functionality, they still come nowhere close to full-fledged desktop applications. Footnote display...nope. Integrated multi-page layout...nope. To take it one step further, I have yet to see any web application come close to mastering full CAD/CAM, with interactive finite element analysis. Word processing is one thing; highly complex, graphically intensive CAD is another.
Yet the dividing line is not always so simple to see. I recently worked with a Fortune 100 company that created a web-based configuration system. Using the web environment they purchased, it required nearly 30 seconds per user selection. It lacked a dynamic graphic interface, and it consumed megs/user to run. (And the platform is from one of the biggest DB vendors out there.) Centrally managed rules, consistent dataset...that's what the business thought initially was important. But when European users would abandon the system after 2pm, because US East Coast users would saturate the system, that suggests something just not designed right. (The system, BTW, was deployed on robust hardware, but frankly, nothing would have been robust enough.) Counter that with a desktop-based application, using a rules-engine, with a rich graphic user interface, and response times in less than 1-2 seconds...obviously, sometimes, you have to focus on what really meets the users' requirements not the marketing spooge or "design by magazine" approach that many CIOs follow.
Today, Web 2.0 tools and designs have shifted the expectations of Web-based applications. A good application architect considers the user's expectations, the performance requirements, the communication and real-time connectivity, the usability, and the computational intensity of the business goals. Only by balancing all of these constraints and requirements against the company's goals, the costs, and the deliverables can productive systems be created. Yesterday, the solution may have been desktop applications, tomorrow, perhaps a web application. Good architects know both environments.
Reply
Stefan Hayden said 12:08PM on 4-09-2008
it should be seamless.
Reply
ian807 said 12:12PM on 4-10-2008
For smaller, non-mission critical, non-security risk apps, web apps are a good choice.
In the real world where I don't always have internet availability, I really need to get the work done by 8:00 am. sharp, and I simply can't trust the code, documents or client information to a 3rd party, I *have* to use a native app. If a legal problem developed, I would be *skewered* in court if I used a web app.
Reply