meta data for this page
This is an old revision of the document!
Group 1: (Avis)
Name 1 | Name 2 | Name 3 |
---|---|---|
Kokko Joona-Pekka | Myllys Wille | Jurkkola Ville |
Idea
Avis - Accident Visualizer
The fundamental idea of Avis is to visualize Finnish emergency information using Google Maps and Vaadin, thus providing user with geographical incident information. Furthermore, Avis lists and differentiates different incident types. The incident data is available through Rescue services in Finland and provided as a public RSS feed.
Planned services
Priority scale: 1 = Most Critical .. 3 = Least Critical
Service | Priority |
---|---|
Display the last 30 incidents in the map according to the incident location. | 1 |
Allow user to manually refresh the map to reflect the latest feed information. | 1 |
Display the last five (5) incidents as popup windows on the map. | 2 |
Refresh the map periodically to reflect the latest feed information. | 2 |
Display the non-locatable incidents as bold in the RSS feed panel. | 2 |
Display a notification when non-locatable incidents exist. | 2 |
Scroll the map to the area of the latest incident. | 2 |
Allow user to select a time frame for the displayed incident information. | 3 |
Draw icons to differentiate between the different incident types. | 3 |
Allow user to expand/collapse a panel with the actual RSS feed data. | 3 |
Allow user to control the amount of displayed incidents. | 3 |
Implemented services
User can manually refresh the map to reflect the latest incident data User can add incident data to map by clicking an incident link in the sidepanel User can zoom into accident locations by clicking an incident link in the sidepanel User can zoom out the map by clicking a button User can clear the incidents icons from the map by clicking a button User sees a notification when the map is refreshed User sees a notification when an incident with no location is clicked User sees an incident info window by clicking an incident icon User sees an incident tooltip by hovering mouse over an incident (icon or link) User sees a notification in case of an error User sees the amount of listed incidents in topbar Display the last 10 incidents on the map according to incident locations Incidents are differentiated by icons that matched the incident type
Screenshots
(1. View with non-locatable incident and incident info window)
(2. Zoomed in view of an incident)
(3. View after refresh)
(4. Error view if a critical component fails loading).
Implementation
Three fundamental components: RSS reader, parser class and Google Maps widget
Avis application itself implements transaction listener to keep track of application context in thread level.
Parser uses simple regexp grouping to find locations and events from feed data
Google Maps widget is wrapped by Vaadin widget. We extended the widget as described below (see Used components / widgets)
Used components
Vaadin components:
Multiple layout components (Horizontal layout, Vertical layout, Split panel etc) Notifications (Humanized and Error) Table Buttons (with themed images) Labels (with XHTML formatting)
Widgets: Vaadin GWT Google Maps wrapper widget
Extended (by us): GeoCoding (HTTP request/response from Google Maps) Overloaded Marker constructor to support address Marker randomization to avoid overlapping markers
Other things:
Custom theme (Avistheme) with icons, images and CSS
Vaadin
Impressive things in Vaadin:
Flexibility Extendability User support
Encountered problems:
Initial problems with usage of embedded resources
Software
(files and instructions to run software)