Using canvas to shrink images for Google Cloud Vision


The HTML5 Logo

I've started using Google Cloud Vision for running text detection on OpenBenches images. There's just one problem - Google limits the size of the files that it will accept to 4MB. Why? Who knows! Obviously, it's easy to shrink an image server-side, but how do we do it in the browser? First, let's take a […] Read More

No Javascript Day


I'd like to propose that web designers around the world spend one day this year browsing the web with JavaScript disabled. I'm tentatively calling this "International No Javascript UseR Experience Day" or INJURED for short. A few weeks ago, a reader of my blog complained that all they saw was a blank screen. As Liz […] Read More

Aggressively Defensive Programming


How much checking do we perform that our code is running as intended? I found a curious bug this weekend, which made me think about some of the assumptions that we use when programming. Imagine sorting an array using JavaScript. var arr = [10, 5, 66, 8, 1, 3]; arr.sort(); So far, so normal. Create […] Read More

Visualising Conversation Threads In Hyperbolic Space


In 2009, Kosso and I petitioned Twitter to allow us to search for Tweets by their "in reply to" ID. The idea was that developers could created a properly threaded view of conversations. Of course, Twitter being ultra-responsive to developers, did absolutely nothing. Skip three years into the future, and App.net is providing all the […] Read More

Mobile Badvertising - BarCap


Ahhhh! The BBC. Shining bastion of purity in a sea of commercial malaise. Nothing can spoil its lustre. Well, for those of us in the UK. For the poor sods who find themselves living in the wilderness of ROW (Rest Of World) this is their BBC experience... The reasons for me seeing this are rather […] Read More