{"id":57,"date":"2008-11-19T23:59:42","date_gmt":"2008-11-20T04:59:42","guid":{"rendered":"http:\/\/www.bitquill.net\/blog\/?p=57"},"modified":"2016-05-12T14:53:33","modified_gmt":"2016-05-12T19:53:33","slug":"first-thoughts-on-android","status":"publish","type":"post","link":"http:\/\/bitquill.net\/blog\/first-thoughts-on-android\/","title":{"rendered":"First thoughts on Android"},"content":{"rendered":"<p><em><strong>Update:<\/strong> I&#8217;ll keep this post for the record, even though I&#8217;ve <a title=\"Revised thoughts on Android\" href=\"http:\/\/www.bitquill.net\/blog\/?p=63\">completely changed my mind<\/a>.<\/em><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/www.bitquill.net\/blog\/wp-content\/uploads\/2008\/11\/g1-android.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"59\" data-permalink=\"http:\/\/bitquill.net\/blog\/first-thoughts-on-android\/g1-android\/\" data-orig-file=\"https:\/\/i0.wp.com\/bitquill.net\/blog\/wp-content\/uploads\/2008\/11\/g1-android.jpg?fit=110%2C234\" data-orig-size=\"110,234\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"T-Mobile G1\" data-image-description=\"\" data-image-caption=\"&lt;p&gt;T-Mobile G1&lt;\/p&gt;\n\" data-medium-file=\"https:\/\/i0.wp.com\/bitquill.net\/blog\/wp-content\/uploads\/2008\/11\/g1-android.jpg?fit=110%2C234\" data-large-file=\"https:\/\/i0.wp.com\/bitquill.net\/blog\/wp-content\/uploads\/2008\/11\/g1-android.jpg?fit=110%2C234\" class=\"alignleft size-full wp-image-59\" title=\"T-Mobile G1\" src=\"https:\/\/i0.wp.com\/www.bitquill.net\/blog\/wp-content\/uploads\/2008\/11\/g1-android.jpg?resize=110%2C234\" alt=\"T-Mobile G1\" width=\"110\" height=\"234\" \/><\/a>I recently upgraded to a <a title=\"T-Mobile G1 - Wikipedia\" href=\"http:\/\/en.wikipedia.org\/wiki\/T-Mobile_G1\">T-Mobile G1<\/a> (aka. <a title=\"High Tech Computer Corporation - Wikipedia\" href=\"http:\/\/en.wikipedia.org\/wiki\/High_Tech_Computer_Corporation\">HTC<\/a> Dream), running Android.\u00c2\u00a0 The G1 is a very nice and functional device. It&#8217;s also compact and decent looking, but perhaps not quite a fashion statement: unlike the iPhone my girlfriend got last year, which was immediately recognizable and a stare magnet, I pretty much have to slap people on the face with the G1 to make them look at it.\u00c2\u00a0 Also, battery life is acceptable, but just barely.\u00c2\u00a0 But this post is not about the G1, it&#8217;s about <a title=\"Google Android - Wikipedia\" href=\"http:\/\/en.wikipedia.org\/wiki\/Google_Android\">Android<\/a>, which is Google&#8217;s Linux-based, open-source mobile application platform.<\/p>\n<p>I&#8217;ll start with some light comments, by one of the greatest entertainers out there today: <a title=\"Developers - Youtube\" href=\"http:\/\/www.youtube.com\/watch?v=KMU0tzLwhbE\">Monkey<\/a> <a title=\"Ballmer Monkeyboy iPod Mashup - Youtube\" href=\"http:\/\/www.youtube.com\/watch?v=FncILxajmlw\">Boy<\/a> made fun of the iPhone in January, stating that &#8220;<a title=\"Microsoft CEO Ballmer laughs at Apple iPhone - Youtube (quote at 1:13)\" href=\"http:\/\/www.youtube.com\/watch?v=C5oGaZIKYvo\">Apple is selling zero phones a year<\/a>&#8220;.\u00c2\u00a0Now he&#8217;s making similar remarks about Android, summarized by his eloquent &#8220;<a title=\"Ballmer calls Google's Android 'way behind' - ZDNet Blogs\" href=\"http:\/\/news.zdnet.com\/2424-9595_22-246795.html\">blah dee blah dee blah<\/a>&#8221; argument.\u00c2\u00a0 Less than a year after that interview, the iPhone is\u00c2\u00a0<a title=\"iPhone passes RIM, gains on Nokia - Apple 2.0 Fortune Blog\" href=\"http:\/\/apple20.blogs.fortune.cnn.com\/2008\/11\/07\/iphone-passes-rim-gains-on-nokia\/\">ahead of Windows Mobile<\/a> in worldwide market share of smartphone operating systems (7M versus 5.5M devices). Yep, this guy sure knows how entertain\u00e2\u20ac\u201deven if he makes a fool of himself and Microsoft.<\/p>\n<p>Furthermore,\u00c2\u00a0<a title=\"Steve Ballmer going crazy - Youtube\" href=\"http:\/\/www.youtube.com\/watch?v=wvsboPUjrGc\">Monkey<\/a> <a title=\"Adolf Balmer - Youtube\" href=\"http:\/\/www.youtube.com\/watch?v=c3XdOl5YtLg\">Boy<\/a> said that &#8220;if I went to my shareholder meeting [&#8230;] and said, hey, we&#8217;ve just launched a new product that has no revenue model! [&#8230;]\u00c2\u00a0I&#8217;m not sure that my investors would take that very well. But that&#8217;s kind of what Google&#8217;s telling their investors about Android.&#8221; \u00c2\u00a0Even if this were true, perhaps no revenue model is better than a simian model.<\/p>\n<p>Anyway, someone from Microsoft should really know better\u00e2\u20ac\u201dand quite likely he does, but can&#8217;t really say it out loud. There are some obvious parallels between Microsoft MS-DOS and Google Android: <!--more--><\/p>\n<ul>\n<li><strong>Disruptive technology:<\/strong> In the 80s, it was the personal computer.\u00c2\u00a0 Today, many think it is &#8220;cloud computing&#8221; (or &#8220;services&#8221;, or &#8220;ubiquitous computing&#8221;, or &#8220;utility computing&#8221;, or whatever else you want to call it).<\/li>\n<li><strong>Commodity infrastructure:<\/strong> In the 80s, PC-compatibles became a commodity through standardization of the hardware platform and fierce competition that drove prices (and profit margins) down. Today, network infrastructure (the Internet at the core, and mobile devices on the fringes) as well as systems software (<a title=\"LAMP (software bundle) - Wikipedia\" href=\"http:\/\/en.wikipedia.org\/wiki\/LAMP_(software_bundle)\">LAMP<\/a>) are facing similar pressures.<\/li>\n<li><strong>Common software platform:<\/strong> MS-DOS was the engine that fueled the growth of the personal computer.\u00c2\u00a0 For cloud computing, there is still some way to go (which Android hopes to help pave).<\/li>\n<li><strong>Revenue model:<\/strong> Microsoft made a profit out of every PC sold. In today&#8217;s networked world, profit should come from services offered over the network and accessed via a multitude of devices (including mobile phones), rather than from selling software licenses.<\/li>\n<\/ul>\n<p>An executive once said that <strong>money is really made by controlling the middleware platform.<\/strong> Lower levels of the stack face high competition and have low profit margins.\u00c2\u00a0 Higher levels of the stack (except perhaps some key applications) are too special-purpose and more of a niche.\u00c2\u00a0 <strong>The sweet-spot lies somewhere in the middle.<\/strong> This is where MS-DOS was and where Android wants to be.<\/p>\n<p>Microsoft established itself by providing the platform for building applications on the &#8220;revolution&#8221; of its day, the personal computer. MS-DOS became the de-facto standard, much more open than anything else at that time. Subsequently, Microsoft took a cut of the profits out of each PC sold ever since. Taiwanese &#8220;PC-compatibles&#8221; helped fuel Microsoft&#8217;s (as well as Intel&#8217;s) growth. The rest is history.<\/p>\n<p>In &#8220;cloud&#8221; computing, the ubiquitous, commodity infrastructure is the network.\u00c2\u00a0 This enables access to applications and information from any networked device. Even though individual components matter, <strong>it is common <em>standards<\/em>, rather than a single, common software platform, which further enable information sharing.<\/strong> If you believe that the future will be the same as the past, i.e., selling shrink-wrapped applications and software licenses, then Android not only has no revenue model, but has no hope of ever coming up with one. Ballmer would be absolutely right.\u00c2\u00a0 But if there is a shift towards network-hosted data and applications, money can be made whenever users access those.\u00c2\u00a0 <strong>There are plenty of obvious examples which could be profitable:<\/strong> geographically targeted advertising, smart shopping broker\/assistant (see below), mobile office and add-on services, online games (<a title=\"Location Based Games Will Rock Your World - Phandroid\" href=\"http:\/\/phandroid.com\/2008\/09\/29\/location-based-games-will-rock-your-world\/\">location based<\/a> or not), and so on. It&#8217;s not clear whether Google plans to get directly involved in those (I would doubt it), or just stay mostly on the back end and provide an easy-to-use &#8220;cloud infrastructure&#8221; for application developers.<\/p>\n<p>The services provided by network operators are becoming commodities. <span>This is nothing new.<\/span> A quote I liked is that &#8220;<span><a title=\"An opportunity for ISPs - Wiki That!\" href=\"http:\/\/www.wikithat.com\/wiki_that\/2005\/11\/an_opportunity_.html\">ISPs have nothing to offer other than price and speed<\/a>&#8220;.\u00c2\u00a0 I wouldn&#8217;t really include security in their offerings, as it is really an end-to-end service. <\/span>As for devices, there is already evidence that commoditization similar to that of PC-compatibles may happen. Just one month after Android was open-sourced, <a title=\"Running Google Android On iPhone Clones - Slashdot\" href=\"http:\/\/mobile.slashdot.org\/article.pl?sid=08\/10\/29\/1710220\">Chinese manufacturers have started deploying it<\/a> on smartphones. Even big manufacturers are quickly getting in the game; for example, <a title=\"Huawei Android Phone Coming Early 2009 - Phandroid\" href=\"http:\/\/phandroid.com\/2008\/11\/08\/huawei-android-phone-coming-early-2009\/\">Huawei recently announced an Android phone<\/a>. Most cellphones are already manufactured in China anyway.\u00c2\u00a0 The iPhone is assembled in Shenzhen, where Huawei&#8217;s headquarters are also located (coincidence?). The Chinese already have a decent track record when it comes to building hardware and it&#8217;s only a matter of time until they fully catch up.<\/p>\n<p>So, it&#8217;s quite simple: <strong>Android wants to be for ubiquitous services as MS-DOS was for personal computers.<\/strong> But Microsoft in the 80s did not really start out by saying &#8220;our revenue model is this: we&#8217;ll build a huge user base <a title=\"MS pricing strategy exposed \u00e2\u20ac\u201c cheap when there's competition, but\u00e2\u20ac\u00a6 - The Register\" href=\"http:\/\/www.theregister.co.uk\/1999\/01\/13\/ms_pricing_strategy_exposed_cheap\/\">at all costs<\/a>, which will subsequently allow us to get $200 out of each and every PC sold&#8221;?\u00c2\u00a0 Not really.\u00c2\u00a0 Similarly, Google is not going to say that &#8220;we want to build a user base, so we can make a profit from all services hosted on the [our?] cloud and accessed via mobile devices [and set-top boxes, and cars, and&#8230;].&#8221;\u00c2\u00a0 Such an announcement would be premature, and one of the surest ways to scare off your user base: unless Google first provides more evidence that it means no evil, the general public will tend to assume the worst.<\/p>\n<p><strong>The most interesting feature of Android is it&#8217;s <a title=\"Anatomy of an Android App - Android Docs\" href=\"http:\/\/code.google.com\/android\/intro\/anatomy.html\">component-based architecture<\/a><\/strong>, as pointed out by some of the more insightful <a title=\"Google's Android revealed: Component software for the mobile world - MobileOpportunity\" href=\"http:\/\/mobileopportunity.blogspot.com\/2007\/11\/googles-android-revealed-component.html\">blog posts<\/a>. Components are like iGoogle gadgets, only Android calls them &#8220;activities.&#8221; <strong>Applications themselves are built using a very browser-like metaphor<\/strong>: a &#8220;task&#8221; (which is Android-speak for running applications) is simply a stack of activites, which users can navigate backwards and forwards. The platform already has a set of basic activities that handle, e.g., email URLs, map URLs, calendar URLs, Flickr URLs, Youtube URLs, photo capture, music files, and so on. Any application can seamlessly invoke any of these reusable activities, either directly or via a registry of capabilities (which, roughly speaking, are called &#8220;intents&#8221;). The correspondence between a task and an O\/S process is not necessarily one-to-one. Processes are used behind the scenes, for security and resource isolation purposes. Activities invoked by the same task may or may not run in the same process.<\/p>\n<p>In addition to activities and intents, Android also supports other types of components, such as &#8220;content providers&#8221; (to expose data sources, such as your calendar or todo list, via a common API), &#8220;services&#8221; (long-running background tasks, such as a music player, which can be controlled via remote calls) and &#8220;broadcast receivers&#8221; (handlers for external events, such as receiving an SMS).<\/p>\n<p>I think that <strong>Google is really pushing Android because it needs a component-based platform<\/strong>, and not so much to avoid <a title=\" Update On Google iPhone Voice Recognition App: Look For It On Monday - TechCrunch\" href=\"http:\/\/www.techcrunch.com\/2008\/11\/16\/update-on-google-iphone-voice-recognition-app-look-for-it-on-monday\/\">the occasional snafu<\/a>. If embraced by developers, this is the major ace up Android&#8217;s sleeve.\u00c2\u00a0 Furthermore, the <a title=\"Android Open Source Project\" href=\"http:\/\/source.android.com\/\">open source codebase<\/a> is the strongest indication (among several) that Google <a title=\"Finally, proper banner ads for Android: Flash demoed on a G!\" href=\"http:\/\/www.engadget.com\/2008\/11\/17\/finally-proper-banner-ads-for-android-flash-demoed-on-a-g1\/\">has no intention<\/a> to tightly <a title=\"Why Apple Won't Allow Adobe Flash on iPhone - Wired\" href=\"http:\/\/blog.wired.com\/gadgets\/2008\/11\/adobe-flash-on.html\">regulate application frameworks like Apple<\/a>, or to leverage it&#8217;s position to attack the competition like Microsoft has done in the past.\u00c2\u00a0 Google wants to give itself enough leverage to realize it&#8217;s cloud-based services vision. If others benefit too, so much the better\u00e2\u20ac\u201dGoogle is still too young to be &#8220;<a title=\"New York Debate Audience Can't Decide if Google Is \" href=\"http:\/\/www.marketwatch.com\/news\/story\/New-York-Debate-Audience-Cant\/story.aspx?guid={0A2DBD98-B3B2-4F6F-899F-69A2908A809C}\">evil<\/a>&#8220;.\u00c2\u00a0 After all, <a title=\"The Clouds Part on HP's Computing Strategy - Wired\" href=\"http:\/\/www.wired.com\/techbiz\/it\/news\/2008\/05\/portfolio_0513\">as Jeff Bezos said<\/a>, &#8220;like our retail business, [there] is not going to be one winner. [&#8230;] <strong>Important industries are rarely made by single companies.<\/strong>&#8221; I find the comparison to retail interesting. <strong>In fact, it is quite likely that many &#8220;cloud services&#8221; themselves will also become commodities.<\/strong><\/p>\n<p><strong>I&#8217;d wager that really successful Android applications won&#8217;t be just applications, but <em>components<\/em> with content provided <em>over the network<\/em>.<\/strong> A shopping list app is nice. It was exciting in the PalmPilot era, a decade ago. But a shopping list <em>component<\/em>, accessible from both my laptop and my cellphone, able to automatically pull good deals from a shopping component, and allow a navigation component to alert me that the supermarket I&#8217;m about to drive by has items I need\u00e2\u20ac\u201dwell, that would be great! <strong>Android is built with that vision in mind<\/strong>, even though it&#8217;s not quite there yet.<strong><br \/>\n<\/strong><\/p>\n<p>It&#8217;s kind of disappointing, but not surprising, that many app developers do not yet think in terms of this component-based architecture. In fairness, there are already efforts, such as <a title=\"OpenIntents.org website\" href=\"http:\/\/www.openintents.org\/en\/\">OpenIntents<\/a>, to build collections of general-purpose intents. <strong>Furthermore, <a title=\"Synchronization in Android - My life with Android :-)\" href=\"http:\/\/mylifewithandroid.blogspot.com\/2008\/02\/synchronization-in-android.html\">the sync APIs are not (yet) for the faint of heart<\/a>. Even Google-provided services could perhaps be improved.<\/strong> For example, Google Maps does not synchronize stored locations with the web-based version. When I recently missed a highway exit on the way to work and needed to get directions, I had to pull over and re-type the full address. Neither does it expose those locations via a data provider. When I installed <a title=\"Locale website\" href=\"http:\/\/www.androidlocale.com\/\">Locale<\/a>, I had to manually re-enter most of &#8220;My Locations&#8221; from the web version of Google Maps. So, there are clearly some rough edges that I&#8217;m sure will be smoothed out.\u00c2\u00a0 After all, there have been other rough edges, such as <a title=\"Issue 1207:  \t android appears to be watching text streams and acting upon them - Google Code\" href=\"http:\/\/code.google.com\/p\/android\/issues\/detail?id=1207\">forgotten debugging hooks<\/a>, something I find more amusing than alarming or embarrassing and certainly not the &#8220;<a title=\"Worst. Bug. Ever. - ZDNet Blogs\" href=\"http:\/\/blogs.zdnet.com\/Burnette\/?p=680\">Worst. Bug. Ever.<\/a>&#8221;<\/p>\n<p>Android has a lot of potential, but it still needs work and Google should move fast. The top two items on my wish list would be:<\/p>\n<ol>\n<li><strong>Release a &#8220;signature&#8221; device<\/strong> (or two), like the Motorola Razr was a couple of years ago and the Apple iPhone was last year. The G1 is really nice, but not enough.\u00c2\u00a0 A device that people <em>desire<\/em> may be neither a necessary nor a sufficient condition for success, but it will sure help as a vehicle to move Android forward in market share.<\/li>\n<li>Expand the set of available activities and content providers, and release an easy-to-use data sync service and API. <strong>In principle, everything that is an iGoogle gadget should also be an Android activity, <em>sharing the same data sources<\/em>.<\/strong> This is at the core of what &#8220;cloud computing&#8221; is about.\u00c2\u00a0 After all, <strong>you could think of Android as a glorified modern browser<\/strong> for devices with small screens, intermittent network connectivity, location sensors, and so on.<\/li>\n<\/ol>\n<p>I suspect it might not be that hard to build a Google gadget container for Android.\u00c2\u00a0 Google Gears is already there and some form of interaction with the local device via Javascript is already allowed.\u00c2\u00a0 Many gadgets don&#8217;t need that much screen real estate anyway, so this may be an interesting hack to try out.<\/p>\n<p><strong>But not many people will buy an Android device for what it <em>could<\/em> do some day.<\/strong> Google has created a lot of positive buzz, backed by a few actual features. Now it needs some sexy devices and truly interesting apps, to really jumpstart the necessary <a title=\"Network effect - Wikipedia\" href=\"http:\/\/en.wikipedia.org\/wiki\/Network_effect\">network effect<\/a>. <strong>Building the smart shopping list app <em>should<\/em> be as easy as building the dumb one.<\/strong> In the longer run, the set of devices on which Android is deployed should be expanded.\u00c2\u00a0 Move beyond cell phones, to <a title=\"Google's Android: It's not just for phones - CNet\" href=\"http:\/\/news.cnet.com\/8301-17938_105-10047551-1.html\">in-car computers, set-top boxes, and so on<\/a> (Microsoft Windows does both <a title=\"Microsoft Automotive Home Page\" href=\"http:\/\/www.microsoft.com\/auto\/default.mspx\">cars<\/a> and <a title=\"MSN TV - Wikipedia\" href=\"http:\/\/en.wikipedia.org\/wiki\/MSN_TV\">set-top boxes<\/a> already, but with limited success so far)\u00e2\u20ac\u201din short, anything that can be used to access network-hosted data and applications.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Update: I&#8217;ll keep this post for the record, even though I&#8217;ve completely changed my mind. I recently upgraded to a T-Mobile G1 (aka. HTC Dream), running Android.\u00c2\u00a0 The G1 is a very nice and functional device. It&#8217;s also compact and decent looking, but perhaps not quite a fashion statement: unlike the iPhone my girlfriend got [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[45],"tags":[59,29,7,57,58,56],"class_list":["post-57","post","type-post","status-publish","format-standard","hentry","category-scitech","tag-android","tag-cloud-computing","tag-development","tag-mobile-devices","tag-opinion","tag-technology"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p7x9xm-V","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/bitquill.net\/blog\/wp-json\/wp\/v2\/posts\/57","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bitquill.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bitquill.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bitquill.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/bitquill.net\/blog\/wp-json\/wp\/v2\/comments?post=57"}],"version-history":[{"count":1,"href":"http:\/\/bitquill.net\/blog\/wp-json\/wp\/v2\/posts\/57\/revisions"}],"predecessor-version":[{"id":716,"href":"http:\/\/bitquill.net\/blog\/wp-json\/wp\/v2\/posts\/57\/revisions\/716"}],"wp:attachment":[{"href":"http:\/\/bitquill.net\/blog\/wp-json\/wp\/v2\/media?parent=57"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bitquill.net\/blog\/wp-json\/wp\/v2\/categories?post=57"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bitquill.net\/blog\/wp-json\/wp\/v2\/tags?post=57"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}