Thursday, March 17, 2011

Android 50% Faster than iPhone on the Web?

Today I came across a blog post that tested load times between iPhone and several Android devices.  As written: (see original post on Wired)

"Android phones whisk users across the web more than 50 percent faster than the iPhone, according to a study that compared the two top mobile OSes performance when downloading web pages.

The study, conducted by mobile website optimization company, involved more than 40,000 downloads of web pages belonging to the Fortune 1000 companies. Android loaded pages 52 percent faster when rendering full web pages than the iPhone. On average, Android phones took 2.1 seconds to render non-mobile optimized web pages, while the iPhone took 3.2 seconds.

Android bested the iPhone on site loading time a whopping 84% of the time."

Having run Gingerbread (a.k.a. Android 2.3) for two weeks now on a Nexus One, my general observation is that it is indeed faster that both FroYo (Android 2.2) and iPhone iOS for loading pages but I am pragmatic.  I would urge everyone to be pragmatic about these results.  They only show a single test (loading a web page) and the environment did not appear to be properly controlled.   The headline is hence somewhat misleading and sensationalistic.   What would be better is to do these sorts of tests in a closed environment and break the results down into HTTP request creation, transfer time, request bandwidth, server processing time, response transfer time, response bandwidth and client side parsing and display (assuming HTTP get).  Isolating the actual HTML/JavaScript parsing, processing and presentation is the real critical factor in making such claims in my opinion.  This test should not be done by loading a Fortune 1000 company's website on the open web as this represents a large an uncontrolled factor for the tests.  A counter argument would be that 40,000 loads does establish a fairly reasonable chance that the test results are somewhat accurate but no one can guarantee that the server itself was not busier when the iPhone requested the pages.  Let's look at what is behind each side of this competition.

iPhone's Safari also uses the WebKit open source browser engine, the same code base as Google Chrome and the Android browser (according to Wikipedia).  To me this seems somewhat relevant information.   WebKit's JavaScript engine, JavaScriptCore, based on KJS, is a framework separate from WebCore and WebKit, and is used on Mac OS X for applications other than web page JavaScript.  Unlike iOS, Android is open so anyone can add a browser to the marketplace.  I can write a basic web browser that supports CSS, AJAX, JS, and some HTML5 features in about ten lines of code using Adobe AIR, which in turn uses the Webkit implementation so if I choose, I can have the same browser as the iOS more or less.  Nevertheless, Android offers many different browser choices.  Some of these are:

Dolphin (hardware acceleration for Honeycomb (Android 3.0+))
Opera Mini (claims to be fastest)
Skyfire (supports Flash, 2,000,000 downloads)

and many more.  Here is an article on an Android browser shootout.

My second phone, the Samsung Galaxy S, runs Android 2.2 and is very stable.  The ability to view Flash is an important factor for me for both of these devices, which is why I gave my iPhone to my sister.  The one item I do miss is the iTunes Synchronization however I am debating getting out of the iTunes/Appstore altogether and find a replacement.  Any recommendations for  OS X music management software would be appreciated (please leave a comment).

The long and short of this is that while my perception is that Android is indeed faster at loading web pages, the key thing that wins my approval is multiple choices.  YAMMV! *

* Your actual mileage may vary  

Wednesday, March 16, 2011

How the architect looks at Customer Experience (video)

What does Customer Experience Management really mean, abstract of how it is implemented? THis blog post should really be entitled "CEM for Architects".   This was what I considered when being interviewed in Barcelona earlier this year. The goal was to explore what "Customer Experience" means in terms of how enterprise architects might think.

The idea of "user experience" itself is not new. Most competent architects consider the users' perspectives during any interaction with a system or systems they are designing. Customer Experience is unique and represents an emerging discipline of modern enterprise architecture covering many aspects of the logical, data and process views of any enterprise, spanning more than one system. Customer Experience (CX) is the sum of all experiences a customer has with a supplier of goods or services, over the duration of their relationship. This duration may cover several unique stages including awareness, discovery, attraction, interaction, purchase, use, cultivation and advocacy. CX as a term covers multiple contexts (the lifetime of a relationship down to an individual transaction. (Source = Wikipedia).

To give a more concrete example, an individual may have a history with an enterprise. This history may encompass several of the stages mentioned above including discovery (data may be stored in website interaction analytics, browser cookies, and tracking), interaction (data may be stored in CRM systems), use (data may be stored in the state of a business process instance), and advocacy (data may be stored in tweets, Facebook posts, and other social media).

The question that looms before any architect is how to reconcile the various data and historical interactions so your enterprise can deliver the best possible experience. Even the term "Customer" here is probably too prescriptive. The experience factor can also cover users that are within your own domain such as employees. Now factor in that this customer may have multiple concurrent channels of communication open and the problem comes into focus very quickly. How can you reconcile social media trails with CRM data? How can the telephony system be reconciled with the users' web browsing data and process interactions? The graphic below illustrates this challenge.

The idea of converging the data required in any specific channels of interaction so you can deliver that experience is really powerful in terms of the experience it can deliver. If I call a company and the person who picks up the phone can immediately have full access to all my data, chances are high that they will serve me better.  The more they know about me, the less they have to query me at the very least.  It always agitated me when I would phone the credit card company and had an automated attendant ask me to key in my CC number, only to be forwarded to a human operator who had no visibility of the data I just entered, so I had to provide it to them again (or having my call forwarded to another department of an enterprise and having to repeat an entire conversation from start to finish).  An important thing to note here is that companies that successfully mitigate this have a huge advantage in garnering customer loyalty over those who ignore it.  Even though customers may not be able to distinguish the exact reason one company offers a better experience over another, the experience will be felt.

So where does Adobe fit in?

The development of LiveCycle ES as a service oriented platform, essentially what the industry calls an Enterprise Service Bus (ESB), enabled data to be aggregated from various sources and gave enterprises the ability to access data and orchestrate data and services into processes, both short and long lived.  The acquisition of Omniture gave Adobe the leading web analytics suite.  The acquisition  of Day Software completed the technology for delivering CX and integrating social media channels however the integration of these technologies will really shine in the next evolution of the LiveCycle ES platform.  Additionally, the acquisition of Demdex provides the next evolution of our enterprise platform with the ability to enable clients to aggregate and manage their strategic data assets as well as make data actionable in a broad range of third-party advertising technologies.  Even the latest beta release of Flash Player 10.3 is rife with new media measurement features that allow deeper access of analytics data.

The mainstream press seems to have missed the agile Adobe acquisitions in terms of where the company is heading and what it will be able to deliver to enterprise customers in years to come. Some analysts like RedMonk, Forrester and, Gartner seemed to have taken notice though.  We've quietly built ourselves into a superpower in terms of being able to deliver CX to our customers.

To sum this up, architects MUST consider the view of overall customer experience over the lifetime of the relationship between their enterprise and the customers.  The alpha architects will need to consider how to successfully integrate RIA data with back end systems and distributed web data, sometimes in the form of a trail of digital breadcrumbs.  When they consider the many aspects and challenges of this view of architecture, it will become apparent who has positioned themselves as the leader.

Enjoy the video!