Drupal Camp Scotland

Apparently the mood in Edinburgh the night before Drupal Camp Scotland had been tense due to Nigel Farrage’ being in town. However, the biggest issue on the day was the weather, and organiser Duncan Davidson explained that “rain is a good sign for a Drupal Camp”, as it means that people don’t mind being inside on a Saturday.

Drupal Camp Scotland is unusual for a Drupal Camp in that the community part runs for one day rather than two. (As an out-of-towner, I appreciated having a day to recover for work). As someone who’d signed up to attend before the speakers were announced, I didn’t know what to expect, and was pleasantly surprised to see no fewer than three strands. I was particularly pleased to see some UX talks and workshops in the mix.

Also, the food was AMAZING.

Keynote speaker Robert Douglass (who was happy to come to the country responsible for his surname) was exasperated but not surprised when he found that while most of the room had their own side web projects online, only three included a means of taking payment on them. And one of those three was Commerce Guys.

He’d also noticed that he didn’t contribute to the Drupal community as much as he used to, and moreso that this was a common statistic for Drupal as a whole (aside from a large spike when Git was introduced). His take on both of these was that individuals needed to find ways to make profit so that they had the time (and finances) to contribute.

This is an interesting take on the whole issue of whether people should be expected to work on open source in their spare time.

Douglass expanded on a Reddit AMA quote from Dries that potential niches for making money in Drupal were as agencies, Drupal Hosting and Drupal services (in order of both decreasing ease to enter and increasing returns). Douglass is involved in the latter running a subscription service and sees this as an option for those people who raised their hands to make money. He also sees Drupal 8 as making this easier through a core API, safer theming via Twig and the new CMI.

Myles Davidson’s talk on ecommerce UX featured a lot of the hints that Orange Bus end up helping clients with: remove irrelevant information, provide inline help, have guest checkout and provide default settings.

There were a few specifics that got nodding approvals from the audience such as do search and recommendations well or not at all. There’s no way that a Man United fan would would buy an Arsenal shirt, so that implies that their site is faking data. It’s all the more a shame since John Lewis recently saw an 28% increase in conversions by implementing a proper recommendations strategy. There are even machine learning service available to help with this such as Nosto.

Davidson also pointed out to be careful about using the word ‘continue’ in carts (does that mean continue to checkout or continue shopping?)

What I particularly liked was how it was based on their own study (available as PDF) and so had stats to match.

It was also wonderfully in the spirit of DrupalCamps that a service provider asked for feedback and got it. Robert of Drupal Commerce asked if they had any usability issues to work through, and Davidson pointed out address books and coupons as issues… that they’d provided patches for.

Translation module Lingotek just became the most downloaded translation module in the Drupal directory. They offer different levels of translation from machine translation (similar to Google’s) to community or internal level to full Mechanical-Turk style outsourcing. The service can track changes in the source (if entities are added or amended) and that the translations happen ‘in an airlock’ that can then be imported in.

DISCLAIMER: I particularly like Lingotek since I won their raffle for a Nexus 7.

In the afternoon, UXer Lisa Rex got Drupalers doing DIY usability testing. It’s been a full 6 years, a long plane ride and a lot more job experience since I attended a similar workshop by Andy Budd, so I was curious to see how another practitioner does it. Five Drupal sites that participants were working on were tested. These ranged from a cookery site to a university PhD section! (As someone who’s actually done the latter, I felt that the needs for that are probably too niche for proper testing, but still, any testing is better than none). Attendees were split into teams of three to facilitate, notetake and participate.

Even testing two people (all that was possible in the time) started showing up serious issues, so it looks as if it’s a useful workshop to do.

Something that came up as recurring newbie tester mistakes were biasing the script (don’t ask to buy a voucher, ask to get a gift) and saying what it was you wanted to test (even if your hypothesis is that the navigation is wrong, you shouldn’t prompt people to ask about it).

Finishing up the day was the Scottish Drupal Awards. The winners were:

  • Best Drupal Site: College of Life Sciences at Dundee (internal)
  • Best Public/NFP site: John Muir Way (Heehaw)
  • Contribution of the year: Joachim Noreiko for Flag module maintenance. This was his win for the second year running, and he later hoped that there would be more Drupal contributions in the next year so that he didn’t win it for a third time.

Other talks that sounded great but I missed were the deconstruction of how the amazing Lush website was made (something our UX team were recently admiring), and the unimitable Jeffrey “Jam” McGuire on the potential mission of Drupal (I think). I’m hoping that others blog the tracks that they saw on the day. I also heard great things about the business day that ran the day before

Oh, and, finally, in pure Scottish style, Freudian slip of the day.

Integrated Travel and Weather Information Pilot, Sunderland Software City

This week has been all about open data. Last Saturday was the international(?) Open Data Day, which included a sneak peek of some of the Tyne and Wear Transport Authority’s data, earlier this week saw members of the Government Digital Services team here in the Toon interviewing for people for their new HMRC digital centre in Longbenton, and today was the Integrated Travel and Weather Information Pilot at Sunderland Software Centre.

As part of the day, a number of datasets were released that hadn’t even really been visible or available for the previous events. However, a big part of the day was just about finding out what was already out there. Who knew that the Met Office generated more big data than the entire banking industry and even did data for the US and space?

That there were integrated transport sources such as Transport API?

There were also interesting initiatives. Nexus is looking to have live data for all their buses in the next year or two, Connected Digital Economy Catapault (London-based) are investigating the ‘data value chain’ and means of creating change, and Sunderland Council are looking to find ways to make communities be able to create, maintain, and publish their own datasets (somewhere between gov.uk, Ushahidi, and the Mozilla Digital Literacy initiative?).

It’s worth mentioning that the attendees were comprised of (mainly) software companies, end (business) users, representatives of the data sets, and academics. When it comes to the latter, someone from the Newcastle Business school pointedly (though perhaps a little, er, verbosely) raised concerns that no one was talking about data governance, particularly when it came to privacy and licencing. While some of the data providers assured the audience that they had taken these thoughts into concern, it is a question that is probably right to be asked, particularly in a business setting. The Met Office are clear that in order to fund their services, only some of their APIs are free, while others are paid, and certainly these nuances need to be navigated in the future.

As someone who goes to lots of hack days for enthusiasts, it was interesting for me to go along to an event with a similar foundation but a different focus (business) and format (more of a workshop). What I came to realise from this was how the outputs necessarily differ: a hack day is generally about getting something out the gate as a proof of concept, whereas an innovation day like this which involves businesses collaborating is more of a starting point for further conversations. While a workshop day doesn’t quite have the ‘ta-da!’ moment at the end that a hack-day does, in the grand scheme of things it may help with a more sustainable and viable product since many a hackday idea never has anything done to it after that final presentation.

What the day did address well was the real issues that the various data providers/end users were dealing with. This is a common issue with a lot of hackathons, as Jon Mumm vividly described based on his involvement in a fashion hackathon in early 2013.

This gets to the crux of the problem with hackathons—there is a disconnect between the people with real-world problems and the people who can build solutions. The industry experts don’t know how to identify and articulate their problems and the hackers don’t bother or don’t know how to extract them. Collectively, we must improve on this if we A) want hackathons to continue to thrive and B) want them to actually be useful

Certainly, what came out of the event is that the North East is most definitely making a push towards open data, which means we may have some interesting opportunities ahead in the upcoming months. Certainly, upcoming hackdays should be interesting (the two hackdays I’ve been to in Newcastle last year used the same travel data sets, and as someone who doesn’t drive, I wasn’t enamoured with the thought of being involved in yet another parking or car related app!)

More information on the data and the datasets (which include Nexus, Met Office, and Transport API) are at the ITWIP site, and look at the #itwip twitterstream for a feel from the day.

Oh, and a very nice callback from ITWIP attendee and Open Data Day Newcastle hacker Gregory Marler:

Multilingual, Multidisciplinary: Drupal Northeast, GDS

You know it’s a good night for the tech industry when you have to skip out of one event right as it ends to go to another! Tonight was both the monthly Drupal Northeast Meetup, and a more informal meetup of the Google Digital Services folk (who’ve been in town interviewing for the new Newcastle Digital Centre that’s going to be based out of Longbenton of all places).

Drupal North East: Multilingual Sites

This month, Adam Hill did a live demo of setting up a multilingual site.

His overall comments on structuring a multilingual site would make a content strategist proud:

“Don’t build a multi-lingual site in English and add extra languages, start building the infrastructure for the two [or more] languages from the start”.

Part of the reason this is important is because of URL paths (if you set up the site well, they can exist clearly separate of each other) and partly because it means you can plan out how to input the translations without having to battle the admin in the different languages!

Into the more nitty-gritty Drupal stuff.

First of all: decide the source language for your site *at the start*. You can’t change it half-way through without causing a load of trouble (something which Hill’s team learnt the hard way when doing projects).

According to Hill, there are two elements of Drupal translation:

  1. content translation
  2. string translation (backend, strings, also blocks etc)

While the former is the crux of your important information, the latter is also key for making the experience of using a site truly multi-lingual. It’s also a bit trickier at times since it delves into Drupal core: if you’re lucky, your other languages will have language translations ready to  upload from drupal.org, if not … you’ll be working with someone who knows the language to figure out the appropriate translated UI words.

Hill showed that you do need a number of modules to make internationalisation play nice:

  • In core you want Content Translate and Localisation.
  • Internationalization (i8n) requires Variable to work, but as Hill showed, this is useful in its own right as it allows you to set up whether various elements such at the  language slogans and front pages have different language language options (e.g. /fr, /ar ) .Other useful ones include 404s.
  • Internationalization Views (only in dev, views generally got a lot better for v3 but this ties up loose ends) is necessary if you’re working with views, though Hill did warn that it doesn’t always quite do what you’d expect, so use with care.
  • Beyond this, menu translation, field translation, translation redirect, path translation, translation redirect, translation sets, and taxonomy translation are all self-explanatory and useful. Block translate (and context module) is also particularly helpful for controlling blocks.

In terms of setting up and implementing a multilingual site, Hill had the following tips:

  • detect language by path and folders (subdomains can be quirky). Auto-sniffing by browser is to be avoided, and while there are add-ons like IP sniffing, they have high overhead.
  • Good practices when theming and creating modules should set you up well for multi-lingual. There are some quirks to do with themes for rtl languages (namely that you’ll have to redo all your floats and padding) but since the text itself automatically switches, it’s not as big an issue as you’d think it would be.  Similarly,  anything in modules/system should be wrapped in a ‘t’ as it opens it up to be translated for translation if need be.
  • Hill has found the best way to manage menus is to just create separate ones that show up per language. This also applies for blocks.
  • If you’re dealing with a multi-author site or have images that share across languages (make sure these don’t have text embedded in them!) the synchronise translation feature can be helpful in mapping over content that should stay the same such as publish date, author name and images.

Only at the very end did he sneakily point out the very nice trilingual (including Arabic!) site annalindhfoundation.org that his company recently released.

Anna Linh: English

Anna Linh: English site

Anna Linh: French site

…and the French version (not the more verbose text)

Anna Linh: Arabic version

And the Arabic version as well as being rtl is visually sparse due to the compact language.

Some of the things his team learnt from the site was the issues of character density: as it turns out, French is more verbose than English (causing issues with labels), while Arabic as well as being right-to-left is also a far more compact language, thus making the designs look extremely sparse in comparison.

Also, random fact of the day: Hill found out that if you want to use Arabic characters in Photoshop, you have to but the Middle Eastern edition!

GDS Meetup

After that it was straight over to Brewdog to see who of the digital set were mingling with digital government peeps. From the brief chat I got to have with some of the GDC team (who’d all bravely come up from London and had apparently been surveying the Toon from a nearby hotel when not conducting interviews for the new centre) it sounds as if there’s going to be some interesting things going on in terms of cross-disciplinary teams. In unrelated matters, I got my hands on a complimentary copy of Design Transitions thanks to Emma Jefferies, which also had a surreal moment when one of the GDS people realised they were in one of the photos in the book!

CMS Supermondays

Starting with a plethora of upcoming events (*cough* Maker Faire is looking for volunteers) and a plea for more hands on deck to help, Supermondays kicked off its foray into CMSes (and one “anti-CMS”, Jekyll).

PyroCMS: Jamie Hurst

Jamie Hurst spoke about PHP framework PyroCMS. It’s been available for a few years “but only really usable for 2″. Interesting, like Drupal , it’s changing its codebase: it was on CodeIgniter, but is changing to Laravel. Like Joomla or other enterprise CMESes, there’s a Community version (on Github) and a Professional one (though at £90 per site as a one-off payments, it’s one of the cheaper options).

Hurst uses PyroCMS because of the opportunities to customise it (Plugins (like WordPress shortcodes); Widgets, and Modules).

I started looking around the web, and Zac Vineyard of Tutsplus also lauds its ability to be customised out of the box:

building a theme in PyroCMS is easier than it is to do in WordPress and other systems, which leads to time savings. At the core of how PyroCMS outputs data is the Lex tag parser. For designers and front-end developers, tags are a simple syntax to display content and perform basic logic operations. For developers, tags are the way in which you can get your data into layouts.

WordPress WTF: Adam Onishi

Adam Onishi braved coming up from London to talk. As it turns out, he was one of the people behind 12 devs of Christmas!

He pointed out some of the headscratching elements of WordPress (the_post doesn’t really show a post, show_search_form doesn’t show a search form, there are IDs *everywhere* in the code), and lamented the pretty but not entirely functional admin bar (he wishes that we could use Markdown like Ghost and even uses the Markdown on Save Improved plugin for his own blogging, and watches the WP Clarity initiative with interest, but realises this is a hard sell for content editors that are used to using Word). He also points out that Squarespace has nailed working with content.

And despite all the little quirks, Onishi loves how it’s open source (it’s even on Git now), and the community, from the Codex to the Wordcamps where you can even end up talking to Matt Wullenberg.

CMS Horror Stories: and How to Deal with Them

Pete Duncanson had the audience nodding in grim acknowledgement talking about some of the client issues from pink text to instant updates, to his experiences using Umbraco: “I know it’s .net but don’t hate me”.

I particularly liked his idea under the topic of restriction of letting clients select CSS style (e.g. “tweet button”) rather than faking it up themselves or “you telling them ‘open Notepad, copy that text…which they then spend the next few weeks emailing you about as they’ve lost the file”.

His idea of prempting in CMSes (icons etc) was similar to Alan Cooper’s idea of considerate software.

Finally, his idea of being bendy is allowing for change and scaling (i.e. not listening to them when they say that they’ll only ever have 10 staff and so won’t need subfolders or paging).

Drupal Myths and Legends

Adam Hill talked about some of the misconceptions (and not so misconceptions) of Drupal. He admitted some are based in truth: the theme does look like crap out of the box (and in itself is a vast improvement on the Drupal 6 default), but it can be configured to look at what you want.

While the UX out of the box does have some holes,it can be configured to be better (e.g. configuring the back end UI and making content editing smarter).

Issues of security and not working on cheap hosting are grossly overrated, given that whitehouse.gov runs on it and I run multiple sites on cheap-ish Hostgator shared servers.

The stories of scary learning curves is true, as is the slightly dodgy version control system (at present, until Drupal 8 at least), but there are dedicated teams both for security and learning.

By the way, I wish Adam had been brave enough to use the famed Drupal (and other CMSes) learning curve cartoon:

CMS Learning Curve

Here there be dragons. Or template.php .

The Emperor CMS Has No Clothes

Philip Poots was the voice of dissent in the room as he talked about Jekyll. While I’m reminded that a number of developers have a post on moving to Jeykll as their last post (i.e. it’s a bit of a pain to update for blogging), Poots pointed out that a number of prominent sites use the system for its simplicity and speed: it first came to prominence when it was used for the Obama campaign, and is currently used in sites as the Hawaii.gov site, Sage One Help, and the latest Thinking Digital site (which took 2 hrs to put up as opposed to a CMS quote of a week).

I also learned a new term: ‘stynamic‘, a portmanteau of ‘static’ and ‘dynamic’ that appears to have been coined by the Hawaii.gov team. Of course it’s as clunky and potentially cringey as any of these types of phrase, but it is worthwhile in reminding devs and others that there is a half way between the good ol’ static sites and dynamic CMSes.

Echoing earlier discussions in the night, Poots admitted that for all of the potential uses for Jekyll, the biggest area where it falls down is Markdown …and particularly getting marketers to use it. He admits its an issue, but demoed a possible solution: an HTML to markdown solution that for someone looks for anything like Word, but is actually working in Markdown.

Common Themes

Above all, I was struck at how many CMSes are in a state of transition at present, to the point that they might become unrecognisable to the original members of their respective communities. For example, PyroCMS is ditching CodeIgniter—the framework that seems to have drawn many people to it in the first place—for Laravel, Drupal is dramatically changing its codebase and building more things to the initial install to be more like WordPress, and WordPress is becoming more CMS-like …to be more like Drupal. However, as Pete Duncanson pointed out later, having other systems to compare from is a good thing: he’s installed WordPress on sites and then gleaned lots of good ideas to add as feature requests for Umbraco.

The other aspects that came through were the ideas of community and experience. Pretty much all of the CMSes talked about had strong communities for help. However, as Adam Hill pointed out later, in the cases of communities such as Drupal, being a long term member of the community helps you know about how to engage with the community, be it knowing which modules are good, or even knowing how to read the modules sections (e.g. you probably don’t want to download a module that’s old and/or has hardly any downloads, and you should probably have a look at the issues queue to see if there are serious problems).

Super Mondays: Lightning Talks

It was a lot of talks on offer for this month’s Super Mondays, ranging from being a design student to creating your own automated lighting system. What came through loud and clear though was the dedication that the speakers had to their crafts (be they day jobs or insane hobbies). The level of cross-fertilisation was also apparent as speakers noted that they had given the talks at different user groups or even locations (hi, Refresh Teeside!)

Rails Girls

Fiona McDonald

Not many in the audience had heard of Rails Girls, much to Fiona McDonald’s surprise, as she’d done a local talk at a local Rails User Group not that long ago! So apparently there’s not much overlap between audiences. She talked about the Rails Girls initiative, a series of events which started in 2010 in Finland as has now taken place across the world.

As much as she’s aware of the arguments as to whether there should be female-only tech events, McDonald was impressed at how the women/girls were able to go in knowing nothing about Rails and come out two days later (the events happen over a weekend) having coded an app, using such helper tools as Bento Box.

I’m not entirely sure if I should detail all the benefits of why it’s worth getting involved (OK, a couple of the male mentors started relationships with the girls involved—and are still together today), but McDonald pointed out that we should be doing all we can to get diversity in the rails and more general tech community (she was happy that this wasn’t one of the events where she was the only girl in the room. Oh how I know that feeling).

Code Club

Kamran Chohdry

In a perfect segue from a question to McDonald about getting to girls in schools about coding, Kamran Chohdry spoke about Code Club (yet another person talking about what they do in their spare time).

Code Club has exploded as of late. Its aim is simple: to teach coding to children in primary schools age 9-11—before IT is actually taught in schools—and “get them beyond Microsoft office”. They’re taught Scratch, Hard Scratch, HTML/CSS, and basic Python respectively over the course of a year.

The Club are looking for devs who can volunteer. This involves committing to an hour a week (in the computer lab), a CRB check (the school will usually help—and it was pointed out by an audience member that STEMNET can help you do it for free), and potentially help set up the labs with Scratch or Python. It’s also worth asking as a parent/guardian if there’s a school or Running Club nearby.

As it turned out, an audience member’s son has used a Code Club programme, won a Rasberry Pi and is now planning to become a games developer!

And apparently this is the start of a wider sea change—programming is going to be taught from age 5 up, but there isn’t necessarily the capability in schools in order to teach it.

Git, Bitcoin & Matroyoshka Dolls

Chris Price

“Who uses Git? That’s a change from a few years ago.” There weren’t quite so many that used Bitcoin, or even knew what matroyoshka dolls were (until someone else called them Russian Dolls) but never mind.

His analogy was brilliant: the concept of nesting dolls is how potentially catastrophic changes (changing values in Bitcoin, commit changes in Github) are protected in their systems. Doug Belshaw also pointed the audience to check out trybtc.com to mess around with bitcoins.

From Student to Work

David Ingledow

“Use Github”. More generally, the key theme of David Ingledow’s talk was about how students need to not only capture but share the ideas (and code) they generate. Not that Github or Git was taught at uni. Still, in his discussion of transitioning from being a interaction design student (at Northumbria, yay) to a working designer at a startup, he reflected on after all of the collaboration, preparation, and late nights, it was all too easy for graduates to let their work die post grad show. And that was a pity.

On another note, I was interested to hear what it was like for a designer to move from uni to a startup. Ingledow loves it, thanks to the ‘all hands on deck’ attitude that is needed. Given the growing startup community in the NE, it could well be that more and more grads end up in a similar role as him. Hopefully they learn Git first.

Switching to Jekyll

Dan Richardson

Going from a former student to one that is still one (but did a summer placement), Dan Richardson discussed moving to the static generator Jekyll. Most people have heard about it in dev world (and that it’s based in Markdown), if you’ve used Shopify you’d have used the liquid HTML system.

The lack of database can have issues e.g. you need to use third party plugins like Disqus or Salesforce for comments and forms, and it’s obviously not great for things like GUI text additions. Still, it has a lot of potential, particularly when you can host a small site for free on Github Pages or very cheaply on Amazon AWS.

Some other options are Octopress and Nanoc.

The related blog post is available on the Canddi website and an audience member mentioned the 2010 post by Paul Stamatiou on moving from WordPress to Jekyll.

So much to learn

Ben Cooper

How do you keep going in a world of continuous innovation and Smashing Magazine articles? Ben Cooper (who emphatically calls himself stupid but I suspect the audience would disagree) gave some of his comments from his years of experience. He asked the audience to focus and continually think of your core skills (that old ‘jack of all trades’ mantra) rather than running frantically to learn frameworks and libraries that you don’t need and don’t understand the core code.

I personally don’t entirely agree with discarding superfluous frameworks. However, I do think that it does require an understanding of what you’re doing: e.g. playing with new languages is more of a sense of awareness or seeing if something is a ‘gateway drug’ to a new type of coding. Still, his call to avoid heedlessly following trends is savvy even in other areas such as design trends (flat design anyone?).

When it comes to actually being part of the community, Cooper took the opposite track and regaled people to share (blog/speak) and be enthusiastic: “passion trumps being smart”. Oh, and to to not rise to the trolls. (“Stackoverflow, I’m looking at you.”) In this respect, he reminded me of Wil Wheaton’s mantra “don’t be a dick” and the concept of having “strong ideas held weakly” (a trait that has often been attributed to experience design luminary Don Norman). Again, his concept of having focus or doing things your own way came through: he uses twitter but just as an RSS. Which is fine. But I love using it to share and help.

Home Automation

Steve Jenkins

“Why did I do this? Because I can. Because it’s cool”. With no real logical justification to make a “smart” lighting system (it’s inefficient in all ways) but a burning desire to do it anyway, Steve Jenkins set about buying a Lightwave RF (“It was available from B&Q”) and attempting to make a system to make sense of it. Luckily, he applied for and got access to the API, but it’s still very much a work in progress… and then went down a rabbit hole of ideas and various platforms and roundtripping.

Still, apparently Geofence works reasonably well (“though when my phone comes out of Airplane Mode every morning it gets confused”).

He’s keen to see what happens with SmartThings though. He looked at Lockitron “but I figured I’d wait and upgrade my house”. John McClaire did a similar project on Kickstarter.

The hours and time to date? About 2 days spread out over time (though “with very hacky code”) and about £400. And counting….

Has it made a difference? “Well, it’s made me more lazy”.

Of course, there are questions about proprietary software: there’s a horror story of a guy in IBM replicating his house in Second Life only for Japanese and American people to turn his lights off and on at 4am! He’s used his own server and the like so thinks he’s safe—and it’s only lights— though he dis ask people to “please don’t hack my house”.

If that doesn’t put people off doing it, they were directed to have a chat to Alistair and the local Maker Space….

The Trials and Tribulations of WYSIWYG Editors

Kerry Gallagher

“You’ve all used WYSIWYG editor. They’re mainly a joke right?” With that , Kerry Gallagher dissected a commonly hated aspect of CMS and HTML development. For those of use who have never actually rolled their own editor (me!), it was interesting to see what goes on behind it.

It turns out that editing comes down to one element: ‘contentiseditable’: which is surprisingly supported back to IE5.5!

Of course, it’s not that easy: there are some bugs between browsers, particularly with undo and redo (though there are changes to standardisation).

Mozilla’s Educational initiatives

Doug Belshaw (slides)

Wrapping up the night was Doug Belshaw of Mozilla. His first slide began with a werewolf picture from Mozfest. (Wait, is it a full moon out tonight?)

He spoke about three Mozilla Webmaker initiatives.

The Webmaker project is a fun project aiming to get people (particularly children) involved with making with the web rather than just consuming with it. The projects (X-Ray Goggles, Thimble, and Popcorn Maker) are fun and a subtle gateway drug into coding. I was involved with mentoring with these projects at the recent Maker Party here in Newcastle, see my notes of the day for more on the topic.

Belshaw’s pet project in Mozilla though is web digital literacy (which isn’t surprising, given he did a PhD thesis on the topic!). There are three competencies—exploring, building, and connecting—which Mozilla and the wider community are focusing on.

Finally, Mozilla are also pushing the concept of Open Badges (a means of showing learning and accreditation in a diffused way). The project is relatively mature with buy in from Disney amongst others.

And they’ll all be showcased at Mozfest (27-29 October in London).


There’s an argument that put enough of anything together and you’ll see a pattern (certainly Damian Hurst’s dotted pictures played on this conceit). Still, over the series of nine talks, I noticed an ongoing trend:

  • The need to evangelise, and the wider community support that this entails. There were no less than three talks about learning and teaching. Of these, McDonald’s struck me the most as she mentioned the struggle of pushing something forward such as teaching girls Ruby whilst holding down a full time job. (In fact, she wasn’t able to launch the event herself as she was moving to Barcelona). I wonder whether there does have to be organisational recognition for mentoring and furthering diversity. Should companies be enabling and even expecting their employees to further the tech community?
  • The importance of sharing. A few speakers touched on this, or demonstrated it: certainly Jenkins’ talk on home automation led to more than one glint in people’s eyes. It also reminds me of how people always know something or know about something more than someone else (again, a mentoring principle in that unless you’re an absolute beginner, there’s someone less experienced than you that you could help).
  • The cool stuff that’s going on. OK, that’s pretty obvious every month, but still.

Praxis and Poetics: Research Through Design Conference

This week, designers and researchers from as far flung as Sydney and Melbourne congregated in the desolate North East beautiful Baltic Centre for Contemporary Art for the Praxis and Poetics conferences.

The overall conference was in fact two under one umbrella: the 10th Designing Pleasurable Products and Interfaces and the inaugural Research Through Design Conference. I was student volunteer for the RtD (anyone else have other associations with those initials?) conference, so saw these talks as well as the combined keynotes. (For a more general discussion and more pictures, check out the Storify of the event made by closing plenary speakers Jon Rogers and Justin Marshall, or the #praxisandpoetics twitter stream—along with the #rtd13 one I accidentally used for day two).

The conference was highly design orientated, and this went right down to the related schwag. Including origami badges for the two conferences (DPPI were wise owls, RTD soaring butterflies. Take from that what you will).

A note on the Research through Design conference: though it’s not obvious from this post (due mainly to my only having shoddy iPhone pictures), there was a related exhibition with the conference, and in the cases where presented papers had physical objects (most of them), the objects were brought through to the conference room and often passed around the audience. This gave a level of designerly awareness arguably absent from a lot of similar conference. (In the case of Jacob Sebastian Bang’s work, he was literally giving them away at the end of the event!)

Day One

Keynote: Patrick Jordan

The conference kicked off on Tuesday night with Patrick Jordan on positive psychology and design (“an academic version of self-help”) with a calmly measured talk packed to the hilt with examples.

change behaviours, not attitudes

  1. Take Responsibility: it’s too easy to ascribe issues such as bad health choices to not having any any opportunity to change. This is most obvious when it comes to giving up smoking or health related lifestyle changes. However, this also applies in work situations where employees (be they bus drivers sacrificing picking up mobility challenged passengers to call centre workers attempting to collect community debts) have no licence to deviate from the script. Allowing means of discretion (e.g. changing the bus tracking system to note when mobility challenged are picked up, or just making rules not hard and fast) allows workers to be a lot happier and therefore less likely candidates for absenteeism.
  2. Set Goals: it’s hard to motivate yourself to just go to the gym… which is why people often have something of an epic journey (running from one end of the British Isles to the other end) with a similarly meaningful story. Good Gym capitalises on this need for
  3. Be Positive: been to Disneyland? You loved it right? Yet there were lots of lines, weren’t there… this is a careful implementation of the peak experience rule where you can have neutral to negative experiences but effectively forget about them as long as your final experience is really good.
  4. Persevere Intelligently: there are apps such as In Flow that help you track your happiness and see what your happiness or unhappiness triggers are. Of course, that doesn’t help you figure out exactly how to avoid that toxic friend….
  5. Connect with Others: apparently the so called creative rooms of Google don’t actually make people more creative… but they attract the best creative people. The Men’s Sheds initiative also attempts to reconnect older men feeling isolated with other men through the act of making things (while women are happy to meet up for the sake of meeting up, men need a goal).

There were a few other interesting facts worth taking note of:

  • The most trusted figure for advice is a young woman (perhaps because when we were babies our mothers were young?). Notice that all avatars at present are women?
  • Names, language and even colour matters (as anyone who’s read 1984 will know). Euphemisms can attempt to forgive brutality (waterboarding rather than torture?). If you’re named Jordan, you’re least likely in the UK to be trusted (perhaps both due to the Middle East and Katie Price). And in a wresting match, if you’re wearing red, you have a 2 in 3 chance of winning as opposed to blue.

Finally, if all that is too much to parse, there are sketchnotes available:

Day Two

Keynote: Rachel Wingfield

The keynote by Rachel Wingfield explored her (and her partner Mathias Gmachal’s) practice over the last decade through their research consultancy Loop.ph.


Their projects push the limits of both materials (they have done a number of works using the principles of lacing in more technological and architectural settings) and making connections (they worked with Nobel winning scientists who initially “thought we were going to do their curtains and ties” before finding a common interest through structures).

@loopph extolling the values of the 'handmade digital'  #praxisandpoetics

(Also do check out the blog summary by Richard Banks of the talk).

‘Viewing’: Ian Gwilt, Aysar Ghassan,Patrick Macklin, Mark Blythe/Jo Briggs/Jason Wilsher-Mills

The first session on Viewing investigated different ways of looking at design research or even the means of understanding art.

Ian Gwilt introduced the concept of “data-objects”: objects that make data more tangible and understandable. Databronze was made with the simple aim of allowing designers to understand the relationship between age and strength for gripping objects.

The point [with the data object] was to get users to be able to create their own metaphors

They were also interested in whether materiality played a role in how the data was perceived and used both plastic and bronze: as it turned out, bronze was more trusted due to its weight and colour but the (white) plastic seen as potentially more accurate.

He also noted that the preferred objects were either experiential (acted on) or landscape (giving an overview).

One interesting aspect brought up by the audience was the notion of data as an ongoing changing medium: if data is constantly changing, do objects capture it in a way that might seem more fixed than it actually is?

Aysar Ghassan transplanted Bauhaus leader Walter Gropius into the modern day world of design thinking via design fiction or more specifically an open letter. “Dear Sir/Madam: Walter Gropius Petitions the League of Design Thinkers” was presented as a means of unpacking the difference between modernism and design thinking, with Ghassan suggesting that the former is about rules and formula while the latter is about holism.


Some of the audience questioned whether this was too neat a formula (though arguably there are ‘temples’ of modernism and design thinking that are commonly understood, even if they’re exaggerated). I wonder whether Gropius would in fact be welcomed with open arms by the big-data league of designers.

Patrick Macklin explored the concept of “HEIMA” (‘home’) in his case study on soundscapes and his native Glasgow.

In the tsunami of design imagery…we should be harnessing other stimuli such as sound

The city was radically changed in the mid-20th century to have a motorway run *through* rather than around it, and so the project attempts to use archival sounds to allow residents to engage in the area’s history. It was pointed out that there have been a number of similar projects—even in Glasgow—and that the key issue is finding appropriate means for residents to engage with it.

Mark Blythe, Jo Briggs and Jason Wilsher-Mills delved into the world of digital painting in “Blue Jay Weeble: Experiential Approaches to iPad Painting”. When David Hockney makes an image on an iPad, where is the original? How can s[editions] enforce their supposed digital-only art orders?


They note that the one interesting new art form brought in by digital painting is the notion of time and process, and presented the Repentir app, which allows you to scrub through the history of a digital work. (This also reminds me of the Hereafter mirror by United Visual Artists that showed further back in time the more you moved … to the set up which mischievously included a chicken!).

Their main point of interest was investigating flickr iPad brush groups “which are mostly pictures of Wolverine” but introduced them to the work of Jason Wilsher-Mills (aka Blue Jay Weeble). Wilsher-Mills’ story is fascinating in its own right, and his struggle with ongoing illness is combined with his immersion in Scottish art history to create a distinctive style. However, what is of particular interest here is how he experiments with the medium of iPad painting (which was also demoed the day before the keynote). He has noted the way it enables him to make dramatic changes to his work (including resizing and going beyond the canvas). Of course, the issues with such work is the one on every artist’s lips: how do you make money? To this end, the team are doing research into Kickstarter and how successful campaigns work so as to see how they can launch a fundraising project for him. (Someone pointed out that postcard printers and 3D print shops much love Kickstarter due to all the small scale objects used as funding incentives). I actually believe that this research could end up being far more visible than the existing work if it succeeds, given the amount of media attention on Kickstarter and its failures as well as successes.

‘Meaning’: Zoë Sadokierski, Debi Ashenden, Rachele Riley

Zoë Sadokierski from the University of Sydney presented “The Book Spotter’s Guide to Avian Titled Literature”. As a professional graphic designer (specialising in book covers), she’s had to struggle navigating the gap between design practice and research (a wider discussion pointed out that often the designed artefacts in regards to design research are pretty disappointing). A project beginning with temporary graphic treatments for an area being upgraded turned into a full taxonomy, namely types of birds. (As it turns out, Sadokierski is something of an animal fanatic, admitting that she’s done shows on giraffes as well). Later taxonomies included positive and negatively named birds (you know when you’re getting to works like Satan that you’ve hit gold) as well as erotically named birds as referenced against a particular reference book. (There was notable disappointment in the audience when Sadokierski rushed over this section!)

More broadly Zadokierski noted their use of data mining:

She suggested that the difference between the playing around in design and rigor of research comes down to the documenting. To this end, the research was shown in a two-way book: one way showing the process in a designer’s narrative, the other in a more critical research stance.

[EDIT: I came across a similar article relating to the power of taxonomies and the curated artifact on Design Observer]

Debi Ashenden presented “‘IT Fauna’ and ‘Crime Pays’: Using Critical Design to Envision Cyber Security Futures”. As the client in the research team, her being able to explain it was a good acid test of the work! As part of a wider initiative investigating how the cloud could be used in cyber security, they created ‘IT fauna representing various cyber security concepts as a means of counteracting how non-specialists are unable to participate in discussions due to the specialised language.

Rachele Riley went beyond whether the truth is out there to the history we forget in “The Evolution of Silence”. Her work is investigating the decades of nuclear testing that went on in the Nevada desert, and through it the changing opinions of nuclear testing (from people writing in asking to be volunteers for testing to the later reports of radiation related illness). As she isn’t allowed to make recordings on the actual site, she has to use a combination of human documentation (sketching) and collecting others (asking for freedom of information from the government and finding ephemera).

Right now it’s just her research but she’s hoping to get stories from others given that time may be running out for them.

‘Being’: Sarah Morehead, Eunjeong Jeon, Anne-Marie Kirkbride

This session (which I chaired, hope people enjoyed it!) questioned common understandings of the body and the ‘standard’ body.

Sarah Morehead talked about reinterpreting wool for evening wear in Poetics of Play; Touch and Movement in Garment Design with Sheepskin, Silk and Lace. She is interested in how materials can influence and engage the wearer. After investigating the role of material and posture in physiotherapy situations, she started exploring how she could use wool both for a sense of reassuring self-touch (sleeves etc) and to change posture (necklines and covering). I was interested in how she was also attempting to find ways to communicate what she does as a kinesthetic learner.

Eunjeong Jeon’s “Touch Me, Feel Me, Play with Me” similarly played with materiality and its bodily effect on the wearer. She investigated how a felt fabric could be manipulated into a form so as to give back support.

Ann Marie Kirkbride investigated fashion illustration beyond the catwalk in “Illustrating Fashion’s Invisible Woman”.

Cognisant both of the spoken and unspoken standards in fashion (her students are more shocked by a picture of Julia Roberts’ armpit hair than Japanese footbinding practices) and the gap between the ideals and actual buyers of fashion, she sought to investigate how depicting an older female (the fashion buyer with more discretional income, but all but ignored by the fashion world) would differ in terms of being depicted from the standard teen woman. In her search for an older female muse, she found that she was more successful with a fashion confident female muse than an ‘elegant’ one. While she did have to be aware of some age-related considerations (the model’s stamina for standing and not making them look tired) her muses weren’t concerned about looking young or wrinkled (as one stated “I’ve worked hard for these wrinkles”).

Day Three

Intermission: as this day went straight into talks, I think this is good point to make a note of the food. Newcastle is renowned for the bacon buttie (the pasty franchise Greggs originated here!) and the Baltic served up a sophisticated version of this “traditional” dish.

‘Doing’: Sofie Beier, Jacob Sebastian Bang, David O’Leary

While the work in this section ranged from typography to architecture to industrial design, they all investigated notions of creativity through mastery and slowness.

Sofie Beier’s “Legibility Investigation: Towards Controlling Typeface Variables” pointed at how psychologists investigating typefaces often miss the nuances of type design and make comparisons without understanding underlying context (e.g. there’s no point in saying Georgia is more legible than Helvetica without being able to say why).

Inspired by Frutiger’s letterform matrix, she combined together a number of typefaces for a ‘generic’ shape, then used her professional judgement to make this typeface work as a proper letter set.

Jacob Sebastian Bang’s “Work in Progress” is about exercises in repetition and replication. He and his students make hundreds and even thousands of prototypes in plaster and then transform them either physically (cutting up and reconfiguring) or through representations (drawing on x-rays).

David O’Leary’s “The Tao of SolidWorks” is a work in progress which he described during the talk as an investigating of how mastery of Solidworks can make designers more creative, but was challenged by the audience as potentially being part of a wider narrative about digital craftsmanship.

‘Being’: Hazel White, Matt Coombes, Winnie Ha

Hazel White’s “Fabric Fobs and Family Ties” looked at how craft could be used in ways to engage communities that are disadvantaged in some way regarding technology. They created boxes of ‘smart cushions’ that loaded images, meaning that people in a care home could engage with content from their families without needing to understand how to use a PC.

Similarly, they found techniques to allow children with autism to communicate their feelings.

Matt Coombes‘ “Empathy and the Individual” discussed his “non therapeutic tools of grieving” (he admits that with hindsight they could be called ‘therapeutic’ tools as it doesn’t necessarily mean ‘therapy’, which was what he was trying to avoid). He based the tools on his own experience—such as crying a single tear at a funeral and from that concept creating the Tear Catcher—and crazy examples from the users (“people I know and who trust me”) using (having an emotional phone call and crying), misusing (choosing the most difficult tear catcher bottle) and then questioning (attempting to get the tears in the jar with a pin and then realising how bizarre the entire setup was) the entire concept.

More generally, Coombes is exploring empathy: “when you view people as individuals it’s easier to have empathy with them”. He’s aware of the fine line between empathy and sympathy (it’s easy but not good to lapse into the latter), and is investigating how concepts of improv may help with such things. (He even got the audience to—gasp!—touch each other in a live human demo of co-experience through mirroring.)

Of course, these stories weren’t in the paper. This was picked up on in the discussion: how should we as designers capture these insights and stories (particularly for PhD research) even if they don’t seem valid for papers? Zoë Sadokierski suggested that perhaps blogs are a way to document and make visible these seemingly superficial or anecdotal bits of evidence.

Winnie Ha’s “Writing Practice as Contemporary Practice: Experience, Imagination, Knowledge” work is attempting to bring performativity into fashion, particularly what writing happens when there is no clothes involved. In terms of performativity and clothing, Margaret Attwood’s “The Handmaid’s Tale” was brought up as a useful analogy. The discussion evolved to a wider one on writing in doctoral research, and how designers sometimes bring naïvity/bravery to their writing through writing various voices, with useful examples brought up by the audience including N. Katherine Hayles’ ‘Writing Machines’ and Queneau’s ‘Exercises in Style”

I also liked the comment from designer (and accomplished playwright!) Louise Taylor in response to Ha’s comment that “I don’t describe myself as a writer as I’m not very good at it and it’s not natural to me!”:

‘Doing’: Hugo Glober, Kerry Walton, Phil Luscombe

The final session of the day I saw questioned various forms of the status quo. Tim Ingold was referenced a lot throughout the presentations!

Hugo Glover’s “The 4th Wall Project: A Creative Exploration of 3D-Stereoscopic Viewing and Animation” was similar to the discussion that he did last year for the Interaction Tyneside meetup which I covered at the time. He’s investigating how to bring the concepts of stereoscoping viewing (i.e. those old Victorian penny machines showing a 3D image) into the world of computers.

In “Exploring the Relationship between Textiles and Drawing”, Kerry Walton attempted to learn how to sketch through weaving. In short: it’s hard! Most of the work is hidden (like drawing on a roll) and sometimes the back is more interesting. Still, taking references from Farthing and Marshall et al, she’s found that sketching in textiles does force creativity and new ideas in a way that she’s keen to fold back into her practice.

Phil Luscombe’s “Moving Target: The Modification of Intent when Making a Pair of Scissors” questions whether Pye’s separation of design (proposes) and workmanship (desposes) and the related 1 to 1 translation of idea to construction. Along with Ingold, Keller and Keller, and Preston, he is attempting to find an account of ‘good workmanship’ that acknowledges the improvisation that happens.

Good workmanship is the skillful navigation of resistance thoughout the creation of a thing.

He identified 8 types of resistance (“as well as the big ones of time and cost”):

  1. communication,
  2. information availability
  3. material availability
  4. technological availability
  5. manual dexterity
  6. material recalcitrance
  7. dumb machines
  8. function

Keynote: Justin Marshall and Jon Rogers

The final keynote by, according to organiser Jayne Wallace “the short messy hairiness of Justin Marshall and Jon Rogers” (I’ll leave you to look on twitter to find the context for that!) brought together themes from the conference. Again, they’re noted in the storify so to avoid a strange sense of online recursion it’s better to see the original. More generally, they discussed the future of technology beyond the happy-clappy news of 3D prototyping.


Design Fiction Workshop: Getting the Story Out

This afternoon I had the opportunity to take part in a Design Fictions workshop organised by Nottingham University’s Horizons workgroup. There was a strong Newcastle connection, not only through Newcastle Uni organiser Abigail Durrant but also through Northumbria University researcher Malcolm Jones and his storienteering tools.

For those that aren’t aware, “design fiction” is a term coined by Julian Bleeker and

…is making things that tell stories. It’s like science-fiction in that the stories bring into focus certain matters-of-concern, such as how life is lived, questioning how technology is used and its implications, speculating bout the course of events; all of the unique abilities of science-fiction to incite imagination-filling conversations about alternative futures. (2009)

(One participant suggested that design fiction doesn’t necessarily have to mean science fiction as even historical fiction and other genres may investigate technologies in just as interesting ways, albeit looking backward or sideways rather than ahead).

Horizon is “charting the digital lifespan”, and the workshop focused on creating design fictions around the idea of bereavement. In order to create said design fiction, we used a number of Malcolm’s tools to orient the group towards the story and then make it. His set of resources to do so included a scenario to kick it off, a resource table, and a mapping exercise. (However, he has a lot more of them available on his site).

What is interesting about events such as this is just how much work it takes to get a story out, but also how the people in the room can make a big difference. The skillset of the people taking part ranged from usability to fashion communication and literary theory, and yet somehow the personalities worked together in a very improv-like way to easily build on or circle back on others’ ideas. While it can feel as if you’re going around in circles at first with very obvious ideas or just not getting around to the actual story, somehow it seems to come right in the last few minutes (let’s just say it all got a bit of a weird twist at the last minute … not quite Sixth Sense but somewhere in that region).

That said, one thing that wasn’t got to in the timeframe of the workshop was how the story would be presented (which was a shame). Similarly, there’s nothing like mapping out a story with a strong tech/service base to make you realise all the opportunities for technological things to go wrong  (what would happen if you got the wrong company?). Still, design fictions appear to be by their nature exploratory, so in that respect the exercise was still (I assume) a resounding success).



Newcastle Mozilla Maker Party

This afternoon I mentored a group of young people as part of the Newcastle Mozilla Maker Party at the Centre for Life.

These events are happening around the world, and are a means for people (in this case young people) to have a jump start at making the web (or being ‘web makers’ as the slogan goes) using Mozilla tools.

I was part of a group of several adults (Steve Boneham, Tristan Watson, David EastonChris Wilde as well as Mozilla organiser Doug Belshaw) helping out on the day.

I’d messed around with the Mozilla web tools a bit before, but was reminded as to how easy they are to use.

  • Hackasaurus is a saveable Firebug or Chrome dev tools in that you can edit any page on the web and make your own link of it. Fun if you want to mess around a bit with news pages!
  • Popcorn maker is basically iMovie meets tumblr as you can pretty much mash up anything available on the web.
  • Thimble is a very nice online web editor (no JS, but very good HTML and CSS including error reporting). However, the power of it (as well as popcorn maker) is that you can remix existing sites, like a very user friendly github fork.

The dozen or so young people at the event ranged from 6 years old (OK, that was Doug’s son Ben) to their teens. I was happy that there were a few girls in the group!

While a couple had done coding at school (Jamie, who I helped, told me that it involved road-tripping from Word … which to be honest terrified me a bit) most hadn’t, which made the ease with which they picked up coding more impressive. I also showed a few of them some tricks with Google Fonts (though it was a bit buggy at times) and CSS3 effects.

The full list of hacks and general course of the day is available over at the Mozilla Etherpad.

One curious thing that I noticed was that a lot of them weren’t that comfortable with using laptop trackpads, particularly right click … which made selecting image URLs difficult. (While a lot of us dev people get around that with keyboard shortcuts, they didn’t use them and to be honest most designers I know don’t either). Certainly what I took from that is that events like these need lots of mice as well as laptops available. I suspect that laptops are starting to be edged out these days between big desktops and tablets.

All in all, I think that the Web Maker project looks to be a particularly powerful way to get people up and running with making the web rather than confusing it. I’d be the first to say that my taking up the web was due to being able to sit next to people who were good at it and learn from them. The ability to remix sites hopefully allows more people to be able to do the same.

(P.S: special mention has to go to Sheela Joy and the team at Centre for Life. After too many years of developer events with terrible pizza, my heart sank when I heard we were to get that as afternoon break food. I was wrong. BEST. PIZZA. EVAR.)

Speedy Mondays (Super Mondays July 2013)

To be honest, the mood at the Beehive at Newcastle University was anything but speedy, as the region basked in the ongoing heatwave. Regardless, the July Supermondays had a need for speed, from optimisation to psychology. There was also mention of a new usergroup (JSNortheast, meeting the first Monday of every month).

Richard Powell: Speed and Front End Development

Richard Powell gave a three-prong attack for considering speed in development: load time, perception of speed, and back end development. Of these, load time is the most important: apparently 80-90% of website load time is on the front end. (Even tumblr doesn’t get this right).

Much like Stephen Jones at a recent WP meetup, he recommended optimising and minifying files (for CSS using sprites/icon fonts/base 64 encoding, and concatenating JS and CSS files), obfuscating (JS variables), gzip txt files (70% file reduction). He also discussed being defensive about plugins (e.g. rather than using a tap navigation plugin, it could be done in 3-4 lines of code) loading JS last (even with Async, it doesn’t always work), and using lazy loading. And think about coding efficiently!

In regards to runtime, his analogy for DOM Interaction was memorable: “think of it like taking the dog for a walk and it making a mess: you have to touch it, but you don’t really want to.”

He pointed out that CSS positioning can be expensive: opacity, transforms, and surprisingly static positioning (browser has to recalculate on each load). One nice way to stop something being slow is to give it a rotate position of 0 (it gives it its own engine).

He gave a plea for API devs to think about how they serve up the content, and also not send people off on a wild goose chase to other files for more info.

He made notes in relation to perception (a theme carried on in the following talk): a site with progressive loading feels faster than one without, and to not block the API.

Out of the three, he emphasised the need for load time most (which requires collaboration).

Not sure if loading or…

Slide of the night.

Finally, he points out that it’s worth thinking about the tools we can use for testing: Chrome Dev Tools are good, and sites such as JSLint that let you compare code.

Graham Morely: the Psychology of Speed

Being in a car can be fast, but nothing feels quite so fast as being in a go-kart careening down a hill. Morely focused on how web designers and developers can make a site feel faster.

As it turns out, the speed of a site can have serious business impact. Examples Morely cited included Amazon tests that 100ms of extra load time=1% drop of sales, a page on Yahoo being 400ms slower causing 3-9% increase ‘black clicks’, and Mozilla getting 60m more downloads by increasing speed of download on their page for IE (and conversely the cost of 1s delay: 7% conversions, 11% page views , 16% decrease satisfaction).

Interestingly, speed isn’t always important: ATMs that dispensed money too quickly weren’t trusted.

He quoted Souders’ rule that  satisfaction = perception – expectations and used it as a guideline for work: people are happier with a site that feels faster than they’d expect it to. That said this can be done with information tricks e.g. if you’re in a search sites: going beyond “search hotels” to “search 52,420 hotels” with a loader looks faster.

He cited Neilsen’s studies on page times (though noting they’re perhaps 10 years old):

  • 0.1-0.2s =  instantaneous
  • 0.5-1s = immediate
  • 2-5s = flow, as it takes about 2s for a person to turn a page and find their position.
  • 7-10s (has to be) captivating

You should only spend 10s or more if it’s a natural break in user flow (you may wish to have alternate solutions such as let the user leave the page and email them when the task is done).

He helpfully gave a number of resources to investigate:

Mobile design guru Luke Wobrewski has also just written about perception of speed on mobile.

Oli Wood: Optimising Canddi

Oli Wood spoke from a recent project (Canddi) and his trials and tribulations attempting to optimise it. Above all, his key messages were to measure for what’s important (for them is how many inbound customer requests can be processed) and to just attach it (“Back of a fag packet calculations can be good enough”).

There are no silver bullets (they got expensive machines, hosting, PHP-FDM, all sorts of things, none really worked)

… aim for a silver shotgun cartridge (lots of little small things that can be nailed).

There are no silver bullets… aim for a silver shotgun cartridge.

More practically, he pointed out the importance of testing somewhere not live (as the team use AWS, they can clone and get a ‘good enough’ results) and to use realistic data (get enough on the test site to be good enough, no more) with defined test scenarios.

Build a pipeline view (find where the bottlenecks are).

Identify symptoms (what you can see) but solve problems (your 100% CPU usage could be that you need more machines, or just that you write crappy code).

Do less big things less often (doing big commands only when you have to).

Do frequent things much faster, avoid waiting, pull less data (“who writes MySQL? Who writes SELECT *?”). Hunt for collisions

Cache the painful thing: in memory (can be very effective, even in PHP), with tools such as redis (“almost one-click install, insanely quick”)/memcache (may be slightly better as it spreads across machine), url/browser cache

Use the tools:

  • Ab (“install with one command on Apache, and does a quick and dirty hit”. It’s useful for testing in background) +  Seige (far more detailed in regards to flags which can help to pinpoint where breakpoints are) and EC2 instances. “Install 2 or 3 ubuntu boxes, add EC2 on them and then test”
  • Use iostat (will tell you pretty much everything) or sar (-p is also very useful as it can tell you how busy multiple machines are), strace (“terrifies the life out of me” as it tells you what happens inside the processor “run it, get the text file, google the crap out of it”), iftop (for networks), xdebug + webgrind (don’t run on a live server!) as well as mongo tools such as mongosniff (‘terrifying, powerful, but go to google groups for it’. nginx is faster than apache (sadly)
  • They were on PHP, then moved to nodejs and with regis (if you can get it)

Your aim is to create a loosely coupled components which are horizontally scalable to make the business work (much like the 80/20 rule, beyond a certain point, “it just turns into geekery”). They managed to get the site 10x faster.

Elixr: Paul Callaghan

Paul Callaghan discussed Elixr, a new programming language that runs off Erlang. It’s still in its early stages but has been adopted by Soundcloud amongst other companies, and looks to be to ruby programmers what Coffeescript is for python devs. He pointed out a few useful concepts from the language such as creating a pipeline (a series of actions that can then be tracked in various places).

 Stefan Dantchev: Birthday Attack when randomisation probably helps

The night finished with high stakes of cryptography breaking. Well not quite. Dantchev’s examples were more theory than practical, but an interesting exploration of what we need to be aware of when it comes to code breaking and hashes. He used The Birthday Attack scenario—given a room of people, who many need to be there before it’s likely two share a birthday?—as a means of showing how this works, namely that you use a recursive (factorial) function of the likelihood of it not happening to figure it out. (For birthdays, that number therefore comes up as 23 people, at which point it’s just under 50%).