[ ] Tapping the button at the bottom pops up a location permissions dialog
[ ] The map appears after the location permissions dialog is dismissed with a user location annotation view visible.
Upgrade from Existing App Store Build
[ ] Recent stops still appear and work
[ ] Single route Bookmarks still appear and work
[ ] Full stop Bookmarks still appear and work
Permissions
[ ] Don't grant permission for location—make sure things seem reasonably sensible
Maps tab
Search
[x] Search UI appears when tapping on the search box
[x] Typing in a route number (say "10" in Puget Sound) produces sane-looking output.
[x] Route search works
[x] Address search works
[x] Stop number search works
[x] Vehicle ID search works for a unique vehicle ID
[x] Vehicle ID search works for scenarios where the ID needs to be disambiguated
[x] Bookmarks appear when you type in matching text, and you can open them
[ ] Recent stops appear when you type in matching text, and you can open them
Map
[x] Bookmarks appear on the map with a different treatment than normal stops
[x] Tapping on a stop produces a callout
[x] Tapping on the callout displays the stop page
[x] Tapping on the map button on the hover bar displays a popover that lets you toggle map types
[x] Tapping on the arrow button recenters the map location on the user's current location
[x] Tapping on the map tab (in the tab bar) also recenters the map location on the user's current location
[x] Dragging around the map changes the contents shown in the map (i.e it always shows content that is centered on your map's center coordinate)
Map Table
[x] A little 'current forecast' view appears above the map table
[x] A section entitled "bookmarks and recent stops" appears
[x] Tapping on a bookmark shows the bookmark
[x] Tapping on a recent stop shows the recent stop
[x] Dragging around the map changes the contents shown in the map table (i.e it always shows content that is centered on your map's center coordinate)
[x] Shows a list of nearby stops
[x] Includes a table item entitled "View All Nearby Stops" (or similar) that displays a list of all nearby stops.
[x] Appropriate 'you're offline' content appears in the map table when the user is not connected to the internet.
Nearby Stops
[x] Tapping on a nearby stop in the 'All Nearby Stops' view controller displays the stop
(If an alert appears...)
[x] Tapping on an alert brings up a browser window with more information about the issue.
[x] Swiping on the alert displays a 'hide' context button
[x] Tapping the 'hide' context button hides the alert
Recent Stops Tab
[x] Tapping on a recent stop displays that stop
[x] Swiping to delete a recent stop works
[x] Tapping on the 'Delete All' button in the top right produces a confirmation dialog and deletes all recent stops after confirmation.
Bookmarks tab
[x] The current region name appears below the "Bookmarks" title in the navigation bar
[x] Content automatically refreshes every 30 seconds, and updated departures are visually marked.
Groups
[ ] Tapping on the Groups bar button item displays the Bookmark Groups modal controller
[ ] Tapping on the + displays an alert that allows you to create a new Bookmark Group
[ ] The Today View Bookmarks group cannot be deleted or renamed, but it can be rearranged.
[ ] All other Bookmark Groups can be renamed and deleted.
Bookmarks subtab
[ ] Tapping on the Sort button in the bottom right corner of the screen allows you to sort your bookmarks by group or by distance from your current location.
[ ] An informative message appears when no bookmarks have been added to this section.
Today View Subtab
[ ] An informative message appears when no bookmarks have been added to this section.
[ ] Bookmarks that appear here also appear in the Today View widget.
Editing Bookmarks
[ ] Tapping on the Edit button puts the Bookmarks tab into Edit mode and changes the 'Edit' button to a 'Done' button
[ ] Bookmarks can be rearranged, including moved between groups
[ ] Bookmarks can be deleted by swiping
[ ] Bookmarks can be deleted by tapping on the red delete button while in Edit mode
[ ] Deleting the last bookmark from a group deletes that group, too.
[ ] Tapping on a bookmark while in Edit mode lets me rename the bookmark or change its group
[ ] Rearranging bookmarks should be disabled when bookmarks are sorted by proximity
Info tab
[ ] Looks OK.
Alerts
[ ] Populates successfully
[ ] Tapping on an item loads it in a web browser
[ ] Tapping on an item marks it as 'read'
[ ] 'Read' state is persistent across opening and closing the view controller
Second-Level UI
Stops page
Header
[ ] Pull to refresh works
[ ] The header at the top displays a map with the stop location visible, the stop name, and a list of routes.
[ ] The refresh button in the header works
[ ] The title displays the last time the stop info was refreshed
Add Bookmark
[ ] Tapping on 'Add Bookmark' on a stop page displays the Add Bookmark UI
[ ] The Add Bookmark UI looks good—text isn't weirdly cramped, margins look OK, etc.
[ ] I can create a new Bookmark Group from the Add Bookmark screen
[ ] I can choose a bookmark group from the Add Bookmark screen
Filter
[ ] Tapping on 'Filter' on a stop page displays the Filter & Sort UI
[ ] Deselecting a route (i.e. 'filtering') removes results for that route from this stop.
[ ] When filtering is applied, a pair of tabs appear on the stop page that allow easy toggling between filtered and unfiltered routes
[ ] "Sort by Route" only affects this stop.
[ ] "Sort by Route" sorts each route by departure time
[ ] "Sort by Route" shows a walk indicator for each section.
Stops List
[ ] When no departures appear in the specified time frame, a label appears in the middle of the screen that says "No departures in the next {NN} minutes."
[ ] Tapping on "Load More Departures" loads 30 more minutes of departures and displays a new label that depicts the loaded timeframe.
[ ] A list of time-sorted departure appears on the page.
Departure Cells
[ ] Tapping on a departure displays a vehicle info page.
[ ] When a departure's time is updated, it briefly flashes in yellow
[ ] The size of the yellow departure update box is only as big as the text it contains, as opposed to the size of its container. To put it another way, in CSS terms it should have an 'inline' display instead of 'block' display.
[ ] A '...' button appears on the right side of each departure—tapping it pops up a list of options.
[ ] Adding a bookmark for a specific route toggles the first option in the more options list to "Remove Bookmark"
[ ] An alarm can be set, which causes a push notification to appear N minutes later.
[ ] "Share Trip Status" pops up an activity/sharing sheet that allows the user to share a trip-specific URL via Messages, Email, etc.
Vehicle Info page
[ ] This UI appears and looks reasonably correct.
(TODO: expand on this section)
Today View Widget
[ ] This UI appears and looks reasonably correct.
[ ] All bookmarks that belong to the Today View Bookmark Group appear here.
First Launch
Install from Scratch
Upgrade from Existing App Store Build
Permissions
Maps tab
Search
Map
Map Table
Nearby Stops
(If an alert appears...)
Recent Stops Tab
Bookmarks tab
Groups
+
displays an alert that allows you to create a new Bookmark GroupToday View Bookmarks
group cannot be deleted or renamed, but it can be rearranged.Bookmarks subtab
Today View Subtab
Editing Bookmarks
Info tab
Alerts
Second-Level UI
Stops page
Header
Add Bookmark
Filter
Stops List
Departure Cells
Vehicle Info page
(TODO: expand on this section)
Today View Widget
(TODO: expand on this section)
Quick Actions (Force Touch Buttons)
Form Factors
Operating Systems