The Life and Times of Brock

I talk about my life as a geek. You love it.

More Honours Considerations

So I haven't been keeping this blog updated. It's bound to happen with all blogs, eventually, unless there's a strong readership or a series of comments that make their way through here to push me into updated more. Or I could just keep it updated more to make me more interesting to future employers.

Anyway, I had been considering scalable interfaces, focusing specifically on touch-based interaction. Sure, I think touch-based interaction is The Future (2010), but I've also realized that Microsoft, while they get touch (which explains why Windows Phone 7 is so sleek), their fantastic Kinect product moves into the gesture group of their concept of a NUI, or Natural User Interface. However, to try and explain what a natural interface is, is incredibly difficult. Just ask these guys. The main problem, I believe, is context - what is natural to one person is incredibly unnatural to another.

The NUI Group are against the GUI because it requires a process to be explained and learned first, and then implemented or adapted into action later. They want people to essentially walk up to a device and understand how it works immediately. Whether this will be possible or not is another debate. For the record, I don't think it will, because a truly intuitive interface is based on previous familiarity - for example, in the paper I just linked, he explained how he saw a person first used a mouse for the first time ever, and got it wrong on several accounts. However, once that process was learned, it was (relative) smooth sailing. Even an interface like Microsoft's Kinect requires people to cognitively understand that their action has a reaction on a computer, even when they're not touching it. Also, for some people, walking up to their TV and pressing the buttons seems natural, yet it will entirely not work. In the future, the idea of the NUI will essentially become a mish-mash of many types of interaction that can all do roughly the same thing, but some are better than others. It is up to the individuals to decide upon what they believe is the most natural interface for them in that context.

I know that, in that last sentence, I placed italics on quite a few different portions there, but they do matter; each individual must look, understand, process, and then finally carry out their actions for every computational interaction (or any interaction, for that matter). Whether that's considered natural or not will be decided then. I personally think people will still complain about something when that time comes, though. People tend to.

Regardless, I'm moving further from my point. So I'll dive straight back into it:
I started thinking, if I were to do a survey of some sort, what questions would I ask? After some thinking, I was curious to ask people what the working desk would look like in 2010. Generally, we've been notoriously wrong when predicting future interfaces (according to some sci-fi movies, in the future we will all use FaceTime (or another variant of face-to-face chat), in every situation, including the car), and how they would look, and how they would feel. This is because I'm interested in text input, software keyboards etc. in a touch-screen world. If by 2025 everyone uses an Internet Tablet and does all their technical writing on that, how would they do it? Writing recognition? Wouldn't that be less efficient? Wouldn't that be going backwards?

It seems, as we inevitably make our machines easier to use for the general populous, their advanced features start to become more and more difficult to utilize. How do we strike a balance? Just have two devices - one for general stuff, the other for customization and advanced things (such as large amounts of text input)?

I think what we're looking at here is context. Context matters. Context is everything. A mobile user's context is different to a TV viewer which, again, is different to a desktop user, and so forth. This is not just in the form of input mechanisms (remote control, touchscreen, mouse + keyboard etc), but also their state of mind, their location in the world, their comfort, their social situation, their connectivity to the Internet, and so on. This all matters, and needs to be taken into account.

So this lead onto my idea of Scalable Interfaces. I think I should possible describe it as Contextual Interfaces.

Essentially, they start off small. They learn about the user and what they like. Google is already doing this with Web History and search suggestions, and also their Stars--of which I still have no idea how they work (are they just a contextual pseudo-bookmark?), I just hope they do. Very few others are really going deep for a contextual approach (unless you consider Facebook, Twitter, Gmail's Priority Inbox etc contextual as they show more relevant information readily etc). While these systems have the ability to learn a lot about me in a short space of time (the data that can be scraped off a single user's visit on Facebook would be enormous), they want consistency between users. Of course. It makes it easier for the designers to create a website when every user is practically the same.

For example, computers have several input devices that are severely under-utilized for various reasons. Sometimes, even if my phone (or tablet) was set to leave its screen on for 10 minutes, I think I would like it if it could snap open the front-facing camera for a quick second, have a peek out to see if it's being used, and turn itself off. Now, there certainly would be other contextual problems, such as if you're using its screen light as ambient light for other things. But if such a thing happens, and you don't want it to, you should be able to scold it (tell it to stay on etc), and it won't do that as readily as it normally would.

That's a simple complaint I have about my computer, tablet, and phone, and other devices; they don't look at me, or listen to me, at all, even if they have the capacity to.

This is where the creepy factor may go too far, and some people won't appreciate it.

I want my computer to be able to see where I am in the room. If I'm sitting on my chair, that's fine. But if I go to lie down on my bed, the text suddenly becomes too small, and unreadable. This is obvious; the further away we are, the harder it is to distinguish small objects. But what if said objects knew I was a distance away and changed themselves accordingly? Or showed more contextual information depending on your distance? If I want to read text from bed, I shouldn't have to have two users with separate text-DPI settings and change from one to another when I want to watch a movie without getting out from my bed (on cold mornings especially). I can currently use my Logitech MX Air Mouse (which is very nice, mind you) to turn my monitor on and try and find the music I like - but the text is small and unreadable, I've just got to hope that I can squint and read, or recognize the album covers. Why do I deal with this? My software should just know that I'm in my bed and change itself accordingly. The icon changes larger when I use the MX Air, but nothing else, because it has nothing else to base itself on.

Contextual uses of technology can go in other directions. My Microwave should have a tiny camera which sees if a person's there. Hell, even add some facial recognition. If you cooked the food, it will recognize you as The Cooker, and if you are in its field of view when it's done, and facing it, it will make a quieter sound than if it couldn't see you at all. If it could see you, but not recognize your features (i.e. you're looking away), it will make a medium-volume sound to alert you.

So there you go. My idea to tackle: Scalable, Contextual Interfaces.
Posted

Seabird: A Mozilla Labs Concept Series Phone

By now, the stories around the web are far and wide on the new Mozilla concept phone called Seabird. If you've not read, you can see it on the following link: https://mozillalabs.com/conceptseries/2010/09/23/seabird/

And it looks sexy:
Seabird Concept 1

It uses Android (but only looks like Eclair; would like some Froyo love to make it look more modern), and has some interesting things, such as the concept of dual pico projectors for keyboards.
Seabird Concept 2

Seabird Concept 3

While these both look cool and will undoubtedly give you awesome bragging rights to anyone you showed this to, I'm not sure exactly how comfortable these will be to use. Soft keyboards (touch-based, software keyboards) have a problem of usually being too small, and the fact that your finger covers the keys, but the problems on a projector-based keyboard is that it removes Haptic feedback (something that comes in handy on nearly any type of touch screen), and that the surface it's on will still be entirely flat (depending on what it's on). Also, it has problems with camera input, in that it's capable of multitouch (it uses a basic camera, after all), but it has trouble differentiating between fingers if one goes in front of the other. For the upper picture (split keyboard), I can see overlapping fingers being a real problem. Of course the software developers can just go the Xbox Kinect route and develop fingers as bone structures and try to internally render where it believes the fingers to be touching.

For most words, it won't be a problem. But if we get words that use multiple keys on a single line, such as sad, agree, typewriter, among others, will become quite annoying, and force users to make exaggerated movements when typing (those who employ a two-finger typing scheme - a slower typing scheme - will ironically be least affected by this technology constraint, I'm guessing).

I think that Pico-based keyboards need their own input style also, similar to the concept of Swype (using a gesture to trace a word's path on a keyboard). The projector could map out the path (even offer a line trailing the finger). The good thing about using this type of soft keyboard is that the keyboard size and way it functions can change on the fly, and offer word suggestions as part of the projector (instead of using valuable screen real-estate for such things).

However, my big problem is seeing a full version of Windows 7 running the Firefox browser coming out of a projector. I'm not sure if that's an RDC client running through the phone or what, but it's a tad unreasonable to assume it could run a fully-blown OS like Windows alongside Android on a phone.

Seabird Concept 4
While that's certainly a nice looking phone, I don't like that it has a Mini-USB and not Micro-USB. Mini-USB is the past, whereas Micro-USB is the future, is thinner, and much more durable.
Look how sexy the right one is, in comparison.

Another thing that I'm not so sure about is how top-heavy it looks. The bottom of it looks rounded, and therefore unstable when on a flat surface. Also, it doesn't seem to be the most comfortable of devices when reaching for the top-half of the screen (something Android users tend to do quite an amount, with the slide-screen notification bar at the top).

Still, the concept is cool and it's amazing to see what geeks with a certain kind of passion and finesse for design can create. Certainly, go and look at the video posted on the site, and tell me what you think.
Posted

The Infamous Tablet Computing Interface

So the iPad came on sale the other day, and has sold huge numbers and generated massive amounts of hype. The computer is a tablet, or a slate, which is a form factor that is designed to sit squarely in-between smartphones and laptops.

The world was split the day the announcement came out. Half of them (mostly first-gen iPhone users I’d be willing to bet) praised Steve Jobs on his incredible vision of the future, while many others gave it one massive ‘meh’. The concept of this computer is designed so that anyone is able to use it without much hassle, even people who haven’t used computers before.

But for power users, it’s not exactly their type of beast. I couldn’t see myself scurrying off to spend a minimum of US$500 on this type of device, in that it lacks what I want of my computers: multitasking (background processing) and access to some sort of file structure.

Firstly, due to the small screen size and limited processing capacity of the iPod Touch and iPhone, it makes sense for a user to only want to be running a single application at a time. Using too many applications drop battery life significantly, makes programs run much slower, and there is also the idea of switching tasks on such a small screen which is difficult to fathom (from the Windows Mobile- and Android-based devices I’ve seen and used, it’s failed quite considerably, though apparently the Palm Pre is quite elegant in multitasking). However, in a screen that is 10 inches, people would assume there would be room to have some type of dock on the bottom that would allow for task switching. But it wasn’t so.

Secondly, I want to be able to access the file structure of programs. Apple has moved away from the old ‘Explorer’ interface where everything is controlled by apps, which exist in a form of virtual vacuum. Sometimes I want to share files between computers just by dragging and dropping, and not having to go through some intermediate middleware that nobody really needs that much (I’m looking at you, iTunes!). I would like to be able to synchronize Live Mesh with my tablet, and be able to access and edit those files from anywhere, but it’s not so. It must be done through some sort of intermediate app.

In other news, Microsoft released details of their concept of tablet computing, which is basically the antithesis to Apple’s iPad, named the Microsoft Courier (which is a far better name anyway). Gizmodo went on to blog about the Courier and basically what it does, where it’s headed, and how it’s used.

http://cache.g4tv.com/ImageDb3/177127_S/Microsoft-Courier-Revealed.jpg

Rather than being a single screen tablet, the Courier establishes itself in an incredibly nice metaphor of a newspaper, booklet, or journal, which automatically enables multi-tasking—the ability to use several apps at a single time. While one screen is using the web browser, another one can be taking notes, chatting to friends, looking through photos, playing music… the list is endless. I assume that, by the video posted below, there will be some pretty handy gestures that we’ll end up using to change applications.

 

The main movement that these big companies are trying to do, is that they’re trying to extend this metaphor of invisible computing: not necessarily that the computers themselves can’t be seen, but that they are not noticeable distinctly as computers. The way the iPod market is, I would be willing to bet money that only a minor percentage would consider any iPod a ‘computer’, because of the basic things: no keyboard, no mouse, it’s either worn, or carried in a pocket, and isn’t used in the same way that a ‘regular’ computer is used. The punch-line is: these companies want us using computers without even realizing we’re using computers. Hence why there’s such a strong attraction to the Microsoft Courier: we are all familiar with books, pens and paper, so why not just digitize what we are familiar with, in a familiar way?

If we are talking about invisible computing, why not just give a quick mention to the Microsoft Surface?

microsoft_surface_main

Here, the basic idea of having a coffee tablet as a computer is incredibly appealing (as much as naysayers would disagree, I’m sure). It uses a strong metaphor of an actual desktop, meaning that objects in the computer have physics and collision detection attached to them, in a way to trick us into using these devices, not as a computer, but as we would a real-world object. It will even interact with your objects just by placing them on the table.

microsoft-surface

This way, it can be as intuitive and natural as possible. If you’ve got an image on one device and want it copied to the other, place both devices on there, grab the image and throw it to the other phone. The computer will do the rest of the work, which is usually pretty messy work, all the while the user is believing that they actually ‘gave’ a phone an image, which it accepted and took for its own. This is Surface’s idea of using Windows’ File Explorer interface, but with a much stronger visual metaphor running behind it.

* * *

Posted

Touch-based Mobile Games

Okay so the main problem with the mobile space is that it’s currently dominated by touchscreens, and as such it makes it difficult to create first-person immersion in a game.

The technology is near-perfect for games that require an overhead view (such as an RPG a la Final Fantasy), or a third-person view (a la Diablo), where the touch commands can be quite easily mapped and pinpointed. Also, because of gesture-based movements (using the accelerometer) it’s quite easy, and possible, to have racing games.

Casual, puzzle and racing games basically dominate the market. However, now with Final Fantasy I and II on the market, hopefully the RPG market will get heavier (and then eventually saturate, but that’s a story more inclined with economics instead of game ideas).

As I see it, the main problem that people have with touch technology is that they’re still stuck in the days of having either a mouse pointer, a keyboard, or a controller. As such, nearly all games I’ve played that require some type of first- or third-person controls, it will emulate the PS3 and Xbox controllers, essentially having two touch-based ‘joysticks’ on the screen.

The first fps I played on a mobile device was actually Doom for Android, which used a virtual D-Pad (horrible) to move, and a roller ball for shooting (press it to shoot) and moving (roll forward/backwards to move, left/right to turn). All in all, it gave me a bad feeling in my throat every time I played it and tried to like it. Basically from that moment on, I told myself there had to be a better way to manipulate a character in first-person.

Needless to say, there are problems with the current idea of using touchpad-based joysticks, for a few reasons.

  1. The touch-sensitivity is very broad, especially based on one’s fingers. Movements are very ambiguous, and hard to make concise and accurate.
  2. A double-edged sword: either the ‘joystick’ pads are too far in the middle of the screen, and cause the fingers to take up too much visual content, or they are too far to the bottom corners that it makes it nearly impossible to move it backwards or to the side (on both sides where the edge is).
  3. The pads are usually too big, and take up too much space, or they are made too small (reference point number 1) and hard to use (the optimal thing to do here would be to make them semi-transparent, anyway).

Basically, what I’m saying is that we are using a new input technology, and both the software and our way of thinking also needs an update.

Noting here, Final Fantasy I is using an arrow-based D-Pad approach to movement in the game. It’s not actually that bad because it’s a boolean approach (ie. there are only four points that are either on or off, and not a more fuzzy approach of a joystick-like movement scheme), and that it’s transparent. It keeps the fingers away from the content of the page, while still being easy enough for a user to automatically learn how it works.

The battle screen here is thankfully touch-based, with big, bold icons to show what act a person could do. A lot of thought has gone into this to be optimal for touch devices.

http://images.pcworld.com/news/graphics/167403-iphone-3gs-final-fantasy-7_original.jpg

If we have a look here, it’s an emulator for the iPhone and iPod Touch, using exactly the same controls. I can understand why this is like this (after all, it’s en emulator, not a completely rethought game), but the reason I put this here was to show that this is the mind-set of most developers at the current moment (that is, grab a pre-existing technology, and hack it into a touch-based game. Profits ftw!).

In keeping with my idea of updating the user interface to match with the touch-based device, here is what I would have personally done if I were making an RPG on a mobile touch device (and who knows? I still actually might):

phantomtrainlocomotive1

Of course it would look slightly better than that (hopefully with transparent images around the side that maybe blur the background like Aero Glass, but not exactly destroy the game’s vision), but I’m sure you can catch where I’m coming from here; both hands are used to do an even amount of tasks, and it’s visually taking up less of the main content (the central area) than the version of Final Fantasy above (not that above is necessarily bad, I just believe that this is more optimized for touch). And of course I would try to offer the option of changing back to the other option if the user wanted, but I just prefer this solution.

If the player wants to access the menu, they won’t mind so much if their fingers cover the central area (they are, after all, going to a splash screen). If the player wants to talk, or interact with anything they are facing, pressing the middle part of the screen (with either finger, and the character would start interaction (or fire the event, whichever works).

Also, with exactly the same buttons I’ve got here, I can cause the characters to run (by double-tapping a button and holding it, or pressing both up/up or down/down buttons for multitouch-based devices), or turn but not move (by tapping one of the ‘buttons’ for less than a few milliseconds).

What I’m saying is, this idea fills the criteria for an RPG, while optimizing it for touch by not trying to make it exactly as its last platform was (as in, a D-Pad on the left side, action buttons on the right etc).

Then I started thinking, “why can’t we apply those principles of simplicity to first-person games?” and this is what I came up with:

Quake-2-3D-FPS

Again, simple movement touch-pads that surrounds the main area, stopping the user from obstructing the vision with his own fingers. In order to sprint (if this is a multitouch device), both forward buttons can be used at the same time (and same with running backwards, I suppose). If the device is not capable of multitouch, a double-tap can be substituted on one of the directional buttons. A player can still move diagonally forward (there would be a hot-spot between the side-keys and the forward/back keys which enables diagonal movement), and change weapons quite easily (when the weapon-change button is pressed, the menu pops out—it is not there for regular gameplay). The reload section would have a quick visual interface which would show how many bullets were left in the current gun, and the menu would subsequently pause the game.

I imagine that the facing of the game would either be controlled by the accelerometer (by moving the device itself) or by swiping the finger across the middle, as is seen in most applications.

From here on, the part about shooting the weapon (which even begs the question about why we need so much violence in a mobile, handheld game?): we can choose to press wherever on the screen, and the weapon shoots in that direction, or we could choose to have the weapon honed in the middle of the screen, unmoving. Either way, they both have their own reasons, and I would have to try it out to make a proper decision as to which way I prefer.

In most games, there is the ability to aim ‘down the scope’ of some weapons. This would be handled in the same section of “tap to shoot”, but would be done by holding the finger down for a set number of time. This would cause the weapon to be placed close to the eye, and subsequently more accurate (as opposed to ‘firing from the hip’ as our good friends in Call of Duty 4 inform us). To break from aiming down the scope, one can tap and hold the middle, or just choose to sprint somewhere (as mentioned above).

So basically all I need to do now is create a prototype of this. If someone is reading this, and such an interface already exists on a mobile device, I would like to know to try it out and see how it works (if it does, come to a realization that I’m in over my head here and quit, and if it fails, pretty much radically change my ideas and release a Family Guy-based jigsaw puzzle—Either way it’s back to the drawing board).

Either way, tell me your thoughts.

Posted