An open letter to Joe Belfiore – manager of the Windows Phone Program at Microsoft

Posted by admin on June 25, 2012
Apps, Development, Games, Windows Phone, Windows Phone
I am a long time exclusive game developer for the Windows Phone platform. My games, MonsterUp, Galaxium and the recently released MonsterUp Adventures, have proven to be huge hits, constantly being in the top games of their respective categories. I’ve supported the platform before it was even first released, debugging my first games on a Zune HD. I have worked with Microsoft on several occasions and I am starting to develop games for Windows 8 as well. I’ve never done any development for iOS and Android so far. I’ve placed a huge bet on Microsoft winning the mobile wars, a bet which I have documented here ( and here ( As you can see, I have been fully engaged with Windows Phone development for the past 18 months.
Having provided so much time and effort on the platform, I feel I have the right to say a few things about the recent announcements. Most of the things are trivial, but even so they were not followed by Microsoft and this hurts Microsoft, Windows Phone, Nokia and myself personally. I do hope that the Windows Phone team is small, flexible and independent enough to be able to make some core decisions on the future of Windows Phone and not tied by some bureaucratic corporate policies that prevent you from doing so.
  1. Avoid bad publicity at all costs. Only in show business it’s true that bad publicity does not exist. We can’t afford it no more than we could last year. The recent announcement has completed shattered Nokia’s future. I cannot believe that no-one from your team though of that. Don’t take my word for it, Nokia’s share has fallen to 1996 levels today because of Microsoft. Nokia has invested the whole company’s existence to Windows Phone and at the moment, it is not working for them. And you aren’t helping. Unfortunately, Nokia’s “beta test” campaign seems like an ironic joke at this moment.
  2. Make announcements complete. This goes to both your team and the Surface team. A complete announcement is a much hyped day, where anticipation is really high for something amazingly cool, with you on the stage showing the full set of characteristics (or the coolest ones), including user features since Windows Phone is a customer first product, pricing and availability. People want to be able to get sucked into the hype and preorder on the spot. They want to hear the words “…and it will be available TODAY”, they almost expect to! If this information is not available, don’t do the announcement, but use the extra time to build up more hype (by leaking a few stuff). The same goes for the surface team, announcing a product with a potentially huge coolness factor, doing an awesome job keeping the whole project a tighly kept secret, but blowing it in the end. No firm availability dates, no pricing, no specific requirements, and worse of all not allowing the press to even use the Surface hardware at the end of the event ( I understand it is a beta OS on unreleased hardware. In this case, do not invite the press to have a fake “hands on” session, it is bad publicity (see number 1).
  3. Listen to your users. The (sadly) few people that are enthusiastic about the platform do everything we can to promote the things Windows Phone has to offer and you know what kind of an uphill battle this is. By killing support on current devices, you lose twofold: you lose a lot of your current customers (since you lose their trust) and you lose their promoting work (since you cannot expect them to suggest Windows Phone to anyone after that, do you?) I’m sure you have seen the poll about this already at uservoice ( and the hundreds of angry customers’ comments below. The interesting thing is that the poll itself is a mature suggestion, and not some ranting , suggesting that you just port the most important user features to the existing user base. If I had written the suggestion, I would have demanded that you do a full transition, with the kernel and native code support, since this would avoid fragmentation on the Marketplace and give the Windows Phone team a big “wow” from everybody. Apple did a full transition from PowerPC architecture to x86, including development tools and OS, and they had much less resources that Microsoft has at their disposal. It is obvious to many people that these are just wrong strategic decisions and not technical barriers. If WP8 runs a bit slower on older hardware, so be it, people will be pleased with the effort and upgrade their harware as soon as possible. If someone puts iOS 6 on their iPhone 3GS, do they expect snappy performance? No, they don’t. They get a trial version of the OS version, and upgrade happily to iPhone 5 in a few months.
Fortunately, you still have time to fix all these, since Windows Phone 8 is still months away from actual deployment. Hire more people, make this a priority, demand more resources and make it happen. Come up on stage and announce it. But please do it sooner rather than later.
Thank you,

Marios Karagiannis


.:Karios Games:.

8 Comments to An open letter to Joe Belfiore – manager of the Windows Phone Program at Microsoft

  • e zigarette…

    […]Marios Karagiannis – aka Karios » Post Topic » An open letter to Joe Belfiore – manager of the Windows Phone Program at Microsoft[…]…

  • Hey Marios, 
    Interesting post, but I’d like to play the devil’s advocate for a moment and make a few points. I’m not a developer like you, so forgive me if I some technical thing I list is inaccurate. 

    Should we really be that upset that current devices aren’t getting WP8? By moving away from the CE to NT Kernel it would is technically impossible for devices to get WP8. It’s not like going from iOS 4 to 5. Wouldn’t it be more like going from iOS “X” to something completely different? I read somewhere that the only way it would have been possible would be if we were able to backup all the data on current devices and then do a wipe and fresh install? I would love if current devices received WP8, but Microsoft made the decision to focus their resources on moving forward. 

    Another point, outside of the us in the tech community, the public won’t even be aware of the difference between WP7 and WP8. As long as their phones are able to do get them through the day they’ll be set. 
    So current devices will get 7.8, as of the WP Dev Summit we only learned about features that developers would need to know to start planning app development for WP8. Within the first 2 minutes of opening, Joe Belfiore even said (paraphrase) that “today we’re going to show you features that you need to know about today”. Reading between the lines it’s obvious that somewhere between now and when WP8 launches we’ll have another event where Microsoft outlines and demonstrates more of the actual consumer oriented features that the platform can do. Who is to say that WP7.8 won’t those consumer oriented features? We don’t know yet, but it’s certainly possible. 

    I wish current devices did get it, but I’m not heartbroken. Thanks for a good post. 

    • “By moving away from the CE to NT Kernel it would is technically impossible for devices to get WP8.”

      And yet, Win8, which uses the same kernel, will run on ARM processors. As will WP8. In fact, WP8 devices will likely be nothing more than 2x-4x Qualcomm processors. I highly doubt any of the WP8 devices will be running the Intel chip available in Surface tablets. So, no, it’s not impossible to put WP8 on older WP7 devices, especially second gen devices. They’d take a performance hit due to having only a single core processor but because the processor architecture is supported, it should still, in theory, run.

      “Another point, outside of the us in the tech community, the public won’t even be aware of the difference between WP7 and WP8.”

      Oh they’ll become aware VERY fast when they realize their new, shiny, Lumia, Titan, Focus S, or Radar they bought a month or two before WP8’s release CAN’T get the latest apps and games from Marketplace because they REQUIRE WP8.

      I’m not heartbroken either, but I’m not going to keep supporting Windows Phone. Not if Microsoft is so willing to throw away their customers like this. The only reason they’ve had any modicum of success is due to people like us. We adopted the platform and believed in it. If it weren’t for people like us, Microsoft wouldn’t even have 2% global market share on Windows Phone 7. We believed Microsoft’s pre-release statements about avoiding fragmentation and controlling the update ecosystem. Then we were lied to and treated like second class customers during the entire update problems with pre-NoDo and NoDo. Yet many of us continued to hold out hope. Focus owners kept getting screwed, repeatedly, between Samsung and Microsoft. Then the Lumia line comes out and Microsoft has a real chance at making some headway… then they torpedo it by announcing Lumia is, in their minds, OBSOLETE and won’t be getting updates beyond the release of 7.8 this year. But enjoy that two year contract!

      I’ve tried to support this platform as an early adopter with an LG Quantum and then moving to an HTC Radar when I switched carriers. Between the lies and misdirection regarding the update issues and now this, I feel used and betrayed. So I’m just going to suck it up and go to Apple, especially since Virgin Mobile USA now has the iPhone 4S. Might cost me a lot up front, but will save well over $300 over the course of two years… and I KNOW I’ll get iOS upgrades for at least 2 more years even if there are “generational hardware differences”…

  • Sam, thanx a lot for your thoughts. When I first heard about the transition decisions, my initial thoughts were a bit similar to yours. Yes, the average user does not know, or care, about CE and NT kernels. He wants his phone to look awesome and work with no issues to carry out their daily tasks. That will be true with WP8 and WP7.8 alike. Then I started thinking about what implications not having the latest OS architecture on your phone would have. Obviously, the first thing the user sees and interacts with, is the home screen, and that is going to look identical. But then it struck me, smartphones is all about the apps ecosystem. Microsoft knows this as well, and this is why they celebrate every app-count milestone the way they do, with the latest being the 100.000 apps milestone. One of the issues that make me dislike Android is the fact that you are never certain if an app will work on your device/screen resolution/android version etc. You buy an “Android” device in general, and then you start gambling. So yes, the Android apps market has 470K apps, but how many can run on any given device with no issues at any time? Unknown. In my book, this is exactly what the situation will be like with the release of Windows Phone 8, if Microsoft decides to stick with their decisions. Many of the new features of WP8 will play a crucial role to app development, the most important being the native code support. Everything that will be built using these tools will be 100% incompatible with WP7.8, no matter how the start screen looks like. This includes “important” pieces of software, games. The introduction of native code support will finally attract big game engines to join the party, like Unity and Unreal Engine, which will make AAA game porting to the platform easy and straight forward. If you look at statistics, games are the most downloaded apps on any platform by far, and in my book they make or break a mobile platform. While XNA will still be around for a while, people will turn to these solutions for portability and a much better outcome, because no matter how much I love XNA as a game developer, it has its limitations. So people will be well aware that their Windows Phones running WP7.8 are incompatible with all this new goodness, without having to be in the tech community. There are of course other examples that will break compatibility for apps, the Wallet (for in-app purchases), background tasks for navigation and voip and so many more that Windows Phone 8 has to offer. Don’t get me wrong here, I am impressed with what I saw and I, personally, am looking forward to my first WP8 device. I just want this process to be painless for everybody and avoid press bashing in the meantime.
    Also, a short note about the CE to NT kernel transition. I am not an OS engineer, but from what I know an underlying system architecture change is much trickier to pull off than a kernel transition on the same hardware. Both WP7.x and WP8 will still run on ARM architecture, and since the instruction set is going to be the same, I do firmly believe that it is not a technical problem not to do the transition, but rather a strategic one from Microsoft’s part. It’s like uninstalling Windows 98 and installing Windows XP on the same machine, or even radically, uninstalling Windows 7 and installing Ubuntu. In both cases, the two OS have completely different kernels. Since we already know that WP7.x apps are going to be 100% compatible with WP8, this could be done. The problem I see is that every manufacturer would have to come up with new drivers for old models, and I guess they are not keen on doing that, especially with the sales numbers most of them have seen for their WP handsets. But Microsoft could very well blame them rather than taking all the blame :) Anyway, as I mentioned in the article itself, I believe that Microsoft has huge supply of resources, both financially and people, so it’s a matter of choice for them. And I am just pointing out the reasons why I believe this is the wrong choice to make.

    • I have the feeling that Nokia would of and were ready to support WP8 with new drivers on their existing devices but were told not to by Microsoft.

  • Hi Marios,
    Seen your comment on the Windows Steam Blog post. It’s great to have developers giving their opinions to MS as it’s not just the users they’re hurting.
    I’m a beginning developer, just wondering what are your views on future development? Will you be sticking to XNA for the time being, to make sure wp7 users aren’t left out, or will you be moving your resources to WP8 development? I can’t see MS changing their minds on the upgrade paths for current users, but I’ve been saying this on other sites. Can MS/Nokia perhaps provide a trade in/up program for 2nd gen users? I guess this could make some users happy and provide some positive PR. I can recall that the original Xbox had some kind of trade-up program to the Xbox 360 in some countries, however, that is with Microsoft hardware. I’m not sure how this could be implemented with other parties involved. Whatever the case, MS has to do “something” to fix this PR disaster.

    • Steve,
      XNA will be fully supported on WP8, so everything you write using XNA (which is still an excellent framework to write games with) will work on WP7.x and WP8 alike. So for the time being, personally, I will continue writing my games using XNA to support all users. We will have to wait and see how this will actually work though, since for example I would like to support higher resolutions on newer phones (universal apps?). So we have yet to see what goodies we will get in terms of game development SDKs. On the long run, and when other established game engines make their way to WP8 (like Unity and Unreal Engine), I might consider them, but I hope that by the time that happens WP8 will be a well established mobile ecosystem. My issues are not with WP8 which seems amazing. My issues are with the way Microsoft is approaching this.
      On the matter of trade in programs, I don’t see that happening. Nokia has already stated that they will support their Lumia line as much as they can, so they are not admitting that they seem obsolete with the current Microsoft policies.