Saturday, December 22, 2007

Never miss the bus again with Plasma

On Thursday I had a meeting with my classmates from the advanced chemistry course, some of them I haven't seen since 6 years, that was real fun! What has this information to do with KDE? Well, on the way to the Irish pub we used the bus of our local public transport (DVB). They have nice info screens (running windows, so you often see just a bluescreen ;)) with advertisement on it. These evening the showed information about a 'widget' that you can download to show the arrival/departure times of a single bus/tram stop. The next day I browsed the DVB website and found a link to this widget, it is a Yahoo Widget thingy... unfortunately the Yahoo Widget engine is not available for Linux :(

Ok, I'm a hacker, let's see whether we can fix that!

The Yahoo Widget consists of a couple of HTML, image and JavaScript files, packed into a proprietary format. Finding out the URL queried by widget to retrieve the information was no problem and the returned data are in an easy to parse format. So the rest of the work was to assemble a Plasmoid which makes use of these 'webservice'. Two days later (had to buy some xmas presents in the meantime ;)) there is a working version available:

You can see two applets which show the departure time for two different stops.
Of course this Plasmoid is only useful for all KDE users living in Dresden (maybe 10? ;)) so I'll make the code available on my private website only, or provide it by KNewStuff later.

Update: You can find the sources and the compile instructions now under http://wgess16.dyndns.org/~tobias/kde/plasma_dvb/index.html

13 comments:

Nick Shaforostoff said...

a similar system in Kiev underground uses freebsd, so we sometimes see freebsd console with init and error messages (mounting problems, etc)

Thomas said...

oww, cool!

I sooo want that for the oslo busses :)

Chris said...

i want this for Munich !!!!

Johannes said...

i want this for Giessen :)

Jan Levenfus said...

Thanks goodness I am living in Dresden (Stiesen) and using KDE! So where's the code?

kwilliam said...

I thought Plasma was going to support running third party widgets, such as Apple Dashboard and Yahoo! (Konfabulator) widgets. I haven't seen any screenshots showing that though. Is that a goal for KDE 4.1 maybe?

Luca said...

OSX widgets require WebKit. Since it's not going to be in until Qt 4.4, you'll probably have to wait till KDE 4.1 or so.

Ismael Asensio said...

Ohhhh!!! So pity that I'm not living anymore in Dresden. That's the plasmoid I would have loved to have last year!!

Frohe Weinachten aus einem Ex-Dresdner

Fredlig said...

It would be useful to create a standard datasource/format that developers could create backends for to work with other cities. And then people could create frontends to present the data in fancy ways.

Thomas said...

One could properly use mobile.bahn.de to query German bus/tram stops and train stations.

tokoe said...

I'll clean up the code a bit and release it after xmas on my website (url will be added to the article).

One problem we were faced with is, that the DVB didn't offered such a webservice for a long time. Now that it exists it was easy to create a Plasmoid. So ask your local public transport provider in Kiev, Oslo, Munich or Giessen to provide such a webservice and we can try to come up with a unified engine and applet.

Carsten said...

the sourcecode link doesn't work

nescius said...

this is in opensuse community repository, and it is, for me, the most annoying misuse of name ever! F#%K! because DVB is actually a shortcut for digital video broadband, yet, this is as you alone said hardly useable except of the 10 KDE users somewhere for super-cool hype which can make all my analog clock applets rotate, but only if I buy top-notch nVidia card and 4core cpu.

and by the way its actually quite ugly.

thats it, finally! after a year of going through the community repository and trying to ignore this totally useless thing.. no offense, but I worked in support and its the worst kind of itch which you cannot scratch, and I FINALLY can forget about this!

keep up with the good work! :)