Windows Phone 7 native access enables prototype augmented reality app

And so it begins. Just days after the breakthroughs in Windows Phone 7 native COM access by enthusiast folks on xda-developers like Chris Walsh, WP7 developers are beginning to explore the full and uncharted capabilities of the platform.

As noted by Gilbert Corrales, Kevin Marshall from WP7 development house Clarity Consulting has posted a YouTube video of a Silverlight application taking advantage of the native camera APIs that allows him to easily utilize a Silverlight augmented reality framework, SLARToolkit, to build a sample AR app.

Of course, augmented reality is not currently possible with the public WP7 SDK due to a lack of a camera API. No doubt Microsoft will eventually add such an API among many others in the future, but it would be naive to think a tightly controlled framework will enable or even allow all the possibilities of a platform and what people might want to do with their devices.

I for one can’t wait for a WP7 jailbreak and a marketplace for jailbroken applications.

17 insightful thoughts

  1. The “native” DLL isn’t actually native. It’s a managed DLL that we’ve all got access to via the GAC. More on this tomorrow when I get a chance to blog about it :)

  2. Microsoft.Phone.Media.Extended.dll

    Quite a few interesting goodies on there, including access to a “RingtoneLibrary” and access to both Still Camera and Video Camera, with much more flexibility than the standard task offers in the public SDK.

  3. I sure can wait for jailbroken phones. I hope that the warranty would be void and stores enforce this, and that feature updates from microsoft won’t be delivered, and xbox/zune will reject these users.

    I can understand that if you purchase hardware, that is not connected to a telco, you should be able to put your own OS on it. But you don’t own the WP7 OS, you only are licensed to use it. You accept this when purchasing the phone. Putting an unlicensed modified version of the OS on any hardware is illegal and am really surprised that a respected MS tech blogger is endorsing this!

    1. No-one’s putting an “unlicensed modified” OS on any hardware. The “jailbreak” merely relies (currently) on using APIs not included in the public SDK, that are, either by design or by mistake, available to use with a little work. Realistically, it’s by design – MS have to provide these for trusted partners, and when you have two otherwise indistinguishable parties using different code, it’s going to be hard to stop one from using the other.

      Long is *excited* about the possibility because these “private” APIs are much more extensive than those we are restricted to with the public SDK. Sure, the public SDK is great, one of the best platforms out there, and is only going to get better, but it still has some limitations, some of them are just inexplicable (the blocking of the use of Sockets particularly confuses me – a standard .NET Component, already implemented, and would add some serious support to their cloud ambitions, and yet, you can’t use them).
      By breaking free of some of these restrictions, and being able to use Native code, and private APIs, we can see much greater innovation, such as this example Augmented Reality application – something people using the Public SDK cannot do.

      And at the end of the day – we who legitimately purchase WP7 phones have a licence to use WP7 on our phones, and to use the services that it provides. I personally doubt MS care too much – on the contrary, they no longer have to worry about providing the complex and flexible side a small, but vocal, portion of their users want. The community can be left to provide that. Jailbreaking has hardly killed the iPhone – if anything, it’s propelled it further. The average consumer will be content with their high-quality Marketplace-bought applications anyway, they won’t care for the complexity of dealing with CE that comes with a jailbreak. I’m sure the public SDK will be expanded in time to provide for demand too.

      Not to mention everyone using WP7 will have paid for a licence anyway – ports to the HD2 won’t be able to access Zune/Xbox Live because of the requirement for the device to be approved by MS. If people have paid for that licence, they have a right to use the OS to its full potential.

      1. I don’t see a problem here, for anybody that wants to access private APIs – they currently have some access, simply spend the $100 per year to allow running these apps on a dev unlocked device. These APIs are not currently designed to be used by general apps available for everyone, as they’re obviously not ready for prime time. They’ll be ready when they’re enabled in the more public sdk, and every developer has a more level playing field, and is fully supported.

        I say play by the rules, or why bother with the platform at all. In the end, if an end user is unhappy with a EULA, or a developer is unhappy with the SDK license agreements, they should move on elsewhere.

  4. “Marketplace for Jailbroken” applications sounds like something that will drive _away_ your developers. Why create apps for a platform that you can’t profit from?

    I think you can clarify this a bit better Long :-(

    1. Jailbroken applications != pirated applications.

      On the iPhone, you can get jailbroken applications like “Backgrounder” which enabled multitasking before IOS 4.0. Although this app was free, there are jailbroken apps/customizations in Cydia that actually developers sells too.

      1. Breaking the OS to allow unlicensed and uncertified apps to run will enable piracy to occur, and as with any kind of piracy, its the people who follow the law that will end up paying the higher prices as a result of the people who don’t pay.

  5. PLEASE STOP CALLING IT A JAILBREAK. Its not because:
    1) This has no similarities to an Apple “jailbreak”
    2) It makes WP7 seem similar to the iPhone. Its not..

    1. Owen, this is very similar to an iPhone jailbreak as it allows uncertified code to run.
      Thomas Hounsell nailed it completely when he described it. It allows developers to access extra parts of the phone for more extensive applications…

    2. It’s not a Jailbreak, no, but it is the closest existing term. You have at least “broken” out of an apparent set of restrictions. Rooting would be the most inaccurate – CE doesn’t have a multi-user system, let alone a root account.

    3. I agree, I think Jailbreak is a bit of a negative term, and not really accurate in this case. I thinking it should be called something else.

      It was bound to happen anyway, I just hope that the MS will include the extra stuff in the developer API’s, i’d hate to see legit developers lose out because of not being able to implement missing functionality.

  6. John sounds like a company man to me. Hey John… Innovation drives America. People dream. It’s only natural to want to create something new. To put some broad stamp on people that want to break free from the shackles of restriction. I believe JAILBREAKING is fine unless you want to steal the code from Microsoft and change it so you can make money off it. Then I can see some getting upset. But who cares if Microsoft does own the code. They’re not using it on my phone, I am. If I dunk it in the toilet making it not function properly, Microsoft isn’t affected. I can put stickers on it, paint it, or hack it so I can see little green men walk across my desk using augmented reality. Some of the ideas, that modders of video games, have come up with have been put into sequels of games. The developers never thought of using their code like that. I think your glass is half empty. Sorry.

Leave a Reply