JSONView 0.6

Last week I released JSONView 0.6 to addons.mozilla.org. This is mostly a bugfix release, but I honestly don’t want to change much about such a simple addon. With over 60,000 daily users at this point, I feel that updates should be infrequent and unobtrusive. I do plan for some big new features for JSONView 1.0, but for now I’m mostly keeping the extension working with newer Firefoxes and fixing bugs that affect existing features. That said, one big change since the last version is that the source code is now on GitHub. I’m hoping this makes it easier for other developers to contribute, so please send pull requests! I’ll probably move the issues list over to GitHub as well at some point, but for now they’re still over at Google Code.

JSONView 0.6 fixed a couple of bugs around formatting text, especially when odd Unicode characters were present. Where previously JSONView would stop showing content after those characters, it now shows the Unicode escape sequence. Also, when there’s an error parsing a JSON document, the original document is displayed with its formatting intact, rather than squashed into a single line.

However, the most important bugfix is that disabling JSONView from the Addons page will un-do the “Include ‘application/json’ in the HTTP Accept header for requests” option. This is especially important since some popular websites handle content negotiation poorly and break when that option is on. Netflix was one high-profile example, but they’ve fixed their site now. I explained why this happens in detail in the issue report, and I won’t be removing the option because of it, but at least disabling the addon will fix the issue (of course, just unchecking the option will fix it too). I’ve added a warning to the option as well, just in case. Honestly I don’t think most people should need to turn that on, which is why it’s off by default.

The last big change is sort of halfway between a feature and a bugfix – copying and pasting from JSONView’s output will produce valid JSON. This includes all the quotes that JSONView omits for readability, and doesn’t include the “+/-” symbols used for collapsing objects and arrays. Hopefully this makes it easier to copy and paste bits of JSON out of Firefox and into your code or data without having to rewrite it.

Please update JSONView (if it hasn’t updated automatically by now) or download it if you haven’t tried it yet, and check out the code on GitHub if you find any bugs or have a feature you want to see.

XBList is broken due to Xbox.com changes

Recent changes to Xbox.com have broken XBList. This happens every time they change Xbox.com, but this time the changes are too major for a quick fix. The way XBList works hasn’t aged well, and this is going to require some major changes. That combined with the fact that I don’t have very much free time these days means that it’ll be a while before there’s a new version that works again. Sit tight, enjoy a game, and keep an eye on this blog for more news.

Updates to Windows Sidebar Gadgets

I’ve made some minor updates to my Windows Sidebar Gadgets – the 360Voice.com Challenge gadget works again after 360Voice moved their API endpoints, TopProcess has gained a French translation and clearer text when used on systems with IE9 installed, and the Xbox Live Gamercard gadget has been resized to fit the new gamercard design. Please reinstall those gadgets if you’re using them. Note that I’ve tried them all out on a system with IE9 installed and they all work – there were some problems with the beta version of IE9 but those seem to have been resolved in the released version.

Fixing a Nerf Stampede that only shoots in certain orientations

My friend Mark got me one of the awesome Nerf Stampede dart guns for Christmas. It’s a fully automatic Nerf gun that takes clips of darts – perfect for the sort of inter-office foam wars that break out with alarming regularity these days.

Unfortunately, right out of the box there was a bit of a problem (aside from the fact that I had to locate 6 D batteries – who uses those anymore?) The gun would only fire in certain orientations – only if it was held sideways, or pointing down, or even upside down. It wasn’t consistent, either. Pulling the trigger wouldn’t do anything at all – no noise, no motion. I figured there was probably a switch that wasn’t getting pressed except when it was held in a certain way. I took the whole thing apart trying to figure out what was going on. There’s a lot of really fascinating little plastic parts and switches and linkages in there, and the mechanism for how it fires the darts is pretty ingenious, but there was nothing obviously wrong. Since there was nothing mechanically out of place, I broke out a multimeter and started testing electrical connections. That led directly to the battery compartment – there wasn’t any voltage on the terminals at all! Rotating the batteries around in space, there were certain orientations where a voltage would show up, but mostly it was dead. After popping out the batteries, I had a theory as to why.

For some reason, the little indentation for the battery contact is facing outwards, instead of inwards toward the battery. The battery has a similar protruding bit that’s actually sitting inside the contact instead of making a connection with it. The solution was pretty simple – a bit of copper wire bent and stuck in between the contact and the battery to make sure that there was a solid connection. You could probably get away with using a paperclip in there.

After that little fix, my Stampede always fires no matter how I’m holding it, and I have a reliable toy to battle opposing teams at work or just let my co-workers know that it’s time for the stand-up.

P.S.: If you want to build great software in a relaxed workplace and you can take the occasional Nerf dart in the back of the head, let me know.

XBList updated to 3.3.0 to cope with Xbox.com redesign

Xbox.com’s new redesign ahead of the Kinect-focused dashboard update landed on Wednesday, and predictably broke XBList. Since XBList just scrapes Xbox.com for its information, it’s very sensitive to this sort of thing, and this redesign is one of the biggest to happen to the site since I’ve been running XBList. Unfortunately I was out of the country, and only got back home last night – tonight was my first opportunity to survey the damage and see what I could do.

Fortunately, it was pretty easy to bring XBList back to life. Not nearly as easy as I’d like – I’ve been poking along on a really major update to XBList that’ll be launched as XBList 4 at some point which will make handling this sort of thing much cleaner. XBList 4 is far from release, though, and I haven’t been putting that much time into it relative to my other projects. Still, XBList 3.3 is at least functional again, with some notable exceptions. Since some things work differently enough that XBList will need more major modifications, I’ve had to turn off several features temporarily, probably until XBList 4 is released. Until then, XBList will no longer show messages waiting for you, or let you manage your friends list (add/remove/confirm) from the app. On a more permanent note, the new Xbox.com simply doesn’t expose as much information as before. This means that I’m no longer able to show when friends are joinable or away. I guess they didn’t think that information was interesting for the website, or maybe they’ll be removing it from the dashboard too – regardless, I can’t get at it anymore. Otherwise, I think I like the new Xbox.com design – it’s much cleaner and simpler, though the huge non-personalized avatars-having-fun banners on the top of a lot of pages is a real waste.

I hate to release a new version without fixing some stuff and adding a new feature, and XBList 3.3 is no exception. I’ve fixed the broken Halo emblem support and added support for Halo: Reach emblems and linking directly to the Reach service record. I’ve removed the Halo 2 stuff since Halo 2 can’t even be played online anymore. I also fixed XBList so it can run under .NET 4.0 which should make it easier to install. Anyway, grab XBList 3.3 and get back to stalking your gamer friends!

Note that I’m also going to be shutting down my forums soon – they’ve always been kinda lame, and I’ve decided I prefer to just get email.