Friday, May 25, 2012

Scaling Maps, Dynamic URLs, Mobile UI, Transparency, RabbitMQ

We have not updated SARWeather in the last two months, since we finally got the system fully operational. This does not mean that we have just been sitting here admiring our work, but rather that we could finally make some extensive changes which had not been allowed to delay the production deployment. We describe those changes very briefly below.

Now that we have got these major changes into production, we expect to resume a more gradual rate of improvement, with regular changes deployed approximately every two weeks. Having said that, we will perhaps fail to maintain that rhythm over the (northern hemisphere) summer months while we take turns going on vacation.

It may also take us a few days to fully migrate all older forecasts. In particular, we need to re-generate about a million static weather plots before all older forecasts will look correct.

User Interface

  • We have removed all header and footer elements from the pages and instead moved navigation and control into a side-bar on the left side of the page. This leaves the majority of the page for the actual content, most importantly the weather maps.
  • The pages now re-size dynamically with the browser window, so the page content can use all available space.
  • Many other smaller improvements.

Forecast Results [see this page]

  • Weather maps are now much larger and scale with the browser window. For the full effect, try switching your browser to full-screen view.
  • The forecast initially shows the static map view, which can't be zoomed, but instead is much faster and uses less bandwidth.
  • The interactive map can be selected by clicking the corresponding button in the side-bar. It is highlighted when the interactive map is active.
  • The static plots are generated in several sizes (currently: 256px, 512px, 768px and 1536px) and the appropriate one is selected depending on the window size, and then scaled to fit the window without changing the aspect ratio.
  • The static map view now has a cut-out of a topological map under it, and the transparency slider works as it does for the interactive map. This topological map is still only available in a single size (650px) and may become a bit rough when scaled.
  • You can now link directly to a particular weather plot and a particular time within a forecast.
  • The URL in the address bar now changes as you switch plot types, drag the time slider, or toggle the interactive map.
  • The plot scale (temperature, wind-speed, etc) scales with the browser window.
  • The transparency slider has been moved into the side-bar on the left to allow more space for the weather map.
  • The time slider has been moved below the weather map.
  • The plot types have been moved from above the map into the side-bar and turned into buttons. The button for the current plot type is highlighted.
  • Posting forecasts to social networking sites now shows the exact weather plot and time that the link leads to as the thumb-nail.

Scrubbing of Forecasts

Weather data is large. The full output of the weather model runs from hundreds of megabytes to several gigabytes for each forecast and we can't keep this much data around indefinitely. Therefore, we now scrub forecasts after a certain amount of time has passed. This makes the interactive maps unavailable and obviously makes it impossible to download the full model output. However, the static maps still remain.

It will be possible to mark forecasts as "immortal", whereby they are never scrubbed, but currently the only way to do this is to contact us.

We will start automatically scrubbing older forecasts when the updated production servers have been running for a while and we are confident in the new static plots.

Mobile Devices

The scaling of content into the browser window means that we make much better use of mobile devices.

The reduced bandwidth requirements of the default map representation is also helpful when working with devices in the field.

Most links have been replaced with buttons which are more easily selectable on small touch-screens. However, more works is still required.

Weather Plots

In the wind plots, calm areas are shown fully transparent and winds below 5m/s are semi-transparent.

Behind The Scenes

We have also made significant infrastructure changes which are not directly visible to users. Among other things we have moved to using RabbitMQ for messaging between worker processes, which we expect will make scaling the system to higher work-loads easier.

No comments:

Post a Comment