04.12.10
Posted in Programming at 11:37 pm by thomas
It’s probably some sort of sign of a new phase in the JavaScript life cycle – dealing with binary data.
For the longest time there wasn’t much of a reason to worry about binary files – JavaScript was near exclusively used for text operations and simple number crunching. A multidimensional array maybe. Some objects and of course the DOM.
But binary? A while ago I’ve started work on a still-unfinished 68000 emulator in JavaScript (almost there!), and it was actually surprisingly hard to find good information about the bit operators in JavaScript.
And then there is the problem of how to get binary data into the script engine to begin with. It’s not exactly easy. And after re-inventing the wheel several times in the last few months, I’ve finally posted my current favorite solution for this specific problem to the Stories In Flight site here as a reminder for myself. And if you’ve read this far, you may be interested in that binary loader, too.
Permalink
04.03.10
Posted in Good Stuff, Programming at 12:16 am by thomas
My Spectrum Visualizer has made quite some waves across the blogosphere and it’s been a lot of fun to check out the considerable traffic to the Stories In Flight server.
Of all the writeups I’ve found, here is the one I’ll use for my resume:
OK this must be the bleedingest-edge project I’ve seen in a while. To actually see it I had to download a pre-patched version of Firefox 3.7 alpha pre1 and it uses a draft recommendation of a Mozilla extension to the HTML5 draft specification.
This is from the Awesome But Useless blog, which certainly has one of the most entertaining blog titles I’ve seen in a while. And I am honored to be featured there – it’s great company. Thanks!
Permalink
03.06.10
Posted in Programming at 2:25 pm by thomas
The HTML Working Group at the W3C has published a full set of Working Drafts for the specification of HTML5.
This is another important step to move HTML5 and its associated technologies closer to become an “official” standard and will certainly speed up the implementation of many of these features in modern browsers.
Here are the links to the various documents that have been published:
And just as a reminder, here are my examples for some of the new features of HTML5.
Permalink
02.21.10
Posted in Programming at 12:17 am by thomas
Over at Roughly Drafted is a very interesting article about the UI issues of having Flash on a touch screen device.
I pretty much slapped my forehead when I read this, since it is actually very obvious once you think about it, but most of us haven’t had a chance yet to experience Flash on a touch screen, so the issue hasn’t been in our face enough… and the issue is that many Flash experiences on the Web use mouse hover all over the place. Now imagine trying to use that on a touchscreen. Exactly.
Now to be fair, this is not just a Flash problem, the same is true for many websites where we use hover states for additional information and easy option selectors. We will have to come to terms with the fact that there are more and more touchscreen devices with excellent web capabilities, and we will have to start designing sites accordingly.
The article implies that this is one of the main reasons that there is no Flash on the iPhone or the new iPad and I’m not so sure that’s the case, but the absence of Flash on the iPhone has definitely prolonged the detrimental behavior of all web designers and developers to assume that there is always a mouse cursor.
We will have to let go of the mouse cursor. It’s an interesting experiment – look at your most recent web project (if that’s what you do) and see if it can be used without a mouse. And if not, can you fix it?
Permalink
02.19.10
Posted in Good Stuff, Modern Life, Programming at 1:01 am by thomas
A full month without a post! Time is truly flying right now. On the personal side, I’ve been busy with helping to prepare for our little family as the arrival of the Little One(tm) is getting closer and closer…
And work-wise I’ve spent as much time as possible reading up on the new HTML5 and CSS3 features – and there are many.
On my more experimental site – Stories In Flight – I’ve started to create a whole section with small cheatsheets and tutorials around things in HTML5 that have caught my eyes:
- There is the master cheatsheet for HTML5 and CSS3, which gives you a good overview of some of the highlights like box shadows, rounded corners, SVG and Canvas tags.
- I’ve created a little tutorial around the basics of Ruby Annotations and there’s also a suggestion of a practical use in language training.
- An exploration of CSS3 multiple background images and – rather a surprise – how this can be used quite efficiently for JavaScript animations. I will revisit this feature in the near future with several interesting new ideas…
- A quick look at the basic HTML5 audio tag, including a script solution that allows to easily create whole soundscapes with multiple channels of sound that will come in handy for JavaScript games.
The more I research all the new HTML5 features, the more excited I get for the future of interface engineering – after years of very little progress, where almost all interesting new interface developments came from the Flash side, we are now seeing a renaissance of HTML.
Yes, there will be browser incompatibilities, and yes, Flash will not go away, but I think we will be able to define a much better model where Flash will really only be used where it is necessary. No more reason to kill accessibility and SEO with Flash navigation elements.
We will see exciting new HTML websites exploding onto the scene, lightweight, accessible and kicking all kinds of visual butt.
I can’t wait.
Permalink
01.16.10
Posted in Programming at 11:08 pm by thomas
The number of changes to HTML and CSS that are now showing up in browser rendering engines as part of the general push towards HTML5 are quite astonishing. If you are a web developer and you are not spending all your time right now learning new technologies, then you are probably doing something wrong.
Among the many changes there is one element that has been implemented in Internet Explorer for years, but only now has made the official cut with HTML5 and now slowly finds its way into other modern browsers: Ruby Annotations.
In short, ruby allows the addition of a short annotation, like a pronunciation guide, to a word in a text. Ruby annotations have been used in East Asian languages in print for a very long time, so this new feature will certainly improve the acceptance of standards-based browsers in Asia.
But it will be interesting to see what other uses web developers will find for these new elements – they allow for interesting layout solutions around online translation, language learning and developmental training that are certainly worth exploring.
Permalink
01.13.10
Posted in Programming at 11:45 pm by thomas
The Web as we know it is based for the most part on ten year old technology.
There are many features that web designers have been craving for since the early 2000s that have been stuck in standardization limbo for many years and still now, in 2010, the web community has to support ancient browsers that just won’t go away. Internet Explorer 6 is now nine years old. NINE YEARS!
Every time somebody builds a big commercial website, some 5-10% of the HTML development time is spent on making the site work on IE6, and there are many cool features that are still regularly cut from designs since IE6 or IE7 or even IE8 do not support them.
But there is some light at the end of the tunnel. Even with Microsoft dragging their feet on every new feature, the Web is slowly changing. HTML5 is not an official standard yet, but there are many features that have already been implemented by Firefox, Safari, Opera and Chrome – and for some of them there are adequate workarounds for IE7 & 8 that allow us finally to stretch a little bit, try something new… to experiment.
Here is a HTML5/CSS3 Cheatsheet that I’ve created mostly so that I don’t have to look up the syntax on random web sites every time I want to use one of these. There’s text shadows, box shadows, rounded corners, inline SVG and Canvas support. Many of these things will make the web a better looking place (and I’m sure we’ll also see many anti-usecases in the near future!), and if you are a web developer you may find a use for these, too!
Permalink
11.28.09
Posted in Navel Gazing, Programming at 12:16 am by thomas
#haiku is a new little experiment for my Stories In Flight site – a mashup of Twitter and Flickr: The page searches for tweets with the #haiku hashtag and then visualizes the results by searching for each word in Flickr photos.
It’s a evolutionary step from FlickrPoet, and while it removes the interactivity, it certainly adds a meditative quality to the experience: You can sit there for a while and see the words and pictures dance past, with both Twitter and Flickr delivering near inexhaustible material.
I’ll have to work a little on the code that cleans up the tweets, since there is quite a lot of variation in the formatting of the haikus, with links, hashtags and response tags freely peppered across 140 characters.
Permalink
11.15.09
Posted in Navel Gazing, Programming at 5:02 pm by thomas
Since we’ve built MapSkip a few years ago now, I’ve been steadily thinking of storytelling, its influence on the web and also the influence of modern technology on storytelling itself.
A few days ago I had an idea that was simple enough to experiment with and since I needed a place for the pages, I’ve started a new site – Stories In Flight – to hold storytelling-related tech demos that I’ve had bouncing around my mind.

The first little project to see the light of day here is FlickrPoet – an exploration of adding photos to a short story or a poem by searching for the words of the text on Flickr. This came out of some random experiments with the excellent Flickr APIs, and took on a life of its own. It can be very random, but every now and then it creates a collage of sheer genius. From what I’ve found it can work really well with poems and song lyrics. Feel free to experiment!
Permalink