Skip to content

GSoC: Weather support and enhanced plugin features for Marble

Monday, 27 April 2009  |  bholst

I'd like to say hello to everybody reading this blog. This is my first blog entry. I'm starting my blog because I got accepted to this year's Google Summer of Code to work on Marble.

About Me

I live in Laboe, Germany and I am a student at the Christian-Albrechts-University of Kiel. My major subject is computer science and my minor subject Electrical Engineering. At the moment I am in my second semester.

In contrast to my work on Marble, I play the bagpipes, more precisely a German renaissance set of bagpipes called Hümmelchen. Furthermore I try to find some time to shoot my self-made historical flatbow.

The goal of my GSoC project

As I started working on Marble I thought it was a good idea to add weather support to Marble. Which would make Marble an even more interesting piece of Software.

What is meant by weather support for Marble


Weather in eastern russiaThe primary goal of this Google Summer of Code project is to develop a Marble plugin displaying weather data in form of little sun and cloud icons on the Marble map. When running, the plugin will display a short summary of the current weather on the Marble globe. The number of weather stations shown will depend on the angular resolution. The weather stations will be sorted by importance, so unimportant weather stations will not be shown as you zoom out. This could look like in this mockup showing a part of eastern Russia. The expanded weather box is a later enhancement.

My project is about a completely different feature than the existing Plasma weather applets. These applets provide weather information for only one place at a time. This place has to be selected by name in the configuration dialog. The Marble plugin will be able to display information from many different stations on the globe at the same time giving an overview of the weather in a whole area. It will be possible to freely browse the stations by simply moving around Marbles map.

Weather information with warningThe Weather plugin will be configurable because there are multiple versions the user possibly wants to see:
- only cloudiness
- cloudiness and temperature
- cloudiness, temperature and wind information
- for single stations (for example the weather station which is the nearest) detailed weather report
Because there are possibly other demands, it will be possible to select and deselect
[x] cloudiness
[x] temperature
[ ] wind direction
[ ] wind speed
[x] expandable
[x] weather warnings
separately. I checked a possible standard configuration. The plugin will select between one- and two-line layout automatically. You can see the two-line-version displaying all information in the following mockups.
Two-line mockup without warning

Further configuration options will be:
- Localization (Fahrenheit vs. Celsius; mph vs. km/h vs. bft.).
- [x] Expanded stations stay expanded after restart.
Here you can see a dialog with this configuration options.

At the moment, Marble doesn't support configuration and about dialogs for plugin specific settings. During this Summer of Code I will come up with a solution to make it possible to add these dialogs to plugins. This could look like in current Amarok versions as you see in this screenshot (current Marble plugin dialog).

Later enhancements

As the user can see the current weather now, he will possibly want to know how the weather will be tomorrow. After clicking on the "+" icon for a specific station the information frame will expand and the user will see the forecasts for this specific weather station. Expanded stations will stay expanded after disabling and enabling of expandability or the whole plugin. It will also be saved which stations are expanded so they stay expanded after a restart of Marble.

It would be nice if the user would not have to open the configuration dialog to disable/enable for example the the temperature settings. It would be nice if these options could move into the legend page of Marble's tool box. This could look like this.

Based on this plugin I could program an applet for the plasma-desktop.

I have also some other goals for my Summer of Code project, but I'd like blog about these later when you have seen the first screenshots of little weather icons on the Marble globe. I hope this also keeps you interested in my blog.