The Android Awakens & Nokia’s Response

After months of anticipation T-Mobile and Google have unveiled the G1, the first commercially available handheld to run Google’s Linux-based Android mobile operating system. The smartphone, made by HTC, will be available on Oct. 22. The G1 will support 3G, EDGE and WiFi, includes a wide touchscreen besides of a slideout QWERTY keyboard, a 3-megapixel camera, a music player and applications like Google Maps with Street View. More applications are expected soon, developed by the community.In response to Android’s entry into the market, the leading cell phone maker Nokia is planning on freeing and making its Symbian platform royalty-free too. Nokia’s David Rivas, head of technology management at Nokia’s S60 business sees little future for the practice of billing handset vendors for each phone sold with a particular operating system.

More: continued here

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Netvouz
  • DZone
  • ThisNext
  • MisterWong
  • Wists
  • Technorati

Related News


  • Android Market is Google’s competitor to the Apple iPhone store


  • I was sent a link to the Android Community site this morning that led to the Android Developers blog post on the upcoming Android Market that looks to rival the Apple iPhone store for Android-powered devices. They decided to call it a market rather than a store to try to give it that "open" feeling for developers to provide content. There are several screenshots for you to check out too, including the one to the left. The Android Market will let users find, purchase, download and install content on their devices. The content does not appear to be screened by Google since you just need to register, upload and describe your content to get published. Hopefully it doesn't turn into a ...


  • Will we see a Nokia Aseries (Android series) or Android Tablet device in September?


  • I admit to being a fan of Nokia devices, but think there are several areas of the S60 Symbian-based operating system that need improvement. I am also quite a fan of Google Android, especially running on my T-Mobile G1. The Guardian is reporting the Nokia will be announcing an Android smartphone at Nokia World in September. The Guardian does not list any source for this rumor, other than industry insiders, so I am not taking this possibility as fact yet. However, I do think it would be interesting to see a Nokia ASeries (Android series) or Nokia Android Tablet class of devices with Nokia's outstanding hardware and Android's powerful and user friendly operating system. If this rumor turns out to be ...


  • SDK Shoot-Out: Android vs. iPhone


  • Neil McAllister delves into the Android and iPhone SDKs to help sort out which will be the best bet for developers now that technical details of the first Android smartphone have been announced. Whereas the iPhone requires an Intel-based Mac running OS X 10.5.4 or later, ADC membership, and familiarity with proprietary Mac OS X dev tools, the standard IDE for Android is Eclipse. And because most tasks can be performed with command-line tools, you can expect third parties to develop Android SDK plug-ins for other IDEs. 'By just about any measure, Google's Android is more open and developer-friendly than the iPhone,' McAllister writes. This openness is essential to Android's prospects. 'Based on raw market share alone, the iPhone seems likely to remain the smartphone developer's platform of choice â€" especially when ISVs can translate that market share into application sales,' McAllister writes. 'In this race, Apple is taking a page from Microsoft's book, while Google looks suspiciously like Linux.'


  • XML-RPC Server Using HttpListener


  • I've had a handful of requests from people who want to use the .Net System.Net.HttpListener class as the basis for an XML-RPC server implemented using XML-RPC.NET. Acquiring the request synchronously via the HttpListener GetContext method, the top level code could look like this:using System;using System.IO;using System.Net;using CookComputing.XmlRpc;class _{ public static void Main(string[] prefixes) { HttpListener listener = new HttpListener(); listener.Prefixes.Add("http://127.0.0.1:11000/"); listener.Start(); while (true) { HttpListenerContext context = listener.GetContext(); ListenerService svc = new StateNameService(); svc.ProcessRequest(context); } }}ListenerService is an abstract base class we will define below and StateNameService is the derived class which contains the implementation of the methods required in the XML-RPC service:public class StateNameService : ListenerService{ [XmlRpcMethod("examples.getStateName")] public string GetStateName(int stateNumber) { if (stateNumber < 1 || stateNumber > m_stateNames.Length) throw new XmlRpcFaultException(1, "Invalid state number"); return m_stateNames[stateNumber - 1]; } string[] m_stateNames = { "Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Lousiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississipi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylviania", "Rhose Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming" };}The ListenerService class derives from the XmlRpcHttpServerProtocol class and so is similar in this respect to the XmlRpcService class which is used as the bass class for XML-RPC services which are hosted in ASP.NET.public abstract class ListenerService : XmlRpcHttpServerProtocol{ public virtual void ProcessRequest(HttpListenerContext RequestContext) { try { IHttpRequest req = new ListenerRequest(RequestContext.Request); IHttpResponse resp = new ListenerResponse(RequestContext.Response); HandleHttpRequest(req, resp); RequestContext.Response.OutputStream.Close(); } catch (Exception ex) { // "Internal server error" RequestContext.Response.StatusCode = 500; RequestContext.Response.StatusDescription = ex.Message; } }}The remaining code defines the ListenerRequest and ListenerResponse classes. These essentially allow us to access the .Net HttpListenerRequest and HttpListenerResponse classes via the XML-RPC.NET IHttpRequest and IHttpResponse interfaces:public class ListenerRequest : CookComputing.XmlRpc.IHttpRequest{ public ListenerRequest(HttpListenerRequest request) { this.request = request; } public Stream InputStream { get { return request.InputStream; } } public string HttpMethod { get { return request.HttpMethod; } } private HttpListenerRequest request;}public class ListenerResponse : CookComputing.XmlRpc.IHttpResponse{ public ListenerResponse(HttpListenerResponse response) { this.response = response; } string IHttpResponse.ContentType { get { return response.ContentType; } set { response.ContentType = value; } } TextWriter IHttpResponse.Output { get { return new StreamWriter(response.OutputStream); } } Stream IHttpResponse.OutputStream { get { return response.OutputStream; } } int IHttpResponse.StatusCode { get { return response.StatusCode; } set { response.StatusCode = value; } } string IHttpResponse.StatusDescription { get { return response.StatusDescription; } set { response.StatusDescription = value; } } private HttpListenerResponse response;}This sample server can then be accessed by a client implemented in the usual way:using System;using System.Collections.Generic;using System.Text;using CookComputing.XmlRpc;[XmlRpcUrl("http://127.0.0.1:11000/index/")]public interface IStateName : IXmlRpcProxy{ [XmlRpcMethod("examples.getStateName")] string GetStateName(int stateNumber);}class Program{ static void Main(string[] args) { IStateName proxy = XmlRpcProxyGen.Create<IStateName>(); string ret = proxy.GetStateName(1); }}I'll illustrate how to use the asynchronous HttpListener methods BeginGetContext and EndGetContext in a future post. I'll also add the ListenerService, ListenerRequest, and ListenerResponse classes to the next release of XML-RPC.NET.


  • The Long March of Androids to the Enterprise


  • T-Mobile's Tuesday announcement that it will offer a new Android smartphone in August has raised interest in the possibility of greater competition for enterprise adoption. The new Android-powered smartphone, the myTouch 3G, will come loaded with features -- but they are not likely enough to meet the enterprise expectations for security and task integration set by BlackBerry smartphones.


    Leave a Reply

    You must be logged in to post a comment.