Wednesday, September 28, 2011

Renewing developer phone registration

I share this in the hope that it will help out someone else in the future.

Today I was surprised to see that when I tried to run an app on one of my devices I got a message saying that the app had been revoked and I must uninstall it.
This surprised me as it was an app that is still in development.
After a bit of poking around I discovered that the developer registration for the device had expired. Yes, when you "unlock" a phone for development it only stays in that state for a year.

Dealing with this was simply a case of removing the device from the "my registered devices" list in app hub and then unlocking it again. I initially tried to unlock it again without first removing it from the list but this failed to work, despite the tool saying that unlock had been successful.

As we approach a time when devices became available to all there are likely to be lots of developers who start to see the same situation as they too will have had [unlocked] devices for a year.


Please also note that when the unlock has expired it also not possible to deploy to a device from within Visual Studio (or Blend) and you'll see a message about checking the device is developer unlocked.

Tombstone Helper v2.5 now available

Just a quick note that version 2.5 of my TombstoneHelper library is now available. It fixes an issue where a textbox which had previously contained text which included a colon would throw an exception when restoring.

You can get it from nuget and codeplex.

Version 3 will hopefully be available soon. It will include support for ViewModels and the Silverlight Tookit.

Wednesday, September 14, 2011

Windows 8 does not use Metro!

"Ooh, ooh, ooh. Windows 8 looks just like Windows Phone 7 - it's metro too."

No.
Stop.
Wait.

Metro is the name of the design language for Windows Phone 7. If you've been paying attention, everyone (who's "on message") has been saying that Windows 8 is "metro-like" or "metro inspired" or the apps are in a "metro style".
Those suffixes are important.

This isn't just me being picky. There is an important difference to be aware of.

I've seen lots of WP7 apps which don't quite "get" Metro and as a consequence don't quite feel right or worse still feel clunky or awkward or not as intuitive as a good app should or worse still don't work as expected, or like most other (including the built in) apps on the phone.
If you approach Windows 8 app development assumming it'll be exactly the same as Windows Phone 7 then you risk making a variation of those same mistakes and creating more sub-standard apps. - The world already has more than enough of them. We don't need any more. Thank you.


There are aspects of  the Metro design language which are specific to the phone context:

"Focus on the individual"
"It's Personal"
"Relevant ... to your location"

These are primarily phone based characteristics.

I say this is important because I don't want you to get carried away and start thinking that you should recompile your phone apps for Windows 8 just because, in principle, it's simple to do, and just because you can.

Hopefully you've designed and built your Windows Phone 7 app to be the best it can be and to be perfectly suited for use on the phone and make the best of the platform and the screen real estate available to you. - Such an app doesn't necessarily directly translate to running on everything from a 7" tablet to a 30"+ PC monitor.

So what's different on Windows 8 when it comes to metro-like/style/inspired apps?
  • Think "touch-first" but don't rule out and remember to support Mouse (& keyboard) Events.
  • Embrace the touch language and don't deviate from it.
  • Be prepared to scale across different screens.
  • The experience should transcend the process.
  • Take pride in craftsmanship
  • Do more with less
  • "Win as one"

Expect more information about creating metro style apps to be released and made available over the coming months and be sure to check out the videos from BUILD on Channel 9. Especially the XAML related sessions (as identified by Tim Heuer).

Tuesday, September 13, 2011

Windows Phone 7 and Windows 8

Lots of details were announced about Windows 8 today at the BUILD conference.

One thing I heard quite a bit was "if you're a Windows Phone 7 developer you're now a Windows 8 developer too".
This is because you can use the same development tools & languages and share a design language heritage.

You may recognise this as being very similar to a phrase that was used a lot last year: "If you're a Silverlight developer your now a Windows Phone 7 developer." (Because both use the same develompent tools and languages.)

That statement was as wrong then as it is now!

They are not identical and so the statements aren't true.
It's like saying "if you know how to drive a motorbike you know how to drive a bus".

If you can drive a motorbike there are lots of things you'll have learnt that will be useful when it comes to learning how to drive a bus but that there are (I imagine and hope-I don't drive either) lots of important differences too.

If you've got some experience developing for Windows Phone 7 (or Silverlight) then it'll certainly help when you want to start building for Windows 8 but don't expect it to be exactly the same.

Also, don't expect any WP7 apps to run as is on Win8. At the very minimum you'll need to recompile but you should also look to make appropriate use of a UI (& UX) which is more appropriate to Win8. And yes, I totally expect this to mean you'll likely need multiple UIs to support the plethora of devices which Win8 will run on.

I'll probably write more on this in the future, when more Win8 details are available but don't expect this fundamental principle to change.