Тема: mashup


Last weekend it was rainy, so I managed to implement my long-standing idea: I’ve made the animation (the old-school text-scroller) over the row of favicons of a large number of adjacent browser tabs.

You can watch a short movie here:

Or you can try it in yours browser here if you are not afraid to break your browser.
(and, well, yeah, currently it works only for Opera, Chrome and YaBrowser)

The whole idea came to me at the moment I drew attention to the fact as the number of opened tabs grows the modern browsers reduce the size of the head of each tab until only the favicon of the tab stays visible. Just before the favicons disappear they stand in a row very close side by side — and here, I thought, you can use them like a solid integrated screen.

Despite the fact it seems that the implementation of this simple idea should not be complicated, in practice there were several problems, such as:

  • the different visual behaviour of different browsers in case of the huge number of tabs.
  • to open a lot of background tabs automatically is hard nowadays because of a lot of anti-spam restrictions.
  • Webkit is slowing down the inactive tabs updates (up to 1 fps), so I had to use postMessage-mechanism and the setImmediate.js library as a wrapper instead of usual setTimeout/setInterval approach.
  • Seems that Opera Presto tries to cache the dynamic favicons, so I used a almost-invisible random noise to break that cache.

The dynamic animation of favicons is not a new idea itself; it exists for a long time (check, for example, the DEFENDER of the favicon). However, as far as I know, nobody has used simultaneous synchronous animation of the set of favicons before :)

Tags: , , , , , , | Make a comment


I just invented the background slideshow generator for funny parties, dull meetings and abstruse lectures. The main idea is pretty simple: just use W3C speech recognition API to compile search queries for Yandex Image Search engine:

Just turn your microphone on and try it! :)

Currently, Web Speech API is supported only in Chrome 25+.

Tags: , , , , , | Make a comment