Great Northern Road and friends · 6 days ago

Laura and I have been running a Minecraft server for over a year now, with a small group of friends, and we recently all took to documenting all the stuff we’ve been making over on tumblr. It’s nice to see how our world has evolved over that time. The name comes from one of the early roads we made, which defined a lot of the pattern of growth over time.

It’s been really lovely to see what a small group of friends have built both individually and as a group. When I set the server up for Christmas 2010 I didn’t imagine it’d be still going today and the wealth of things we’d have produced: as big a replica of the Eiffel Tower as minecraft will let you produce, a scale version of the Tyne Bridge, the starlings of a city made up of tens of sky scrapers. You can see the world as it stands today on this map.

But pictures weren’t enough for one of our star residents, GlasgowDave – he went above and beyond with this video featuring most the primary sites on our server, and clearly spent quite a bit of time matching the visuals to the tune :)

Minecraft Jump Around, Inspired by the endlessly jumping sheep of Minecraft.

(I’d embed the video, but photo bucket’s embed player requires flash alas)

Comment

User experience versus Developer Experience · 13 days ago

Mobile apps make a great compliment to webapps – given a user freedom to keep using your service when out and about. It should be a case where everyone wins – services are more likely to be used, and benefit from happier customers and recommendations, and users get to do what they want when they want.

A great example of this is, of course, Twitter. Twitter apps on iPhone were, for a period, one of the most exciting places in app development, with competition causing all the different apps to try and out do each other, bringing some nice UI innovations along the way. We take pull-to-refresh for granted now, but that was born out of the Twitter app wars. These apps became a joy to use, so we’d use them more often, and thus we all tweeted more. Everyone was happy.

But those days are gone, and we’re seeing a worrying regression in terms of UI for social media apps. No longer are they making the user experience better and better: they’re making it pro-actively worse than it was before. And I think we can bring it down to people optimising for Developer Experience over User Experience; DX over UX.

Take the current Facebook app, which is the worse offender at the moment. Like a lot of these apps (I’m looking at you too Google+) it is not an honest native app – it is basically a little browser window dedicated to looking at Facebook. The UI is not native, all the content comes from Facebook’s website as HTML, and is rendered using webkit on the client, ignoring native controls in the process. This makes such apps feel a little alien. Even during the great UI battles of Twitter clients, the interfaces we all luciously native – they responded to touch beautifully, and kept at heart what it was that made the users of that device pic that platform.

Using webkit for custom UI components is not something I frown upon generally, I’ve done it myself, but when it’s used to replace stock components with a poor substitute, I begin to worry. This is great for the developer experience – the iPhone version of the app, Android version of the app, the Windows Phone version of the app all look the same and share the same code. It’s a total win for the developer. But as a user, it’s the opposite. Users pick a platform, particularly iPhone users, because they like the way that platform works. By making your app a cross platform webkit experience you’re telling the users you don’t care about their platform preferences – it’s the developers preference that counts more.

But so what, you say, it’s a mild UI critisism, why get so worked up about it. Because the worse is yet to come.

When I use an app on my phone expect it to work whether I’m online or offline. Look at the standard apps on your phone – email client, text messages, notes apps. They all work when you have no mobile or wifi signal. Sure, you can’t send or recieve new mail, but you can read your old mail – which is a hugely useful feature, and in fact I’d say a vital feature. Say you’re trying to find where you agreed to meet someone when you’re out, and have no mobile signal. No problem, your phone still has that email or text message with the venue stored somewhere.

Now try use the Facebook app offline – it’ll just display a sad smiley and say it couldn’t reach the Internet, and we should try again. I hope your hypothetical friend that you arranged to meet via Facebook likes waiting.

Last time I checked, all the principle mobile platforms had this crazy thing we like to call “storage” where you can, get this, store things so they’re available later. It’s not hard – we’re been storing data for quite a while now. But in the rush to make their app more flexible when they want to change how Facebook works, this means all the content is formatted on their servers and sent down each time you want to display it. So when I’m in the middle of nowhere, and want to check where it was my friend said we were going to meet, it’s like being back in the dark ages. I can’t get access to information I already accessed once on this device.

Ask yourself that question again: did they optimise for the user experience here, or the developer exeperience?

And this is a regression – it’s not like they’ve just not had time to do this. The Facebook app used to work like a native app, where it’d use regular compents (a bunch of which they open sourced) and would store things so they could be read later regardless of your network status. Facebook have taken a step backwards here.

I’ve no problem with Facebook wanting the flexibility to change the flow of their app without having to make users redownload the app each time, but the way they’ve done this is, quite frankly, poor. They have a huge wealth of talent in that company, but it seems that talent isn’t in charge of designing their mobile apps, which is a shame.

It’s very easy as a developer to optimise for the developer experience over the user experience, and it’s something you need to fight to maintain in any project, but it’s worth the fight. When I’ve managed development teams I’ve always tried to maintain that view – our job as developers is not to do the easy thing: we should be doing the hard things so the users don’t have to. That’s what they pay us for.

Of course, we don’t live in a perfect world with infinite time to build the perfect product, so often the UX/DX trade off is a comprimise, but it’s hard to accept that excuse when apps like Facebook’s have had these features in the past, and have now lost them.

One of the best things that’s happened in the last few years is UX seemed to be winning over DX. The whole output of the Twitter app battles was better and better UX. It’s very sad to see the tide turn the other way.

Comment [5]

Where to go for coffee · 36 days ago

Over the years, for some unfathomable reason, I seem to have gathered a reputation as someone who drinks coffee, and nice coffee at that. One side effect of this is people often ask me to recommend coffee shops that might provide them with nice coffee.

At the moment it seems a particularly good time to be trying to find good coffee out there – the standard of coffee shops seems to have shot up in the last couple of years (or, perhaps, I’ve only just noticed it). So using PlaceWhisper I’ve put together a little collection of places I like to go at the moment:

There’s a bigger version on its own page over here.

Some people might point out I’ve missed some obvious places, and indeed places they might expect me to recommend. The choice is limited to places I’ve been in the last year or so – I knew lots of great places in Glasgow when I lived up there, but it’s been so long since I hung out there I have no idea whether such places are still open and what the coffee is like now. I know my taste in coffee changes over time, so these are places that I rate today. In particular, most of these places are third wave coffee joints, which is what I like to drink at the moment.

If I’ve missed somewhere out, do let me know, and I’ll schedule a trip :)

Comment

American Power · 76 days ago

If you’re down at Albert Dock in Liverpool, then I heartily recommend the Mitch Epstein: American Power exhibition at the tiny Open Eye Gallery hidden in the new black monolithic buildings down that way.

It’s a small exhibition of photographs showing the impact of America’s need to generate power on the local environment – ranging from coal, to hydro, to wind. The photographs are printed in what I’d guess is six by six foot prints, revealing lovely amounts of detail in the landscape and buildings (at a guess, I’d say he’s armed with a high end Hasselblad to get these wonderfully detailed photos).

A couple of the prints actually remind me of Storm Thorgerson – the scenes have a slightly surreal touch, mixing the everyday landscape with the otherworldly appearance of wind turbines or whatever, all captured with a similar vividness.

There’s a website for the artwork, but it totally fails to get across the power of the photographs when compared to these large prints. If you’re in Liverpool and like photography, then I really recommend seeking it out.

Comment

Virtual photography · 95 days ago

Much to my surprise, I’m having lots of fun with Forza’s photography mode. They’re not the first video game to put in a way to capture and upload screenshots, but I think two things set it apart. First is the subject – photos of cars in forests etc. are much more tangible than photos of space marines blowing each other up. Its something that people can relate to more readily, so the interest in taking pictures to share is much greater, even if you’re not a car nut. I don’t really know much about cars, but can see the aesthetic in them readily.

But second, and more interesting, is the controls the photo mode in Forza gives you, such as exposure, aperture, camera speed, and so on, giving you a similar creative control over the resulting picture than anything I’ve played with before. Indeed, it gives me the same controls to fiddle with that I do on my Canon DLSR most of the time.

This means you’re not just taking a screen shot, you end up doing actual composition of your photo. It’s not just finding the right moment, but it’s also getting it to look right, both in terms of scene setup and camera setup, and as such tickles the part of my brain that real world photography does. Not that this is particularly new – the machinima community have been making excellent films with video game engines for ages, but this is the first one I’ve used that has these camera options.

I’ve only done a bit of playing with it, but some people have made some incredibly realistic shots with Forza, some of which I’m sure could pass as real at first glance.

Anyway, I’ve been taking lots of pics, trying to see what I can do with it. I suspect they’re a bit like baby photos, and only really of interest to the parent, but I’ve put them up on a Tumblr for Digital Flapjack Racing if anyone wants to see more.

Comment

Open data and video games · 96 days ago

In amongst all the wonderful talks at this year’s Playful was one that touched upon something that’s been bugging me recently – that despite all the open data that’s happening from the real world, there’s not enough coming from the play world.

Paul Rissen’s talk was about the lack of linked/semantic data from the video games world – why couldn’t he get references to scenes in Red Dead Redemption to link them against the scenes in western films from which they draw inspiration, letting you hop back and forth. But I think Paul’s covering a very specific instance of a more general problem – we generate lots of data when we play games, that we should be able to own, but instead is locked away from us.

For an example of this done right, then take a gander at my profile on bungie.net, where you can find lots of data about the Halo games I’ve played. Since Halo 3, which was released in 2007, Bungie have been recording stats about all your games: how many baddies you kill, whether you won or lost that online match, heat maps of where you killed/were killed on each level. Wonderfully rich amounts of data for you to go and examine. With their last game in the Halo franchise they even added an API for you to programmatically access those stats.

Alas, this is the exception, rather than the rule.

Take another Microsoft Triple-A title, Forza Motorsport 4, which I started playing recently. Given it’s a top of its class game, you’d hope there’d be something similar. But just head over to the equivelent profile page for me on the Forza website and see how bare it is. You can’t even see my achievement list for some reason, despite the fact I’d gladly share them with you, if I can find how to enable that. But where are the total miles driven? Where are the cars I’ve drive? Where are the races I’ve won and lost? I generated all that data, surely it’d be nice to have a way to access and preserve that data which is mine?

The reason I use Forza as an example is I actually did want to do a hack around my Forza Motorsport data. Whilst chatting to James Smith at Over The Air, we were chatting about hacks that could make carbon data more tangible, and I thought it’d be a nice thing, given AMEE have the emissions data for most cars to make a web page that described the virtual carbon output of your Forza career. Those of you tootling around in your reasonably priced car would have a better fun to carbon ratio than those in a MacLaren F1, and we could have fun seeing that. Sure, it’d be a crude approximation, but it’d be something nicely tangable for you to interact with. But alas, there’s no data.

James, on the other hand, did a similar thing with Minecraft, which, whilst Minecraft is not open officially, is easily hackable, and produced an excellent mod where your environmental impact is measured (burning stuff is bad, planting stuff is good, and so on) and the in game weather system adjusted to reflect the consequences:

A great little hack, and only achievable because Minecraft is sufficently open that you can take your data from the game and act upon it. James’s example works in real time, but I’d argue that whilst that’s nice, it’d still be interesting if he could only get that data after the fact.

I’d love to see lots more like this, but to do that we need more access to the data we generate. Games make excellent interfaces for such experiments, and they’re one of the few activities we do where every action can easily be logged and referenced, if only people put in the effort. Video games are now firmly entrenched as part of our culture, so they make an excellent way to explore different interactions – be they serious or silly – with the real world. It’s just slightly sad that the insight seen by Bungie four years ago hasn’t been applied to a wider range and variety of video games.

Comment

Listening hour · 99 days ago

Chatting to Quentin over lunch we touched on the topic of what podcasts we listen to, and how it’s usually only by word of mouth we find out new ones, so I thought I’d share the ones I listen to mostly.

  • Hypercritical and Build & Analyze – these two podcasts fill a similar niche, but thanks to having different hosts they don’t overlap hugely in content. Hypercritical features John Siracusa, he of the infinitely long Mac OS X reviews on Ars Technica, and B&A features Marco Arment who writes Instapaper. Both cover topical Apple/mobile/tablet/web issues mostly, with an obvious programmers slant on things. If I had to pick just one, it’d be Hypercritical, but I do enough getting to and from places a week I can fit both in usually.
  • The Talk Show – kinda similar area to the last two, but hosted by the inimitable John Gruber of Daring Fireball. Techy, but without the programmer’s perspective, so a very useful second opinion to the other two shows. I tend to listen to this one about 50% of the time, as I like Gruber’s take on things, but if I run out of time to keep up with the week’s podcasts I let this one drop as it does overlap with the others a bit. Still, if you’re less into programming but still want to keep up with Apple/mobile/tablet/web, this would be the one to pick of the three.
  • Iterate – a nice podcast about mobile and web design. Usually splits itself half between topical discussion and interview with someone notable. Whereas the first two podcasts here are techy geeky, this is design geeky, something that’s just as important in building modern applications for users, so I definitely rank this as a must listen for me. Comes out about every other week to, so easier to slot in between the relentless 5by5 releases :)
  • Monocle Weekly – I must confess I’ve fallen behind on these ones since I no longer commute as much as I have in the past, but I thought I should include one non-techy podcast in here. The Monocle Weekly is a current affairs podcast, and whilst slightly eclectic in scope, is usually reasonably jolly, and there’s a chance you’ll find a good coffee shop recommendation somewhere. Although if you’re the kind of person who gets annoyed at How To Spend It though, probably best avoid.

That’s about it at the moment. Given I work at home these days, I listen to less than I used to. I also have a low tollerance for podcasts that descend into “gee [regular co-host name], tell us about your week” – the reason I gave up on listening to things like MacBreak Weekly (though I’ve not listened for over a year, so it could have got better since then). It makes you realised the difference between professional broadcasters and people with a microphone and some bandwidth. Compare and contrast your average podcast with something well produced like Click on the BBC, and there’s a world of difference.

If you have other recommendations do let me know. I’m missing a good games podcast since the Bungie crew went radio silent after the release of Reach.

Comment

Cloudy with a chance of Ewoks · 103 days ago

Since the early days of my time at Camvine, we’ve had a screen in our kitchen at home showing all kinds of random stuff, and I’m always on the look out for something interesting to put in there. So I was pleased to discover Tom Scott’s Star Wars Weather, which nicely summarises the weather by comparing it to one of the many monoclimatic planets in Star Wars.

It may seem (and, let’s face it, it is) a bit silly, but it does the job surprisingly well. Instead of telling me dry (or perhaps wet) facts and figures about the weather, I can get a feel for the day at a glance – “It’s like Hoth? Well I’d better wrap up warm” and so on. Using random bits of shared culture at times can be quite an effective way to quickly get across data.

Comment

On the track · 104 days ago

For a while now I’ve been looking for a good car racing game for the Xbox 360 to replace Project Gotham Racing 3. PGR3, was a good mix of fun, challenging, and great visuals. Since finishing that I’ve been bereft of such a game: PGR4 traded fun for realism; the Gran Turismo equivalent for the Xbox, Forza Motorsport, seemed all realism and no fun; and anything with “Need For Speed” in the title was generally not my cup of tea. So I gave up and just played yet more Halo instead.

That changed however when my good friend Dave visited last month. Knowing he was a car enthusiast, and a big player of Gran Turismo 4 on the Playstation, I popped on the Forza Motorsport 3 demo to let him have a play. What we did during that session was turn off most the assists that are on by default, and suddenly the game came alive. It was more realistic and more fun at the same time, which was an epiphany for me in this sort of game. So I duly went down to my local Game and pre-ordered a copy for Forza Motorsport 4, which was then due out in a month.

A month later and a couple of days playing, and I can say I’ve not been disappointed with the full Forza experience – it does a top job of blending realism and fun.

I was initially surprised to see there was next to no manual with Forza 4, but instead the mode eases you in with a simple tutorial (with all the car assists on) before giving you the main menu. It’s a nice approach, and reminiscent of the approach mobile apps, which of course have no manual, have to approach. Lots of games have tutorial progression, but this was done much more seamlessly. Nice to see console games learning a trick from mobile apps.

The game itself is just beautiful (all the pics in this post are of me tootling around the game), and the breadth of tracks and cars amazing to someone like me that’s not partaken in such a game for several years. What is nice is that the developers, Turn 10, have taken a somewhat inclusive approach – trying to reach out to people like me that enjoyed the less serious PRG series (with autocross, and car bowling and silly games) and the serious Gran Turismo style fan. It’s not often that a game has something for everyone, but I think Forza does (assuming you like cars at all).

From a geek point of view, there’s some nice technical innovations in the game that I like, mostly around Kinect integration. First up is head tracking. If you watch most people play games they weave around in their seat as they play, trying to physically will the game to respond. Forza 4 takes advantage of this to try and solve the problem that always besets car games, which is limited field of view. As you twist and turn in your seat, Forza will pick up on that and look left or right appropriately. It not only opens up the road a bit, but makes the whole game feel a bit less static and more immersive. It’s not perfect, I’m still trying to tweak the setting for it to have it consistently pick my movements up, but when it does work it’s awesome, and when it’s not there I miss it.

The other interesting using of Kinect is the quick play options, where you (and optionally a second player) can do away with the controller and stick your hands out and pretend to drive, just like kids have (I assume :) done since cars were first invented. Pretend to steer left or right and the car does that. It’s clearly not practical for a heavy simulation game, but it’s a fun addition that lightens up the game, and lets you just dive into having fun.

Not being a car nerd (I’m a nerd in lots of other fields, just not cars, sorry) I can’t really comment on the accuracy of the simulation, but it feels very good. Your car will slide over the track, late breaking leaves you going off the track rather than round the corner, etc. It certainly feels right. I’ve love at some point to try it with a wheel and pedal combination rather than a controller to see how that feels, but even with a controller it does convey a nice sense of hurtling in a large metal box (mostly) attached to the road by some small patches of rubber.

Another nice innovation is asynchronous multiplayer. Like most game, Forza has synchronous multiplayer, where you and your friends (or total strangers) can race each other, which is all well and good if you have lots of free and/or flexible time, but if you have to work or do other such things, such time can be limited.

So in Forza 4 is a new mode called Rivals, where you compete against the recording of your friends playing the same game type on the same track. So I could set a hot lap on Laguna Seca, and then you could come along and plat against a recorded ghost of my hot lap, trying to best it. If you do, then I can get to see your hot lap and try and beat it again. I think it’s a fantastic way to make the game play more sociable for those of us with otherwise busy schedules.

Anyway, if you at all like car games, be they serious or silly, I can highly recommend Forza 4. It isn’t perfect – I felt it was a bit too easy to unlock the insanely powerful cars, and the head tracking isn’t just pick-up-and-play ready, but all in all I’m having lots of fun with it, and I can see it keeping me entertained for a good while to come. And given the new Rivals mode, I hope to see at least some of you on the track – I’m currently to be spotted whizzing about in the Digital Flapjack Racing MX-5 :)

Comment

Previous