OAuth 1st draft released

September 23rd, 2007

I’m a bit late on this, but the first draft of the OAuth spec has been published.

OAuth is (very roughly) an OpenID equivalent for applications - it lets a ‘consumer’ application (the standard example seems to be a printing service) contact a service provider (continuing the example, say flickr) to request information from one of the service provider’s users rather than the current trend of asking the user for their username and password then page-scraping.

It works similarly to OpenID, in that if I went to the printing service’s website and wanted to print some of my flickr photos, it would re-direct me back to flickr with a key for flickr. flickr itself would then ask me if I’m OK with it and, assuming I am, they send me back to the printer’s website along with a matching key for the printing service to then access my flickr photos.

If the big boys pick this up, it would hopefully lead to an end to the current method of requesting your username and password for another provider, which gives total access to the new website. The biggest current culprit is asking for your gmail/hotmail/yahoo login details to invite friends to a social network. It’s clearly something users want to be able to do (if explained clearly and not the spam approach adopted by quechup among others), but handing over your username and password to other 3rd-party sites is far from ideal as it gives them total control over your account. OAuth would limit them to specific actions, such as retrieving your photos or address book and prevent them from impersonating you.

Perhaps it’s better described as your valet key for the web.

Amazon, I’m impressed

September 15th, 2007

Amazon just did a great thing - they surpassed my expectations of their customer service.

Unless you live under the proverbial rock (or just aren’t much of a geek), you’ll be aware that there’s a computer game by the name of Halo 3 coming out rather soon. Being a bit of a Halo fan-boy (I used to help run one of the big Halo fan sites, Haloplayers, now dormant) I had pre-ordered myself a copy of the Halo 3 Legendary Edition all the way back in March when it was first made available for pre-order. As the game is due for release in 11 days, I logged in to check that my pre-order was indeed still there and would arrive on time.

“Delivery estimate: 29 Nov 2007″

Uh oh.

This is a popular purchase (the game reportedly has over 1.5 million pre-orders and the Legendary Edition sold out the day it was made available for pre-order in most places), so I was quite worried by this estimate of a 2-month wait.

More out of hope than expectation, I filled in the customer contact form on Amazon’s site to ask if the estimate was correct. I’ve never actually needed to contact Amazon’s CS department, but being the big company it is, I wasn’t expecting great things.

A few hours later, I’ve had a reply apologising for the error and assuring me that the estimate will be fixed soon, but that the real estimate is much earlier than the 29th of November. I’m now a happier bunny.

They didn’t quite go as far as telling me what the ‘real’ estimate is, but the email did its job of reassuring me that it’ll be soon and I’m willing to wait a week and see what it is.

So, Amazon impressed me - they replied quickly (on a Saturday, too), were polite and answered my question first time. The rest of the email did get into a bit of a boilerplate grovelling letter asking me to understand that they do their best to ensure accuracy, blah, blah and they hope I’ll give them another chance. To be honest, I don’t think that bit was necessary in this instance, but it didn’t hurt.

Amazon spam

September 11th, 2007

Is it just me, or does Amazon need to at least add an account option to opt out of the nonsense spam leaflets they send with every purchase you make?

I just ordered a CD (the new Go! Team album, which is every kind of awesome) and got 3 ad leaflets along with the CD. They’re getting quite annoying and it’s just wasted paper. At least email spam only wastes your time and temper, not trees (though if both kinds could end, that’d be just spiffy).

Live re-design time!

August 24th, 2007

Following a recent trend for ‘live re-designs’, I’ve rashly (it’s 1.15am) decided to start re-designing this website in its live state.

What that means for tonight is that I’ve replaced the stylesheet with a super-basic one, including the reset.css and typography.css files from the Blueprint CSS framework for a quick-start on the whole vertical rhythm thing. I couldn’t quite bare to quite leave it at that though, so I’ve quickly made sure the flickr ‘badge’ at least displays back up at the top of the page where it was along with the main links. Totally untested in anything but Firefox 2 for now though.

The idea (or at least part of it) is that by having your live website showing all the progress (or lack thereof) while re-designing encourages you to get a move on and get something done.

We’ll see :)

Mmm, tea

August 24th, 2007

The Gottabet office is a rather multi-national affair and, that being the case, most of the guys just don’t get the whole ‘tea’ thing. As in me and Ken actually get incredulous looks for drinking tea each day.

That’s why I think I’m gonna have to buy one of these mugs I just saw linked on The Big Noob for ‘me cup of cha’ once they’re available and play it up a bit.

We’re hiring

August 10th, 2007

At Gottabet we’re looking for a ‘web application designer’ to join the team. The job entails a range of web dev, from helping design various sections/features of the website to implementing them in HTML and CSS.

There’s a full job spec on the website, so if you’re a developer who’s big on web standards looking for an exciting, fast-paced job working on a big social website, check out the job spec and get in touch with Wim and Bertrand (email addresses on the linked page).

YSlow for Firebug

July 26th, 2007

Just spotted (via Simon Willison’s blog) that Yahoo! has released an extension for Firebug, called YSlow.

The extension adds more performance data to Firebug, grading various speed issues A-F like a school exam. It seems rather cool on a brief test, though one bit did immediately stand out as potentially bad advice: YSlow suggests you should move as much Javascript as possible to the bottom of your document (to stop it slowing down your page load times).

This is good advice looking purely from the angle of increasing page load times, but goes against the web standards approach of trying to keep JS out of your body code (the whole unobtrusive Javascript thing).

It’s not a major thing to have JS include tags in the body of your document compared to actual inline JS, but it might have been nice to see a note somewhere providing the other angle to just speed.

Getting user feedback - don’t make it hard!

June 26th, 2007

I just uninstalled the DivX driver from my PC as it currently doesn’t work very well on Vista (slow and pops up with auth requests the first time you open a DivX video). On uninstalling, it opened a form in my browser asking for a bit of feedback on why I was removing the software.

This is good - it shows they might try and improve on whatever caused me to ‘leave’ and if I’m leaving due to minor niggles (yes in my case), I might now be inclined to check again in a few months to see if they’ve sorted it out.

So far, so good.

The first question had a number of radio buttons to choose from on why I uninstalled (bugs, just not liking it, etc.), but due to the wording none really fit, so I left them. Same with question 2 (’might I come back?’ I don’t want to bother answering that).

So I just fill in the last bit - a big textarea for my comments. I point out the Vista problems and that when they’re fixed I might reinstall.

Submit. Error pop-up tells me I must complete question 1. I bet they lose a good percentage of feedback there, but I’m not in a hurry, so I tick an answer and submit again. Pop-up returns telling me I must complete question 2.

Now given that the user is already presumably somewhere on the ‘upset’ scale, putting barriers in the way of them telling you why they’re upset and leaving isn’t good. If the textarea has been filled in, it’s much more likely to give actual useful feedback than a multiple choice question so let it go and ignore the others.
This is probably just one of those things that got overlooked, but if it was done right I bet they’d be getting much more useful feedback, or even some more useful feedback from people like me who just filled in the free text box with their actual opinion but then got irritated at the form validation and left (I did submit my feedback, but I’m a developer and know its potential use).

PS: I’m not just picking on DivX, just that theirs is the website I most recently (5 minutes ago) hit this problem with. It was a great idea to ask for my feedback, they just failed slightly in letting me give it to them.

IE6 and position:relative (aka: 3 wasted hours of my life)

June 14th, 2007

At Gottabet, we’ve started to migrate the website to a cleaner, wider layout that I’ve been working on for the past few months. We started by launching a new homepage and a couple of weeks ago we trialled a new signup page (via A/B test) and then rolled that out for everyone. Yesterday we launched our new Bet Detail Page. This week I’m working on getting a number of the ‘basic’ pages ported over and after a great start hit one of the most frustrating IE6 bugs for some time.

Absolutely-positioned button over a bet imageOn Gottabet we often absolutely position a ‘Bet on it!’ button over a bet image in listing pages - so it sits on a corner of the image. Most of the time this works absolutely fine - you have a div containing the bet image and the ‘bet on it’ link. The div is styled with position:relative and the ‘bet on it’ link is position:absolute, with the necessary top, left, right or bottom spacings for wherever it needs to sit compared to the image.

For the one page I was working on today though, it all went wrong. Very, irritatingly, wrong.

The problem: relatively-positioned elements on the page would move from their correct (effectively inline) position in IE6 and shift down a hundred pixels or so and right a bit. To confound matters further, I found that it depended on whether I refreshed the page while looking at the top or the bottom of the page in the browser. When scrolled to the top, the relative elements moved down on refresh. If scrolling to the bottom of the page and hitting refresh, on reload they’d be too high.

After searching for known issues with IE6 and position:relative, I found a couple of common problems that didn’t seem to apply to me: the peek-a-boo bug and hasLayout.

The hasLayout issue seemed close, but the div with position:relative was already triggering hasLayout thanks to having a specified width and float:left. The symptoms also didn’t quite match up (mine seemed much weirder). In the end, I resorted to what I should have done much earlier and set up a test page with an extremely stripped-down verson of the page content - only the bare minimum of the grid layout with no header/footer and only the CSS relevant to the part of the page that was breaking.

It worked fine. This was a good sign, because it at least meant there was definitely something causing the problem, so I started adding code (and the relevant styling) back in until it broke. Turns out a containing div had position:relative on its own, with nothing to trigger hasLayout in Internet Explorer. It didn’t affect the case where it was being used, but by the time it filtered down to the next relatively-positioned block things were going crazy.

After 3 hours (most of them going round in circles before I started the stripped-down HTML version - there’s a lesson), all it took was adding a width to that containing div to trigger hasLayout in IE and all was well once more.

So be warned: the hasLayout bug gets nastier when you have nested blocks using position:relative!

Making the customer jump through hoops

April 15th, 2007

Yesterday my brother sent me a file through YouSendIt. As the person receiving the file, all I wanted to do was click the link in the email and have the download start. Instead, I was made to jump through hoops by YouSendIt’s website before I could finally download the file I’d been sent.

The email I received looked promising: it told me I could click on the link to receive the file Christian had sent me. So I did. I then got a screen asking me to sign up for an account at YouSendIt. Due to the wording, it wasn’t immediately obvious that this was a requirement for receiving a file - it just looked like upselling - but having looked in vain for a ’skip signup’ link, I had to sign up.

Form filled out, I’m then told I need to validate my email address (so I’m basically back to square one - clicking a link in my email). That done, I can finally log in. I’m a little irritated (why should I have to sign up just to receive a file?), but it looks like I’m getting there. Nope. On login, I’m shown a page inviting me to send a file. That’s not why I’m here and a minimum of session tracking could have told them that.

So I click to go to my inbox and finally, there it is: a row showing Christian’s name and the filename as a link. Click the link and download the file, non? Non. Another page, declaring ” Here is your file named xxx” and a linked URL. A step too many, but they seem to want to show me some more ads as a non-paying customer. I click the new link. By this point, I shouldn’t have been surprised, but there was still another page, promising once again “Your file is available for download”. This time there’s an orange ‘Download now securely’ button which does at last start the file download.

So let’s recap on what I, the receiver of the file, had to do to get that file: Click link in email; sign up; click another link in another email; log in; click to inbox; click file; click file; click file - 8 steps where I was expecting one, maybe two at most from the email that was sent to me.

The basis of this seems to be two things YouSendIt want me to do: sign up (so that I might then use their service to send my own files and perhaps become a paying customer) and view adverts to help them make some money on people who aren’t paying for these file transfers and storage. I can’t believe they have much success on either front.

I signed up yes, but now have no intention of ever using their service again (and I’ve even gone as far as writing this unhappy post for others to see) because of the stupid number of steps they made me go through (all unnecessary in the eyes of someone receiving a file). I also didn’t even notice the ads first time through - it’s only doing it a second time to count the steps that I noticed them and the blocked pop-ups. People have trained themselves to instantly ignore anything resembling an advert on websites.
There’s a clear reason for the person sending the file having to sign up, but why the person on the receiving end has to do anything other than click a link and download the file is beyond me.