28 Dec 2006

Ruby on Rails comes to Brighton

Its good to see some activity in the local Ruby on Rails community down here in Brighton. The place has always been a hub for traditional Web design and development, but up until now it has been hard to find Ruby aficionado's who you can enjoy a beer with. Thankfully it looks as though this is about to change - James McCarthy is organizing a usergroup event down here in Brighton, aimed at hardcore Rails enthusiasts and novices. See you there!

Brighton Ruby usergroup meetup (A meeting of Ruby on Rails novices and professionals in the Brighton area) [2007/01/09 19:00 to 2007/01/09 22:00]

24 Dec 2006

5 Things You Don't Know About Me

Firstly a big thanks to Dave Child for the cookie, hopefully it was oatmeal and raisan! For those of you going "huh?", I have been blog tagged, a game started by Jeff Pulver which seems to be spreading quite quickly. The object of the game is to reveal 5 things about you, which most readers probably don't know, then nominate 5 friends to do the same. If they don't reply within 48 hours, then they will loose 5 fingers in a horrible goat-related accident. (Okay, that last sentence was a lie).

  1. One Christmas, at university, I painted myself green and dressed up as the Grinch.Unfortunately I don't have any photo's handy at the moment (when I get home I shall have a dig around on my other computer), so for now, enjoy this lovely picture of one of my best friends. Grinch picture located!

  2. I've actually been an extra on the Catherine Cookson TV Drama, The Rag Nymph. I was 14 at the time, and got the day off from school. If you happen to have the DVD at home, I'm the delivery boy in the last scene who takes the bread from the woman from Byker Grove, puts it onto the cart and pushes it down the street.Extra work was fun, in that you get paid alright for doing very little, though it did have the tendancy to get repetitive. If any casting directors are reading, I'm looking for an opportunity to move on to a more challenging role - drop me an email and we'll see what we can do! Available for anything from Mr Muscle commercials to love scenes with Scarlett Johansson.
  3. Earlier this year I bought myself a lovely new Macbook, making the switch from Windows. I haven't looked back.
  4. One of my favourite jobs was when I worked at Klute nightclub in Durham. A place that can only be described as a garden shed packed with people dancing to really cheesy music. Working there, I learned to appreciate 80's cheese!It was voted 2nd Worst Nightclub in Europe by FHM Magazine. The worst nightclub, in Germany, burnt down so I like to think we inherited the title!
  5. I'm looking to maybe move over to the USA in 2007, fingers crossed on that one!

Finaly, James McCarthy, Tom Anthony, Andy Mitchell, Sheila Farrell and Francis Berriman; Tag, you're it!

23 Dec 2006

Taking the Wii?

One of the more innovative gifts this year has got to be the Nintendo Wii which promises to take social gaming to a whole new level with its motion sensing controller. But will it end up on the scrapheap with such failed innovations such as the Virtual Boy, or will it rise to glory defeating the Xbox 360 and Playstation 3. Lets take a closer look...

There is little doubt that console gaming isn't really the most inspiring thing in the world - the controller, the nexus for all user interaction, has remained relatively unchanged since Sony released the dual-analog controller for the original Playstation back in the late 90's. Yes, Nintendo tried something slightly different with the shape of the N64 controller, but you can't get away from the fact that aside from Wireless connections, the biggest change in controller between the console generations has been the colours of the buttons! Instead the focus has been on graphical horsepower, with new consoles being able to push more and more pixels in order to make games look more life like and immersive. Enter the Wii...

Sporting something which is more akin to your TV remote, the Wii-mote is fully motion sensitive. The benefits of this are immediately seen in the console's menu interface - no messing around with the analog stick trying to use an on screen keyboard, this is real point and click simplicity, and it works really well. (Although apparently not as well during the festive period!).

The bundled Wii sports game is quite fun, especially with a few friends round, everyone can take turns at taking swings at virtual baseballs and throwing virtual bowling balls. Like the Gamecube before it, the Wii is an excellent social console, with Nintendo's homegrown game lineup well suited to the social setting.

So, whats bad?

Also, the Friends system is horrendous when compared to something like Xbox Live - each console/user has a 16 digit friend code (rather than the friendly nickname used in Xbox Live), and thats not all, apparently every game has its own separate friend code. Its a bit confusing who would design such a system without realizing that asking users to exchange several separate numbers, which are longer than the average phone number, is actually not a good thing at all.

Which console will win?

Too be honest, despite its failings, I think the Wii will do well - this much is already evident in the tremendous launch day sales - but its ability to beat the novelty factor lies in the hands of game developers. The initial line-up fails to satisfy, but thats not to say that in 6-12 months time there won't be some killer games, especially as developers learn to take advantage of the innovative control mechanism. I can't wait to see what they come up with.

22 Dec 2006

Creating a Uniquely Personal Experience

Yesterday it was my work Christmas party - a joyous time of year where you enjoy fine food, whilst also placing bets on which co-workers will fall over first! Its always quite surprising who actually is the first to fall over - its usually the person whom you least expect!

Anyway, we were out in Brighton and after many beers the group began to break up. I found myself with a co-worker in a different bar admiring the projector display on the wall.

Shiney things are great for attracting drunk people, I'd bet that many an alcoholic can be found in the early hours of the morning, staring contently at the glow of show window displays. In this case we were looking at a photo slideshow of a previous event at the venue.

Its nice to look at photo's, especially when filling in memory gaps of the night before, but I couldn't help thinking to myself what is the point? I'm staring at photo's of people I don't even know, and aside from admiring the ladies (actually there seemed to be the same 3 or 4 in all the photo's), there was nothing particularly special about the photography. No cool visuals, just people... dressed in funny costumes... with beer...

Obviously if I were the person in the photographs it might be quite a compelling experience, which is personal to me, but otherwise I'm just going to be looking at strangers whom I have no personal connection with.

Wouldn't it be cool to go into a bar and have a unique experience which is somehow personalized to you and everyone in the room at that moment?

From Flash on the Beach, as I mentioned in a previous post, many speakers had used Flash in conjunction with its Webcam and Microphone support to create interactive art installations, which would respond to the observer - why not take this into the social space? We already have Music visualizers which can generate funky visuals to a given soundtrack, adding a second layer of interaction on top of his could create an even more unique experience.I suppose what I'm trying to say is that I'm going to be doing some Flash Webcam coding over the holidays, but also to designers out there - next time you are designing something, be it a web application or any other piece of interactive technology ask yourself, how are people going to interact with this experience?

What value can be gained by adding the personal touch? In many cases it is something which may require minimal effort, but add a great deal to how users perceive your product. Looking at the video game industry, we see this a lot, wether it be Nintendo's Mii's - customizable avatars which the user can model upon themselves - or games that let you map your face onto the main character's head. Its often a nice touch, leaving user's with a warm fuzzy feeling inside.

Happy Holidays!

7 Dec 2006

User Experience, where are we going?

One of the underlying themes of many of the sessions at Flash on the Beach was user experience and user interaction. Some of the more compelling examples demonstrated an interactive art display, responding to visitors as they interact with a microphone or webcam tied to the exhibit. Other examples incorporated images of the visitor etc. The goal is to create an experience which is unique to each person who views it. These experiences may look similar to each other, but still have an element of uniqueness.

A further example is one of the more recent Samsung mobile phones, where the UI changes depending on the phone's environment. For example, during the day you will see clouds, in the evening, stars will appear on the background wallpaper. If signal strength drops, the sky goes dark. Out of the box, each phone is identical, but over a period of time it becomes customized to the owner.

The question I find myself asking is how can this be applied to a Web application?

We already have some degree of personalization on the web, and many large organizations have vast amounts of customer data at their disposal, which is usually used to target offers and cross sell products to the user. What we are talking about is something more - the explicit purpose is to create an experience, not cross-selling products. There is always the possibility that cross-sell could be worked into something like this, but it shouldn't be the primary purpose.

In many ways the web could potentially allow for much richer customization of applications - you have a lot more data available about your user, both internally (assuming you are some kind of organization with which the user interacts with) and externally (through services such as Flickr, del.icio.us etc).

If you look at a site such as the homepage for American Express, you see a background image of some people walking along a beach. Wouldn't it be cool if it changed depending on my location (so in my case it would be something British... looking out the window, rain would be a good choice!). It could also rotate seasonly, showing snow in winter, green in summer. Why not take it a bit further... why not look at my Flickr account, analyze my tags and determine that I'm interested in Snowboarding - show me a relevant background image. For a company like American Express, you have access to data around my spending - say I regularly spend money in New York - use that information to customise what I see, and perhaps on the side, fill up the page with regional offers.

The difficult task is making such customizations meet some basic criteria:

  • They must be non-obtrusive. An entire website shouldn't totally change just because its 11am, any changes should be subtile , leaving the structure of the site and the brand represented relatively intact. As with the art installations highlighted above, each experience should look similar but whilst still being unique. KISS.
  • They must not require additional user effort. All of this should happen without the user having to do anything - they can't be expected to configure any of this or spend the time selecting the content they want to see.

All of this could make for an interesting web...

6 Dec 2006

Designed for Humans First?

This post was actually inspired by Kyle Neath's article "I just don't get this whole Microformats thing", where the author is expressing his own frustration about the Microformats movement being over-complexified. It really reminded me of one of my pet peeve's on the subject.

Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards.

Now this is the definition of Microformats, from microformats.org, and I really disagree with the first half... Designed for humans first and machines second.

In my mind Microformats exist for a single purpose - as a way to semantically define common data types, from simple data types such as coordinates, currency, temperature to much more complex types such as events, reviews and people. This is done by building structure on-top of existing standards, such as HTML, in such a way that it is transparent to the end-user. This structure is what allows Microformats to be remotely useful - its a means for identifying data so that it can be consumed.

So who actually consumes a Microformat? The sidebar of this webpage contains a hCard, and there are other Microformats scattered throughout the site. Most user's don't know they are there, and even if they weren't, the content would still look exactly the same. So, the user can't really be considered the consumer.If we look at some of the software out there which utilize Microformats, they mostly perform three actions:

  • Detection. The identification of Microformats within a page.
  • Consumption. The extraction of data within a Microformat.
  • Utilization. Doing something with the data.

These are common across many applications, for example, if we look at the Geo Microformat, an application based on that structure may perform the following functions:

  • Detect presence of a Geo within a page.
  • Extract coordinate values.
  • Pass the coordinates to Google Earth for viewing.

Detect. Consume. Utilize.

If we look at another use case:

  • Detect a hCard on a page.
  • Extract hCard values.
  • Import contact into iCal as a vCard.

Detect. Consume. Utilize.

In fact, thats Microformats in a nutshell... Detect... Consume... Utilize... - they make it easy to get at your data, like giving your Web page its own API. Data can become more portable, with it becoming a trivial task to click on a name on Web page and have them added to your address book, and data can be leveraged by other applications in new and interesting ways.

Now, some of cases are all possible with or with-out Microformats, its just that Microformats make the Detection and Consumption a great deal easier (otherwise you would need to be doing a lot of text analysis and pattern matching) and more accurate. A lot of potential services, undoubtedly the cooler and more useful ones, which follow the DCU model are only made possible by Microformats due to the complexities of D and C - unless the data is revealed in some way, an application or service cannot interact with it.

Although designing for humans is a great philosophy, in this case its a bit inaccurate. At the core you are designing for software... for consumption. It is not humans who are doing this consumption, thats pretty much guaranteed, but rather it is humans who are and will be seeing the benefits of microformats. Whether it is ease of use, portability of data or otherwise.

19 Nov 2006

Getting Real

I have to admit, yesterday I was quite shocked when I met my boss - he was reading a copy of Getting Real, which I had recommended several weeks back. Definitely a positive sign for the future, now we just need to work on the collaboration side of things!For those of you who are going "huh?", Getting Real is the book published by 37 Signals, the folk behind Basecamp and several other successful Web apps. It covers the steps you should be taking in order to build successful Web applications. A must read for any developers or managers out there!

18 Nov 2006

Apollo Presentation Slides

As promised, I have posted my slides from my overview of Apollo. It was a fun night and a pleasure to meet members of the Rocky Mountain Adobe User Group!

Download Apollo Overview Slides (PDF Format, 1.2Mb)

11 Nov 2006

Rocky Mountain Adobe User Group

I'm writing this post as I prepare to leave New York City and head out to Denver, for a week of fun work. Then back home to Brighton, just in time for Flash on the Beach!

Whilst in Denver, I have been arm-wrestled into presenting a session on Apollo Application Development at the regular Rocky Mountain Adobe User Group (RMAUG) meeting. If anyone is reading this from up in the mountains and wants to come along, its on at 7pm MST on Tuesday 14th November at Denver University (Sturm Hall, Room 376).

I've got to say, I'm quite excited at the offer - I enjoy the presenting, especially if it is on a topic which quite excites me. I actually presented the intro session this week at an internal 'Web Conference', talking about innovation and evolution of the Web - that seemed to be well received. I really should try and do something for a SkillSwap session when I get back home.

26 Oct 2006

Apollo - The Next Big Thing?

Well, Adobe MAX 2006 is almost over - its been quite a conference, and the fact it is in Vegas always seems to help these things along! The Sneak Peek session showcased some very cool looking applications, including:

  • SoundBooth, a sound editor for the casual user.
  • Acrobat 3D. I'm not totally sure if I want 3D spinning things in my PDF's, but it was great to see Flash, PDF and 3D all nicely integrated. SWF's as interactive textures for 3D objects was mega cool.
  • PDF integration in Flash (finally), as demonstrated in Breeze Acrobat Connect Pro.

Whilst all of these were really great to see, my personal highlight was the glimpse under the hood of Apollo - Adobe's new desktop platform, which supports HTML, JavaScript and Flash content.In a nutshell we have the Apollo API's built upon the native operating system API's (Support for Windows, OS X and Linux is planned), and on that we have HTML and Flash renderers, scripting and DOM.

Apollo applications are distributed as .air files - essentially .zip files with some metadata. They contain content (HTML, JS, SWF, PDF etc.), data (text, XML etc.) and an application.xml file which contains mainly metadata used by the installer. These can either be installed directly, or within the browser using the Flash Player. If the Apollo runtime is not installed, then it will be automagically downloaded and installed. During the install process, the Apollo application is turned into a native executable, meaning that it runs as a separate system process like any other application. Files are stored in the users Documents and Settings or the Linux/Mac equivalent. Apps can be removed using the system's Add/Remove Programs functionality.

So, how do you go about building Apollo applications?

  • Content: Can be existing SWF/HTML/JS content, generated in Flash/Flex/Dreamweaver/Notepad...
  • Configuration: A text editor.

A debugger is provided in the SDK, called adl, lets the developer test their application. Once everything is perfect, it can be packaged up using adt. In addition, Adobe is planning to integrate these tools within the Flex IDE.

So, thats pretty much how it works... but why is it so cool? For a start it provides an OS independent route to create desktop applications, in a similar fashion to a Web application. Rather than doing lots of custom coding for a different OS, the Apollo runtime takes care of that for the developer, meaning that they only code an application once. This is a big plus point - as a developer I don't need to worry about how users will be able to drag and drop content into (and out of) my application. There are lots more possibilities...

As everything is based around Flash there is also an extensive library of visual effects/transformations at my fingertips. Yes, OS X has Core Animation and Vista has Aero - both of which are geared to producing sexy application visuals - but those are not cross platform, and have different feature sets. With windows, HTML Containers and everything else essentially being ActionScript objects, I can apply a wide variety of visual effects without the pain!And, did I mention the HTML support? Now I can render HTML content within Flash using new functionality which should also be making its way into Flex/Flash (the HTMLControl is AS3.0 component). The rendering engine is WebKit, which means that if my page looks good in Safari, it should render fine in Flash. JavaScript and ActionScript are now best friends, with it being possible to run AS functions in JS and vice versa - wow!Is this the next big thing? I think there is certainly a lot of potential for Apollo to make it big - Web Applications can easily be ported to the desktop, with multiplatform support. Once Adobe gets this into the hands of the developers I expect to see much more innovative uses rather than just straight ports - from Widgets to Enterprise Applications.

I'll probably post more on this later as I explore more of Apollo. I have a flight to New York in a few hours so it should keep me busy on the plane. I may also write some Script.aculo.us effects...

Chris Korhonen's Posterous

I am a British-born UX designer currently based in New York City, with over 10–years experience developing for the web.

I spent 5 years working at American Express, developing their online services and touching many areas including accessibility, usability, search engine optimization, web strategy, content personalization and social media.

Currently I working for Animoto, an exciting start-up whose product is a cutting-edge, automated, video creation platform.

On the technical side, I have lots of hands on experience building with HTML, CSS, JavaScript, ActionScript, Ruby and Java. Recently I authored a book on using APIs to create mashups using Adobe Flex and AIR.