Web 3.0 and Your Next Mobile Application
By Jonathan Goodyear
Apple Corp. ruffled more than a few feathers earlier this year with the announcement of the iPhone, its entry into the mobile phone market (http://www.apple.com/iphone/). Of particular interest, though, was Apple s decision to prevent the installation of third-party software and tools. This apparent logical black hole was filled to a large extent at the 2007 Worlwide Developers Conference in San Francisco when Apple announced its strategy to enable third-party browser-like applications to be created using WebKit, the engine that powers its Safari Web browser (http://webkit.org/). Supposedly, ISVs should be able to create Web applications that look and behave like the applications that are installed natively on the iPhone. We won t be able to assess the truth of that claim until the iPhone is released on June 29th, which is likely to have already occurred by the time you read this. Apple released a Windows-compatible version of the Safari Web browser, though, so they are serious about attracting developers who use the Windows platform to develop iPhone-enabled applications.
The significance of iPhone application strategy is that it places an emphasis on Web technology for mobile applications versus the smart-client strategy that Microsoft is promoting with Windows Mobile 6-enabled devices. Windows Mobile 6 devices come with the .NET Compact Framework 2.0 Service Pack 1 and SQL Server 2005 Compact Edition installed in ROM, which lends itself to the development of powerful disconnected applications with relatively easy deployment.
So, how is Apple addressing the disconnected application scenario? As of now, they haven t but my guess is that they ll adopt a more Web 3.0 solution to the problem. If you re like me, you re having enough difficulty defining what Web 2.0 is, let alone Web 3.0. Briefly, Web 2.0 is the generation of Web applications that leverage modern client-side techniques like AJAX to create rich user experiences. Web 3.0 extends Web 2.0 by adding support for enterprise application scenarios, including support for disconnected applications.
There are two specific technologies on which I believe Apple will likely depend to enable Web 3.0 applications to run in a disconnected state on the iPhone. The first is the Adobe Integrated Runtime (AIR). Formerly known as Apollo, AIR (http://labs.adobe.com/technologies/air/) uses Adobe s Flex technology to create a cross-browser application development platform that leverages the WebKit engine mentioned above (hence, I think Apple will partner closely with Adobe on this). Incidentally, the closest competing Microsoft technology to AIR is Silverlight, although Silverlight hasn t addressed the disconnected application scenario yet (http://silverlight.net/).
The second technology on which I believe Apple will rely to enable Web 3.0 functionality on the iPhone is Google Gears (http://code.google.com/apis/gears/). What s neat about Google Gears is that it s an open source browser extension that lets developers create Web applications that can run offline. It includes a caching engine, a relational database, and an asynchronous worker pool mechanism (among other things), which will make this an attractive option for developers of mobile and Web applications on any platform certainly on the iPhone going forward (and did I mention it s cross-platform?). Apple has a strong relationship with Google, so I expect they ll open the iPhone to Google Gears before too long.
The reason I m focusing on the iPhone is because I feel its release is going to heat up the mobile application development landscape. Along those lines, I described in this column some non-Microsoft technologies that are making a compelling argument for inclusion in your next mobile Web application. While I personally wouldn t go so far as to develop an AIR application, Google Gears may prove to be just what I need to enable disconnected features to some of my clients ASP.NET applications as well as significantly reduce the effort to bring them to mobile devices. ASP.NET and Google Gears appear to be complementary technologies that can combine to offer disconnected application functionality for mobile devices with the deployment simplicity of a Web application.
Will your next mobile application be Web 3.0-enabled? Microsoft is wondering that same thing. If the answer is yes, then Microsoft definitely has some catching up to do.
Jonathan Goodyear is president of ASPSOFT (http://www.aspsoft.com), an Internet consulting firm based in Orlando, FL. Jonathan is Microsoft Regional Director for Florida, an ASP.NET MVP, a Microsoft Certified Solution Developer (MCSD), and co-author of ASP.NET 2.0 MVP Hacks (Wrox). Jonathan also is a contributing editor for asp.netPRO. E-mail him at mailto:[email protected] or through his angryCoder eZine at http://www.angryCoder.com.