Microsoft App Hub.. Poor UI?

Last night I was looking to deploy an update to an existing beta group for a Windows Mobile 7 app (deployed, obviously, through App Hub)… easy I thought – there has to be a way to simply throw a new build into the group and have the Marketplace handle the roll out.

Nope.

After a moan on twitter, I decided to have a Google around to make sure that I wasn’t being a fool. This lead me to a forum post on the App Hub itself – here if you are interested.

This, would you believe it, confirms that you can NOT update an existing, running beta.
Hmm. That's daft. Surely I should be able to update a RUNNING beta – even if I have to “stop” it (unpublish), then update it and re-publish?

Even stopping a beta doesn’t remove it from your App Hub Dashboard. Which is equally stupid, as I’ve not only had to create ANOTHER beta group submission for my 2nd release (and soon a 3rd), but now my Dashboard is starting to get cluttered.

And it seems I’m not the only one that finds this situation rather strange – I’m still trying to work out where Microsoft came up with the bizarre figure of 90 days for a Beta cycle – especially when you can’t update it. Surely a Beta should be updated a lot while you are patching things and getting feedback?

I would love to say that this is the only “poor” aspect to App Hub – but I have to say, I find it generally lacking. It’s really lacking and significant features (or should I dare say, integration with Visual Studio for the developers among us), and it does not feel “complete” at all. I can only hope that Microsoft hurry up and pushes out an updated version soon – but I’m not holding my breath.

Oh, and should I point out to those that don’t know … developers have to pay to be in the Microsoft developer programme and get access to App Hub – so its not as if there is no incentive to Microsoft to sort this!

XAML Binding-Design time tip

One of the things that I always see new Silverlight / WPF (and now Windows Mobile!) developers struggle with is control binding – more specifically, I see them putting values in while designing a screen then swap them out for the actual binding before compiling.

However, there is an easier way.

Bindings have an additional property called FallbackValue – which will be rendered in design view too.

So, instead of:

Text="{Binding Visitors}"

Try

Text="{Binding Visitors, FallbackValue=0}"

At least its one less thing to remember to swap out!