The Quest for the Next Generation Application Framework

Research Note

How applications are running is in steady change between the poles Server and Client ever since. Based on current developments application virtualization and integration may reach a whole new level. 

Early virtualization technologies where available e.g. on IBM Mainframes that run applications with Terminal Frontends. In the 90s VMWare and some others rose and grew stronger after 2000. XEN on Linux kicked in as OpenSource. Amazon provided the first low cost managed virtualization. That grew to be a base for Web 2.0 Startups While the need to handle the operating system and scalability was still there. Then in 2007/2008 Google App Engine (Python), Heroku (Ruby) and now Stax (Java) kicked in. 

The latter 3 platforms abstract more or less operations & scaling hassles. Really interesting it gets though when this is integrated with client technologies and with horizontal services including an existing large user base. This way providing a seamless user- and developer-experience end to end.

Apple in the Game

Apple brought iWork to the market some years ago as answer to Microsoft Office and the then rising OpenOffice. This to compete Microsoft and to ensure that the Mac OS X platform is not left behind should Microsoft ever decide to leave it for good. 

In the meantime the world changed quickly with the rise of online, sharing and collaboration.  Google Docs came into a first level of maturity. Its major deficiency was the missing offline capability, therefore until now it can not be considered a full competitor to Microsoft and iWork.  With the advent of HTML5 and its first relevant implementation "Gears" the convergence of Online Office and Offline Office is rapidly under way. Does Apple has to offer anything in this game? I think they may.

Current Steps of Apple

Apple made some important steps already. The most prevalent applications of the Mac are Mail, Calendar and iPhoto from iLife. Those got an important extension in an online counterpart with MobileMe including iDisk. This was a first step was made with a strong focus on functional values that are appealing through all segments from Home users, SMBs to Corps. Movie and Music was left out for now. 

With its Home page, the Apple Store, iTunes Music store and the iPhone App store Apple has strong experience with Web Applications and the underlaying Web Application Frameworks. The upper Apps are all built on WebObjects. 

The Building Blocks

To compete with Online/Offline offices like Google Docs or Zoho Office what technology does it need? Web Applications today are built on a stack of standard  Server Hardware, Operating System, Web Server, Servlet Engine, CGI Server, Web Framework with more or less of ORM, AJAX, Testing support, etc. built in. On the Frontend it needs a Browser that has offline App support e.g. with HTML5 and a optimized JavaScript Engine. The most complete and available offering on the Server side is Google Apps Engine with Datastore, Django, Offline Mojo, Google Widget Toolkit, Canvas. On the Device Side there is the Open Source Stack Android, WebKit, V8, Gears, Chromium. The relevant KPIs is dissemination of the Frontend Technology in the Marketplace.

Needs

On the Server Side simple setup, cheap operations with cost scaling linear to performance, low capex, low maintenance cost, security and scalability itself are relevant. Only Google App Engine provides the feature set with a trusted company in the background. 

Problem

One main problem for the developers is the fragmentation of technologies the server stacks are based on. This requires a hefty amount of know-how of different languages and technologies to be understood by a development Team. This in addition to the management, sales and marketing skills needed in a Startup.

Available Environments

The cleanest environment from a language point of view today may be considered ruby on rails (RoR). Allowing to program even AJAX-interactivity and Data Migration on ruby code and even providing standard procedure for Test Data. Exceptions for RoR from this side is YAML for test data description and the need for HTML/CSS for design. RoR unfortunately is slow. The Twitter quality of service in summer 2008 speaks for itself. Apart from that it is considered harder to read compared to other languages. Using the Google stack on the other hand means Python, the GAE Datastore specifics (Gdata), GQL, JavaScript, CSS, HTML, Java (for GWT) to the developer. 

Product Assets of Apple

So what does Apple have at it's disposal to base on? Apple got a interesting stack through the NeXT acquisition (today marketed as MacOS X, Cocoa, WebObjects, etc.). Apple developed this tech further in different directions. 

MacOS X today is not only a Server and Desktop OS, but also a Mobile Device OS. With Cocoa and cocoa touch Apple has a highly optimized UI Widget Toolkit internally even available on JavaScript to run in browsers (for MobileMe based on SproudCore). 

WebObjects is a Web Application Framework that was ahead of it's time on creation. It was originally based on Objective C now is Java only. It is provided cost free currently. With XCode and Designer Apple provides a very easy to use development environment. Since the iPhone launch with a even bigger developer community.

In the Multimedia arena Apple scrapped a lot of codec support while moving from the Desktop OS to the iPhone / iPodTouch. While the desktop has full codec support through QuickTime the iPhone merely supports the most important ones (e.g. h264 even omitting Flash). This to reduce complexity and focus optimization to those most relevant ones. The deals with PA Semi for Chip Design and with NVidia for Media Chips shows the direction. That may even go as far as providing special media chips in the XServe proposition for encoding (Media production and on the fly 3D rendering) and decoding (Video Servers).

The SproudCore Widget Lib is used as the base for a (now internal only) JavaScript Cocoa running in any browser. As noted above MobileMe is based on that tech. Desktop Safari 4.0 is rapidly developing online capabilities in the direction of the emerging HTML5 standard. Mobile Safari in iPhone already provides a chromeless Web App view since version 2.1 making the difference between Apps and WebApps even more indistinguishable

After lots of Online Multimedia Stores and App Stores for e.g. for mobile phones (like Handango and the likes) Apple with iTunes and later with the iPhone App Store made the first stores for digital content that really took off. The obvious extensions to this model is providing Apps for Desktops without drive and the aTV. The latter one to be expected as soon as aTV has enough installed base. 

Apples organizational assets

Apple is known to be a very lean organisation. They concentrate their resources to some central pieces that are developed in a long term strategy. Those pieces they optimize vertically (as may happen e.g. with h264 optimized chips done by the PA Semi guys as noted above) to reuse those technologies then horizontally in the full width of the Apple portfolio. This e.g. led Mac OS X not only to the Server and the Desktop but to such amazing places like the iPhone and the aTV. Compared to that some other software companies further north on the pacific rim have a amazing fragmentation of languages, APIs and operating systems. 

Apple typically builds a framework by using it first internally for important applications. This way it grows up and gets strengthened. Then it is released to the public. Last time this happened to the iPhone API. What framework builds  MobileMe on? 

Apples Opportunity

Considering how apple works I arrive at the following thesis: Apple steps into the online space by making it possible to virtually recompile their iWork Suite and possibly Bento into a online application (that also works offline through HTML5 on Safari). Let's call that „iWork Online“. As second step they may release such a new Web Framework to the public including the hooks to integrate with MobileMe and iWork Online. That may well only run on XServe. 

Additionally a Apple Cloud Service may be offered as a extension to MobileMe iWeb Space (as compared to Google Apps Engine). That may run applications made on the new Web Framework. This may finally close the gap to Google Docs and Google App Engine or migth well even overtake those. It will allow to most easily integrate users MobileMe and iWork online data from iDisk. As usual for apple those services may not be free, but paid for through an App Store fee or else. If a developer wants to host his application host on the Apple Cloud the App may well be available through a Apple Cloud App Store. That App Store may including the whole costing (to apple) and revenue (from user) for the developer.

The Components

For the new Application Framework Apple may go back to the original WebObjects Language Objective C. It may surpass in functional width the point where RoR is today.  Through PA Semi and NVidia know how the Server Hardware may be extended through Media processing hardware, that can do the backend job for e.g. a web based iMovie. Web based cutting systems are available for some time already. They typically show only low quality film in the browser while cutting high quality in the backend. That tech is also used in studio level cutting software. 

Today’s SproudCore based web tech based User Interface Framework as used in MobileMe may be introduced as Cocoa Web. To further defragment technologies and focusing the Developer Tools XCode and Designer may be extended for WebObjects. It also may learn functionality that Dreamweaver is typically used for in web app design.

Market reach

Telcos, Internet Service Providers and Hosting Providers may offer such cloud services themselves. This may be bound to XServe and may even get the opportunity to provide a Multi-Tennant MobileMe and Multi-Tennant iWork Online this way. Corporates with the need to have all data in house may be offered in house Multi Tennant Hosting based on XServe. This way strongly competing Microsoft Exchange and Office at the same time. While such a hosted iWork online and MobileMe may run on a XServe out of the box.

That may be the first environment where one company (Apple) stands for ensuring an overall trouble-free experience for users but also developers. This from server hardware to browser.

Leveraging the Position

Apple did a very good job transfering their lead in mp3 players to mp3 software (iTunes) and mp3 stores (iTunes Store). Later it worked out to also transfer this success onto desktop computer sales figures (iMac) and Laptops (MacBook). The transfer to video on demand and the future of TV through feeds is at least started (aTV and iTunes Store video offerings). The lead is currently further transfered to mobile phones (iPhone) and WebPads (iPod Touch). Those itself were used to build the lead in software stores (App Store) that may be extended to a Desktop-App-Store crucial for the further adoption of drive-less hardware as the MacBook Air and the future bigger WebPad (iPod Touch 5") and a 10" NetBook . 

But the biggest step will be to transfer the lead to the XServe (currently only relevant in Media outlets) by binding the Web Framework to them and basing a Apple Cloud Service on. Additionally the XServ and the expected Mac mini Server may finally get a bigger footprint in SMBs and Corporates for Hosted Exchange like setups and internal software developed on such a Web Framework.

New Concepts needed

A concept will have to be added that makes it simple and transparent for the developer to define on ORM type Class definition which data as objects and files will be synced to the browser-"offline" database and filesystem.  If such a concept contains also collision detection and resolution it will  directly compete with Sync efforts like iSync, SyncML, ActiveSync, Microsoft Mesh but may be a lot more generic. 

Authentication and Identity is a major problem in todays Web Frameworks. Google App Engine brings 485M Gmail users with it. Facebook allows only FB users in the apps counting around 130M currently. A Web Framework with a cloud operation environment should provide a large amount of users with ready set identities. That may be accomplished by apple through extending the Mac Address-Book with a pub-sub mechanism for contacts, basing this mechanism on the Mac-Id needed for iTunes Store/App Store access. Growth can start at this strong base of iPhone users. But for a good overall user experience it may be necessary to accept IDs of other services. There may also be a need for some incentive (e.g. viral sharing functionality or other) to make it relevant to users to map non-Mac-ID Address-Book entries to existing IDs in other services like yahoo/Flickr or Google. 

Differentiating the Apple environment

To ensure that there is a strong differentiator to disseminate XServe, the Web Framework and the Sync System one thing is a interesting episode. The iPhone Push system long announced not seen yet. This Push system may be the only way to update a Offline Application without the user requesting it explicitly and without keeping a http-connection open.

How does all this look? -- a look back in time

If all this reminds you strongly of thin client concepts I'd suggest that you are right on the point. This is very close to the old X-Server, Citrix and the likes. New though is that it has all of the following: a world wide potential base of 4MM people (all phone owners) and additional 1MM online computers (often Broadband) capable of making the richest experience with personal, non-shared devices. An  emerging standard (HTML5) that allows in a first step the Broadband computers to use it. A strong base of Apple controlled Systems, some 80M MacOS X computers and some 12M iPhones / iPodTouch.  

And now

Apple known to be very strong in defragmenting their technological base has a massive challenge for going online. They also have a great opportunity to not only solve this problem but at the same time to transfer their consumer strenght build through iPods to compete newly in a large share of IT-business including Servers and Cloud computing, currently not reachable, through a quest for the next generation Web Framework. This way redefining how Web Applications are built forever. 

The author

Olaf Zanger works as Head of Strategy and Business Architecture in the Product IT of a large Swiss Telco. In his spare time he plays with his shares, the Google App Engine and his kids. Not necessarily in this order.