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).

Dr Whoovian Coder: Or, How I Learned to Stop Worrying And Love Github (and Javascript)

Whenever I do side projects, I attempt to figure out something important that I want to learn from them. For example, it might be that I want to play with my PHP (as with the Fauxcodesign site), making sticky nav one page sites (the Mozilla love-letter) or messing around with Mediawiki (the similar one for the Wikimedia foundation). Anyway, for my recent projects I had two initiatives I wanted to achieve:

  1. Make interaction using plain javascript (or with some jQuery if pushed). I’d been asked in the past as to whether I could do this, and had to evasively answer “well, I haven’t done it, but I can do it since I’ve worked with Actionscript 2.0 and PHP). Time to change that.
  2. Get using Github for hosting. I’d been meaning to use some form of version control, and was also keen to allow for my work to be viewed and built on if need be.

And I needed to find a fun project. I got two.

Doctor Who Lorem Ipsum generator

I know that there’s more lorem ipsum generators than you can shake a stick at, but I’d noticed that even those few Doctor Who related ones were pretty superficial. What’s more, they missed a quirk particular to Doctor Who: that the 11 regenerations have strikingly different personalities, to the point that people might love one Doctor (generally 4 or 10) and dislike others (sadly 6 and 7 get a lot of flack, unfairly I think). So my generator would allow you do make lorel ipsum with your favourite Doctor or a mix of them.

Finding quotes was a matter of looking through various sources. Then to Github to fork a project. The easiest one I found was Flatiron. However, I had to tweak it as it was based on making random sentences rather than paragraphs with existing quotes.

I sourced images from DeviantArt. I was aware that this is a little dicey (I wish the site had creative commons licences as per Flickr), but covered myself by doing three things:

  1. Consoling myself that my site didn’t make any money (there are no ads on it!)
  2. Credited the artists on the site
  3. Reached out to them on the DA pages and let them know I’d used the images and would take them down if it was a problem. (The TARDIS creator was thrilled by it! ).

Tardis Deviantart

I remember messing around with Github when it started, but was put off by it being command-line only. It’s now got a GUI client … but at present only for 10.7. There’s *nothing* free if you’re on Snow Leopard (Github say they see no point in supporting it). Thankfully I’d grabbed a version of their client when they did, and copied it from my Macbook to my iMac.

Version control is a wonder. (I did know this as I worked on a project with Mercurial, but it was also command line only at the time). It’s nice to know that you can make changes, and revert, and that your local code is backed up on a server. I am going to see whether these instructions can help me set up a push to my live sites, but at present I just manually upload changes to the sites.

UX extraordinaire and fellow Whovian Martin Belam also pointed out a few hints on setting things up to show up nicely on Facebook and Twitter (I had no idea about twitter cards), so thanks to him too.

The final result is at doctoripsum.com (thanks to my trusty wordsmith-designer friend Louise Taylor for the advice on the title!). And for anyone who wants to roll their own, the code is up on Github.

The Final Doctor Ipsum

The Final Doctor Ipsum

I got some lovely comments about the site along the way.

So, I had a nice JS site for lorel ipsum. Then the 12th Doctor was announced.

Doctor’o’Clock

Inspired by a tweet about telling time in Doctors,

I decided to try and quickly throw together a clock of, yes, the 12 Doctors. I already had images of 11. (I pulled out the Wacom and made a semi-passable one of 12). Again, I went to online to see what was available in regards to clocks. There were two different options, but I went for the one where I understood the javascript better.

I did hand code the digital and writing parts of the site to show names and time (it’s not easy to deal with the quirks of time without a lot of if statements), though this was a lot easier to get my head around thanks to the clock.

You can see that result hiding under the top level at doctoripsum.com/doctor-o-clock/. And again, the code on Github.

Doctor o Clock (10 past Tennant)

Doctor o Clock (10 past Tennant)

 

Update: March 2014

Thanks to their being both Capaldi’s Doctor and the War Doctor, I now don’t have the perfect line up of 2×6 doctors and the TARDIS. Never mind. I have had a few more lovely comments:

And even a bit of noteworthiness in the blogs (OK, one magazine style article, but still).

Having—and Using—an Online Basement

As I see more and more people tweeting, blogging, and having websites that are little more than redirects to external profiles, a little part of me has a sad.

sad-cat

You see, I miss the days of people having their own websites and experimenting with them. Remember once-upon-a-forest and Praystation? And all of those weird Flash experiments (back when it was Macromedia Flash) that you’d read about in books and then fervently look up on your dial-up connection? It seems to me like they’re happening a lot less now (though I will admit that a fair bit happens on Hacker News, god bless their little orange boxes).

The problem with all of these remote services is that it’s like storing lots of stuff at other people’s houses. It’s all good and well while you’re still talking to them, but one day you start moving around in different circles, and the next thing you know, it’s gone. Or someone else is living there and you can’t get in.

And how much can you do with that stuff over there anyway? If you’re lucky, maybe a bit (if that neighbour is like Jeeves or Doctor Emmett Brown—OK, they’re both fictional characters but we can hope). But most likely not. And that’s where your own basement comes in.

Dee Dee Dexter's Lab

A basement can be that random place where weird and broken stuff go. But at best, it can be where magic happens. There’s a reason that there’s a cliche of teenagers starting a band in their basement. Queen apparently played in their basement for two years before announcing themselves to the world. In that space they experimented, found their voice, and then emerged onto an unsuspecting world. Would they have found that working at other people’s gigs? I doubt it.

Still, here’s my idea: having your own hosting is like having a basement. Particularly if you can make subdomains and have a few databases on the go. In your down time, you go and mess around with ideas (just on your own, or with others), and depending on how it goes, you might run with it. You do it though because it’s there, and easy. You can go crazy with it. But it’s there. (Kinda like Annie Hall’s bug-ridden apartment, or Carrie Bradshaw’s house in SATC2…sorry for mentioning SATC2).

People such as Jason Santa Maria are known for changing over their site every few years and experimenting with what it means to have a web presence. Jessica Hische is renowned for having an idea, and in a few hours of “procrastiworking” having a site to show for it.

I’m not saying that everyone should be forced to use their own hosting. Certainly bloggers can gain a lot from using WordPress, just as photographers can get a lot more from communities such as Flickr than they’d ever get from just having a site. However, I gladly pay my $120 or whatever it is a year for hosting and unlimited sub-domains. (I admit that there are ways to work completely free using Heroku, Github and/or Amazon Web Services, but I have to admit that I’m not that good a developer).

I know that whenever I have an idea for something (like, say, a clock based on the 12 Doctors), I make a new subdomain on my site (thank you Hostgator for unlimited subdomains and databased) and start messing around. If it’s not so interesting it stays there, if it looks like more of a goer I’ll migrate it out to its own site.

And others use their basement in far simpler ways. Jennifer Dewalt decided to learn coding by building a website every day for 180 days. They’re actually not so much websites as pages, each in their own folder, but it’s a well organised basement of treasures.

All these people with their nice linky one-page sites are like houses with beautiful facades (or, if there’s a bit in there, a nice dining room and even a guest bedroom). But don’t forget about that basement. You could see the next best thing in there.

Welcome Aboard

How To Turn Off Comments in WordPress

Over the last year I’ve been asked a number of times how to turn off comments in WordPress after friends’ blogs have got full of spam. It’s not that difficult to do once you understand that it involves two parts: turning off comments in existing posts, and doing it for future ones.

Turning off comments and pingbacks in existing posts

You can turn comments on and off for existing posts using the Discussion section of the Edit Page settings. If you can’t see it, go to Screen Options and turn on Discussion.

Screen Options

Screen Options

From there, you can turn comments and pingbacks on or off.

Turn Comments Off

Turn Comments Off

However, if you’ve got a lot of posts that’s a lot of effort to do. There are plugins available for bulk editing, but I find that using the Bulk Edit section to do posts 20 at a time is fine in most circumstances. To do this, you go to the All Posts page of your Posts, select all the posts you want comments turned off on, go to Edit and on the screen that pops up change All Comments and Pingbacks to show “no comments”. Then click Apply.

Bulk Edit Comments

Bulk Edit Comments

Turn off comments and pingbacks in future posts

To stop future posts from having comments, go to Settings > Discussion and deselect “Allow Users to Add Comments”. This will stop all future posts from allowing them. Alternatively, you may want to make them auto-turn off after a few days.

Discussion Settings

Discussion Settings

if you have too much spam, you may want to try out using a commenting system like Disqus (which I use on this site and has cut out all but spam). If comments are really important to you, you can also use the WordPress endorsed Askimet (free for personal blogs but paid for non-business ones, thanks for the tip as I assumed it was pay only. Cheers Steven Jones and Caroline Murphy for the heads-up).

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).

Thoughts

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.

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%).