First thoughts and discoveries on Windows Phone development

After spending just a couple of days looking at Windows Phone development for the first time, I thought it worthwhile to record my findings as it could be useful for other developers now making the transition to the new platform.

The installation of the Windows Phone tools is relatively simple although you need Vista or Windows 7 for the install to work.  Once installed you end up with Microsoft Visual Studio 2010 Express.  Also download the WP7 Training kit offline, this is a tutorial which takes you creating your first application.  It’s also worth watching a few of the videos (watch these ones on this page step 3 as some of the other introductory videos are decidelly poor) which explain development.  

 Once you’re up and running with Visual Studio you can create your first app.  You actually have 2 main choices at this point, you can either create an XNA app (if your app is going to be a game) or a SilverLight app if it’s a page based app.  In my case I wanted to create a page based app; you can follow the tutorial so I want go into the details here, but there is also a tool called Expression which allows the UIs to be designed graphically. Either way you end up with an XML definition of the UI and at the same time you can see what it will look like on the screen.  Once you’re coded up you hit debug and the Windows Phone 7 Emulator runs and you can interact with your app, set break points and inspect data values.  All these tools are absolutely first class quality and completely faultess as far as I can see, so that’s all great news.

Now the next thing is what to do with the apps and here it gets more complicated, control is more similar to iPhone’s approach to treating apps.   Apps are a bit more controlled than with today’s Nokia phones.   Apps can only be downloaded from Microsoft’s own appstore called App Hub and no where else, not even operator appstores it seems (correct me if I am wrong someone).  As a developer you can declare your phones as a development device and install your own apps on it.  You can also email the apps to people who have also declared their phones to be development phones and there is a tool called Application Deployment to install them on their phones but no other distribution approach is allowed.

So you have to sign up to AppHub in order to distribute your apps.  It costs $99 (£65) per year to join (free for students) and you then there are some further rules.  You can only have 5 free apps per year per developer but as many paid for apps as you want.  There’s the usual QA of course and as yet I don’t know how painful that is.  Apparently sign up involves being given a Verisign certificate and this involves having to let Verisign phone you up and sending them a scan of your passport etc.  I’ve been through similar things with some other appstores.  Then finally in order to get paid you have to submit a W8-Ben form (although there is no hurry for this as it’s not needed until you’ve actually earnt some money) if you are not an American and don’t want the US Govt to withhold 30% of your income as tax.  This is a complete pain as this form requires you to get either an EIN (enterprise identity number if you are a company) or an ITIN (if you’re an individual).  I’ve been through this pain already for a different appstore but getting the EIN for my company cost me £300 (inc VAT) and several weeks, so be warned.  There are only 2 companies in the UK who can get you the EIN or ITIN so also quite involved.

OK so what’s the phone like and what’s it like to write code?  Well, it’s really very easy to create great looking apps.  I have two issues but I’ve heard both of these will be fixed before the end of the year.  Firstly Apps are subject to single tasking OS today, anything that happens eg a phone call or even screen lock and the app is closed and you have to code the saving of state (similar to what you have to do with the iPhone and Samsung Bada) and then of course when the app is resumed you have to code the loading of the state info to resume where you left off.  The other issue I had was the browser only supports HTML4 and CSS2.1.   So today I watched Steve Balmer’s key note at Barcelona and he announced both issues will be resolved before the year is out (as if he was reading my mind).  There will be an upgrade which allow multitasking (I suspect the suspend and resume functionality may still be required though) and they will be supporting HTML5 too and I suspect it will be a subset of CSS3 too.  The goiod news though is they said the IE9 engine going on Mobile is code identical with the desktop version (whether this is really true I’ll wait to see of course because I wonder how they deal with the scrolling issues that Apple Safari and Android Chrome treat very differently.

Overall the new world of Microsoft tools is a very smooth process just a shame about the additional expenses of a new appstore to deal with.

 

Friday was a sliding doors moment

Friday was a sliding doors moment for me.  Nokia could have gone in several different directions and the decision was taken which surprised and shocked me but that decision is now made.  One of the beauties of real life is there is rarely a wrong and a right choice;  all choices have wrongs and rights about them and, unlike the film, we will never know what would have been the result of any alternative path – you have to live with decisions like these and move forward with them.  The good thing for me about Stephen Elop’s decision is that it is very decisive, clear and simple.  We are now all on a different path in our lives working with Nokia and that path has been very clearly stated. 

So I’ve just been downloading the Windows Phones developer tools this afternoon and going through the tutorials.  Exciting times are indeed ahead.   All I can say to any Nokia techies reading this please push for HTML5 and CSS3 (preferably webkit and not IE please) support as soon as possible; you need it to compete.  I’ve read HTML5 is targeted for WP7.5 and that’s the version which will be used but push for a webkit browser if you can please please please.

Thoughts on Nokia + Microsoft

I believe this is the biggest mobile technology news since announcement of Apple iPhone back in 2007. And to be honest, I am all excited as one Apple fanboy would have, on such big news!

nokia-microsoft-valentine

There are reasons why I am so much excited, but first let me start with the fact that many developers showing concern that Nokia made a mistake for selecting Microsoft Windows Phone 7 as it’s primary mobile OS.

I have been reading lots of news, reviews, analysis and comments around this partnership, positive and negative. I gone through official Forum Nokia’s blog post "Letter to Developers about Today’s News" and in comments I see many developers not so happy.

I would like share some of the facts and personal experience about Symbian OS.

Symbian for End-Users

This is the base fact that everyone, including Nokia also admits that Symbian’s UX is ugly. I have been using Nokia smartphones since 2004, and my first one was second-hand Nokia 7650, and I have witnessed that Symbian was doing great in terms of UI until iPhone. After that, I haven’t heard anyone praising Symbian’s UI.

Symbian for touch enabled devices, proved to be complete nightmare for Nokia. Since it’s introduction to date, they are still trying to tweak it to work better for touch input, sadly without any luck.

Honestly, tell me any 10 great looking native Symbian applications, which provide smooth, beautiful, and animated user experience. Oh, I know one, Gravity and my big applause to the guys who did it. Other than this, I have not seen any Symbian application which impressed me with such great UX compared to iPhone, Android or WP7 apps.

Other than this, I was quite disappointed from Nokia from the end-users’ perspective, as they’ve been selling Symbian devices by showing cool animated UI transitions, but in reality, the actual device, when rotated from portrait orientation, taking more than 7 seconds to show up the UI in landscape (personal experience). Yes, I’m talking about Nokia N97 and other Symbian 5th Edition devices. Lets take a look at this video.

Cool, isn’t it. But if anyone who have used one of these devices must know what I’m talking about.

All this Symbian ^3 hype is waste of money and resources. I have a Nokia N8, and I was not able to compose new or reply to an email until I upgraded to firmware PR1.1, which was released few days ago after months of delay, using my primary account of Mail for Exchange (I use Google Apps). And there were also many other users who were have same issue.

I was making jokes on this… "Nokia – Connecting People NOT", and imagine Borat saying it, you’re gonna laugh "automagically" :D

Nokia N8 is really a fast device as compared to Nokia 5800XM I own. But the UI still lacks all the richness, smooth transitions, and usability I find on iPhone, somewhat on Android and now on WP7 devices. Even Nokia wasn’t able to deliver what they showed in an imaginative video demoed back in 2007. Lets take a look, and pay close attention to animations and transitions.

Symbian was the main reason of Nokia’s failing all this time. They have tried to tweak its UI to make it work on touch enabled devices, but unfortunately it didn’t worked out until now.

Last thing to add here is, Nokia’s official end-user support forums are filled with so many complaints, most of them are related to Symbian OS.

Symbian for Developers

I started learning Symbian back in 2006. My aim was to develop a compiler, which would allow Adobe Flash Lite developers to easily package and distribute their games and application on Symbian platform. I successfully delivered SWF2Go in March 2007 after 8 months of R’nD, and it’s been quite a success so far.

During my journey on Symbian OS, I learned how hard and time consuming it is to develop. Setting up it’s SDKs was quite big task for anyone new to Symbian, but who have worked on other mobile platforms. Other than my work on SWF2Go, I never developed any native Symbian C++ application.

Just in 2010, Nokia’s investments in Qt started to show up. Even though Qt it easy and fun to develop with and its been here for so long and already gone through embedded platforms, but still not ready for real mobile applications. When developer needs to do some real work, he ends up with same old dirty Symbian C++.

Qt Mobility 1.0 is released but it has some quirks. For example, there’s no native Qt APIs of dealing with device orientation. The new Qt Creator project wizard now adds that dirty Symbian C++ code for you.

Nokia could have at least replaced the UI shell of the Symbian ^3 using Qt with all it’s cool transitions and effects. Like HTC replaced Windows Mobile’s UI (almost same as Symbian) with HTC Sense UX. And they actually did a pretty good job on that.

So, Symbian is an outdated legacy OS, which have completed its life long ago. Its making Nokia, developers and the whole ecosystem around it completely slow.

Now stop being angry and join, celebrate with me ;)

Why I Am So Excited?

Microsoft really knows software. They also make mistakes, like everyone does, but they are pretty good. For example .Net, Xbox, Windows 7, Silverlight.

Microsoft Windows Phone 7 is developed from experiences of Windows Mobile. It is targeted specifically for next generation hardware and touch input. It is user friendly, stable and it works. Go checkout some cool reviews to find out for yourself.

Microsoft is the king of developer tools, specifically Visual Studio 2010. If you have never used it before, this tool will teach you, help you and make you expert within weeks. It’s code editing features are one of the best available today.

With tons of online resources already available, so you will never get stuck with any issue. There’s a vibrant developer community as well, from where we can learn more and share back expertise.

Microsoft offers a complete set of tools for development of Windows Phone 7 games and applications. And best thing about them is, all of these tools including VS2010, Expression Blend and XNA Game Studio are completely free. Installation experience is really smooth as well.

Once you are aboard, you’re gonna love it. You can take my word on that ;)

I also found some users and developers asking Nokia, why they didn’t selected Android? Well, other than what Mr. Elop already said about it, I would like to add, haven’t you guys already seen enough Android devices?

Everyone is making them, HTC, Samsung, Motorola, LG just to name a few. Now even those Chinese companies also started making them in masses. You will be getting a lot of them in coming days.

Don’t you guys want to see something new, something different, a competition, using new technology, developing for it, innovating with it, having a choice? I mean come on… Guys!

Nokia + Microsoft = A Wining Combination

I believe that this partnership is a great opportunity for developers on Nokia platform to get back into fast lane, and rapidly develop and compete against other platforms. Provide best of the best games, applications and user experiences to the end-users. A winning combination for everyone.

/// chall3ng3r //

Download latest Flash Player 10.2 Plugin / Standalone Versions

I recently noticed after announcement of Adobe Flash Player 10.2 availability, users are searching for downloading Flash Player. As I’ve been installing Flash Player updates manually for some time now, and I am not sure if Adobe have stopped using getPlus (crap-o-ware) plugin for installing Flash Player.

flashplayer-10-2

The reason why users are searching for alternate download locations for latest Flash Player is because Adobe have made bad reputation by bundling McAfee, Google Toolbar, etc. and worst of all, a 4-5mb sized getPlus plugin which then downloads, 3-4mb Flash Player.

There’s also big number of searches landing on my blog for Flash Player Standalone or Projector. If some of you might remember, I released a VB6 wrapper for Flash Player 8 ActiveX few years back, users are still downloading it as it works with latest versions as well.

Today I’d like to share a “secret” link which contains direct links to download latest versions of Flash Player plugin installers, but also Standalone / Projector version as well.

Please note, these are Debug versions of the player, meant specifically for developers.

The “Secret” Link: http://www.adobe.com/support/flashplayer/downloads.html

On the above link, you will always find installers of latest version of Adobe Flash Player for Windows, Mac and Linux. You can also download older archived versions as well.

I think Adobe needs to make a similar download location for Production versions of Flash Player, for users who like manually downloading and installing their software.

I hope many users who land on my blog searching for Adobe Flash Player will finally get what they were looking for :)

// chall3ng3r //

Nokia Push Snowboarding and Burton project

Not sure how many people know about this join project between Nokia Push Snowboarding – Burton. Burton is the top brand of snowbard gears in the world and pretty much the inventor of modern snowboarding. The R&D projects is testing the data collection from sensors on various parts of the riders and boards via a Nokia N8.

 

 

Basically Nokia and Burton got together to create a snowboard kit to collect data using different sensors via a Nokia N8 while riding a snowboard. They have the application tried by Terje Haakonsen, a legend in the snowboard world!!!

Nokia Push Snowboarding – Burton made available both data collected from 4 riders and code snippets for collecting sensors data.

I am really looking forward to see the final product and get one for sure!

Alessandro

Nokia Push Snowboarding and Burton project

Not sure how many people know about this join project between Nokia Push Snowboarding – Burton. Burton is the top brand of snowbard gears in the world and pretty much the inventor of modern snowboarding. The R&D projects is testing the data collection from sensors on various parts of the riders and boards via a Nokia N8.

 

 

Basically Nokia and Burton got together to create a snowboard kit to collect data using different sensors via a Nokia N8 while riding a snowboard. They have the application tried by Terje Haakonsen, a legend in the snowboard world!!!

Nokia Push Snowboarding – Burton made available both data collected from 4 riders and code snippets for collecting sensors data.

I am really looking forward to see the final product and get one for sure!

Alessandro