Archive for the 'BarCampLondon' Category

Flashing at BarCampLondon

Aral Balkan's Agile Development and Usability presenation at BarCampLondon.

BarCampLondon was a blast! Over the course of a weekend, I got to meet some amazing people, catch up with friends, learn some great stuff (including a new game called Werewolf) and get inspired. Big thank-yous to Ben Metcalf, Ian Forrester, Murray Rowan, and Paul Hammond for organizing the event and for your tireless omnipresence throughout the weekend. Similarly, thank-yous to Yahoo! UK, eBay, BBC Backstage, TechChrunch, Chinwag, and Belkin for sponsoring the event with food, drinks and network cables! And, of course, thank-you to everyone who attended for making the event what it was, for sharing and for lynching me so early in the game -- I wasn't a werewolf dammit! :)

My first session was titled Agile Development and Usability. It was a one-slide presentation in which I talked about the three big problems I see our field faced with today. Namely, a lack of understanding of development process, of the importance of the user and of application architecture. I followed this up with a high-level overview of solutions to these problems, including the use of Agile Development (with examples from eXtreme Programming/XP), User-Centered Development and usability patterns and pattern-based architecture. I ended the half-hour session with a brief glimpse into how these solutions can be implemented in projects for the Flash Platform using Flex 2, Arp and open source tools.

After my first session, I got a couple of requests for more information on Flex 2 and decided to hold a separate talk on just that subject on the second day. In that talk, I gave an overview of the Flash Platform, Flex 2 SDK and Flex Builder 2, using my Flex 2 Quick Starts for the examples.

In addition to presenting, I also got to attend quite a few presentations by other people. You can find notes from those sessions in the BarCampLondon category. Without fail, the sessions I attended were all highly engaging and informative. I can only surmise that the quality of the attendees and the BarCamp format had a great role to play in this.

You can find links to other media from the event on the BarCampLondon What Happened wiki page.

So, when are we going to have the next one? :)

BarCampLondon: Everything I Know About Programming I Learned from Typography

Great session!

  • Interplay between typographer and printer: You didn't ship a step-by-step set of instructions
  • Specifications are declarative, not procedural.
  • It is a dialog, iterated over and collaborated on (at its best)
  • Domain-driven design - domain-driven design - Eric Evans.
  • Norman Potter - what is a designer.
  • reprocessed.org
  • matt patternson
  • Cascading Style Sheets - book - FOED.

BarCampLondon: Workflows

Workflows: The session is on modelling systems and user workflows for applications.

Sequential workflow

  • Defined processes that occur one after another.

eg. User edits. Is user finished editing? If yes, prompt for save. If not, ... etc.

State machines

  • Define states that your application can be. e.g., for a document it may be in draft, edited, published, etc.

Data-driven workflows

"Odd", "surreal". Doesn't have a slide for it as he cannot imagine it. e.g., Stock control system. Monitors units of products. When it reaches a certain number, it places an order.

Aral: So, basically an event model/observer pattern.

BarCampLondon: Andy Budd on Usability

Andy's showing us a corkscrew as an example of a simple design that works (he also showed a corkscrew called The Rabbit that is more complicated and, apparently, doesn't really get corks out of the bottle.)

User-centered design:

  • Expert review
  • Ask for opinions
  • Test on real users

Just because something is easy to use, it doesn't have to be plain, dull, or boring. Some of the easiest products to use are also the best looking (e.g., iPod, Aeron chair).

Aral: I completely agree.

Other types of design:

  • Aesthetic-centered design
  • Implementation-centered design
  • Business-centered design
  • Politics-centered design

Andy is giving an example of airport signage design. He contrasts a traditional approach to this that involves a committee that decides where the signs should go based on their priorities with a user-centered approach that starts with the needs of the users.

Learn who is using your web-site and what their goals are.

e.g., Weather site goals

Assumption: Users are there to find the weather.

Reality:

Do I need to bring an umbrella?
Should I pack for my holiday?
Should I walk or take the bus?
Can we have a BBQ this weekend?

User-centered design techniques:

  • Contextual enquiry
  • Interviews and focus groups
  • card sorting
  • personas and user paths
  • cognitive walkthroughs
  • usability testing and review

User Experience Design

Providing users with the best experience possible.

Steve Krug: Don't make me think! Andy: Don't make me think I'm stupid. But do challenge and engage them.

Concept of flow. e.g., World of Warcraft -- sequence of microtasks (why is he looking at me as he mentions WoW?) :)

Delight: Make products that are a delight to use (e.g., Expose, or the VirtueDesktop desktop switching.) The thing he loves most about his new MacBook is the magsafe power adapter.

Great session, Andy!

BarCampLondon: Matt Webb on Application Archetypes

Application archetypes (according to a Microsoft study that Matt is talking about.)

  • Doc editor apps
  • Database apps
  • Production/dev env apps
  • E-commerce apps
  • Info/ref. apps
  • Entertainment
  • Viewer
  • Utility

Matt's six archetypes:

Easy-peasy desktop-native apps

  • RoR + Mac + webKit + Tixe
  • Custom GMail client, but not just rich client
  • The new VB?

Aral: This falls squarely in the area that Apollo will be targetting.

2. Massive scalable affordable apps

  • Storage: Amazon S3
  • Computation: Amazon EC2 + MapReduce/Starfish
  • Huge datasets: Alexa web index
  • Intelligence: Computation + Mechanical Turk

Aral: I'm looking into EC2 and S3 quite a bit these days -- these two will revolutionize the way we build applications.

3. Situated apps that know where they are

  • General purpose physical computing: Chumby, Nabaztag
  • Input: Sensors, RFID
  • Output: ARToolkit

4. Apps that are ambient; that do not interrupt

  • Passively multiplayer online games
  • Jaiku
  • S&W+Nokia Continuous Partial Attention

5. Pipes transform (the Unix-style app)

  • Scanr
  • filtr
  • Planet Venus Atom filters (reaching atomflow?)

6. RSS/Atom: Syndication for apps & interactivity

  • RSS/Atom syndicates media
  • Other updating lists: Bug trackers, moderation requests, etc.
  • Syndicate limited application functionality

[Update] I apparently got Matt's last name wrong originally, it's Webb. Sorry, Matt! (And thanks, Ben, for correcting me.)

BarCampLondon: Mashup night

The day's sessions are over and we're sitting around talking about mashup ideas to work on during the night (we're going to be camping over at Yahoo's place). We just had a bunch of pizza and beer so there should be some interesting things being created tonight :)

BarCampLondon: Girl Geeks

Super secret look into a girl geek meeting :) We're talking about how to encourage women to attend community conferences and other events. Needless to say, it's a very interesting roundtable discussion.

BarCampLondon: Jeremy Keith on Hijax

I'm sitting in Jeremy's session, hearing about his Hijax system for "progressive enhancement". Progressive enhancement takes a new look at what we used to call "graceful degradation". Basically, it's starting with the content/symantic layer and layering on additional functionality on top of that.

He's currently talking about how best to implement JavaScript behavior into your HTML application and the method he's showing me is so close (in intent and implementation) to the code behind method I advocate in Flex and Flash development.

The Hijax approach:

  • Begin using traditional page refreshes
  • Data sent to server via links and form submissions
  • Intercept (hijack) those links and forms using unobtrusive javascript
  • Send that to XMLHTTPRequest
  • Server returns just the information that's required

Server side requirements:

  • Back-end architecture must be modular
  • Web pages must be modular (components/APIs)

The paradox:

  • Plan for Ajax from the start
  • Implement Ajax at the end

When to use Ajax:

A page includes a form. When the form is submitted, the same page is returned with just part of the page updated (eg. blog comments.)

Clicking on a link returns the same page but with a different view on the data (on thing has changed.) Product ratings, filtered product set, etc.

Jeremy's method uses the XMLHttpRequest as a dumb waiter. Client-side processing is kept to a minimum.

BarCampLondon: Mike Davies on automated accessbility testing

The sessions at BarCampLondon have just started and I'm sitting in one right now called Automated Accessibility Testing presented by Mike Davies. The subject caught my attention as I'm very much about following a Usability Approach to Accessibility and I want to see what solutions there are on the other side of the fence with regards to a Checkbox Approach. (The two don't necessarily have to be diametrically opposed, of course.)

From what I've heard in the first few minutes, the session looks like it's going to be surprising...

Notes from the session:

Knock-on benefits of accessibility:

  • Accessibility significiantly improving Search Engine generated traffic (30%)
  • Reduces the task completion time for people without disabilities
  • Lowers the cost of maintenance
  • Improves convention rates (doubles)
  • Behind closed doors, the numbers are more spectacular

Mike's talking about his last project and the wide range of testing they did, including usability and expert testing (so they didn't just do automated testing.) He's talking about how certain institutions -- for example, local governments -- only rely on automated testing (in other words, Checkbox Accessibility.

Mike's mentioned SiteMorse -- a company that does automated accessibility testing on your sites.

SiteMorse: Snakeoil or misunderstood?

  • Marketing advantage
  • Belligerent/aggresive
  • Concerns of misselling
  • Evidence of pressure sales calls
  • Evidence of spam behavior
  • Mark says he's biased and critical -- says SiteMorse has had a go at him publicly :)
  • SiteMorse is being seen (erroneously) as a ranking for accessibility
  • RNIB see it right as an alternative
  • 100% compliances with automated tests != 100% requirements compliance
  • SiteMorse: 20% of the score is made of accessibility tests (A, AA). Correlation between SireMorse and accessible web sites? 0.46 correlation score for FTSE 100. Local government correlation higher: 0.7.
  • Sales pitch: On 125 web site, SiteMorse will save you 90 hours. But how much more manual testing is left? There's a lack of context to understand what this means.
  • How do you measure the quality of a closed tool? Blackbox testing. Using test cases.

Mike created test cases to test SiteMorse.

  • Checkpoint 1.1: Alternative content. How much can be automated? Images: Going to miss background images via CSS. SiteMorse will fail you if your image doesn't have an alt text. Alternatives: longdesc attributes. Text may be below the image on the page itself. Thus SiteMorse simplifies the Checkpoint and may fail you even if you don't really fail Checkpoint 1.1. Mike built a test case and is showing us a table of the results. What SiteMorse says and what is actually the case is very different apparently. For example, it assumes that any Object tag is Flash or a script when it could be an image or a web page.
  • Mike wants to publish his extensive data so that people can make a rational decision based on them. If people know the weaknesses of a tool, they will know how to use it.

Was a very interesting session. I look forward to reading Mike's research once it's published.

BarCampLondon

BarCampLondon Sep 2-3Why didn't they have barcamp when I was a kid? Tomorrow, 80 geeks will be decending on Yahoo's pad in London to share knowledge (everyone does a short session) and beers and to spend the night creating mashups. I predict much geeky banter and gadget overload.

I'm going to do a session titled User-Centered Agile Development which will be a 1000-meter overview (go metric system) of the importance of agile development processes, usability design, and usability testing as it pertains to application development.






Bad Behavior has blocked 0 access attempts in the last 7 days.