New XBox Experience UI is weird; also, Netflix does things weird, too

November 21st, 2008

Okay, so, one of the things I have actually done regularly on this blog (to the extent that I’ve done anything regularly at all) is complain about user interfaces. I feel I have a right to to do this because 1) I read a book about it once, and 2) as a reasonably intelligent user I ought to be able to. So, today I’m going to complain about the NXE user interface. This is what it looks like:

For those of you who haven’t used it in person yet, this is a map of what the important areas are:

Basically the whole thing is two-tiered: There’s a top-level list of views, like My XBox, Video Marketplace, etc., which you move between using up and down. Then there’s the second-tier, which is a Cover Flow-ish list of pictures on a shiny floor you move through using left and right. This is a little cleaner than the Blade thing, and I assume they’re trying to emulate the XMB here — I can’t speak for that because I haven’t got a PSP or PS3 to really mess around with. Anyway, I say Cover Flow-ish because of two things: First, it doesn’t do the flippy thing, and second, the current selection is always on the absolute left of the screen. In other words, if you have item N selected, items 0 … N-1 are invisible.

Now, I know it looks very pretty and all, but I see a pair of issues with this. First, it feels really unbalanced. Cover Flow puts the current selection in the center, because it feels really weird if it isn’t. You don’t have to go to art school to know that the focus of a picture should be in the center. The second issue is more annoying: you have no idea what is to the “left” of your selection. You just have to rely on memory or holding left on the stick until what you want appears. Imagine how annoying it would be if you only could see a picture of your current selection in the list, and nothing else: this is halfway there. Note that this isn’t a list where it “pages,” i.e., if you move to the last visible selection item, it moves to the next page, and your selection is at the start of the visible part of the list again. The selection is always the first item in the visible part of the list.

There’s a similar problem with the top-level view list as well, in that items have this falloff effect where the farther from the selection they are, they fade out. The list of top-level views is only maybe six or so items long, I don’t know why we need some kind of a fancy effect to hide two or three of them.

I’m sure they made it work this way because it looks cool in motion, but it annoys me because if they spend a whole lot of time supposedly making the UI better, you’d think they wouldn’t miss things like “if a list scrolls, show the selection in the center” and “don’t hide half of the list so the user has to guess what the previous items are.” I don’t want to drag out the whole Apple versus Microsoft thing again, but here we have a clean-cut example of Microsoft doing something Apple pulled off well, and making some brain-dead mistakes in terms of the little touches that make a good UI, like balance and visibility.

Note that I’m not a Cover Flow fanboy or something here; I have no idea what the heck why we need Cover Flow to browse albums. 90% of my iTunes library has no cover art, and even if it did it is way faster to look through a normal list of album/artist names than flip through the covers. Also, Cover Flow has the albums adjacent to your selection rotated inwards, so you can’t really see them square-on. The only possible benefits I can think of are that it looks cool in ads, and it’s “fun.” So, I can see why XBox wants those, but if you’re going to make it your primary UI, you ought to think it through a little more. This is just going to be bugging me for eternity now.

ADDENDUM RE: NETFLIX

I also noticed some stupid things about the Netflix store, when I was trying to see how the new streaming works. You see, my dad has a Netflix account, but I’ve never used it directly. Anyway, so I go download the Netflix program on the XBox, do the activation dance. (Side note: the activation was surprisingly easy — I was afraid I’d have to enter a username and password on the XBox, which is doubly dangerous because typing on the XBox is slow and my dad probably doesn’t remember either of those, but they just give you a code you punch into the website on your PC and it activates that way.) It comes up with this list of films in my dad’s Instant Queue.

So, this is the first thing: what the hell is an Instant Queue? It seems like one of the rare cases of finding a genuine oxymoron out in the wild — if you can watch the movie instantly, why do you need an analogue of the queue used to send DVDs to your house? After being completely baffled by this concept for a few minutes, I figured out that it’s basically just a movie bookmark system. I guess they just named it a “queue” because everyone on Netflix is already used to queues and they didn’t want them to adjust to a whole different noun.

But this is the weird thing — apparently you have to add the movies to your Instant Queue on your PC, and then you sign in on your XBox and they’re available for showing. In other words, there’s no Netflix browser on the XBox that I can see. This is sort of annoying, and I would make an analogy to having a console web browser where you can only look at things you’ve bookmarked already. I do sympathize: browsing on the PC is a whole lot faster, if you’re actually on the PC. I still think it’d be possible to make a passable system to look through the available movies for streaming, though, seeing as there’s not a lot of them (and 90% of them look like crap).

Here’s the other thing, and this is just bizarre:

The “Add to Instant Queue” button is always hidden, like a rollout, inside the “Play” button. This is really confusing when the help tells you to use that button to add things to your Instant Queue and you can’t see it. Is there any reason at all for this? One of the basic principles in UI design is you make your UI elements visible, not hidden, only to be revealed with some kind of bizarre mouseover action. They could have just, you know, had that button underneath the Play button. It’s not that hard.

Some stuff

May 6th, 2008

I got some more Platformer stuff done. First, here’s what the level editor is looking like:

Right now you can only edit collision tiles, but I’m working on adding the visual tile and entity placement stuff.

And also, here’s the Sprite Crammer tool I’m working on to put multiple frames (relatively) efficiently into texture pages, using some sprites from Ravuya’s Glow. The benefits of this are twofold. First, it cuts out extraneous transparent borders on images, saving some information in an XML file so you can draw them back at the correct offset; that saves you some video RAM. Second thing, it reduces the amount of texture switches necessary, which is nice if you have lots of sprites onscreen. Some other nice features it has are a commandline mode (for using it in build systems), and Linux support if you want to run it under Mono. The UI looks a little weird due to variances in font sizes not really playing well with .NET’s absolute layout rules, but it still works, as does the commandline version.

The Glow sprites, again, are Ravuya’s.

S&MDI

May 6th, 2008

Okay, so has anyone else noticed a curious blurring between SDI and MDI apps happening? The main culprits here are Microsoft Office and Adobe Acrobat Reader. Let me demonstrate. Normally, a program either has one window per document (thus, one taskbar button per document), or one window and subwindows for each document (only one taskbar button.) MDI apps have generally been decreasing in popularity recently, generally only sticking around for things like IDEs, Photoshop, or web browsing, if you count tabs as documents. However, if you open MS Excel or any Office program, and do a File->New (well, the equivalent now that there’s no actual menus), you’ll find that you have two taskbar icons, but one actual window.

Now, I guess they did this so the somewhat more confusing MDI system is easier to use from the taskbar. But it totally mixes metaphors. You actually have only one window, but you’ve got N taskbar icons. I think they probably should have just converted entirely to SDI, seeing as it’s gotten the better evaluation from UI experts (as far as I understand.) But the practically annoying thing about it is this:

Because of whatever black-magic voodoo is going on to make taskbar icons for nonexistant extra windows, you can no longer close an entire group of them on the taskbar, or do any of the other actions on the menu for the group. I regularly close lots of windows from the taskbar when I finish working on something, going down the line and purging stuff I don’t need anymore, but I can’t do that with this behavior.

The weirdest thing is, if you go into the Excel window (with the documents “maximized” like normal, not in a non-maximized state like the screenshot) and hit the “X” for the whole outer window, only the top document closes.  So basically none of the normal “close all of these windows” actions works at all.

Adobe Acrobat Reader is exactly the same, except the “X” closes everything, which is also somewhat annoying if you had multiple PDFs open and intended to just close one. (I tend to forget an app is MDI if I use it 100% of the time with the document sub-windows maximized, like I imagine most people would.)

The weird part is they seem to have gone out of the way to make the programs behave like this half-single, half-multiple document chimera, as usually each main window gets its own taskbar icon.

void SHilbert::Update(float delta) {

January 9th, 2008

Okay, so the semester started again and now I don’t have as much free time anymore. Which is not great, because when I had free time over winter break I didn’t get much of anything done. Current project statuses follow:

PLATFORMER.

I didn’t work much on this over the break. My laptop is running Linux now because the poor thing is dying and somehow it seems to work alright with Ubuntu (as in, it only freezes intermittently, as opposed to Windows which can’t get through the installer without bluescreening.) So, being that I was away for the majority of my break, and thus using my laptop, which runs Linux, I didn’t get much done on a game that uses XNA. I have done a little more design work but it’s mostly on the silly kinds of details I worry about that noone else is interested in. I’m hoping that eventually I’ll get to a point where I can release a demo (or at least a video) every month or two of the progress, it’ll depend on how classes go.

PORTAL TURRET.

Not a whole lot since the last update. I have some more details worked out for motor control but it’s still all basically resting on fabricating the body at this point. I am going to talk to someone at NCSU about using the school of design’s CNC router to do this. I am also still unsure about how the thing should be controlled - complete autonomy is sort of boring, and adding a proper remote control unit would be a giant pain because I’m not that great at electronics. Besides that, the rest of it is just details, hopefully.

SHILSCRIPT++

I got some work done on this over the break. I’m working on static checking for expressions right now. Basically I need to clean up the classes used for types and implement some kind of overload resolution function. I haven’t implemented overloads yet, as expression static checking isn’t even done yet, but the C# spec defines the available builtin operators in terms of function overloads, and that seems like a clean way to do it. Hopefully I’ll get to codegen sometime this century. Other things that are outstanding are storing location information on AST nodes for error messages with actual locations, and adding memory tracking so I can make sure there aren’t any leaks.

So, that’s the project status. I am feeling kind of crappy recently because I haven’t gotten much of anything done and I feel like I’m atrophying just sitting here not coding anything. Usually when that happens I open up SS++ a little or think about tinkering with FE or low-level rendering, but never get around to it.

HOLIDAY STUFF

I got to see Tim while I was in California. He’s pretty much always up to something and this time was no exception. Here is a brief list of things we did:

  • Spent forever trying to get Defcon netplay to work on a hotel wireless network. Once we finally did get it to work we found out my laptop hard freezes a few minutes into the Defcon stage, so that was kind of lame. Next time I am going to just bring a wired switch so I don’t have to start considering scavenging a hotel ethernet cable to make a crossover cable. Oh, and get a new laptop that isn’t subtly broken.
  • Watched Tim do some parkour crap in public places. I am pretty sure somewhere there is a little kid jumping off his roof because he saw a little Asian man do it at the park.
  • Walked around in downtown Pasadena while everyone was sitting on the roadside claiming spots for the Rose Parade. We were looking for some bizarre kind of shoes Tim wanted but the closest he could find were freeking expensive.
  • Played Megaman X ‘together’ by exchanging the controller. I totally beat Sigma on the first try. I wasn’t so hot at Mega Man X2, though, I had to actually use the boss’s weaknesses against them. :(

The whole thing made me really want to work on FE more, despite already having too many projects and not getting any work done on any of them.

Also, apparently captchas (or the captcha I added) aren’t good enough for comment spam protection, let alone trackback spa protection. I am really getting tired of this.

Portal Turret begins

December 20th, 2007

My evil plan to build an actual sentry turret from Portal is coming along smoothly, as my Arduino and parts from Digikey came in the mail. I already have the audio IC working, controlled with serial commands from the Arduino, and the eye dimmer working using one of the PWM pins. Crappy low-quality video from my cellphone, including crappy low-quality sound:

Sprites!

November 22nd, 2007

Getting some stuff done for Platformer:

Lenny sprite

And a work-in-progress run cycle (tail not totally done yet):

Lenny running

EDIT: Updated running anim a little.

Best “replacement” part ever

October 17th, 2007

So, my parents ordered a replacement broiler pan for their oven from GE. This is what a broiler pan looks like:

This is what we got:

The part number says NEV202DXFU. According to Google, it is an air conditioner part. On top of that, it’s almost solid copper.  Bizarre.

Dammit, HP

September 11th, 2007

I am pretty sure I do not need this many processes to use a network printer.

How to make a NEXT GEN CONSOLE TITLE

July 25th, 2007

STEP ONE: Create your characters. You can choose from a wide range of possibilities, such as muscley guy in the military, or the other extreme, muscley guy who is a mercenary.
STEP TWO: Choose their heads. Flip coin to decide of head is shaved.
STEP THREE: Attach form-fitting futuristic body armor. This step is extremely important!
STEP FOUR: Profit! (Unless you’re Silicon Knights, in which case: Lawsuit!)

Why don’t you try the white?

April 6th, 2007

I wish this kind of thing happened to me in delis. The guy even looks a little bit like me. There’s a whole series of these, if you look at the related links, too.