Publishing a beta version of a WP7 app is both exciting (“does it work on someone else’s phone?”) and frustrating (“when is it going to actually show up?”). Having submitted maybe five beta versions over the holidays I wanted to improve the latter problem.
The beta submission process today looks like this:
What follows is a simple PC tool I wrote that at least will tell me when the download is available. There isn’t much I can do about the delay in getting the email, but once the email arrives I copy the appid out of the link (the appid is the guid portion), paste it into this fugly WinForms app, and click Wait.
I won’t insult you (or embarrass myself) by showing you the WinForms code, but here is the crucial part:
private void button1_Click(object sender, EventArgs e) { Guid appid; string guid = textBox1.Text; if (!Guid.TryParse(guid, out appid)) { MessageBox.Show("Not a valid guid"); } else { string uri = "http://catalog.zune.net/v3.3/en-us/apps/" + guid + "?store=Zest&clientType=WinMobile+7.1"; this.Text = "Waiting now..."; for (; ; ) { try { string result = new WebClient().DownloadString(uri); Debug.WriteLine("Download found at " + DateTime.Now.ToString()); break; } catch (Exception ex) { } // Wait for 10 minutes System.Threading.Thread.Sleep(10 * 60 * 1000); } this.Text = "Found it!"; } }
Of course you could extend this idea to emit a loud beeping sound, or send yourself or your beta testers an email, or even turn it into a Phone app with a background agent and Live Tile notification. (If you do the latter, be sure to send me a beta!).
I only do Mango apps myself these days: if you are still creating 7.0 apps, change the url to use 3.2 and 7.0 instead of 3.3 and 7.1.
This same idea can also be used to detect when an update to a non-beta app is available, but it requires a little more work: you will need to parse the string returned from DownloadString for the current version, and trigger your alarm only when it has changed. This is left as an exercise for the reader.
In an ideal world the App hub would publish beta apps in minutes from submission, but until it does I hope this tool proves useful.