Why you should stop using dialogs

I posted a tweet about why I think you should not use dialogs, and it seems people are still pretty skeptical, so I felt the urge to elaborate a bit. So why do I dislike dialogs that much? After all, I have written countless JavaScript implementations of dialogs and overlays in the past, and we [...]

Why Canvas is not an obvious choice for web games

I initially wrote this post for our corporate Dextrose blog at http://blog.dextrose.com but due to its technical nature, I republished it over here in order to get a bit more attention. Enjoy! There has been quite some controversy about the decision to use plain old HTML to render a scene with the Aves Engine versus [...]

The issue with progressive enhancement

If you have been following my latest tweets, you’ll notice this is simply the execution of a longer explanation why I think concepts such as progressive enhancement are often very problematic. In the style of a ppk rant, and with the fear of making people angry, disappointed, mad, excited or unbelievably happy, here it goes. [...]

The coverflickr

When I was refreshing my labs and updated them to fit the corporate Dextrose design (http://labs.dextrose.com), I quickly figured that I wrote quite a few plugins in the past that still deserve a lot more attention, because they are..well… kind of awesome. In order to receive more attention, plugins like Coverflow need a kickass demo. [...]

Unleashing your power with music

In one of my productivity articles I wrote about how music can help you gain and maintain productivity. Today, I’ll tell you about a special method how to find the right tunes. First of all, forget about the crap clear your mind about what you know and learned about productivity music or sounds. Things like [...]

Array.toObject

This is another tiny helper I’ve just realized I need badly. I often do something like this to convert Arrays holding Objects into Objects holding Objects for easier lookups: var newObject = {}; for (var i=0; i < someArray.length; i++) { newObject[someArray[i].id] = data[i]; }; I realized this can be beautified a bit by creating [...]

Why tabs are often a bad idea

This article was also released as guest blog on SixCrayons. There was a time a couple years ago when the world needed browser pop-ups. It was awesome – it gave you the technology to launch a dedicated part of your website in a new window, and opened countless possibilities for the booming market of internet [...]

Underestimated UI techniques: Morphing

When I design new applications, I realized I use a couple patterns that I haven’t seen in much use elsewhere, so I’ll start to blog about them. The first pattern in this series is called morphing. What is morphing? Morphing essentially describes a state change on an element, transforming it into another. Many UI frameworks [...]