The Daily Parker

Politics, Weather, Photography, and the Dog

Weather Now upgraded (techie)

I almost forgot: the Inner Drive demonstration site, Weather Now, got a significant upgrade this weekend, to version 3.6. I added two new features that are part of long-term plan of improvements. They don't sound like much, but they're pretty important bits that other features will depend on.

First, the lists of weather stations that appear on the home page are now generated dynamically from a database table. This means that I can change them, remove them, add them, or schedule them without having to make code changes. For example, during NFL Football season, you'll notice a list of home football games that changes every Tuesday at midnight Eastern time. In the past, to add a list like that, I'd have to make code and configuration changes. Now I don't.

Now the cool part, and how this is just a step towards a larger feature: In version 3.7 (coming out in January, I hope), you, dear user, will be able to create your own lists.

Second, I've added caching to the current weather reports. Before, every page view required multiple round-trips to the weather database. Now, any time the site retrieves current weather from the database, it stores the reports for some length of time. Any subsequent page requests will find the weather reports in the cache. This means the home page loads significantly (10x) faster on most views. The site gets about 11,000 page views every day, so this is non-trivial.

The cache right now has a fixed expiration time of 180 seconds, and I can change that through the standard application configuration tools. By "fixed" I mean the cache will discard all reports older than three minutes, forcing the application to refresh those reports from the database. This strikes a good balance between current data and application speed, I think, especially since the National Weather Service (whence comes the data) has new information at about that frequency. (You can read more about how caching works in the Inner Drive Extensible Architecture™ SDK.)

I think these are really cool changes, and I'm excited about how much it moves me down the roadmap. And the 3.7 update will be even cooler.

Comments are closed