Windows Phone? How did that happen?
Well over the last couple of months i was experimenting with mobile devices a lot because i was kind of tired of the Desktop and the whole HTML5 madness (yes i don’t like Java Script that much and i certainly don’t think its the-way-of-the-future, but that’s subject for another post).
Out of desperation at first i tried Android and got me a LG Optimus One phone. And I must admit that i liked it very much.
Yes, battery lifetime was problem at start, but installing CyanogenMod custom ROM completely solved that. I even spent some time programming an Android game but that failed miserably because my productivity was close to zero considering all the new things i needed to learn (Java, Open GL).
And all that time one good friend was constantly telling me how great his Windows Phone was. I was very skeptical about that since I previously owned Windows Mobile 6.5 phone and it was complete failure. I even recall at some time in the past promising to my self that i will never buy Windows powered phone again!
But after hearing all the good things about new Microsoft phone OS I eventually decided to give it a try and got me a Samsung Focus with Windows Phone Mango installed.
Boy was i pleasantly surprised.
And lets be honest here: its not that i did not like Android. Its good and mature mobile OS.
Its (kind of) Open Source and its has significant market share – not without good reason.
But using Windows Phone after Android was a really pleasent and refreshing experience. And there is no way I’m going back.
Disclaimer: before I continue i want to make few things clear: i don’t work for Microsoft, and i never did and probably never will. Everything i say on this blog is my personal opinion and not of my neighbors or my dog.
So now let me try to summarize the things i
personally love about my new Windows Phone:
- Superb UI - The whole phone User Interface is absolutely AMAZING! Its very simple and intuitive.
Yet at the same time it manages to stay slick and beautiful with subtle animations and transitions that do not annoy user but enhance the overall UI experience and make it fun and pleasant.
UI team did a great job – without any compromises. This is huge win for the platform.
- Live Tiles – When we speak of the User Experience I must mention the excellent Live Tiles concept.
Live Tiles are actually just animated squares on your home screen that represent applications or shortcuts for documents, contacts, URLs or any other static/dynamic piece of information that you can pin and arrange on your mobile ‘desktop’.
They are called Live for a good reason – they often change their content to show additional information – like number of emails in inbox for email application Live Tile, current temperature for weather app Live Tile etc.
I like this because it works great for the limited screen space of the phone – each of the tiles can show more info by flipping to display live content as it becomes available/relevant.
- The phone Just Works – From the practical everyday usage perspective the OS feels very natural and in 99% of cases works exactly as you think it will.
I have to admit that i never expected this from Microsoft but the whole Windows Phone is so well planed and designed that its never in the way when you are using it. One good example is how built-in music player works with non-standard headphones.
I tried plugging in the headphones from my old Android phone (it’s a different manufacturer) and I was able to control music playback by pressing the hardware button on the headphones, one press for play/pause, double press to skip current track. Yes I know this is minor and expected thing, but remember i found this out just by trying and expecting that it should work, and it ‘just worked’ even with non-supported headphones.
And when you use the phone you often catch yourself thinking ‘Wow this works just as I expected it to work’. After few moments like that and I was already bought.
- General Email experience is great! In my opinion its superior when compared to the built in email clients on IPhone or Android. And I don’t mean just MS Exchange email.
I’m a long time Google Mail user and i don’t use Exchange Server at all. So i was little worried how this will work with MS phone – but without any reason.Gmail works flawlessly out of the box without ANY additional apps or customizations. I just added my Google account and it worked. Even the push notifications worked without a single glitch. It also synced my Google Email Contacts and Google Calendar in expected way, no fuss.
- Built in keyboard is great! Unlike Android you cannot replace keyboard with 3rd party replacement, but there is really no reason for you to do so any way.
Default keyboard flawlessly supports multiple languages – I’m using English and Czech settings and i can enter all the Czech special characters very easily (they appear by long pressing the keys – as expected).
Actually I’m deliberately writing this post on the phone using that same keyboard just to prove the point (therefore don’t mind my spelling, please).
Copy and paste works very nice and another thing i like is the caret repositioning – just by long pressing the screen and then moving the caret around – i would love to see this working so nice on Android.
- Multitasking experience is very nice at least in the Mango Windows Phone version that i have.
Actually there is no real multitasking (if you exclude the occasional background data sync) because only one app is active at the moment. Others are ‘tombstoned‘ until you activate them.
But there is very nice illusion of multitasking that does the job pretty well.
By long pressing the Back hardware button you get on the screen very cool visual ‘Task Manager’ where you can see list of your app screens which you can scroll through and choose which app you want to activate now.
On the other hand Android has true multitasking but list of running apps is hidden in phone settings and not so slick at all.
- Phone and SMS functionality – Simple, quick and feature rich yet not in your way when you want to do quick call or SMS somebody. And I could hardly say that for Android or IPhone. Very impressive.
- TextToSpeech and SpeechToText – Windows Phone has pretty decent voice recognition and when you use wireless or wired headsets you can set it up so that it reads you your SMS messages and you can reply to them over voice command and then dictate your answer. Have a look at this Windows Phone voice commanding demo if you want to know more. Yes i know its not Siri and it can be much better but even as it is now is quite usable if you are native English speaker.
- Marketplace – Even though there are less apps then for other platforms, there are enough of them and number is growing so time will fix that. But generally speaking Marketplace is already mature and useful.
- Social Networks integration is flawless. Again without any third party tools.
Facebook, Twitter, LinkedIn you name it. Its all integrated into People hub on the phone, so you can merge Facebook account with your SIM card phone contact to use it as his/hers account picture etc.
- do i need to mention that phone integrates nicely with desktop MS Office? OneNote, Word, Excel it works as good as it can get on a mobile device. I don’t use it too much except for OneNote but i think its huge win for corporate users.
- Built in Music Player and Radio app are great and i enjoy using them for they simplicity and stability. Not a single crash. Try that on android device and good luck trying!
- One big advantage of Windows Phone for .NET software developers especially for Silverlight folks is that programming Windows Phone is very familiar experience. Visual Studio has very good support for phone development and Emulator for Windows Phone is in my personal opinion much better and faster then Android one. (Off course one could say I am biased since I’m .NET developer but speed is something that is easily measurable).
If you have .NET background you can start app development or XNA game development in no time.
And the Marketplace is not overcrowded. Anyone mentioned word Opportunity?
- Another small thing that can be a lifesaver is the phone boot time.
My Samsung Focus boots in 20 seconds and its immediately ready to make phone calls or to write SMS.
My Android device was not even close to that and even when it was booted it remained to be slow for some time, probably until Micro SD card is initialized and until all the services are up and running.
Sometimes when you need to make an urgent call this can be really important feature.
- Every Windows Phone has built in Find My Phone feature that allows you (if you enable it) to see on the map where is your phone and to start the Ringing on the phone, Lock it or Erase it (off course it needs to be connected on the network for this to work).
This is useful if you lose your phone, or if it gets stolen. I’m not sure about IPhone but I know that on Android you need to install third party apps for this so this is another nice benefit of this platform.
- Battery Saver – if enabled phone automatically switches to power saving mode when battery is low (stops background sync for example) and your phone calls and SMS functionality continues to work until there is juice in the battery. I really like this because after all this is a phone device so my calls are more important then my Facebook updates
- Lock Screen on Windows Phone is beautiful. It is following the general minimalistic approach but still manages to show all the relevant information – calendar items, missed calls, messages, emails etc. If you are playing some music there are small controls there.
All in all very nice without unnecessary bells and whistles.
I could continue like this for some times because there are many other nice things that deserve mention.
But at the same time this is young phone platform so there are also some problems to be addressed.
The biggest issue I currently see for Windows Phone is that its not open enough for developers. Many OS features are exclusively used only by OS apps and by Vendors apps and everyday developers don’t have APIs to access them. Much has been written on the subject so I wont repeat it here, so read the post 10 ways to improve Windows Phone 7 if you are interested or WP7 Extensibility Rant from same author.
Typical example is that in 3rd party apps you cannot subscribe to some user invoked actions, for example there is no way for user to send url to non system application.
I dont see anyone benefiting from this kinds of limitations.
I really hope that Windows Phone team will address these problems and give developers more power.
There is WPDev User Voice Feedback site where all the requests from the developer community are listed – so there is hope this will change soon.
Another thing I don’t like is that for some settings there is no quick way of access.
For example WiFi or Flight Mode. In order to manipulate them you need to go to System Settings and choose menu item and then switch them on or off. Instead of this hassle I would like to have quick toggle button somewhere on the phone desktop.
Again this is something that would be solved if developers could have access to those settings to programmatically manipulate them.
I guess Microsoft do not want to open the Pandora’s Box by giving too much power to 3rd party apps, but I think they over did it in this case.
Right balance between opennes and system security on Windows Phone needs yet to be determined.
I would also love to see support for more languages for Text To Speech and Voice Recognition. Im not sure abut Microsoft plans but this would be a killer feature since i think voice is the way to go when it comes to the future of mobile platforms.
Wow this was longer post that I originally intended it to be!
I hope I was able to explain why I personally choose Windows Phone over other modern phone platforms.
Then again, this is all my personal experience and your mileage may vary.
It all depends on what you expect from your phone:
- If you want to pay for Brand, then simply buy IPhone.
- If you want phone that does everything you want and that is completely customizable yes often fails because its complex and bloated with unstable apps – get Android.
- if you just wont cool phone that dont stand in your way but does all things you really could need from mobile device – i recommend Windows Phone
I don’t really expect my phone to be Swiss army knife capable of EVERYTHING but failing to do anything efficiently.
I like minimalistic approach and simplicity so probably this is why I like Windows Phone so much.
But the war of the platforms is still on so don’t be surprised if tomorrow I choose another
Those were my 2 cents on the subject, let me know what’s your experience and what is your best mobile OS out there, and most importantly: WHY?
Now some good news folks: I received the confirmation that I successfully passed the Silverlight 4 Microsoft Certification.
I was too busy to immediately brag about it and write a show-off post so I will here just quickly share my thoughts on how all this went before my brain moves these impressions to non-accessible-memory-banks-prepared-for-deletion.
First of all I must admit that I was pretty sceptical about the whole certification thing. I’m not big fan of certifications in general and I find it a bit overrated – who cares about fancy printouts people are framing on their walls. You either know how to do your job or you don’t and some poster with Microsoft stamp on it wont change that in any way.
But at that time (it was 3 months ago) Silverlight 4 Exam was beta test (you could take it for free) and in that period of time I was switching my corporate job to become a full time Silverlight developer so this seemed like perfect opportunity to test my knowledge – and I applied.
Honestly I did not had enough time to prepare for the test – even though I was planning to do so. Simply could not find the time or strength to study and eventually I had to go for a test without any especial preparations – all I had was my hands-on experience in writing Silverlight code and few books I have read on the subject along the way.
Naturally I expected lots of theory mumbo-jumbo in the test so I was sure I will fail-fast
But to my surprise the test was mainly pragmatic with questions from real-world Silverlight programming practice so it turned out I did pretty good after all.
It was interesting that some parts of the test required knowledge of MVVM pattern – just as if they asked me what to put there
All in all test turned out to be more serious and realistic than I expected so this is +1 for old Microsoft.
In case any one of you want to take the test and don’t know how to prepare I have two things I could recommend:
- read THE book: Pete Brown’s Silverlight 4 In Action – Its the best Silverlight book I have read so far and covers most of the knowledge needed for the exam.
- Mark Monster also participated in the Beta Silverlight 4 testing and blogged about how he was preparing for it so this is also worth reading.
All in all this was fun ride, and now I’m looking forward to Silverlight 5 Certification announcements
Finally holidays are done.
Start of the new year is perfect time for making big plans. (That probably makes end of the year good time for big excuses).
So i will use this chance to give myself some sort of list of things i would like to do to improve my life.
So here it is, in random (or subconscious) order:
- Become better parent and husband – family should always be on first place!
- Become better software developer – read more programming and architecture books, read (good and bad) code, write (again good and bad) code, attend programming related conferences and training.
- Launch my personal blog and write tech-tech related posts as often as possible (as you can see this has already started so I’m on my way)
- Do more sports (it’s never enough!)
- Develop and publicly release at least one Silverlight application (using whatever version it will reach during this year – 5, 6, 7?). I have some interesting plans regarding this one so stay tuned…
- And off course, last but not the least: world domination!
So that’s it for start. I promise to myself not to remove anything from this list – but i could add some ideas along the way…
so stay tuned and let the fun time begins!