Sunday, March 30, 2008

The Android Platform

What are Sprint, T-Mobile, China Mobile, Samsung, Motorola, HTC, and LG doing together? They're members of the Open Handset Alliance developing phones based on Google's Android software for mobile devices (a complete stack including OS, middleware, and key apps).

The investor analyst press gave it the moniker "gPhone" since it was announced after the Apple iPhone launch, but the iPhone has little to fear from Android which seems aimed at the mass market for consumer phones. Apple has always been happy with their niche; Google on the other hand needs ubiquity to control advertising on as many screens as possible. (The threatened include Symbian, Palm, Windows Mobile and Danger Hiptop [Sidekick]).

Why should a web developer care? The "phone" as a browser client has an installed base of 3x that of personal computers, and in the post-iPhone era, the phone is no longer a "mini" platform but is actually richer and fuller than a PC client. It is also mobile, much more intensely personal, and many times more lucrative for digital products and services. And it's fun.

My initial perception of Android was that it was just like the other proprietary phone operating systems; I didn't realize it was built on Linux, SQL*Lite, and Java. It seems like it will be fun & easy to develop for.

OpenSocial

Yahoo joined the OpenSocial collaboration (launched in November 2007 by Google) this week, joining partners MySpace, LinkedIn, et. al.

Facebook is the 800lb. gorilla in the room not participating in the OpenSocial cooperative. Facebook received an equity purchase from Microsoft and is a formidable competitor to Google for eyeballs & ads. Shrewd move, Redmond, to create a wall of enmity between these two. But Google read a page from the GNU book of knowledge, opening their Orkut app API to be an open alliance with open standards & open source software.

You'll see criticism of how "open" OpenSocial is and how standard, too; this should be expected, and I'll watch how it all pans out. This group of (Google-led) companies is still trying to figure out how to interoperate with developers, while maintaining security and preserving the focus and mission of their communities and web properties.

How does this affect the webmaster? OpenSocial support could be integrated into web development frameworks like Zope or content management systems like Drupal. DrupalJedi says "all web site developers need to be familiar with this standard;" I agree that being aware is required; let's see how it grows.

Sunday, March 23, 2008

ECMAScript Edition 4

Web 2.0, Meet JavaScript 2.0 by Jeremy Martin
  • OOP at last? Are AJAX programmers really crying out for that? "Classes will provide far more flexibility through its many designators and directives (final, dynamic, extends, implements, etc.)"

  • static type checking - great for compiled code, but for interpreted? maybe they're planning on introducing a bytecode VM in the next edition, incompatible with .Net, JVM, and Parrot?

  • namespaces, constants, operator overloading, not null operator for DBMS interactions

  • program units look cool but why units, why not dynamically loaded/linked classes? I guess to permit non-OOP code to have units too.

It seems like a good portion of the developer community, along with other browser developers, are in disagreement on evolving JavaScript in the direction of Java, PHP5, and C#.

Why not just leave JavaScript non-OOP and add another language to the browser runtime (e.g. IE supports two, JS and VBA) called something like Livescript, thereby maintaining backward compatibility and freeing browsers up to begin again on the perfect client side Ajax language?

Tuesday, March 11, 2008

Offline Web Apps


Gears is Google's open source browser extension for developers to adapt web applications to run offline, providing

  1. local http server to cache and deliver resources (HTML, JavaScript, images, etc.)

  2. local database, to store and access data from within the browser

  3. a worker thread pool, to make JS code more responsive (by performing expensive operations in the background)

Although offline support will be built-in to Firefox 3.1, Firefox 3 and IE 7 (on XP or Vista or Windows Mobile) need the Gears add-on to run offline applications.

Why should Google fund the development of this offline app code development in the browser or add-on? Obviously, Google Apps in browsers will then compete with desktop applications like Microsoft Excel, Microsoft Word, Microsoft Outlook, Microsoft Exchange, etc. It brings the Netscape threat & promise of the web as the a platform (and Software as a Service SaaS) closer to reality, enabling web apps to run on a computer which is "undocked" from the network.

Why pay an IT department $250,000 per year to maintain an infrastructure, when Google costs alot less? This first consumer target is SOHO, micro capitalization companies, and small businesses. Google is giving away the client in order to dominate on the server.

I'd also like to see blogging websites be able to compose, spell check and save blog drafts offline (for upload on connect). Why not also photo gallery software, audio blogs, and even social network sites?

The flood is coming; the web is invading our offline world.

Why stop with offline; extend the paradigm to barely online (low bandwidth) caching, so the computer can catch up in the background. Mom will love that on her country modem dial up connection! Could this drive broadband ISP prices lower?

Some reader applications on your desktop (like Mozilla Thunderbird) can automatically pull news from an feed such as this one.