Nokia Simplifies the Mobile Landscape 
Nokia Simplifies the Mobile Landscape

	
	On Friday, Nokia announced that they were adopting WP7 as
	their operating system.  Although some open source advocates
	might see this as a set-back for Linux, Android is already the
	best-selling Linux OS of all times.  Meanwhile, as a Ben
	Zander student, all I see is possibility and the the world of
	opportunities that this opens to developers.

	Although they will continue shipping Symbian for a while,
	they are effectively sun-setting it.  Just like you can still
	purchase Itanium systems from HP, nobody really develops for
	those anymore.

	Nokia had this chart to offer on Friday:

	
	
	

	This is fascinating turn of events for C# developers as
	Nokia will make WP7 more relevant in the marketplace, making
	C# the lingua-franca of all major mobile operating systems.
	This astute chart explains why I am basking in joy:

	
	
	C# and the ECMA CLI everywhere!
	

	Now, certainly lots of developer houses can afford to build
	their software once for each platform.  This is fine if your
	VC has a mandate to "spend that cash quickly" or if you have
	a surplus of interns at your disposal.

	Now, if trollcats have taught us one thing is that users
	like the UI of their apps to be as native as possible.  That
	is, mind-blowingly beautiful on iOS and try to match the
	carpet on the others.

	Other snake oil vendors will tell you that you can use the
	same code across all platforms and still deliver an
	emotional experience to your users.   I agree, you can deliver
	the same emotion of disgust when using a cross platform
	toolkit.

	With Mono we have taken a different approach, based on our
	own failures from the past.  We give developers access to all
	of the native APIs in the platform to create the best possible
	user experience, and exploit every single last bit of
	functionality available on the platform.

	We advise our users to split their user interface code from
	the engine, or their business logic.  Developers should create
	a native experience for their mobile apps: one per platform.
	For example,
	consider Angry
	Birds on iOS
	and Angry
	Birds on Blackberry.  Each version adapts to provide the
	best user experience available on the platform.

	This is a grand time to be a mobile developer.  This chart
	illustrates the elegant balance of native experience and code
	sharing available to C# developers:
	
	
	
	

	Update: As much as I have enjoyed responding to the
	comments on this blog post, the comments are now closed.  I
	will make an exception with anyone that wants to follow up on
	an existing discussion.  For everyone else, if you have
	something to share, write it on your blog.


