Christian Heilmann

Author Archive

Philip Tellis on Performance – a Developer Evening in London, England this Thursday

Monday, May 24th, 2010

Hi just a quick reminder that if you are in London, England this Thursday and you want to learn a lot about exceptional performance and how to make your web sites faster and how to really measure your success come to the Yahoo Developer Network evening with Philip Tellis at Wallacespace in Covent Garden this Thursday.

bluesmoon by  Premshree Pillai.bluesmoon by  t3rmin4t0r.

Philip is a person inside Yahoo I got boatloads of respect for. He is currently the main performance engineer in the company and has over the years proven to be an interesting and very knowledgeable developer on almost any topic I can think of. It can be scary at times.

So, bring yourself to Wallacespace on Thursday and before that, get your free ticket at: http://measuringwebperformance.eventbrite.com/.

TTMMHTM: Swinging, Darkroom, iPad accessibility and AI in PacMan

Monday, May 24th, 2010

Things that made me happy this morning:

Rimshots for all – using HTML5 audio and CSS3 to make instantrimshot.com

Sunday, May 23rd, 2010

I’ve been annoyed with the plethora of articles lately showing off HTML5 vs. Flash and building actually worse solutions using open technology. Therefore I thought I’ll have a go at it myself, too.

Instant rimshot is a fun site that has a button that plays a rimshot (the “babumm-tish” after a bad gag at a comedy club) when you press a large red button. I thought this is a good target to convert to CSS and HTML5 and I give you HTML5 instant rimshot.

HTML5 instant rimshot by  you.

In essence this was fun, although Remy had beaten me to it some time ago.

As the background for my work I used HTML5Doctor’s Audio in the browser article and Robert Nyman’s CSS gradient example and I have to say a few things about this:

  • There are not many HTML5 audio tutorials out there – if you Google for HTML5 audio you get video examples – and a lot of them not working.
  • HTML5 articles do not seem to get many fixes – the audio one above for example has a bug in the detection code (mentioned in the comments)
  • I had a hard time making the button work with the sound playing from start to end when you click the button. If you try the “version that loads the audio once and then calls the play() method onclick”:http://isithackday.com/html5-rimshot/rimshot.html you will find that the second time you hit the button it plays the “badumm” twice in Firefox – why I don’t know. Therefore I needed to create a new audio object every time you click the button – which in Safari means it keeps loading the MP3.
  • The necessary browser support forking and the repetition of the file in MP3 and OGG format is simply annoying – if there is a new technology we should demand from browser makers to bloody well do it right and not as a repetition of the late 90ies madness. I guess the latest announcement on I/O solves that issue – but Safari would still need a plugin to play.
  • The same applies to CSS gradients – progressively enhancing the button (on Firefox < 3.6 and on Opera it gets a plain colour) was another annoyance. Westciv’s gradient generator was a good helper for that.
  • Another interesting bug I found was that you cannot position things absolutely inside a BUTTON element in Firefox. Originally I had the button link as a button but gave up soon enough – see the example here.

All in all I love the idea of the open web and HTML5 leading the way into the future but I am seeing us wasting a lot of time trying to make things work cross-browser and if the final result for the end user is not much better then it will be hard to convince our bosses that the effort is worth the time and money.

What we need for that first and foremost are good examples and not “look what we can do” tutorials that neither use HTML5 nor CSS3 but jQuery to simulate the lot whilst we still call it “HTML5 solutions”.

TTMMHTM: Google delivers, Guardian delivers and some more developer goodies

Friday, May 21st, 2010

Damn, life is good as a developer right now.

** We finally have an open video format with WebM which is a container based on Matroska with VP8 as the video and Vorbis for audio. It is backed by Opera, Mozilla and Google amongst other huge players. IE9 says it will support it with a plugin and Safari seems to be supporting it via a Quicktime plugin.

** Google released a library to make it easier to embed web fonts and also host quite a bunch of fonts for easy embedding – preliminary reports by friends of mine state that they look amazing on Mac but very bac on PC - can you verify this?

** Google Latitude now has an API but it also shows some problems

** Google also released BigQuery which is a REST API to analyse data in Google Storage. One of the uses they showed is the Prediction API which does natural language analysis and could become a contender for Open Calais.

** AppEngine got some good updates including a Comet API

** Android got a major update – it now runs the superfast V8 engine, you will have access to accelerometer and camera with a JavaScript API and you can send applications to the phone from computers via the cloud. Makes me want to kill the guy who dropped my Nexus One and hope HTC will be quick in repairing it.

My Google Nexus One died – or the perils of very early adoption

Wednesday, May 19th, 2010

When I went to California last I was lucky enough to meet some friends from Google for lunch at their office and as a surprise on the way out I got a Nexus One as a present:

Nexus One - thanks Google! by  you.

I loved it immediately. It is a very slick phone with a real “developer touch”. This means:

  • To get data on or off it I connect it to a USB port and copy the stuff – no need to fire up some “Media Explorer” or iTunes.
  • The handling was wonderful – even though I never had a touch phone before I had no issues with it at all (except when I tried to type German SMS with the English dictionary on)
  • The geolocation stuff, Google Goggles, Google Maps, Point by Point navigation and all the other stuff that only runs on this platform beat the pants off the iPhone (at least for me)
  • The camera is amazing and the display is crisp as can be

That is until yesterday night. When I gave the phone to someone at the Future of Web Design after party to have a look at it he dropped it. I didn’t check and just pocketed it and this morning I found the display to look like this:

Broken Nexus One by  you.

It has a bit of a Eastman Colour vibe to it but makes it impossible to use. Funnily enough the touch stuff still works perfectly but outside of artificial light you cannot see anything on it any longer.

Now I am busted:

  • Where can I get a free Nexus One repaired in the UK? This is a no contract phone.
  • What can I do about my Jewels and Layar addiction?

It is a great example how being a very, very early adopter can bite you in the bum if something as simple as gravity messes with you :(.