1. Only raw data is being sent over the cell towers and the wires. This is different than a web app, which must send a full page from a server whenever the user requests a different view or more information. How slow and annoying is Facebook, a web app, compared to any of the iPhone apps, which are mostly hybrid applications.
2. You can use a hybrid app whenever you want, even if you have a slow internet connection, spotty cell signal, or no connection.
3. Having your information on your own device is reassuring.
4. Developers and designers can create more useful, rich, and user friendly software without the technological restrictions imposed by a web app.
However, though the iPhone is great, Mozilla and Google have hybrid platforms for netbooks, laptops, and desktop computers. Firefox, Mozilla's popular browser, has a mature and and comprehensive extension system. Extensions to Firefox, or addons as they are often called, make the browser more like a hybrid application platfom than simply a web browser. For Google's part, they are making quick progress on the Chromium project yielding the Chrome web browser, which, as we would expect from Google, has included an extension system similar to, though not as comprehensive as, Firefox.
While Apple runs away from the field of hybrid platforms on mobile devices with the iPhone, Chrome and Firefox are quietly establishing themselves as the future of the hybrid platform on laptops, desktops, and netbooks. In fact, Firefox, the far more mature of the two, already has two experimental extensions that are attempting to show off the potential of the hybrid app with Ubiquity and Jetpack.
At the Fireworks Project, we want to be a part of hybrid application renaissance. In fact, more than that, we want to help define it. While it is unwise to duplicate the efforts of Google and Mozilla to build the hybrid platform, we can still define how the platform will evolve by creating the code that actually does what they are designing these platforms to do. Enable the user to work freely and quickly, connected or not, and with complete freedom from having their data tied up in some web app in the cloud.
I'm currently working frantically on extensions to both Firefox and Chrome that will make building, packaging, and distributing hybrid applications a quick, painless, and profitable process. My goals are:
- Create a platform for code modules to be installed and imported on the client device.
- Create a platform for user facing application extensions ("toolpacks") to be installed and executed by the user.
- Design an environment that encourages the creation of many small tools that do one thing, and do it well. (the Unix philosophy)
- Allow for portability between Chrome and Firefox.
- Automatic dependency management for code modules and toolpacks.
- Use common web technologies like HTML, CSS, and JavaScript.
The running theme is "modular". If we can stay disciplined with the modular approach, we have a very good shot at realizing the full potential of the hybrid online/offline platforms.
I'm really excited about what I've done so far on this project, and I can't wait to see it in action. I'll be sure to be posting updates as they come along.
Note: People in the know will wonder why I did not include these:
Adobe Air
Microsoft Silverlight
Microsoft Azure
Drop a note in the comments, and I'll be happy to explain.