April 26, 2011 at 10:26 PM by Dr. Drang
I feel his pain. I’ve tried a handful of weather apps—nothing that Ben didn’t cover today—and have kept switching back and forth because none of them have been satisfying. While reading Ben’s posts, I decided that most of the time all I really wanted in a weather app is what I have on my Mac desktop via NerdTool: a short text description of the current conditions and forecasts for today and tomorrow and a radar image of the Chicago area.
I decided to try a simple CGI script that uses the same pywapi Python library used by my weathertext script. In addition to the text, it grabs the radar image I use on my Desktop. The script is saved as
weather.cgi in the
weathertext repository, and you can see it in action by pointing Mobile Safari to http://leancrew.com/cgi-bin/weather.cgi.
I should mention that I made a weather webapp1 a few years ago and abandoned it. That one worked by screen-scraping brief forecasts from a National Weather Service page. It wasn’t as concise and didn’t include as much information as this project. Also, because didn’t use an API, it’ll break if the design of the source page changes significantly. Surprisingly, it still works.
The best thing about
weather.cgi is its speed. Because there’s only one image—and it’s a static image—the page loads much more quickly than any of the apps I’ve used.
Obviously, this is not a complete substitute for a real weather app because it’s limited to a single location. But it’s the location I spend the most time checking, so it may work better than a real app when I’m around home. I’ve put a link to it on my home screen so I can test it for a week or so.
I think I’ll steal his idea of making the current temperature more prominent (and getting rid of the word “temperature”—what else would it be?), but I won’t be changing the font to Thornburi. Verdana maybe, but not Thornburi. And my old eyes could use a bit more contrast than he gives.
Yes, it’s pretentious to call a simple CGI script a webapp, but that’s the term most likely to be understood. ↩︎