Moving to Windows Phone 7 from iOS–Week 1

I’ve been using the Windows Phone 7 Omnia 7 for about a week now and it has really been a strange ride. I have been an iPhone user since the release of the iPhone 3G in 2008 and overall, I’ve been very happy with the iPhone. As I’ve outlined in a previous post, there are some things that I feel Apple need to fix, but aside from my little complaints, it’s a very, very solid phone. In my first post in this series, I discussed the reasons for trying the WP7 platform, and after a week of use, I have more to say.

All dislikes??

Yes, all of the the things I’m about to list are issues I’ve got with the phone/platform. This is to be expected. Things the WP7 does very well, like bringing together all my social network updates automatically are useful, but could be done using apps on the iPhone. Sure, I had to switch back and forth, but it was possible. They have made the experience more pleasant and integrated, which is no mean feat. However, when switching to a new platform, it’s the missing stuff you notice.

I also want to point out that some of these gripes are hardware related, 3rd party vendor related and OS related. I’ll make the distinction where appropriate. I’ve also given each heading a rating out of ten, indicating how much the lack of the a certain feature or the overall OS bothers me.

I miss my Retina Display – 7/10

One of the big selling points of the iPhone 4 was the new Retina Display, which offered a very impressive DPI on a small screen. The clarity of this screen was impressive, but after using the phone for a while, you forget about it. Since your not always comparing the clarity of the images, you get used to the quality. Well, the Omnia 7 has throw that into sharp contrast. I can really say I miss the Retina Display. When browsing the web it really enhanced the experience. You could easily read small text without having to zoom into it, making it less laborious.

For the most part however, it’s not an issue. The Metro UI doesn’t rely on high resolution to make the phone’s UI appear clean and beautiful. I haven’t really played any games or viewed pictures that much, so I can’t really comment on that at this stage.

Unpredictable Network – 10/10

This is probably my biggest issue with the phone to date. Switching off Wi-Fi has, in the past week, resulted in an almost 100% rate of dropping my internet connection. The phone just seems incapable of moving to the 3G network after turning off Wi-Fi. I don’t know what is causing this, but I have to reboot the phone to get back my connection. Needless to say, it’s *very* annoying.

Email Notifications doesn’t include new email in folders – 10/10

The live tiles on WP7 are very nice and when it comes to the email tile, very utilitarian. The Mail app has a very nice tab for viewing just unread emails or urgent emails so it’s very easy to see what needs attention. Much better than the iOS mail app. Unfortunately, it falls down when it comes to folders. Messages get delivered to my folders by rules in Hotmail, but WP7 never lets you know that new mails have been received in the folders. You have to manually check your folders to see if there are new messages. I can forgive Microsoft a little bit, since this is kind of similar to Hotmail’s treatment. However, when you pin Hotmail to the Windows 7 taskbar, you do get a visual notification that an email has arrived in a folder.

Email status tags aren’t copied from Hotmail – 2/10

The tags I’m talking about here are the “forwarded” and “replied to” tags. When you reply to an email from a web app etc. these tags should be copied across to each device. This was something I really expected to work in WP7. It works in iOS with IMAP I think. Since Microsoft own the Exchange ActiveSync protocol I expected it to just work. It makes email easier to work and should really be included.

Linked Inboxes aren’t separated very well when outside the mail app – 5/10

One of the ways the WP7 platform excels is in its handling of emails. Linking accounts is very easy to do and it simple aggregates them together, allowing you to see all unread emails. The best thing about it is that when you want to compose a new mail, it asks you explicitly what account you want to use. This helps me avoid a mistake I used to make repeatedly on the iPhone which was sending emails from the wrong accounts. Having this explicit step stops that from happening.

But whilst this feature is great, it is let down elsewhere in the system. For example, when you navigate to a contact and hit their email address, you’re prompted with a list of mailboxes so you can choose which one you’d like to send the mail from. Unfortunately, this is useless as it just lists them as, in my case, Hotmail, Hotmail 1 and Hotmail 2. I’ve not found a way to change this. A small thing I know, but a silly mistake.

Can’t paste phone numbers into the Phone app – 2/10

When you copy a phone number from a web page etc., you cannot paste this phone number into the phone app. This is very annoying and means you either need a memory like Sheldon Cooper, or a pen and paper.

Search doesn’t search everywhere – 3/10

Performing a search in the phone only searches when your current area. This isn’t as nice as the iPhone implementation because it requires a few more clicks when trying to find a particular contact. Another thing I find annoying is that it treats XBox games as separate entities, meaning that you can’t search for them within the Apps list. I downloaded Angry Birds and it actually took me a little effort to find the game!

Lack of 3rd Party Apps – (reserving judgement)

So, whilst this isn’t Microsoft’s fault, it is one thing that will really hinder the adoption of this phone by others. I use a few apps very frequently and their absence on my WP7 phone is noticed. This will hopefully be solved in time, but it’s a real chicken and egg situation and Microsoft would do well to throw some money at companies to develop WP7 versions of their apps.

I may be suffering, because I’m using an Irish Zune account and therefore aren’t seeing the full catalogue. I’ll reserve final judgement on this until I have my accounts sorted out.

Very slow USB charging – 10/10

This is device specific I realise, but the charging speed on the Omnia 7 is chronically slow! I could charge my iPhone 4 from fully discharged to fully charged, using USB, in less than an hour. Plugging my Omnia 7 into the same USB port and it takes several hours to charge. Whilst the battery does last a day on a single charge, giving it an emergency top-up actually takes planning.

The same update, over and over again…

My last pain point here highlights one of the neatest features of WP7 is also an annoying one. When you post a status update, the phone can send it to all your social networks automatically. However, anyone reading these status updates will see the same message repeated multiple times in their “People Hub”. WP7 and Windows Live should be more intelligent and actually realise it’s the same update.

Forwards, not backwards and always twirling, twirling, twirling..

I’ll continue my WP7 adventure for another few weeks. On the advice of a friend, I’m going to start making some little videos of these niggles and send them to Microsoft. I do think this platform represents a very unique and impressive entry into the marketplace and Microsoft just need to keep their wits about them to ensure it gains a large foothold.

And who knows, maybe Audible will release a WP7 client and make my journey a little more interesting…..

Developing a game for both iPhone and Windows Phone 7

Since completing my first iPhone app and having it published on the AppStore, I’ve been held by the idea that I should write an app for the Windows Phone 7. Since this is a small market at the moment, it’s an ideal time as getting noticed is more likely.

With this in mind, I’ve decided to write a small game. One that might make me some cold hard currency. I came up with an idea for the game whilst out for run. It’s pretty simple and whilst it won’t win me any awards, it should be simple enough to write. To makes things even more interesting, I’m going to write the game for both the Windows Phone 7 XNA platform and the iOS platform. I should be able to write the code in parts, making sure each platform functions correctly as I go. Phew.

Platform Differences

These two platforms have significant differences, but some similarities too. Aside from the obvious ones, like manufacturer, the differences are mainly superficial. Both have a very narrow hardware range. The iPhone has only four models and their specs are predictable. The WP7 has many more models, but they base specification for all these devices is the same. This makes the experience predictible on both platforms. Since the iPhone has been around much longer, older models of the hardware get taken out of the equation.

Development Differences

When it comes to developing on these platforms there are some differences too. Thankfully, writing code is writing code, so once the basic components of an application are understood, the differences are really down to IDE, API and programming language. Whilst developing Caffeine Club, I’ve become quite adept at switching from Objective-C to C# so this won’t worry me too much.

iOS Development

Development on iOS is done, as mentioned, in Objective-C and C++. For the purposes of game development, the Framework of choice is Cocos2d. This is an external framework as there are no dedicated game related frameworks in the iOS SDK. The recently launched Xcode 4 is Apple’s IDE and whilst it’s very powerful, I’ve yet to see it match Microsoft’s offering. I think I need more keyboard shortcuts 😉

For physics, the Cocos2d framework comes bundled with two physics engines – Box2D and Chipmunk. The former is a C++ library and if offers some very powerful simulation features. Chipmunk is an Objective-C library and whilst very comprehensive, it’s not as powerful as Box2D. Whilst the C++ syntax can be a little scary, I’m going to go with Box2D.

Windows Phone 7 Development

Unlike iOS, WP7’s SDK includes a technology called XNA. This framework is the game development platform for both the XBox 360 and the Windows Phone 7. It can also be used on any .Net platform. It’s effectively a framework designed and build for the purpose of writing games. This makes it easier to get your game “off the ground” as it were. Visual Studio 2010 is the IDE I will be using. C# is the language of choice too.

In terms of Physics engines for WP7, the Farseer Framework is what I will be using. This is a very robust engine and offers a very easy programming model.

Common Bits

I’m going to try a tool called Tiled for developing my levels. This is a tile based level generator, that is compatible with both Box2D and Farseer (the former I’ve tested, the latter I haven’t). This will mean that any levels I build, should be compatible with both platforms.

As for audio, I’m clueless. I’d imagine this will be MP3, but I’ll figure that out at the end. Cocos2d does include an Audio specific framework and XNA also has an API for audio, so it shouldn’t be too difficult. Well, less difficult that getting the sounds in the first place!

Source Control

For this I’m going to use Git. I would have preferred to use Perforce, but XCode 4 has dropped native support for Perforce and added native support for Git. I need to get an add-in for Visual Studio 2010, but I’m sure there is a compatible one.

I’ll be hosting my source code in the “cloud” somewhere. I’m testing some vendors at the moment to ensure it all works.

Wish me luck

Finally, please wish me luck. This is a totally bonkers I’m committing to, but it will be one hell-of-a learning experience if nothing else. I’m still trying to figure out how to structure my posts and whether I’ll alternate between iOS and WP7 or whether I’ll post the code side-by-side. I’ll do a few posts and find out.

Hopefully, somebody will find this informative.

Is my iPhone a 64GB model?

I just got my iPhone replaced as the home button had become somewhat of a nightmare as it only worked about 50% of the time! The friendly people at the Apple Store on Regent’s Street replaced it without issue.

When I got home, I plugged it into my PC and Windows told me me there was quite a lot of space available, with a total capacity of 55GB. But when I look at the iPhone settings, it tells me a different story.


Is it possible that my phone actually has 64GB in storage, but that iOS is only giving me 32GB?

No multi-touch gestures on my iPad after updating to 4.3 ;(

Disappointing to say the least. I installed the beta version of iOS 4.3 on my iPad this morning hoping to try out the new multi-touch app switching, but it seems I’m not going to be that lucky.

Whilst the setting of my devices have been updated correctly, the switch for multi-touch just isn’t there! The orientation option has been added so that’s something at least.


However, I’m expecting a multi-touch switch too, which is absent. Anyone got any idea why I cannot see this switch?

** UPDATE **

I’ve managed to get this working! I enabled “Development Mode” on my iPad using XCode’s organiser. I now have the full multi-touch gesture support!


I must admit, it’s pretty slick!