CS190 Requirements Document Peter Mosbacher pmosbach 2-1-06 Title: Geoevents Description of the Problem: The city of Providence and the Providence metropolitan region are home to a large number and variety of events and activities from sports and theater to lectures and meetings. Many people are unable to take full advantage of these events and activities because they do not know of their existence, do not know where or when they are, or do not know how to get to these events. While various sources such as the Providence Journal, Brown calendars, and other community sites some or many of these events, no one site lists all of them in a format that is easy to use and displays their geographic location. Users: The target users are any and all members of the communities of Brown and the Providence metropolitan region who have the interest and desire to learn about and participate in local events. Likely users would probably be familiar with internet mapping technologies like Google Maps and Yahoo Maps. Requirements [Priorities indicated in brackets from 1 to 5 going from highest to lowest priority]: Functionality - Make use of Yahoo Maps or Google Maps API [1] - Display the locations of upcoming events on a map [1] - Parsing of source material - Providence Journal events [1] - Local Community pages [2] - Brown calendars [2.5] - Filtering - By content type (like Projo event categories) [1] - By geographic proximity to current location [2] - By geographic area (i.e. local communities and regions) [3] - By intended audience age (especially for children's events) [4] - Ability to specify a specific time range from which to draw event results [2] - Color-code results based upon filtering [5] - Ability to input a current location and have calculated the distance to each event [2] - Ability to get driving directions to an event with one or two clicks [2.5] - Display some information for the event on a mouse click or rollover - Display a box or bubble containing the name, time, distance, category, and cost of the event [1.5] - Give the option to display a short description in the box [3] - Link to the original information source for full information [2.5] - Learn from a user's past selections and suggest other events [4.5] Interface and Usability - Completely web-based interface [1] - Based around the interface of Yahoo Maps or Google Maps [1] - Should be no more difficult to use than Yahoo Maps or Google Maps [3.5] - Results data displayed within the map window [1] - Rest of the interface would consist of form elements such as text boxes, drop list, check boxes, and buttons [2.5] - No need for any sort of special installation beyond what is necessary for Yahoo Maps or Google Maps [3] Performance - Some indication of loading should be displayed in less than 5 seconds in the case of starting the application or filtering or adjusting the displayed events [1] - Depending on connection speed, loading should take less than 30 seconds or a minute [2] - Other functions will be dependent on the relative performance of the Yahoo Maps or Google Maps API [N/A] System Requirements - A computer with a web browser capable of accessing Yahoo Maps or Google Maps [1] Documentation - Tooltips-style hints [4] - A web-based tutorial featuring screenshots and directions [3] - Detailed documentation of the underlying system (not for public consumption but extremely useful internally) [2]