Hating Gnome 3

I’ve been using Linux as my desktop operating system for about fifteen years. For most of that time I’ve used GNOME as my desktop environment. That’s longer than I ever used Windows so it’s become ingrained into the way I work. I’d guess that I’m at least 50% more efficient using GNOME than I am using any other desktop environment.

Then, a couple of months ago I upgraded to Fedora 15 which included the new GNOME 3. And everything changed.

And I really mean everything. GNOME 2 would be recognisable to someone used to using Windows or Apples’ OSX. It had menus which opened windows and those windows could be minimised into icons. Your most frequently used icons could be dropped onto your desktop for easy access. It’s the way that graphical user interfaces have worked for decades.

But the GNOME developers decided that this de facto standard was no longer what they wanted. Menus, they decided, were old-fashioned. What people really needed was to search for the name of the program they wanted to run but activating a hot-spot in the top-left corner of the screen and then typing. And no-one really needs icons all over their desktop. That just looks untidy. Oh, and minimising programs, who uses that? They’ve removed the minimise button from all windows. And if you manage to work out how to minimise a window (by right-clicking in the title bar to get a menu) the window minimises into nowhere rather into the icon dock that we’re used to.

As I say, pretty much everything changed. My first impressions were that hated it.

But I decided to give it a fair chance and I’ve been using it on three computers for six or eight weeks to see if I’d get used to it.

And I still hate it.

I’ve found out that there are ways to bend it back to approaching usability. Various extensions can be installed to fiddle with the minimal default set of icons in the top panel. Things like adding a drive menu and removing the accessibility icon. There’s a ‘tweak advanced settings’ tool that you need to install. That allowed me to put icons back on my desktop and return the missing minimise and maximise buttons to all windows. Oh, and somehow I managed to get a permanent Mac-style program launcher on the right-hand side of the screen. It’s not menus, but it’s better than the standard approach for the most common programs I use.

But it’s still not right. I can’t find a way to get my menus back. And, probably most importantly to me, I can’t find a way to put iconised windows anywhere useful (or, indeed, anywhere visible).

I’m sure that the GNOME developers thought they had good reasons for all of the individual changes that they made. But together they make for a completely different experience for the user. I’d probably be more productive in Windows than I am in GNOME 3. Windows is certainly far more like GNOME 2 than GNOME 3 is.

I don’t know who I’m more angry with. The GNOME developers for deciding to release a product that is so completely different to the previous version. Or the Fedora team for including it as the standard desktop in their latest version.

Some of you are probably thinking – ah, but surely GNOME is Open Source; why not just fork GNOME 2 and use that on Fedora. I really hope that someone does that, but I’m sure that a project like that is well beyond my expertise.

If that doesn’t happen, I’m probably going to have to look for an alternative desktop environment. I think that KDE still looks like a standard GUI. Perhaps I’ll give that a go. Or people have been trying to convince me to use a Mac for several years. I never seriously considered it because I didn’t want to learn a new desktop environment.

But if I’m being forced to learn a new environment anyway, then I should probably consider a Mac too.

MPs on Twitter

Did you ever make a chance remark that plants a seed of an idea which then grabs hold of you and refuses to let you go until you’ve done something about it?

That happened to me on Sunday. I was cleaning up some broken feeds on Planet Westminster when I tweeted:

Cleaning up some broken feeds on Planet Westminster (http://bit.ly/47fCK) Interesting how many MPs’ blogs have vanished since the election.

And a couple of minutes later I added:

Someone should monitor the numbers of MPs actively blogging and tweeting over time. Maybe that should be me.

And that was it. I realised that I’d get no rest until I’d started work on the project.

Yesterday I published a graph of the number of MPs on Twitter over time. It’s only the first step. I want to start tracking how active they are and how well they interact with other Twitter users. Expect more graphs to appear on that page over the coming weeks.

I have to thank the nice people over at TweetMinster. They are doing all the hard work of actually tracking the MPs on Twitter. All I’m doing is processing their list.

A few caveats. Currently the graph is generated manually, so it won’t be kept up to date automatically. Also it just works from the date that people on the list joined Twitter. It doesn’t handle people leaving Twitter – they’ll just come off the list and all of their data will vanish from the graph. So it doesn’t track, things like Nadine Dorries’ two (or is it three) flirtations with Twitter.

You should also note that I also don’t handle people joining Twitter before they become an MP. For example, the first MP to join Twitter was Julian Huppert on 2nd May 2007. But he didn’t become an MP until three years later.

So take it all with a pince of salt, But I think it’s an interesting start. Let me know what you think. And feel free to suggest other useful graphs that I could create.

And, yes, I’ll get round to doing blogs too at some point.

Free Web Advice: TalkTalk

Ten days ago I got a cold-call from TalkTalk. They called me on a number which is registered with the TPS and I have no existing business relationship with them so they should not have called that number.

In this situation most people, and this includes me, will probably just be mildly rude to the caller and hang up. But on this occasion I decided that I would take it further. I went to their web site to find a way to complain to them.

The don’t make it easy to find a way to get in touch via their web site, but eventually I found this form. The form starts by asking what your question is about. But the choice of subjects doesn’t include “Unwanted Cold Calls”. Eventually I decided to use “Joining TalkTalk” as it was the only option that seemed even vaguely appropriate. My problems didn’t end there as the form then changed to present me with a another list of options to choose from. Once more none of them matched so I chose “Before You Order” which was, at least, technically accurate.

Filling in the rest of the form was easy. I gave them my contact details, selected the option saying that I wasn’t a customer and wrote a description of my complain.

Lesson one: Making it hard to contact you will not stop people from contacting you. It will only ensure that that they are a little bit more angry with you when they eventually work out how to do it.

A couple of days later I got a reply by email. But it was useless. They said that they would remove my details from their marketing list (within 28 days!) but completely ignored my request for an explanation of why they thought it was reasonable to call me in the first place. So I replied to the email explaining in some detail why their response was unsatisfactory.

A few minutes later. I got an email telling me that my message could not be delivered as the email address was unknown. They had sent the email from an invalid email address. Presumably this is to stop people getting into a dialogue with them. Maybe it works for some people, but it didn’t work for me. I went straight back to the web form from hell and explained their shortcoming to them.

Lesson two: Never ever send customer complaint responses from an undeliverable email address. It gets your customers (and potential customers) really angry.

A couple of days later I got another reply. This one came from someone who at least seemed willing to try to deal with my problem. But they seemed somewhat confused. They said that they were unable to locate my file in their system and asked me to confirm whether or not I was a TalkTalk customer. Two problems with this. Firstly, they’re asking me to provide more details and not giving me an easy way to get the information back to them. And secondly, a few paragraphs back when I was talking about filling in the form for the first time I said that I “selected the option saying that I wasn’t a customer”. Yes, this information is included in the contact form. So why ask me for it.

Lesson three: If you ask someone for more information in order to progress a complaint, give them an easy way to get back to you. Otherwise they’ll just get even more angry.

Lesson four: If your contact form collects information, them make sure that information is available to the people dealing with the complaint. Asking people to repeat information that they have already given you is a great way to make them really angry.

I went back to the dreaded web form and filled it in again. Every reply I get has a case number assigned to it. Each new reply I submit generates a new case number. I’ve been copying the case numbers from the emails I’ve received and pasting them into the new request in the hope that someone will tie all of the replies together into a single thread.

Lesson five: Make it easy for your customer (or potential customer) to track the progress of their single ticket through your system. Forcing people to open multiple tickets for the same issue will just confuse your support staff and anger your customers.

Five simple lessons. All based around the idea that you really don’t want to make customers (or potential customers) angry. Let’s review the list.

Lesson one: Making it hard to contact you will not stop people from contacting you.
Lesson two: Never ever send customer complaint responses from an undeliverable email address.
Lesson three: If you ask someone for more information in order to progress a complaint, give them an easy way to get back to you.
Lesson four: If your contact form collects information, them make sure that information is available to the people dealing with the complaint.
Lesson five: Make it easy for your customer (or potential customer) to track the progress of their single ticket through your system.

Throughout this piece I’ve portrayed myself as a potential customer. I’m not, of course. The way the company have dealt with this complain has ensured that I’m never going to do business with TalkTalk.

But I’ll continue pushing this until they answer my questions. I’ll let you know how I get on.

Free Web Advice: VirginMedia

I’m not a web designer, but I’ve been working in this industry since before there were web sites so I like to think I know a bit about what does and doesn’t work as far as web site usability goes. It’s mainly the stuff which doesn’t work that stands out. And there’s so much of it.

Earlier this week I was using the VirginMedia web site. Specifically, I wanted to log on to my account and download a PDF copy of my latest bill. There were three things in the process that really annoyed me. I should point out that I’m a registered user of the site, so I already had an account set up.

Username or email
The login screen asks for your username and password. That’s pretty standard stuff, of course. But when a site asks me for a username then I assume that it is going to be “davorg” (the username I’ve used on web sites for as long as I can remember). In this case, that’s not what they wanted. Your username on the VirginMedia site is your email address. Other sites use email addresses as your username, but in most cases they then label the field as “email”. Labelling it as “username” adds an unnecessary complication. I gave them my username and, as it was incorrect, the error message pointed out that my username would, in fact, be my email address. So they recovered from the problem well, but there was a moment or two of unnecessary frustration.

Limited length passwords
Having established what my username was, my next problem was remembering my password. I tried a few likely candidates and, eventually, resorted to the “forgot my password” link. That sent me an email containing a link to a page where I could set a new password. And that’s when I remembered why I had forgotten the original password.

VirginMedia have strange limits on what can go in your password. They have the usual stuff about having both letters and digits in your password, but they also have a maximum length of ten characters. That’s why I couldn’t remember it – most of my standard passwords are longer than that. It seems strange to restrict users to such short passwords.

It’s worrying in another way too. If you’re following best practice for dealing with users’ passwords then you won’t be storing the password in plain text. You’ll have some encrypted version of the password. And many of the popular encryption algorithms (for example, MD5) have the property that no matter how long the text that you start with is the “hashed” version will always be the same length. So you create a database column of that length and you don ‘t need to restrict your users at all. Having this restriction isn’t conclusive proof that they’re storing plain text password, but it’s enough to worry me slightly.

Naming downloaded files
Having (finally) logged into my account it was easy enough to find the link to download my current bill. And within seconds I had the file on my computer. But the file was called “GeneratePDF”. And when I come to download next month’s bill that will also be called “GeneratePDF”. What has happened here is that GeneratePDF is the address in their web site that is used to.. well… generate PDFs. And in the absence of other information, browsers will name downloaded files using the address that they came from. It’s easy enough to change that default behaviour using the content-disposition header. Using this header it would be easy to tell my browser to save the downloaded file as, for example, vm-2011-05.pdf. Anything would have been more useful than the current set-up. Notice that the current name doesn’t even have a ‘.pdf’ extension so it’s likely that on some computers double-clicking the downloaded file won’t open in the the user’s PDF-reading software.

So there you have three things that annoyed me about the VirginMedia site. And the really annoying thing is that two of them (the first and third) are really trivial to fix. The second is probably harder to fix, but it’s possibly evidence of some rather broken design decisions taken early in the process of developing this web site.

I tweeted these three issues on Wednesday and I got a response from the virginmedia Twitter account saying “Ok, some fair points there. Will feed this back for you, thanks for taking the time to let us know!” I’ll be downloading my bill every month, so I’ll let you know if anything gets fixed.

Social Networking 101

If you have a blog and a Twitter account then it’s nice to feed your tweets onto the front page of your blog. It can be an effective way to let your friends see what you’re saying in both places.

If, however, you later delete your Twitter account then it’s probably a good idea to remove the widget from your blog.

There’s one very important reason for doing this. Eventually Twitter will allow your deleted account name to be recycled. And then someone else will be able to post tweets which automatically appear on your blog.

Say, for example, you’re an MP who has made a few enemies in her time. And say that you’ve flounced away from Twitter claiming that it is a “sewer”. In that situation you probably don’t want to leave a way open for people who don’t like you to post whatever they want on your web site.

I mean, if you’re currently campaigning about abstinence and sex education, you probably don’t want your web site to say:

I think sex before marriage should be discouraged. It’s better if at least one of you is married, doesn’t matter who to particularly.


I suppose with fisting there’s no risk of pregnancy.. ..maybe kids should be taught about that?

Sometimes I wonder if the money that Nadine Dorries spent on “PR” wouldn’t have been better spent on IT consultancy.

They’ll fix it eventually, so Tim has captured it for us.

Update: And it’s gone. That was slightly quicker than I expected. I’m now expecting a blog post from her accusing someone (probably Tim) of hacking her computer.

Independent URLs

Today Twitter got very excited about a story on the Independent web site. Actually, it wasn’t the story that got people excited, it was the URL that was being shared for the story. The story was some nonsense about Kate Middleton’s face being seen in a jelly bean. The URL was:


And if you click on it, sure enough, it takes you to the story on the Independent web site. Some people presented this as evidence of a joker (or, worse, a republican) taking control of the web site. But the actual explanation is a little more complex than that.

The real URL – the one that the Independent published on the site and in its web feed – was somewhat different. It was:


That seems far more reasonable, doesn’t it (well, of course, the story is still completely ridiculous, but we’ll ignore that). So what was going on?

Well, if you look closely at both URLs you’ll see that the number at the end of them (2269573) is the same. That number is obviously the unique identifier for this story in the Independent’s database. That is the only information that the web site needs in order to present a visitor with the correct story. So the web site is being quite clever and ignoring any text that precedes that number. This means that you can put any text that you want in the URL and it will still work correctly as long as you have the correct identifier at the end. So the URL could just as easily have been one of these:



The slight problem that the Independent had was that the alternative version of the URL was being shared so widely that Google was ranking it higher than the official version. So when people were Googling for the “kate middleton jelly bean” story, Google was presenting them with the dodgy version of the URL.

So why do the Independent use such a clever system if it’s so open to abuse?

One reason is for search engine optimisation. As I said above, you only really need the unique identifier for the story in order to find it in the database. And that means that the URL can be simplified to:


But that doesn’t give Google much information about the content. So it’s generally considered good practice to have some text in the URL as well. And I suppose one of the simplest ways to implement that is to ignore everything in the URL except the last sequence of digits. That’s apparently what the Independent do.

There’s an alternative approach. And that’s to include both the text and the identifier in the URL. And to only accept a URL as valid if both match exactly. I can think of a good reason why that might not work for a newspaper web site. Sometimes newspapers change the headline on a story. And sometimes that change is for legal reasons. In cases like that you really don’t want to have the old headline left around in the URL. And you don’t want to change the URL as any links to the original URL will no longer work. In cases like that, the Independent’s approach works well. You can change the headline (and, hence, the URL) as often as you like and everything will still work.

Incidentally, whilst researching this post I found that the Daily Mail had written a rather gloating article about the Independent’s problems today. The URL for that article is:


What’s interesting to note is that the text portion of that link is just as flexible as the Independent link. I can change it to:


And everything still works correctly. The big difference between the two implementation is that the Mail version will redirect the browser to the canonical version of the URL whereas the Independent will leave the alternative URL in the browser address bar. I have to say that, in this case, I think the Daily Mail is right.

It’s not just newspapers that have this flexible approach to URLs. Amazon URLs have a flexible text section in them too. Each item that Amazon sells has a unique identifier, so the canonical Amazon URL looks like:


But whenever you see a URL on Amazon, they have added a descriptive text field:


But, as with the newspaper URLs, that text field can be changed to anything. It’s only the identifier that is required.


Hours of fun for all the family.

Your mission, should you choose to accept it, is to find other web sites where there’s a ignored text section in their URLs. Please post the best ones you find in the comments.

Bonus points for getting one of the papers to write about your prank.

Update: Here’s Independent editor Martin King’s take on the incident. He says that the system is used for exactly the two reasons I mentioned above – “The feature has search engine benefits but from an editorial perspective it enables us to change repeatedly a headline on a moving article.”

Moonfruit and Techcrunch

For the past few weeks I’ve been working with Moonfruit. They have been working to replace their rather aging web site with something that looks a lot more contemporary.

Today was the day that the new version went live. And it was also the day that I got an interesting lesson in how marketing works in our digital world.

The company’s co-founder Wendy Tan White had been interviewed by Techcrunch and we were expecting that article to be published at about lunchtime. In order to get an idea of when the article went live, I set up a search panel on TweetDeck watching for mentions of “moonfruit” on Twitter.

During the morning there was a steady stream of mentions. This was largely people pushing their Moonfruit-hosted web sites. Then at about 12:25 that all changed. Where previously each update of the search was bringing in two or three new results, suddenly there were twenty in one go. And then another twenty. And another. And another.

On closer inspection I saw that the vast majority of them were exact reposts of this tweet from @techcrunch.

500 Startups Bites Into Moonfruit’s Simple Site Builder For Design Fans http://tcrn.ch/dYbp98 by @mikebutcher

Some of them were retweets, but most of them were automated reposts (often using Twitterfeed). In the first twenty-five minutes I estimate that the story was reposted 400 times. By now (about nine hours later) the number must be two or three times that.

I was astonished to see this volume of reposts. I knew that a story on Techcrunch was good publicity, but I had no idea just how good it was. That’s an incredible number of people who have been told about this article – and, hence, the Moonfruit relaunch.

But there’s another side to this. Why are there so many automated systems set uo to repost tweets from Techcrunch? I know that Techcrunch is a useful source of tech news, but doesn’t that mean that anyone who is interested in tech news will already be following @techcrunch on Twitter? If every tweet from @techcrunch is repeated a few hundred time and @techcrunch posts a few dozen tweets easch day, isn’t that a few thousand pointless tweets? I’m sure that these two or three hundred reposters aren’t amplifying Techcrunch’s reach by two or three hundred times. I’d be surprised if they were amplifying it by even ten times.

So what is the point of these hundreds of reposting engines? Is it some kind of spam system? Or an SEO trick? Or are there really hundreds of people out there who think that their followers benefit from reposted content from Techcrunch?

You might be wondering why I haven’t linked to any of the reposts. Well, of course, in the nine hours it’s taken me to get round to writing this post, most of them have vanished from Twitter’s search engine. Does that mean they were scams that Twitter has cleaned up? Or does Twitter’s search engine just have a really short lifespan?

Where’s Your Data

We hear a lot of talk about how cloud computing is the future. Those of us who still run some of our own internet infrastructure are increasingly seen as slightly eccentric and old-fashioned. Why would anyone host their own mail server when we have Gmail or run their own blog when there is WordPress or Posterous. In fact, why have your own server at all when you can just use Amazon EC2?

Well during September I was reminded of the downside of the cloud when I almost lost two old blogs.

One of the earliest blogs I wrote was on the use.perl web site. Yes, it all looks a bit ropey now, but back in 2001, it was cutting edge stuff. Everyone in the Perl community was using it. But it never really had a service level agreement. It was run on someone’s employer’s network. And, of course, that was never going to last forever. Earlier this month he announced that he was leaving that job and the use.perl would be closing down. Currently, I think that the site is in read-only mode and there are some people in the Perl community who are trying to set up alternative hosting for the site. I hope that comes off. There’s almost ten years of Perl history stored up in that site. It would be a shame to see all those URLs turn into 404s.

And then there’s Vox. I never really used Vox that heavily, but I dabbled with it for a while. And now it’s also closing down. Six Apart put in place some procedures to transfer your blog posts to TypePad, but for reasons I couldn’t work out, that didn’t work for me. What I really wanted was to import the data into this blog (which runs on Movable Type, another Six Apart product) but for some reason that option wasn’t available. In the end I managed to import the posts into Posterous, but I seem to have lost all of the tags (not really a problem) and the comments (a pretty big problem), Oh, and I’ve just noticed that the images are still being hosted on Vox. Better fix that before Vox closes down – tonight.

So I’ve learnt an important lesson about trusting the cloud. It’s all very well putting your data up there, but be sure that you have an exit strategy. Find out how you can get your data out. And how much of your data you can get out easily. I put all of my photos on Flickr, but I keep copies locally as well. But the again, that’s not really enough is it? Sure I’ve got the photos, but if Flickr closes down tomorrow, I won’t have all the social interactions that have built up around my photos.

These scares have made me start to think about these issues. And I’ve been tracking down some other old stomping grounds. I’m pleased to report that my first ever blog (hosted by Blogger, which is now owned by Google) is still available.

Where’s your data? How much could you reconstruct if Facebook closed down tomorrow?

Email From The PM

We’re all, no doubt, used to getting 419 scams in email. I get several a day, but they’re not often as brazen as this.




Our ref: ATM/13470/IDR

Your ref:…Date: 14/09/2010


I am The Rt Hon David Cameron MP,Prime Minister, First Lord of the Treasury and Minister for the Civil Service British Government. This letter is to officially inform you that (ATM Card Number 7302 7168 0041 0640) has been accredited with your favor. Your Personal Identification Number is 1090.The VISA Card Value is £2,000,000.00(Two Million, Great British Pounds Sterling).

This office will send to you an Visa/ATM CARD that you will use to withdraw your funds in any ATM MACHINE CENTER or Visa card outlet in the world with a maximum of £5000 GBP daily.Further more,You will be required to re-confirm the following information to enable;The Rt Hon William Hague MP First Secretary of State for British Foreign and Commonwealth Affairs. begin in processing of your VISA CARD.

(1)Full names: (2)Address: (3)Country: (4)Nationality: (5)Phone #: (6)Age: (7)Occupation: (8) Post Codes

Rt Hon William Hague MP.

First Secretary of State for Foreign and Commonwealth Affairs

Email; bfcaffairs@info.al
Tel: +447405235350

TAKE NOTICE: That you are warned to stop further communications with any other person(s) or office(s) different from the staff of the State for Foreign and Commonwealth Affairs to avoid hitches in receiving your payment.


Rt Hon David Cameron MP

Prime Minister

I’ve left the contact details in there as I feel sure that William Hague doesn’t really use an Albanian email address:-)

The email pretends to come from an address at the directgov.uk domain (note, not direct.gov.uk) and the reply-to address goes to Thailand.

Opentech 2010

On Saturday I was at the Opentech conference. Some brief notes about the sessions I saw.

The day was sponsored by data.gov.uk, so it seemed polite to see one of their sessions first. I watched Richard Stirling and friends talk about some of the work they’re doing on releasing lots and lots of linked data. There were some interesting-looking demonstrations (using a tool that, I believe, was called Datagrid [Update: Sam Smith reminds me that it was actually Gridworks]) but I was in the back half of the room and it was a little hard to follow the details. The session also had a demonstration of the new legislation.gov.uk site.

The next session I attended was in the main hall. Hadley Beeman talked about the LinkedGov project which aims to take a lot of the data that the government are releasing and to improve it by adding metadata, filling in holes and generally cleaning it up.

Hadley was followed by Ben Goldacre and Louise Crow who have a cracking idea for a web site. They want to expose all of the clinical trial data which never gets published (presumably because the trial didn’t go the way that the people running it wanted it to go). They already have a prototype that demonstrates which pharmaceutical companies are particularly bad at this.

The final talk in this session was by Emma Mulqueeny and a few friends. They were introducing Rewired State, which runs hackdays to encourage people to build cool things out of government data. I was particularly impressed with Young Rewired State which runs similar events aimed people under the age of 18,

It was then lunchtime. That went disastrously wrong and I ended up not eating and getting back late so that I missed the start of the next session. Unfortunately I missed half of Louise Crow’s talk about MySociety’s forthcoming project FixMyTransport. I stayed to watch Tom Steinberg give an interesting explanation of why he though GroupsNearYou hadn’t taken off. Finally in this session, Tim Green and Edmund von der Berg talked about how three separate groups had worked together on some interesting projects during the last general election.

I was speaking in the next session. Unusually for Opentech, the organisers decided to have a session about the technology that  underlies some of the projects that the conference is about. I talked about Modern Perl, Mark Blackman covered Modern FreeBSD and Tom Morris introduced Modern Java (or, more accurately, Scala).

The next session I attended was largely about newspapers. Phil Gyford talked about why he dislikes newspaper web sites and why he built Today’s Guardian – a newpaper web site that looks more like a newspaper. Gavin Bell talked about the future of social networking sites and Chris Thorpe talked about automating the kind of serendipity that makes newspapers such a joy to read.

For the final session I went back to the main hall. Mia Ridge talked about why the techies who work for museums really want to open up their data in the same way as the government is now doing and asked us to go banging on the museums’ doors asking for access to their data. And finally Robin Houston told some interesting stories about the 10:10 campaign.

As always the conference was really interesting. As always there were far too many things that I wanted to see and in every session I could have just as easily gone to see one of the other tracks. And as always, I have come away from the conference fired with enthusiasm and wanting to help all of the projects that I heard about.

Of course, that’s not going to happen. I’m going to have to pick one or two of them.

If you weren’t at Opentech, then you missed a great day out. You should make an effort to come along next year.