Migrating games to WM7 is not that easy because WM7 does not support OpenGL ES AFAIK. Rather, you have to write using XNA. This is rather unfortunate because iPhone, Android, Symbian^3, Meego, WebOS and the new blackberry tablet all support OpenGL ES 2.0 (which I believe Angry Birds uses heavily).
Briging an iPhone/Android etc game to WM7 requires a rewrite almost from scratch. So I can imagine developers being reluctant but possibly game studios doing PC and Xbox development might be more willing to write for WM7. And I must say MS has been able to attract a decent game developer audience considering the released official list of games available for WM7.
Difficulty of porting to WP7 has little to do with the lack of OpenGL ES, particularly for a game like Angry Birds which in terms of hardware dependence basically just renders sprites. Assuming similar hardware capabilities and a sensible abstraction layer this part of porting is surprisingly straight forward.
The big issue is that all WP7 development must be in managed code. Unlike the PC You cannot mix and match managed/native code and libraries. This is a big problem for companies with existing games and tech built around C/C++, and a huge problem for smaller companies who have built their games on free/OSS libraries (Bullet for example) and do not have the resources/skillset to develop managed alternatives.
So you are right that porting to WP7 requires a rewrite, but it's entirely due to the requirement of managed code and not because of OGL ES v XNA.
I'm surprised that WM7 doesn't support OpenGL ES. For the launch of the Xbox, Microsoft was very careful to make it easy on developers (e.g., with XNA, which was useable on the PC, Xbox and Xbox 360). This is in contrast to Sony with the PS3 which wasn't as careful about efforts to support developers.
As a side note, Kaz Hirai, CEO of Sony Computer Entertainment, said this lack of developer support was intentional: "We don't provide the 'easy to program for' console that (developers) want, because 'easy to program for' means that anybody will be able to take advantage of pretty much what the hardware can do, so then the question is, what do you do for the rest of the nine-and-a-half years?" Needless to say, this seems absurd.
To attract developers and apps to WM7, Microsoft should be thinking about ways to make it as easy as possible for developers to port apps from existing platforms over to WM7 (particularly from iOS and Android). WM7 is already facing an uphill battle. There's no reason to create more friction in the system.
> I'm surprised that WM7 doesn't support OpenGL ES.
Really? They have their own platform, tools and technologies which they're clearly trying to push and which unify their offerings, how is that surprising exactly? Last time I checked, the 360 offered absolutely no support for OpenGL.
> Microsoft was very careful to make it easy on developers
For developers using Microsoft technology. Windows Phone 7 mandates .net for development, either Silverlight or XNA (for games) and forbids C or raw C++. As with Android, WP7 will be launching without an NDK.
When you're essentially facing no competition (e.g., Windows, Office, 10 years ago) you can push a closed approach. When you're behind and facing two formidable rivals (Apple and Google), you need to apply a different approach.
Apple learned this lesson upon Steve Jobs return. The first iMac was much more compatible with PC peripherals. The compatibility was further enhanced when Apple shifted to Intel processors. This compatibility certainly helped Apple attract more customers and complements to its platform.
> The first iMac was much more compatible with PC peripherals.
I could be remembering wrong, but this sounds like revisionist history. The original iMac was compatible with USB (and relied upon it); most PCs didn't come with USB ports, and most peripherals didn't support it. Since USB is a universal standard, however, it gave manufacturers an opportunity to make one device that supported both systems (vs. making one that supported Mac-specific printer ports and parallel ports).
This was part of the appeal of USB in the first place, but when the iMac was launched that was not a huge selection of peripherals that suddenly worked everywhere.
Here is the timeline: USB 1.0 was released in January 1996. Windows 98 launched in May/June 1998. Windows 98 was the first MSFT OS with native USB support. The first iMac was launched in August 1998. USB 1.1 was released in September 1998.
According to a June 1998 CNET article titled "Peripherals to surge with Win 98," Rob Bennett, group product manager of Windows 98 stated: "There will be a pretty impressive showing of peripherals this summer..There are 250 devices due to be launched around Windows 98 and 100 in development [to be] released in the next year..."
Looking through Google news archives for 1998, I see the following devices with USB support: Logitech scanners, Intel video cameras ("Create and Share"), Imation and Iomega high capacity drives, Kodak digital cameras, joysticks, modems, etc.
Hence, there was a collection of PC peripherals supporting USB around the time of the Windows 98 launch (in May/June) and the iMac launch later in the year (August).
Windows 98 was the first MSFT OS with native USB support
Windows 95 OSR2 supported USB (and FAT32) and IIRC was released in 1997, before the iMac. Another popular historical tale about the iMac is how it did away with floppy drives - however few people remember that the number one selling iMac accessory for the first few three years, with a huge attach rate, was the external floppy drove.
> When you're essentially facing no competition (e.g., Windows, Office, 10 years ago) you can push a closed approach. When you're behind and facing two formidable rivals (Apple and Google), you need to apply a different approach.
Microsoft seems not to have cared much with the 360. And though you can make the argument that console game developers are used to no two consoles being compatible tools- and SDK-wise, the HD generation proved so expensive to develop for that a number of developers went cross-platform to have an easier time recouping their costs.
> OpenGL ES 2.0 (which I believe Angry Birds uses heavily).
I don't think the exact version of OpenGL ES Angry Bird uses for its implementation is very relevant considering WP7 doesn't support it at all, in any version.
I recently spoke to devs who are in the microsoft program. They say Windows Mobile 7 launch is premature. The documentation is not complete and many things are not at all described and have to be asked to a marketing person, who asks a tech guy, etc. Furthermore, Microsoft is signing contracts stipulating 1 to 1 ports of games and apps (they are paying the top devs to do this). However, some things are impossible to port. For example, you cannot show an embedded browser in some games in WM7, but facebook integration needs an integrated browser to display their authentification stuff.
So it's all really problematic and difficult.
The licensing fees for WM7 are also the highest in the market for handset developers (not sure about this, someone just told me).
Also, iPhone ports between the two is very difficult, because you need to translate Objective C to C#, then translate OpenGL to DX. You may as well just rewrite the game. Porting process is taking about half the time to develop the original game, according to my dude.
They say Windows Mobile 7 launch is premature. The documentation is not complete and many things are not at all described and have to be asked to a marketing person, who asks a tech guy, etc
This is not unusual when working on a new or unreleased platform. I was the lead engineer on a PSP launch title and parts of the docs were still in Japanese, we had both windows & Linux tool chains that were buggy in different ways, and getting answers to most questions involved asking a guy in the US who would have it translated and sent on to Japan. Oh and we had one devkit between every two engineers for most of the project :)
PS3 was better, but still nothing you would describe as ideal.
Working on the first wave of software for a platform can be fantastically exciting and very rewarding, but on the flip side you're pretty much guaranteed to run into bugs and situations that no one foresaw.
If I were a betting man, I wouldn't spend a spare second porting my app to wm7. The wisest move is just to wait at this point. But, doesn't seem likely that Angry Birds would appear on wm7.
No additional detail in the article really, I have the same questions I had after reading the headline. Not committed how? Jumped the gun on what?
I can see not wanting to spend time in WM7 when you have Samsung announcing 5,000,000 Galaxy S sold and all of your games don't run on Android yet but why not just come out and say it?
Microsoft put a shot up of it's store with an Angry Birds icon. The developer(s?) of Angry Birds never said they were making a version for Windows Phone 7.
The developers weren't committed to making the game, Microsoft jumped the gun by implicitly saying they were with that icon.
What this implies is good though... The success of phone/handheld platforms is tied to successful titles by smaller independent game companies. The games/apps available are the switching cost.
Why switch platforms ever if you bought everything on iTunes or Android Store? The developers and content are a huge part of that.
I don’t know whether switching costs matter. Apps are so cheap compared to the cost of the phone. Even if someone spends just as much on apps it’s not as though all those apps will always be used. Why would you lose sleep when you can’t play that $1 game anymore you already beat anyway?
I think that apps can strengthen your brand. Everybody knows that Angry Birds is an iPhone thing. Others want to show that they have it because it’s trendy.
When it comes to apps, but more music and movies. Yes that will play into decisions heavily. Why would I buy an Android pad over an iPad if all my games, music and apps are on iTunes. It was the same with Windows desktop lock in (games and apps).
Music I can understand. I wouldn’t want to be unable to listen to it on a mobile device other than an iPod or iPhone. It’s personal and I have spent a lot of money on it. (Music from the iTunes Store doesn’t have DRM anymore, though.) But something as ephemeral as apps? I have spent maybe $100 or even $150 on apps in the last two years (which gets you a ton of apps) but I wouldn’t miss much more than maybe $15 of apps were I to switch. That’s nothing.
I can understand that you don’t want to spend something like $3000 just to get the Creative Suite and Office after you switched to a Mac but apps are somehow completely different (ephemeral, cheap, disposable).
Perhaps I’m alone in this, but I first read the headline as claiming that Microsoft itself is not committed to Windows Phone 7, which clearly is not the issue discussed here (they do seem very determined to succeed).
Considering they have not released the full android version, and the fact that they can't use any of their existing code -- quite a while. I also think they can't use any of the open source libraries they used on iPhone, Android , etc... because they have to use XNA.
If i were them, I'd wait untill Microsoft adds native support. By the time they finish their game using XNA they might have released native support, and then they're stuck with 2 codebases.
Briging an iPhone/Android etc game to WM7 requires a rewrite almost from scratch. So I can imagine developers being reluctant but possibly game studios doing PC and Xbox development might be more willing to write for WM7. And I must say MS has been able to attract a decent game developer audience considering the released official list of games available for WM7.