Developing for a new platform, particularly one that's not finalised yet can come with a bit of a steep learning curve and a number of frustrating moments. It's also exciting and I can't wait for Windows 8 to come out and for my app Font Picker to be available in the new Windows Store. Something that has blown me away has been the support from Microsoft. The documentation is great, there have been roadshows and you could even get one on one time with a Microsoft engineer to fine tune your app and get it ready for the store. These were the slightly cheesily named 'Excellence Labs'.
The exciting promise of the excellence labs was that, if you passed, you'd get a developer token that would give you early access to the Windows Store before everyone else.
I took an early version of Font Picker for Windows 8 to Microsoft Reading in May and met with Richard Macdonald who gave me a full 4 hours of his time. Before I went I thought I was almost done. The only thing I wasn't happy with was my user interface. XAML gives you so much control over the appearance of your app that it's quite easy to make it look awful and that was what I'd done. So, I expected Richard to give me some UI tips and then hopefully say I could have an early access token on the condition that I improved the UI.
Instead, he raised the bar. It's incredibly useful to have an outside eye pass judgement over your work, but it's also quite annoying when you thought you were almost done. I had a great time in Reading. I got a lot of great advice and I got to see my app run on a tablet, where it almost immediately crashed because it used too much memory. That was embarrassing and obviously first on my list of things to fix. The problem with having a high powered dev machine is that it hides a multitude of sins. So, I left Reading with a long list of things to do and the promise of a second go at the test.
It took a while to implement all of Richard's recommendations and to sort out the UI. Font Picker was definitely in my mind finished now. So, I was excited while waiting for Richard to privately test it and then obviously just let me know that I could have my token. He found a UI bug, a really small one. A button remained disabled when it should have been enabled. The problem took 5 minutes to track down and fix, but that was my last chance with Richard. I was really annoyed with myself for not testing it better. I also need to find a way to automate UI testing in Windows 8.
All was not lost however, because you could apply for another excellence lab. I'd missed the deadline for the next ones but I got another go in August.
This time I talked to Hans Zeitler remotely (isn't the Internet fantastic) and he gave me over 2 hours of his time. Surely this time getting my token would be a breeze. My app was looking awesome and I'd done everything Richard told me too. But no, they raised the bar again. A fresh pair of eyes will always see new things and find new areas for improvement. Also, Hans told me that they'd learnt a lot since the early labs and they'd become a bit more strict.
My new list of recommendations was more difficult to implement than the first; in particular adding semantic zoom and not reintroducing the crashing bug I'd had in the first lab. By the time I'd done everything on my new list Font Picker was even more awesome, but the Windows Store had just been opened for everyone so I'd missed the boat on my token.
So now I'm just about to go through the store approval process and fingers crossed they'll think my app is as awesome as I do. Or, if experience has taught me anything, they'll probably raise the bar and force me make my app even more awesome.