Zune – Tales from the Crypto

Zune

Leap Day again

I’ve mentioned before how much I love the vagaries of dates and times in computing, and I’m glad it’s not a part of my regular day-to-day work or hobby coding.

Here’s some of the things I expect to happen this year as a result of the leap year:

  • Hey, it’s February 29 – some programs, maybe even operating systems, will refuse to recognise the day and think it’s actually March 1. Good luck figuring out how to mesh that with other calendar activities. Or maybe you’ll be particularly unlucky, and the app/OS will break completely.
  • But the fun’s not over, as every day after February 29, until March 1 NEXT YEAR, you’re a full 366 days ahead of the same date last year. So, did you create a certificate that expires next year, last year? If so, I hope you have a reminder well ahead of time to renew the certificate, because otherwise, your certificate probably expires 365 days ahead, not one year. Or maybe it’ll just create an invalid certificate when you renew one today.
  • The same is true for calendar reminders – some reminders for “a year ahead” will be 365 days ahead, not one year. Programmers often can’t tell the difference between AddDays(365) and AddYears(1) – and why would they, when the latter is difficult to define unambiguously (add a year to today’s date, what do you get? February 28 or March 1?)
  • But the fun’s not over yet – we’ve still got December 31 to deal with. Why’s that odd? Normal years have a December 31, so that’s no problem, right? Uh, yeah, except that’s day 366. And that’s been known to cause developers a problem – see what it did to the Zune a few years back.
  • Finally, please don’t tell me I have an extra day and ask me what I’m going to do with it – the day, unless you got a day off, or are paid hourly, belongs to your employer, not to you – they have an extra day’s work from you this year, without adding to your salary at all.

And then there’s the ordinary issues with dates that programmers can’t understand – like the fact that there are more than 52 weeks in a year. “ASSERT(weeknum>0 && weeknum<53);”, anyone? 52 weeks is 364 days, and every year has more days than that. [Pedantic mathematical note – maybe this somewhat offsets the “employer’s extra day” item above]

Happy Leap Day – and always remember to test your code in your head as well as in real life, to find its extreme input cases and associated behaviours. They’ll get tested anyway, but you don’t want it to be your users who find the bugs.

Another encouraging Mango update sign

Microsoft released an update to the Zune software. Of course, this hasn’t fixed any of my usual complaints about the inability to properly handle Podcasts, sorting and managing them, but it does make me convinced that we’re moving right along in the process to release a new version of the Windows Phone 7 OS.

To get your Zune software update, simply open your existing version of Zune, select Settings (in very small font on the top, towards the right-hand side), then under “Software” on the left, you’ll find an item “General”. Select this, and scroll the right-hand side until you see “Software updates” and “Check for updates” come into view. Click on “Check for updates”, and follow the instructions from there.

image

Windows Phone 7 impressions

I’ve had my new phone – an HTC HD7 “Schubert” for nearly four months now.

For the most part, I’m enjoying it – as a phone, it works fine. I’m still trying to get my fingers and thumbs to thump the keyboard in the right way to avoid making spelling mistakes. But that’s not too bad.

The screen controls – dragging, flicking, pinching and tapping my way to multi-touch success – work really intuitively, and I love the fact that I can take a picture within seconds of pulling the phone out of my pocket, while the iPhone guys are still fumbling through their unlock code.

Backing up / Updating

Updating is handled well, IMHO, with a link to your PC required, as much so that you can have a full backup taken of your phone, as it is to do with increasing the speed of the overall operation. If you’ve done like I have, and filled your phone with podcasts, video and music, this can take some considerable time to back up, which makes the update process perhaps a little too long. A future version of this might choose to ignore backing up those items on the phone which can be restored from the Collection.

I was thoroughly impressed with the speed by which the certificate update was shipped through T-Mobile. Obviously, with each carrier able to stop and delay any update Microsoft issues, this could become an issue in future. If I can’t rely on mobile devices within my organisation being patched against known vulnerabilities, I can’t comfortably allow them access to the network. Of course, you could level the same accusation against the iPhone in spades – after all, with all the jailbreaking that goes on with that device, what you have are a pile of modified systems, not managed or secured, and able to lie convincingly about security policies they have implemented.

Application selection

Much like other phones, it’s difficult to filter the good from the dross. Microsoft selects some good “Featured” apps, but I’d also like to see some means of better filtering on the app selection. Writing one reader program, and putting a hundred free texts into it, does not mean you’ve published a hundred apps. This is especially true for local TV News apps, Realtor apps, transport navigation apps, indexes of lawyers, blog feeds – yeah, really it’s especially true of everything, if that was ever a meaningful thing to say.

Having said that, there’s all sorts of cool apps available for the phone, and I’m sure that for all the apps I’ve found, there are equivalents on other phones, and that there are numerous exclusive apps only for this phone or that. I can say that I have not been disappointed by the selection of apps on my phone. I don’t find some niche apps, but then I don’t find those for the other phones either.

All the apps that you’d expect to find are here. Even Angry Birds now, which apparently have to be present for a phone to be considered complete. Of course, Chicks ‘n’ Vixens is available for the Windows Phone 7, but not for other platforms, so that’s a win.

Navigation

Once you’ve installed a few apps, the ability to ‘pin’ a number to the main menu helps enormously, but even so, it can be a trifle daunting to make your way through the single list of apps that you get when you wander off the main menu. It’d be nice to have the ability to group apps, and maybe to copy the Music folder’s ability to navigate by the initial letter of the album.

In its favour, however, the flick and tap technique is so intuitive and easy to use that this is almost not a problem at all. But that’s a very weak plus, compared to the effort it should take to implement a grouping / filtering feature.

Bluetooth

It’s an excellent feature, being able to use my Bluetooth headset instead of plugging into the phone. Sadly, it’s not exactly complete. I can’t tell you how startled I was to open up a YouTube video and find that, instead of privately broadcasting into my ears, it was actually making lots of noise that everyone else in the room (apart from me) could hear.

I thought that was just YouTube, because their app is quite frankly one of the crappiest implementations possible. I’d recommend the HTC YouTube app in preference, if you have an HTC phone.

Sadly, no. The phone does not transmit the audio from playing videos over Bluetooth to a headset. Perhaps this was intended to be a safety feature, so that you can’t try and watch a video while driving, but I think it’s important to recognise that many of us have Bluetooth headsets that we like to use while commuting. So, please, enable Bluetooth headsets for watching video, and don’t think about disabling it based on speed. Like I said, I use my phone to watch videos and listen to radio podcasts while I’m riding the bus.

I don’t know, perhaps the onus should be on the car driver to ensure the safety of himself, his passengers, and everyone else on the road. Someone who’ll try to watch a video while driving will also be texting while driving, shaving, reading a newspaper, applying makeup, solving a Rubik’s cube, etc. Yes, I’ve seen all this out the window of the bus – I even have a really blurry picture of the guy solving the Rubik’s cube, but focusing through two windows while going at speed isn’t the phone’s strong point.

Podcasts

Still where I spend a lot of my time.

Hand-made podcasts (not subscribed from a URL) are still supported like arse, and need some work. Think about audio books, radio shows from CD, ripped to MP3, etc.

No graphics, no navigation other than “scroll up and down”, no consideration to the thought that a podcast might be longer than about twenty characters.

Sorting of podcasts in the phone is in a different order from their sorting in the Zune software, so you can’t reasonably manage the relationship between your collection and the phone.

And once you have a podcast of several episodes, it is often (almost always) out of order. No respect for Track #, Part of Set or other ID3 tags that would allow the Zune software on the phone to figure out what order to play episodes in. My absolute favourite is when a podcast is listed in exactly reverse order.

In the same vein, it’d be really nice if you could cue up (or queue up) multiple podcasts to play one after another. You could call it, oh, I don’t know, a list for playing – List O’ Play, perhaps. I’m sure Microsoft could come up with a simpler term than that, if they were to only implement the feature. On a long journey, I’d like to be able to say “I want to listen to this episode, then that one, then this one over here”, and then put the phone back into my pocket, while I sit back and listen.

It’s clear that Microsoft doesn’t have a use-case around podcasts for the Zune or the Windows Phone 7, and that they don’t have any staff who actively use podcasts, or audio books, etc. While I appreciate that the goal with the Zune was to provide a music-listening experience, podcasts and audio books are also important ways to use a device that plays and manages audio. I’d like to see that taken into consideration.

Migrating from one Windows Phone 7 to another

My original WP7 device (an HTC HD7, aka “Schubert”) has become a vampire.

This started just after I applied the NoDo update, and while I was traveling to the UK, although I think both of these events are unrelated. The phone was less than two weeks old when this behaviour started.

Every battery I stick in the phone gets drained, and although the phone pops up the requisite “I’m charging your battery” icon, the battery never gets charged.

So I’ve asked for a replacement phone. That in itself was a pain.

Despite the words “T-Mobile” on the box, on the phone, and T-Mobile requiring I sign up for a 2-year contract, T-Mobile won’t service the replacement – or if they will (and they seem unclear on the idea), they can’t guarantee I won’t get a refurb.

So, I go back to Amazon Wireless, where I bought the phone originally.

Perfect behaviour from them, as expected – a new phone is shipped immediately to me, and I get to spend a little time with the two phones as I transfer data to and fro.

Bizarrely, I have to charge a battery in the new phone in order to be able to use the old phone at all. I can’t even drive it purely from the mains cable.

And now I have to figure out how to get my phone information onto the new phone.

Outlook

Outlook is the easiest one – because it only hooks into Exchange, all I have to do is provide my new phone with the account details (email address and password), and I have all my email transferred.

People

People come across fairly easily too – either from Outlook or Windows Live, or by going to the Settings menu, sliding to Applications, then selecting People, from which you can “import SIM contacts”.

Applications and settings

Applications that I’ve bought through the Zune software come across immediately. Applications that I bought through the phone, they don’t come across at all. Fortunately, I hadn’t actually purchased anything at that point, so I only had to deal with getting the free apps. Nor could I persuade the Zune software to download those apps that I had purchased through the phone, even though they clearly weren’t on my new phone.

Of course, all the settings in those applications – high scores, achievements, account settings, etc – not able to be ported over. Rather irritating, really. This portion of setting up the new phone took the most time of all.

Music, videos and pictures

The Zune software does a credible job of allowing you to copy information out of one phone and into your collection, and then from your collection back into the phone. I’ve written before about how awkward the Zune software is with my Podcasts, and this experience doesn’t really improve on that in any way.

Overall

Overall, it’s fairly certain that the use-case of having to move from one phone to another is not considered by Microsoft to be a significantly common requirement. I certainly hope I don’t have to do this again.

But I do wonder if there could be some form of standard for migrating settings and purchased apps – this was a tedious process in all, as I went through re-finding all the apps I had installed, and dealing with the Zune software’s reluctance to fetch applications that had already been installed on another phone.

Those apps that were easy to move over, it seemed more as an accident than good design, as these apps are based around storing their data off the phone. I’d like to see developers think about deliberately surprising their users with good behaviour, instead.

Is Microsoft killing the Zune HD?

It certainly looks that way.

Here are the clues:

  1. Update to the Zune software to allow the Windows Phone to work with it. Comes with several new apps, all of which are still free. Paid apps are now supported in the Zune software, but if there are none for the Zune HD, guess where all the development work will go? [Especially when it costs $100 to join the XNA Creators Club]
  2. A new version of the XNA Game SDK has been released, as part of the Windows Phone SDK – but this version doesn’t support developing apps for the Zune HD.
  3. The new “App Hub”, for submitting apps, and which replaces the XNA Creators Club, specifically lists that it is for apps developed for Windows Phone 7, and XBox 360. No mention of Zune HD.

I am sure that we’ll see Microsoft continuing to supply Music and Video for sale through the regular Zune software, but the app market is clearly about to be killed off
 unless, that is, Microsoft is just spending a little extra time before releasing a version of the XNA Game SDK 4.0 that supports Zune HD.

I think that’s pretty much unlikely.

So, if you’re buying a Zune HD today, Microsoft’s message appears to be that you are not going to get any apps other than the ones that are already available.

That seems rather disappointing – the Zune HD has touch, accelerometer and a graphics chip capable of some great 3D (check out the racing game, Project Gotham Racing Ferrari Edition for an example), but the current XNA Game SDK for it provides no hardware 3D support.

So, does the new Zune software help fix my complaints?

You’ll remember, from my previous posts (Zune HD – but not mine, Finally got my Zune HD, Messing around with audio files, Woot got my Zune, Zune can’t get my woot!, All Zune posts) on the subject, that I had some specific complaints about the Zune and its attendant software that I was hoping Microsoft would one day get around to fixing.

Zoom  (Zume?)to this past week, and we saw Microsoft release a new version of the Zune software, so let’s see if there’s been any advance:

Not fixed

Images in MP3 files marked as Podcast and dumped into Podcast folder are not displayed in Zune Software or on Zune.

MP3 files in Podcast folder are not played in order by track number.

MP3 files in Podcast folder lose their Genre, and can’t be sorted by Genre.

MP3 files in Podcast folder can’t be rapidly navigated by alphabet.

Impossible to list Podcasts in the same order on the Zune and the PC, so as to compare visually, one by one, which ones you’ve heard. [No, this isn’t ideal, but even this would be better than current]

Zune Internet browser can’t access SSL sites like woot.com, with unexpected SSL root certificates.

No Flash in the Internet browser

Slightly fixed

Can’t tell on the PC which Podcasts you’ve listened to on the Zune (and in general, managing the relationship is sucky)

Now, the PC greys out individual podcasts you’ve listened to, but not the podcast series, so you have to click on each podcast series to see if it’s been listened to.

And if you use this to delete podcasts or a podcast series that you’ve listened to
 it doesn’t actually delete them from your hard drive. This is infuriating, because it makes it fundamentally impossible to manage local podcasts.

And all this despite the Zune software warning you that it’s going to delete the series and its episodes PERMANENTLY:

image

More apps

OK, so there are some more apps. Still want more. But that’s probably not going to happen, because in what appears to be a bout of sheer bloody-mindedness, although XNA Game Studio 3.1 (for Zune HD) is a subset of the functionality of XNA Game Studio 4.0 (for Windows Phone 7), XNA Game Studio 3.1 only works in Visual Studio 2008, and XNA Game Studio 4.0 only works in Visual Studio 2010.

What this means is that a developer can’t build the same project, in one development environment, for Zune HD and Windows Phone 7, even though it would be possible to make the same game work on both platforms with the same source code.

If this isn’t a temporary problem, it’s going to make me and the other five Zune HD users really feel disenfranchised.

New Zune software–less panicked now.

Although the new Zune software doesn’t start up the moment I plug in my Zune (maybe I’m missing a setting), the Marketplace Apps listing has come back, along with three new games, “Castles and Cannons”, “Dr. Optics Light Lab”, and “WordMonger”:

image

and one new, very welcome, app, “Windows Live Messenger”:

image

No update for the Zune HD itself, yet – I was hoping that maybe they’d fixed the web browser issues I was facing with Woot.

Nice new Zune software
 but


I kind of expected that the arrival of the Windows Phone 7 would cause an update to the Zune software interface. Sure enough, as soon as I tried to download a new episode of “The Guild”, an update was forced on me, along with a new licence agreement.

What I didn’t expect was this


image

Yes, that’s right, select one of the Genres, either “Games” or “Other”, and this is what you get – “There are no apps for this selection”. I can only presume this is a foul-up by Microsoft, and not an example of “new product comes out, old product goes straight into the bin”.

At least, that’s what I hope.

Why, that’s very nearly delightful!

As a big fan of The IT Crowd, I’m a happy reader of the author, Graham Linehan,’s blog, “Why That’s Delightful!”. It certainly helps to explain to American viewers tonight’s episode. And yes, I did try and persuade Microsoft to give Moss an MVP award. Maybe I should have suggested Roy instead, since he mostly does windows.

However, the other day, looking for the blog on a machine on which my bookmarks don’t reside, I was rather shocked to see “Why, that’s delightful!”, when I typed in what I thought was Mr Linehan’s blog address. Totally not the site I was looking for. I was completely unprepared. I hope Graham Linehan knows he has a competitor for the same search meme.

Graham Linehan is the author (along with Arthur Mathews) of that other staple of British (or Irish?) humour, “Father Ted” (memorable, also, for being produced by the late Geoffrey Perkins, of Radio Active and Hitch-Hiker’s fame). If you’ve not seen them yet, go watch them – rent them on Netflix, watch The IT Crowd on IFC, and Father Ted on wherever you can find it in this country, whatever you have to do to make this a part of your comedy intake.

But beware of imitations, when it comes to your favourite blogs.

[And don’t try and use Windows Media Center to sync The IT Crowd from IFC to your Zune, because IFC marks all their programming for DRM, with the aim that it can’t be copied. Boo, hiss, IFC.]

Woot got my Zune, Zune can’t get my woot!

Quite some time ago, my wife was very sneaky. Oh, she’s sneaky again and again, but this is the piece of sneakiness that is appropriate for this post.

I logged on to woot.com one day, as I often do, and saw that there was a 30GB Zune for sale – refurbished, and quite a bit cheaper than most places had it for sale, but still more than I could plonk down without blinking.

I told my wife about it, and she told me that no, I was right, we couldn’t really afford it even at that price.

Then, months later, I found that my birthday present was a 30GB Zune – the very one from woot that she said we couldn’t afford.

Ever since then, I’ve been a strong fan of Zune and woot alike.

The other day, though, it dawned on me that I could use my Zune (now I have a Zune HD 32GB) to keep up with woot’s occasional “woot-off” events, where they proceed throughout the day to offer several deals. Unfortunately, I can’t actually buy anything from woot on the Zune.

I couldn’t figure this out for a while, and assumed that it was simply a lack of Flash support.

Sidebar: Why the Zune and iPhone Don’t Have Flash Support

It’s not immediately obvious that there’s a difference between the Zune having no Flash support, and the iPhone having no Flash support.

But there is – and it’s a little subtle.

The Zune doesn’t have Flash support because Adobe haven’t built it.

The iPod doesn’t have Flash support because Apple won’t let Adobe build it.

Back to the main story – why my Zune can’t woot!

I did a little experimenting, and it’s not that woot requires Flash.

I tried to logon directly to the account page at https://sslwww.woot.com/Member/YourAccount.aspx (peculiar that, the URL says “Your Account”, but it’s my account, not yours, that I see there. That’s why you shouldn’t use personal pronouns in folder names).

That failed with a cryptic error – “Can’t load the page you requested. OK”

No, it’s not actually OK that you can’t load the page, but thanks for telling me what the problem was.

Oh, that’s right, you didn’t, you just told me “failed”. Takes me right back to the days of “Error 4/10”.

The best I can reckon is that, since the Zune can visit other SSL sites, and other browsers have no problem with this SSL site, the Zune simply doesn’t have trust in the certificate chain.

That should be easy to fix, all I have to do on my PC, or on any number of web browsers, is to add the site’s root certificate from its certificate chain to my Trusted Root store.

Sadly, I can find no way to do this for my Zune. So, no woot.

Would this be a feature other people would want?

I think this would – for a start, it would mean that users could add web sites that were previously unavailable to them – including test web sites that they might be working on, which are supported by self-signed test certificates.

But more than that, adding a new root certificate to the trusted root certificate store on the Zune is a vital feature for another functionality that people have been begging for. Without adding a root certificate, it is often impossible to support WPA2 Enterprise wireless mode. So, the “add certificate to my Zune’s Trusted Root store” feature would be a step toward providing WPA2 Enterprise support.

How would that interface look on the Zune?

I’m not sure that the interface would have to be on the Zune itself – but perhaps the Zune could stock up failed certificate matches to pass to the Zune software, and then ask the operator of the Zune software at the next Sync, “do you want to trust these certificates to enable browsing to these sites?”

Similarly, for the WPA Enterprise mode, it could ask the Zune software user “do you want to connect to this WPA Enterprise network in future?”