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.

Answered: How do I set up a business twitter account?

So, you’re going to set up a business twitter account.You may have got lumped with this task because you’re the only person in the company who actually uses twitter. Or it could have just been most appropriate for your job description. As someone who’s advised a few people about setting up their social media profiles, I’ve realised that I’ve started saying the same things over and over again, so might as well put them all in one post.

Getting started: Your profile

When people choose to look you up on twitter, your profile can often be a deciding factor as to whether they follow you or now (for both business and personal accounts). Giving enough information will let them know who you are and that they can trust you.

What’s in a name?

When you’re setting up an account, it’s worth thinking about the name. If you’re a sole trader (or your name sells the company) you might want the account under your name. However, if other people are involved (and may man the account), it’s worth setting up a proper account.
If you can get the name of your company, GRAB IT. Even if you don’t use it immediately, it’s like a domain name in that people will often guess first. If you can’t get it, consider adding ‘org’ or something related to your location (e.g. ny/nz/london/ncl) to differentiate you.

I picked the wrong name!

You can easily change your twitter name (providing the one you want is available), and it will retain your following/followers. However, all old mentions will be lost, and there can be a bit of confusion if you don’t tell people you’ve changed your handle.

Recommendation: get the name you want as early as you can. If you do change, point it out to your followers so that they know.

Some tips:

Add a URL and location

If you have an official website, put that in the URL field as it’s a natural funnel (and credibility checker). Similarly, if you have an official location, add that as it helps followers to know which country you’re in (especially if you’re looking for hires!) especially in regards to time taken for replies. If you don’t have one place though, either put multiple locations or have a bit of fun with the field.

Have a descriptive description

Say what you are/do succinctly. If you have one or two people with twitter accounts of their own, add them to the profile (it also helps with credibility). If there is an element of customer service involved with your accounts you might even consider adding hours the account is manned.

Don’t be an egg.

As in, do set up a proper profile picture. It can just be your logo. However, some businesses regularly change them (Tyneside Cinema changes it based on what they’re showing at the time).

Managing multiple accounts

There’s nothing worse than tweeting something personal from an official account (there are various horror stories about this). Most apps (including the official Twitter ones) allow for multiple accounts. One potential gotcha is if you have notifications on for iOS, selecting the account will take you to the account for that notification (I’ve had a few near misses here as I’ve forgotten I’ve changed accounts).

However, if you’re web only, it’s not so easy. If you’re really conscious of not getting accounts mixed up, I suggest using different browsers for different accounts (e.g. using Chrome for your personal account and Firefox for your work one etc).

Recommendation: don’t make it easy to use the wrong account by accident. Use an app, or different browsers.

Connecting your services.

In a post-Google Reader world, Twitter is one of the main ways of sharing news. This means that you should make it easy to share news through twitter.

Website content management systems such as WordPress make it easy to connect your twitter account to the system (e.g. with their Jetpack extension) so that any new blog posts or news items are automatically posted to twitter. (Sadly, showing your twitter accounts in other places aren’t as easy as they used to be, but that’s another story). Take the time to connect things to save you having to do everything manually.

Services such as Hootsuite or Buffer allow you to schedule tweets ahead of time. Don’t go overboard with them, but they can be useful if you have potential clients in different timezones.

Conversation is a two way street.

If there’s one thing to be aware of with twitter is that it’s about conversation: it’s not all about you. If people ask you questions, you should probably respond to them within a day if possible. (Despite popular belief, it doesn’t have to be instant, though it helps. And you should have someone monitoring the account if you offer time based services like transport or even online hosting).

Early social media leader Tara Hunt used to talk about being “memorable, useful, and interesting”. (Actually, some of her old suggestions are even more relevant today). Be prepared to follow other relevant people and companies (or put them on a twitter list if you’re not keen on that) and even retweet other tweets that might be of interest to the people that follow you.

Don’t retweet every nice thing said about you. Especially if you choose to ignore any bad tweets. (One nice way to get around this for testimonials it to favourite them and then direct people to the list for testimonials. Hostgator used to do this up until recently).

Don’t flood their twitter stream. Share interesting links that aren’t related to your work.

Finally, make sure you know how @replies work. If you start a tweet with a @ and a twitter account name, only people who follow you *and* that other account will see it. If you want it to be seen by all your followers, put a . before the @ or rewrite your tweet.


Think about who will be following you, and tweet accordingly. If you’re aiming at fellow business owners, share useful links relating to your work. If it’s people who are fans of your brand, keep the tone there.

Your twitter account should also have the voice of your company. For example: if you’re known for being reliable and trustworthy, your tweets should reflect that language (e.g Sage and Mint). If your brand is a bit more chatty and informal like, then your twitter account should reflect that, as with the Innocent or Moo twitter accounts.

Where can I get more tips?

There are a number of sources to help you navigate the business twitter world.

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

The Magical Orange Bus Tour

With the arrival of my Tier 2 visa (a biometric permit, namely a card that you have to use when travelling along with your passport, I miss having stamped in them) I have finally started working full time as a UX designer at the Newcastle digital design agency Orange Bus. I started there a week or so ago, but as my visa was getting sorted out I carefully adhered to the 20 hours per week allowed on my Tier 4 student visa.

So why Orange Bus? A number of reasons. Firstly, after years in academia I came to the realisation that I missed the buzz and stimulus of studio, as well as the opportunity to learn off others. Also, I’m not properly finished with my PhD as of yet, so was keen to stay in Newcastle so as to keep some continuity (I have to be good and spend my evenings and weekends working on my thesis!).

I’d been made aware of Orange Bus thanks to their head of UX Joanne Rigby, who was active on the Newcastle UX circuit and even been involved in some of their local presentation days. It also helped that they’ve employed international workers in the past (my fellow UXer Sai had to sit out a three month labour shortage time in India, so I’ve had it pretty easy in regards to visas) and could walk me through the process. And to be honest, any studio that has a well used foosball table and Friday afternoon beer o’clock can’t be too bad a place to work at.

Orange Bus Foosball

This isn’t even the most recent table, it got replaced after if fell apart from hard use!

In the short time I’ve been there, I’ve learnt a lot about Google Analytics (even taking the free Google training course—get in quick, it closes on the 30th), email tracking codes, and using Windows 8. I’ve not opened a single MS Office app since I arrived: it turns out that it’s surprisingly easy and effective to use Google Drive for pretty much everything. Well, almost everything: there’s a point where you have to use InDesign for amazing documents. I’m going to be able to be involved in the setting up of a UX Lab as well, which will be pretty exciting.

Their new fangled studio in Milburn House near Central Station is pretty cool as well. One of my first memories of Newcastle when I arrived in 2010 was in fact with Milburn House: there was an architecture tour and we nearly got locked in the building! It’s interesting from an architectural perspective as its past as a maritime building reveals itself in the floor numbering system: rather than having 1,2,3, the lifts show levels A-F just as you would have in a ship.

Interestingly, I’ve noticed a lot of companies in Newcastle advertising to hire designers, UXers, and developers. I suspect that people have no idea that it’s not ‘grim up North’ at all: in fact the digital industry is thriving and employees are thriving too on the cheap and cheerful cost of living that’s made the area a favourite student city.

So, I’m looking forward to my experiences ahead with Orange Bus. And remember, if you ever ask me what I’m doing in the evenings or weekends, remind me that the proper answer should in fact be “working on my thesis”….

[EDIT] I thought that the closest song to the company’s name was the famous Beatles song. However, it’s been usurped—it turns out there’s a fun rock ditty (I say ditty as the band have probably forgotten the lyrics now) called “Magic Orange Bus”. Thank you Youtube!

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.


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.


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