<> <> = Documents = [[attachment:Weather App (design process).pdf|Weather App design process (pdf)]] = Visual Exploration = Mockup from Andrea Del Sarto {{attachment:weather_mockup.jpg||width=600}} [[attachment:weather_mockup.svg|Full size (svg)]] Proposals from Michel Renon {{attachment:weather_proposal_michel_renon_20140202.png||width=600}} [[attachment:weather_proposal_michel_renon_20140202.png|Full size]] [[attachment:Notes about proposal2 and proposal3.pdf|Notes about proposal 2 & 3]] {{attachment:weather_proposal2_michel_renon_20140217.png||width=600}} [[attachment:weather_proposal2_michel_renon_20140217.png|Full size]] {{attachment:weather_proposal3_michel_renon_20140217.png||width=600}} [[attachment:weather_proposal3_michel_renon_20140217.png|Full size]] Proposals from Lucas Romero Di Benedetto {{attachment:DSCN0444.jpg||width=600}} {{attachment:DSCN0446.jpg||width=600}} {{attachment:DSCN0447.jpg||width=600}} {{attachment:DSCN0448.jpg||width=600}} {{attachment:weatherapp_nexus4_01.png||width=600}} {{attachment:weatherapp_nexus4_02.png||width=600}} {{attachment:weatherapp_nexus4_03.png||width=600}} {{attachment:weatherapp_nexus4_04.png||width=600}} = Weather Spec = ||<>|| Note: we are tracking some of the design proposals before becoming final and placed in this spec [[https://docs.google.com/a/canonical.com/document/d/1Yt0oljesleaq631Ku8EwkgzcEg1k80tnBAJBO2l47PY/edit|in this document]]. == User story #1 Current Location == As a user I want to find out the weather for my current location so that I can view the weather on demand === Functional definition === * Method for discovering user location * Method for looking up and storing weather data for coming days === Design === * Current location lookup (phone) {{attachment:userstory1.png||width=600}} * Current location lookup (tablet) {{attachment:AppSpecTemplate/Needs design tablet.png||width=200}} * Current location lookup (desktop) {{attachment:AppSpecTemplate/Needs design desktop.png||width=200}} == User story #2 Another Location == As a user I want to look up the weather for another location so I know what to take with me when I go there === Functional Definition === * Method for searching for locations from a database === Design === * Location search (phone) {{attachment:userstory2.png||width=600}} * Location search (tablet) {{attachment:AppSpecTemplate/Needs design tablet.png||width=200}} * Location search (desktop) {{attachment:AppSpecTemplate/Needs design desktop.png||width=200}} == User story #3 Units == As a user I want to change the units used when displaying weather data so that I can correlate with other data sources such as TV weather reports === Functional Definition === * Method to switch between metric and imperial === Design === * Settings page (phone) {{attachment:userstory3.png||width=600}} * Settings page (tablet) {{attachment:AppSpecTemplate/Needs design tablet.png||width=200}} * Settings page (desktop) {{attachment:AppSpecTemplate/Needs design desktop.png||width=200}} == User story #4 Upcoming == As a user I want to view the weather forecast for the upcoming hour in the currently selected location so I know which coat to wear today === Functional Definition === * Method to obtain the latest weather data for the currently selected location * Data should already be cached to allow offline viewing === Design === * Current and upcoming weather (phone) {{attachment:userstory4.png||width=600}} * Current and upcoming weather (tablet) {{attachment:AppSpecTemplate/Needs design tablet.png||width=200}} * Current and upcoming weather (desktop) {{attachment:AppSpecTemplate/Needs design desktop.png||width=200}} == User story #5 Locations == As a user I want to quickly and easily look at the forecast in various locations so I can compare the weather where I am and where my friends are === Functional Definition === * Method for storing forecasts for multiple locations * Method for refreshing all forecast data for all locations * Optional: Show multiple locations on screen simultaneously === Design === * Switching between locations (phone) {{attachment:userstory5.png||width=600}} * Switching between locations (tablet) {{attachment:AppSpecTemplate/Needs design tablet.png||width=200}} * Switching between locations (desktop) {{attachment:AppSpecTemplate/Needs design desktop.png||width=200}} * Showing multiple forecast locations simultaneously (phone) {{attachment:AppSpecTemplate/Needs design phone.png||width=200}} * Showing multiple forecast locations simultaneously (tablet) {{attachment:AppSpecTemplate/Needs design tablet.png||width=200}} * Showing multiple forecast locations simultaneously (desktop) {{attachment:AppSpecTemplate/Needs design desktop.png||width=200}} == User story #6 Forecast == As a user I want to see longer range weather forecasts so I can plan my weekend activities === Functional Definition === * Method for storing multi-day weather forecast data === Design === * Multi-day forecast view (phone) {{attachment:userstory6.png||width=600}} * Multi-day forecast view (tablet) {{attachment:AppSpecTemplate/Needs design tablet.png||width=200}} * Multi-day forecast view (desktop) {{attachment:AppSpecTemplate/Needs design desktop.png||width=200}} == User story #7 Switch Provider == As a user I want to choose the best weather data provider for my location === Functional definition === * Pluggable system for adding multiple weather data providers * Method for switching between data providers === Design === * Settings page for switching provider (phone) {{attachment:AppSpecTemplate/Needs design phone.png||width=200}} * Settings page for switching provider (tablet) {{attachment:AppSpecTemplate/Needs design tablet.png||width=200}} * Settings page for switching provider (desktop) {{attachment:AppSpecTemplate/Needs design desktop.png||width=200}} == User story #8 External Link == As a user I want to get more detail about the upcoming weather than the application shows because there are adverse weather patterns forecast === Functional Definition === * Store custom generated links for each data provider, for each location * Method to launch browser directly from any screen taking user to details page from provider === Design === * Presentation of links to data provider website (phone) {{attachment:AppSpecTemplate/Needs design phone.png||width=200}} * Presentation of links to data provider website (tablet) {{attachment:AppSpecTemplate/Needs design tablet.png||width=200}} * Presentation of links to data provider website (desktop) {{attachment:AppSpecTemplate/Needs design desktop.png||width=200}}