iPhone Weather Display Live

Weather Display is an excellent piece of software written by Brian Hamilton. The program gathers weather data from a variety of weather stations and displays the data in a consistent interface. It runs on Windows, Linux and Mac OSX, but it does not natively have a web frontend (although it can generate html files).

The most popular web frontend for Weather Display is WDL - Weather Display Live, a Flash program designed to run in a web browser. But Apple, in its infinite wisdom, refuses to support Flash on the iPhone.

Another popular web frontend is Weather-Display and AJAX. The mobile version gives a nice overview and updates the data automatically and works well on the iPhone.

Weather Display on the iPhone

I decided to write a Weather display WebApp for the iPhone, with the iPhone look and feel. Have a look at my weather display at http://sietse.net/iwdl-demo on your iPhone.
It is not a native app, I don't have a development environment, and I don't want to be caught in the appstore fuzzyness. Luckily, a webapp appears almost as a native program. Check out the screenshots, or even better try the demo on your iPhone.

The app can easily be translated to other languages, my official iWDL is in dutch at http://sietse.net/iwdl

Requirements

The webapp is written in Javascript and requires a webserver to run on. It does not need a database or php on your website. It will need access to some files generated by your native Weather Display or meteohub application. If you have WDL running, you are ready, the clientraw files are already generated and available on your webserver; if not, please have a look at this Weather Display manual page; it describes how to enable the clientraw.txt file uploads. Also, for a better experience, enable the options for 5 minute updates of the clientrawextra.txt and clientrawhour.txt.
Note that you do not need WDL - Weather Display must be configured in the same way as it would for WDL.
Also note that meteohub also creates clientraw files; these are also supported (don't forget to set the meteohub option in the configuration file iwdl_settings.js).

Installation & configuration

Grab the latest tar.gz file (see Release History section), and unpack it on your webserver. It will create and unpack itself in the directory iwdl. Now, rename iwdl_settings.js.sample to iwdl_settings.js.
That was the whole installation process.

There is one thing you must configure: where are the clientraw files?
Open up the file file iwdl_settings.js in the directory iwdl, and locate the following part:

// Where are the clientraw files
settings["clientraw_dir"] = "/iwdl";

Replace /iwdl with your directory. Please note, it is the directory you would have to type into your browser to view the clientraw.txt file. For example, assume the clientraw.txt can be found here:

http://sietse.net/wdl2/clientraw.txt

Then the directory part is /wdl2 and that should be put in the setting mentioned above.

Go!

Point Safari on your iPhone, to your webserver and the newly created iwdl directory and you are done; e.g.: http://sietse.net/iwdl

Language support

Currently, the following languages are supported:
  • Czech
  • English
  • Dutch
  • Danish
  • Finnish
  • French
  • German
  • Hungarian
  • Italian
  • Norwegian
  • Portugese
  • Swedish
  • Spanish
A lanuage is selected in the iwdl_settings.js file:

//Language to use
// Possible languages: cz de dk en fi fr hu it nl no pt se sp
settings["lang"] = "en";

If you feel like making a translation for your language, have a look at the iwdl_lang_.js files; if you create one for your own language, I will add it to iWDL.

More configuration options

I am living in a metric world, but lots of you don't. iWDL can convert values to the units of your world; have a look again in iwdl_settings.js:

//What units to use
//temp: c f
//wind: kn mph kmh ms
//wdir: deg abbr -- abbr will show W, NNE etc.
//rain: mm in
//baro: hpa hg
//time: 24 12
//height: ft m
settings["temp"] = "c";
settings["wind"] = "kmh";
settings["wdir"] = "abbr";
settings["rain"] = "mm";
settings["baro"] = "hpa";
settings["height"] = "ft";
settings["time"] = "24";

Adjust the settings to your liking, but make sure to choose one of the units mentioned in the 'What units to use' list.
There are more settings, have a look in the iwdl_settings.js file.

Themes
As of version 1.1, iWDL supports two themes: apple and jqt. You can switch between themes by editing index.html and change the theme:

var theme = 'jqt'; // possible themes: apple jqt

Webcam support
If you have a webcam, you can show it in iWDL; it is in the configuration file.

Weather forecast
iWDL uses by default the weatherforecast from http://yr.no because it knows about six million cities around the globe. Choose your city (in the configuration file) or, if you like, show a weather forecast of your choice.

Use it like a native app

To get a real iPhone application experience, create an icon for iWDL on your springboard.
This is how to do it:
  • Surf with Safari to your iWDL.
  • Tap the + - sign in the bottom toolbar of Safari
  • Choose 2nd option (put on home screen)
  • Give it a name of your liking (or leave it at iWDL)
When done, there is an icon on your springboard; tapping it makes it feel like a native iPhone app.

Forum

Discussion on iWDL is here: http://www.weather-watch.com/smf/index.php/topic,43872.0.html. Please express your opinion, bug reports, feature requests etcetera in that thread. iwdl-1.3.tar.gz.

Changes in 1.3:
- Updated jqtouch.js and jqtouch.css to address scrolling issue

Changes in 1.2:
- Added date and time formats
- Nicer look on wide browsers and iPad (I hope)
- Support for longer station names
- Added millibars as unit for pressure
- Added daily humidity records
- Added greek language
- Date is now also shown in home screen
- Fixed rain record
- Don't show unsupported record fields in Meteohub clientraw files

Changes in 1.1:
- Fixed bug that disabled the weather forecast from yr.no
- Better google maps support
- Portugese language added
- Theme support! Default theme is now jqt
- Upgraded packages: jQuery from 1.3.2 to 1.4.2 and JQTouch from r129 to r147

Changes in 1.0a:
- swedish language
- some untranslated texts in the new screens
- too many decimal places in yr.no forecast when using knots
- switching units in records pages

Changes in 1.0:
- Records for this month, this year, alltime
- Bug fix for day selection in yr.no forecast
- More days in yr.no forecast
- Languages German, French and Hungarian added
- Toggle for heat index / wind chill

Changes in 0.9:
- Bottom toolbar now with icons
- Radar and webcam moved to bottom bar
- Support for Meteohub
- In graphs, wind direction now shows N, E, S, W if requested
- Graphs that cannot go below zero (e.g. rain) only shows positive numbers
- Finnish, Czech, Spanish and Italian languages added
- Swapping between humidex and windchill if requested
- Weekdays instead of dates in yr.no forecast
- A number of bug fixes

Changes in 0.8a:
Bug fixes

Changes in 0.8:
- forecasts (by yr.no or specify your own url)
- station name / location override
- radar support (you will have to provide a url)
- webcam support (you will have to provide a url)
- a bit of color

Changes in 0.7c:
Bug fixes

Changes in 0.7:
- Settings units and language) can be changed in the application (and will be remembered)
- Maps display of where the weather station is
- Some field adjustments (mainly gusts was using the wrong field)
- Added Swedish and Norwegian languages
- Wind direction can be displayed as N, NW, etc.

Changes in 0.6: Solved a few annoying bugs; no new features.

Screenshots