Lots of people doesn’t realize that a lot more goes on at Mozilla than just Firefox. The Mozilla mission is to promote the Open Web.
Mozilla is primarily a web technology organization and the bright guys and gals in Mozilla Labs have spent a lot of time thinking about how difficult it is to build applications for broad deployment across different platforms, devices and browsers. On the desktop there is Windows, Mac, and Linux. On devices there is iPhone, iPad, Android Phone, Android Tablets, Windows Phone 7, and others. Then in the “browser space” there are a collection of proprietary options like the Chrome OS, and Chrome Applications.
And, each ecosystem has it’s own app store. Apple for iOS apps, the Mac store for Mac apps, the Android store for Android apps, Windows Phone store for Windows Phone apps and there is a flood of new app stores in the works. An Amazon store, a Windows 8 app store, a Chrome Store, and Ubuntu Linux Store, etc.
For application developers this situation creates two sets of problems,
1.) I can’t write my application once and get it to anyone that wants it. I have to rewrite that application for every target platform whose users I want to distribute my application to.
2.) Each platform vendor dictates what technology I have to use to develop my application. Some are very restrictive.
What if we could develop an application once, using standards-based Web development technologies that would run either in a browser or as a native application on any device, browser or platform that our users are running on, whether the device is connected to the Internet or not?
Well, that’s Mozilla’s goal with (web) applications.
I’ll post about how we’ll distribute there applications in the near future.
So, I want to start a working group for building applications targeting this universal “Web Run Time”.
The basis for these applications is HTML5.
Now, I know what you’re saying. HTML is for web pages. But, not ONLY web pages.
The more we move logic to the end user’s computer the more we can leverage the distributed computing power of the World Wide Web.
For both Web Developers and Application Developers there will be a learning curve.
Apart from the new HTML version 5 specific elements there are a number of “out of specification” technologies that are part of the HTML 5 “wave” and will be part of the “platform”. (App Cache, Local Storage, Web Workers, Web Sockets, etc.)
There will also be specific architectural distinctions that we’ll need to consider to provide the best possible experience for both online and offline application state. For example, some features will only be available when the application can connect to the Internet and, of course, we’ll need to build apps that can store updated data locally, when appropriate, and then sync or write directly to a user specific data store in the cloud.
For desktop and device developers, and for web developers alike, much of the technology, and the architecture, will require some new learning.
So…. I’m hoping you will join me.
Sure, there are some applications that won’t fit this standards based model, like drivers and such, but many – probably most – will.
So, think of an application and start designing it. Post here or email me about the application you are going to build.
I’ll be starting How-Do-I videos and blog posts on using the “Web Run Time” technologies for application building. Eventually I’ll cover deployment specifics, device specifics, patterns and practices and the like.
I have several applications in the works. The first will be an interval based workout timer.
You will be able to run it on my website and all the code and docs will be hosted on GitHib.
Are you ready ?
What will your app be ?