Projekt

Obecné

Profil

Akce

Product Vision Statement » Historie » Revize 40

« Předchozí | Revize 40/74 (rozdíl) | Další »
Alex Konig, 2021-05-06 08:06


Product Vision Statement

Project Goals

Creating an application that will based on weather input, predict the attendance in class. User will be able to input their own weather information or choose a prediction based on current weather information or prediction for future days.

Customers and benefits

Can be useful for teachers when planning for activities that require higher attendance. For example, if the teacher wants to give their students a pop quiz about their current knowledge from lectures, to get a better idea of the class's general understanding it would be good to have as many answers as possible. This app would enable to predict the attendance for a class, and therefore to decide if it is worth it to plan a 30min window in the lecture for a quiz or to rather plan something else.

It could also be useful for students to decide how early to get to class to get the best seats. Many classrooms only have a limited number of plugs, and since a lot of students write notes on their laptops, the seats near these plugs are highly valuable. This app would enable the students to look how at how populated the building will be and decide if coming early to the lecture will be necessary to get those good seats.

User input

  • Date (or system date) - dd:mm:yyyy + Time - hh
    • Start and end dateTime for prediction of rush level over a timespan, or just start dateTime for prediction at one specific time
  • Weather
    • automatic prediction from official weather server prediction
    • possibility to manually input custom values - temperature, wind, rain probability, weather conditions (sunny/cloudy/overcast/dark)
  • classroom prefix (-> will be interpreted as building the classroom is in)

Output

  • Rush level (very calm, calm, average, busy, very busy)
    • Visualization as a "heatmap" showing rush across the campus
    • If user put end date an animation of changes in rush level

Rush level is relative to the building it is related to. 50% on FAV does not have to mean the same predicted value of activity as 50% on FST, it depends on usual amount of activity read from data for each specific building

Happy Day use-case

The user will specify a date and classroom (e.g. UC-336) for which they wish to get the prediction of attendance. It will be possible to choose to have the weather forecast data for the given day downloaded automatically or user has to option to input custom weather manually. The output of the app will be a text field and a heatmap saying the rush level the model predicts (e.g. very high and a brightly lit up building).

Key factors to judge application quality

  • Application response time
  • UI design appeals to the customer
  • Maintainability (as a measure of effort required to update the model with new data)

Prediction quality is not guaranteed at this stage as data quality is out of our control and hugely impacts the output. Quality should also improve over time as more data is collected by ZČU.

Key product features

Server (backend) part

There will be a server application which:
  • Runs on linux
  • Capable of updating data at admin request
  • Capable of retraining prediction model on admin request
    • Capable of rollback
  • Will run predictions based on client app requests and send the response once it is ready.
  • Software designed to support smooth model transition
    • Modular application, easy to swap parts (for ex. spap for different data parser or data loader or possibly in the future for different data)

We decided that the backend will be developed in C# and .NET platform.

Frontend app

  • Able to specify input parameters
    • user will be able to specify an arbitrary classroom prefix at ZCU,
    • User will be able to specify arbitrary weather conditions (e.g. temperature, precipitation) or use an automatic weather forecast,
    • These input data will be made into a web request and sent to the server,
  • Able to access and visualize prediction using the earlier specified input parameters
    • Heat map type visualisation
    • Able to easily browse prediction across a greater range of time
  • Has a web interface (webGL) and/or mobile interface (Android)

The app will be written in C# and Unity framework.

Project Plan

See Redmine tab Roadmap.

Stakeholders

  • Development Team
  • Project Sponsor
  • Project Mentor
  • Users: lecturers teaching classes at ZČU
  • Users: students attending classes at ZČU

Risks

Available data is too crude

Chances are that the data is not specific enough to make proper predictions for some buildings, much less single classrooms. Hopefully, the model could be improved gradually when there is more data available. In the meantime, the granularity will be selected based on the model quality we achieve.

Our effort estimation may be grossly underestimated

We should define/negotiate a minimum viable product and prioritize individual features.

We proposed an unsuitable technological stack

Due to our unfamiliarity with web programming we've chosen to use technologies closer to our previous experience. These limit us in that the web application will not be easily compatible with mobile platforms. However, in turn, we can easily implement more complex UI and visualizations, and with some extra effort produce both a web and a mobile application using the same components.

Solution

Minimum viable product

Details

For more details about implementation and processed data consult Project details

Aktualizováno uživatelem Alex Konig před více než 3 roky(ů) · 40 revizí