November 2016 v4 Development Summary
Added 2016-12-01 23:39:35 +0000 UTCIn November, v4 development covered the following areas:
- Porting over the word wrapping algorithm from v3 which is used for the 36 hour forecast and Local Update segments
- Implementing the 36 hour forecast and Local Update segments
- Implementing the 30 day Outlook segment
- Implementing the graphical (with weather icons) Travel Cities Forecast segment
- Implementing the Current and Local radar segments
- Resuming work on the multithreading code to delegate download tasks to a background thread so the main window and rendering no longer freeze when downloading data
- Verifying that v4 still functions on Mac OSX properly
- Beginning work on the vertical bulletin scroll used to display NWS advisories/special weather statements/etc
Porting over v3's word wrapping algorithm for the 36 hour forecast and local update segments allowed these to be implemented in v4. This was an involved process as the word wrapping behavior of the 36 hour forecast is complex depending on different factors (headlines, text for a day spanning multiple screens, etc).
Once the 36 hour forecast and Local Update segments were implemented, they were tested to ensure they were functioning as expected, and then work moved on to implementing the 30 day outlook segment. Since the backing architecture for the data needed for this segment was already complete, this did not take very long to get up and running.
Work then shifted to getting the graphical travel cities forecast with gradient functioning. This was primarily a direct port from v3's code, although some areas can be further optimized like using frame buffer objects for each city's text (city name, high and low temperatures). In the future, this may be revisited to optimize if necessary.
The current and local radar segments were the next things to be implemented. The Local Radar segment's data structures were modified such that the animation frames the local radar segment uses become independent of the data structure once requested, which will simplify thread synchronization concerns in the future.
The next area of work involved moving all the code that downloads data to a separate thread so v4's window and rendering no longer lock up when the data is being downloaded.
Once all this was done, v4 was compiled on Mac OSX and run to ensure it was still functioning as expected given all the major changes and additions that have been done since the last time it was tested on OSX. Despite all the changes, v4 ran on OSX without a hiccup.
The last thing to be focused on in November was beginning to implement the vertical bulletin scroll functionality. This is the brown screen where national weather service bulletins and advisories text scroll vertically up the screen. This is going to be a fairly involved process, as it will not be a direct port from v3, it is being rewritten to utilize frame buffer objects to improve the performance.
In December, work will continue with implementing the vertical bulletin scroll and then the horizontal warning crawl. At that point, dev gui work will be done for the graphical TCF and 36 hour forecast, local update, and outlook segments so the graphics developer can tweak the placements of graphics/text to match the 4000's appearance. Once this is done, work will begin on the configuration GUI which will be the equivalent of v3's configuration program.
Thank you again for being a supporter of this project.