'XBList' Articles

Update on XBList 4

In August, 2011, a major change to how Xbox.com works broke XBList. This sort of occurrence isn’t uncommon since XBList simply screenscrapes Xbox.com, leaving it vulnerable to even minor changes in how friend data is displayed on the site. The changes in August were more major, preventing me from just making a quick fix, though. I added fixing XBList to my pile of pending projects, and expected to get to it in the next few weeks. That didn’t happen.

What has happened?

I haven’t really had the will to work on XBList very much in the last few years. For starters, XBList isn’t a very interesting project - it’s a constant game of keeping up with Xbox.com, it’s a pretty boring app, and it sees the least usage of any of my software projects. I’ve also moved to using Mac OS X and Linux almost exclusively, meaning I wasn’t even running XBList myself. Not that it’d matter to me much, since I also haven’t been playing Xbox games. In the last few years I’ve shifted my interests away from sitting on a couch to going outside and enjoying the Pacific Northwest through parkour, scuba diving, biking, etc. My indoors time has been spent more on other projects and other creative endeavors than gaming. I’m no longer playing nightly matches of Halo with my East Coast friends who also have less time than they used to. Thus, my drive to devote time to XBList has dropped sharply.

I’ve also become increasingly embarrassed by XBList. It was my first desktop application, built in college as my first C#/.NET project as well. I barely knew how to program, let alone build anything wonderful (or maintainable). Combined with the ugly inflexibility of Windows Forms, XBList could never be something I was proud of as it was.

All this is to explain why, when XBList broke last August, I decided to throw away everything I had and start over. I chose to develop a new XBList 4 using Titanium Desktop, a cross-platform application framework that uses web technologies like HTML and JavaScript. In theory, this would allow me to build a new XBList that looked better, borrowing heavily from Microsoft’s new Metro styling and their iPhone Xbox Live app. It would allow me to ship versions of XBList for OS X and Linux, which is especially important since I predicted, correctly, that Microsoft would ship their own Xbox Live integration with Windows 8. As an aside, when I built XBList originally I thought it’d be a temporary solution until Microsoft made their own Windows Xbox Live app. It’s amazing that it’s taken them 11 years, and that they even launched on iOS before Windows. Anyway, working in Titanium would let me develop on OS X, play around with CoffeeScript and Knockout, and use my CSS (er, SASS/Compass) skills to do what I never could with Windows Forms.

However, after getting the basics working, the project stalled out. I didn’t have the interest to finish up all the little pieces that turned XBList into a finished project. Xbox.com continued to change, rendering one weekends’ work null by the time I picked it up again the next week. Bugs in Titanium and frustration with CoffeeScript slowed down my progress. And most recently, Titanium Desktop was abandoned by Appcelerator to focus on their more-popular mobile framework. They didn’t even finish releasing the beta version I was having to use. I had suspected this would happen even when I started using it, but it was still disappointing to have the rug pulled out from under me.

What happens now?

I haven’t decided. Right now, I’m pretty much on the fence between trying to finish what I’ve got and put it out there, warts and all, and just discontinuing XBList entirely. Even if I do finish it, I’m not sure it’ll be up to my standards, I’ll have to support it for three platforms, and with Titanium Desktop’s future looking bad, I don’t know what the experience of installing and running XBList would be. I’m almost certain that Titanium Desktop won’t be kept working with developments like Apple’s Gatekeeper or Windows 8. Perhaps XBList 4 will be released someday, but I can’t say when that’ll be or even if it’ll happen. And just to head off the inevitable question, no, I will not be open-sourcing XBList or giving it over to another developer. If you’d like to make your own friends list viewer, it’s probably easier to just start from scratch.

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.

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.

Updates to JSONView, XBList, and TopProcess

, ,

I’ve finally gotten around to doing some maintenance updates on three of my most-used bits of software (JSONView, XBList, and TopProcess), all in the last couple weeks. Now that they’re all approved and live, I thought I’d summarize what’s changed.

JSONView 0.3

JSONView 0.3 is now available at addons.mozilla.org. This fixes an error that was showing up when really large JSON files were being displayed, and adds a feature that displays empty arrays and object on one line instead of on two (and doesn’t display the expand/collapse button for them). I also put in some preliminary support for JSONP, based on a patch submitted by Gabriel Barros. The catch is that it only works with content served with the “application/json” MIME type, which is actually not the correct MIME type for JSONP - it should be “text/javascript” or another JavaScript type. Unfortunately I haven’t been able to figure out how to get Firefox to let me handle “text/javascript” the way I do with “application/json” - it seems to be special-cased or something. If any Firefox gurus are reading and know a solution, please let me know! I was holding onto this release for a while hoping to fix that, but I decided that releasing something was better than nothing, so it’s out there and you can play with it. You can see an example JSONP response with the callback highlighted here. I did notice a bug with the 0.3 release right after it was approved - if a value is 0 or false, it shows up as blank. I’ll have that bug fixed with the next release, which should be very soon. It’s great to see that JSONView has become so popular, with over 50,000 downloads and about 12,000 regular users.

XBList 3.2.4

Halo 3: ODST was released a couple weeks ago, and Bungie redesigned their site a bit to include ODST info in your Service Record. This included changing the pages just enough that XBList got confused trying to figure out emblems for people who had never played Halo, and started showing the wrong emblems for those people (only if you prefer Halo emblems to Xbox emblems, which isn’t the default). Not a huge bug, but I took the opportunity to clean up a bunch of stuff in XBList and put out a little release. In addition to the Halo emblem fix, I fixed a bug where your settings could get corrupted and you wouldn’t be able to start XBList. I also cleaned up the menus and settings, consolidating the Halo links into one item, and removing the option to choose a custom notification sound or turn off debug logging. The debug log is much easier to get to if you’re having trouble - previously I had people dig through their Application Data folders for the log, but now there’s an item in the Help menu that opens the debug log directly. Paired with some much more detailed logging, I should be able to fix future problems much more easily. I also changed the system tray icon to bring XBList to the front on a single click rather than a double click, since that feels much more natural in Windows 7. Lastly (and probably not too importantly for most people), I’m storing emblems in your local Windows profile now, instead of the roaming profile. For the few people who use XBList and have roaming profiles enabled, this should save you some sync time. Anyway, you should have been prompted to update when I pushed the update two weeks ago, but if you haven’t gotten it yet you should download and install it now. I still have plans for a major overhaul of XBList, but it’s low on my list of priorities - XBList is still pretty popular, but not as much as it used to be, with maybe 5,000 active users.

TopProcess 1.4

This last update has been a long time coming. Ever since I installed Internet Explorer 8, the TopProcess sidebar gadget has been randomly crashing. I’m not sure what changed in Internet Explorer to make it screw up every so often, but it does. However, it only crashes after running for a few days, so for months I’ve been tweaking the code a bit, then waiting until it crashes, then tweaking some more, rinse, repeat. I’ve finally nailed it down to the point where crashes are very rare, and then I added some code that automatically resets the gadget when it crashes. So you should never see it mess up again. There is also a gadget log file in the gadget’s install directory that I’m using to store errors, so it should be easier to troubleshoot in the future. Lastly, Jean-Pierre van Riel contributed a patch that added IO tracking to TopProcess, so there is now a third way to view your processes. This view shows you the total IO usage (combined bytes in and out, per second) which seems to cover both disk and network access. Get the update from me or from Windows Live Gallery and be sure to rate the gadget. I’m excited to see that it’s been downloaded over 100,000 times from WLG (plus who knows how many downloads from my site).

XBList updated to 3.2.2 to deal with Xbox.com changes

I’ve just uploaded a new version of XBList that fixes it after the new Xbox.com site changed everything around. Oh, the joys of writing a screen-scraping app! There’s some good news though - the new Xbox.com design actually puts much more info on the friends page, so XBList needs to do a lot less work to get all its info, which means less resource usage and less network traffic.

I’ve still got a partial rewrite of XBList sitting on a back burner that should fix the intermittent crashes some people have been reporting, as well as drop the “sign in with Internet Explorer” requirement and generally make logging in more reliable. However, I’ve got a lot of other projects going, and XBList doesn’t crash for me, so it might be a while until it’s out. Until then, enjoy XBList 3.2.2 and the new Xbox.com!

Update: I was a bit too hasty, and 3.2.2 had a bug that prevented it from loading your Xbox Live messages. I’ve uploaded 3.2.3 that fixes that.

A small XBList update to 3.2.1

Yesterday I updated XBList to 3.2.1. This release is mostly bugfixes - it fixes a problem where Xbox Gamer Tiles wouldn’t load because xbox.com changed the format they stored pics in, and it fixes an issue where gamers who are away but in a game would show up as on the dashboard. The only new feature is that I’ve changed the sound that’s played when your friends come online. It’s now the same as the Xbox 360’s notification sound, and is much less jarring than the old sound. I hope that comes as a welcome change. Grab the new version and let me know what you think.

XBList 3.2.0 works with the new Xbox.com

I read today that Xbox.com had gotten a redesign. I had hoped it wouldn’t impact the friends list page, which XBList uses to get its friend info, but unfortunately it had. The friends list is now split into 16-friend chunks. That meant I had some work ahead of me to make sure XBList could work with the new format. I’m pleased to announce that after only a few hours of work, XBList 3.2.0 has been released, which works just fine with the new site. I’m glad that all the refactoring work I had put into the software in the past allowed me to make a change like that without breaking anything. There is now the possibility of some slight weirdness if a friend changes status in the split-second between XBList loading one page and another, but I don’t think much can be done about that.

Of course, I couldn’t just make the fix and call it a new release. I’ve neglected XBList in the last year as I’ve been deep into work and other projects, but I’ve been accumulating little fixes, and as long as I had the code open today I added a much-asked-for feature: Halo 3 integration. OK, it’s not the best integration, but there are now menu items that link straight to your friends’ Halo 3 Service Record page, and better yet, Halo 3 emblems are now loaded in preference to the old Halo 2 emblems. If your friend has both, they’ll just get the Halo 3 emblem. I was amazed at how many people on my friends list (who hadn’t had Halo 2 emblems) popped up with Halo 3 insignia once I finished the feature. I hope this is enough to tide people over for a while.

I also improved the detection of Xbox.com outages. They seem to be better now, but around December the site was down all the time, and now XBList will be pretty clear about when it’s Xbox.com’s fault that you can’t log in. Hopefully that’ll reduce some confusion.

Please pick up XBList 3.2.0 and let me know what you think! The full changelog may be of some interest also.

XBList 3.1 released

I’ve been sitting on this one for a while, but it’s finally time to push it out the door. XBList 3.1 doesn’t have any revolutionary changes, but it’s got a lot of polish and nice little fixes and features that are sure to make life better for XBList users. The most noticeable new enhancements are that I’ve gotten XBList to use your system default font now (this means Vista users get the lovely Segoe UI font), and the popup notifications have been transformed from Windows 95-style to Windows Vista style.

Xblistscreen vista

I also added a lot of little features people have been asking for. There are now options for XBList to be on top of all windows, to start up with Windows, and to start minimized. You can compose a new message to your friend by just double clicking their name. I’ve also fixed a bug where two people who share a computer couldn’t both run their own copies XBList.

This release also includes some nice features for Vista users. First, it includes a manifest, so there will be less compatibility warnings and such. Next, it’ll offer to fix your Internet Settings automatically so that signing in under Vista is smoother. I’ve also built a completely new installer using WiX, which is prettier, smaller, and more functional.

I encourage anyone who’s interested to look at the changelog for the full list of updates. One thing you might notice is that I’ve added some backend support for making a Windows Sidebar Gadget that displays your friends list. I can’t promise I’ll get around to it (I’ve had bad experiences with Gadgets before), but it’s nice to know the capability is there.

I really thought that by now I’d be announcing that XBList is totally obsolete, for two reasons. The first is Games For Windows - LIVE, which aims to bring the Xbox Live experience to PC games. I tried out the beta, and while it’s neat, there’s no indication Microsoft is coming out with an XBList-style application for the Windows desktop that’ll show you your friends. The second reason was the new Windows Messenger integration in the Spring Dashboard Update. I love this, but half my friends aren’t on Windows Messenger anyway, and I can’t see people’s Xbox status from Adium, Trillian, or Meebo, so I’ll keep using XBList to know who’s ready to play some Halo 3 (beta). I hope everyone else continues to find it useful as well.

XBList 3.0 released

Well, I’ve finally gotten around to releasing a version of XBList that’s good enough to call 3.0. Last year I posted a look at what I thought should be in the next XBList. The most major has been the transition to .NET 2.0. Besides the increased stability and power of the new framework and doing things “the 2.0 way”, I ended up rewriting most of XBList’s innards in an effort to make it more maintainable, cleaner, faster, and more stable. That’s all in there, even though you don’t see it. Emblem loading, in particular, is much more robust. I also went out of my way to simplify the app and put in those little features that had been bugging me forever. For example, XBList now remembers if you’ve collapsed a category (like “Offline”) instead of expanding it each time. And a list refresh won’t always scroll to the top like it used to.

XBList Vista icon

However, there are a couple of very visible changes. First, you’ll now get a little tray icon and message bubble whenever there are new messages waiting for you at Xbox.com. This is really exciting for me, since it means that friends can invite you to a game and you’ll know about it right there on your desktop. It’s a new feature, and I’ll be working on it more, but I hope everybody likes it. The other thing is that XBList has a new icon and a new set of graphics. There’s an animated sign-in screen, a chilling error screen, and better indicators in the system tray. I never liked the old XBList icon (which was just the old Xbox logo, cut out), and this one feels much more professional, as well as having its own identity, which isn’t to say that it doesn’t owe a lot to the Xbox 360 UI team.

One last thing: I never got a chance to try it, but people complained that XBList 2.2 didn’t work on Vista. I think XBList 3.0 might (and I created a spiffy Vista icon for it) so please give it a shot and let me know if it works!

Passport changes screw up XBList 2.2

I’m still working on XBList 3.0 (though not as much as I’d like, between work and a social life). However, I noticed today that XBList won’t auto-signin to Passport anymore. Bummer. It has to do with the new live.com ID stuff. I promise this will be fixed in XBList 3.0, but in the meantime, you can just fire up Internet Explorer, log in to Xbox.com, and XBList will start working again.