01 02 2018 deib
play

01 / 02 / 2018 @ DEIB FILIPPO CALZAVARA GIOVANNI FILAFERRO - PowerPoint PPT Presentation

01 / 02 / 2018 @ DEIB FILIPPO CALZAVARA GIOVANNI FILAFERRO BENEDETTO MARIA NESPOLI 898526 898594 898884 filippo.calzavara@mail.polimi.it giovanni.filaferro@mail.polimi.it benedettomaria.nespoli@mail.polimi.it 01 / 02 / 2018 @ DEIB T


  1. 01 / 02 / 2018 @ DEIB FILIPPO CALZAVARA GIOVANNI FILAFERRO BENEDETTO MARIA NESPOLI 898526 898594 898884 filippo.calzavara@mail.polimi.it giovanni.filaferro@mail.polimi.it benedettomaria.nespoli@mail.polimi.it

  2. 01 / 02 / 2018 @ DEIB T RAVLENDAR + SOFTWARE ENGINEERING II FILIPPO CALZAVARA GIOVANNI FILAFERRO BENEDETTO MARIA NESPOLI 898526 898594 898884 filippo.calzavara@mail.polimi.it giovanni.filaferro@mail.polimi.it benedettomaria.nespoli@mail.polimi.it

  3. MAIN GOALS OF THE PROJECT

  4. MAIN GOALS

  5. MAIN GOALS IMMERSIVE USER EXPERIENCE Let people interact with the application in the most familiar way. SECURE ACCOUNTS The app does not require login, just open it up and it synchronises across all the iCloud devices. DAILY SCHEDULE The system automatically checks reachability of events so people can arrange their timetable to arrive always on time.

  6. MAIN GOALS

  7. MAIN GOALS

  8. MAIN GOALS EVENT EDITING / CREATION Events can be created or modified through an unique interface, fast and intuitive. ALLOW REPETITIONS Events Repeating? No Problem, this app supports also repetitions. PERSONALISED TRANSPORTATION MEANS People can choose from a variety of transport means so that they can control the way they reach appointments.

  9. MAIN GOALS

  10. MAIN GOALS

  11. MAIN GOALS EVENT DETAILS WITH ROUTES The system automatically creates custom routes based on preferences, traffic and other options.

  12. MAIN GOALS

  13. MAIN GOALS

  14. MAIN GOALS MAP VIEWS Have a look at the appointments right from an In-App Map.

  15. MAIN GOALS

  16. MAIN GOALS

  17. MAIN GOALS ON TIME / DELAY NOTIFICATIONS Receive notifications if events will become unreachable. Pay Attention! An event has recently become unreachable. Open the app to check it out!

  18. MAIN GOALS

  19. MAIN GOALS

  20. MAIN GOALS HIGHLY CUSTOMISABLE SETTINGS People are allowed to customise pretty much everything. Adding Calendars, public transportation travel times and much more.

  21. MAIN GOALS

  22. TECHNICAL SIDE OF THE PROJECT

  23. EVENTS STRUCTURE EVENTS FLEXIBLE FIXED

  24. EVENTS STRUCTURE EVENTS FLEXIBLE LUNCH FIXED

  25. SYSTEM ARCHITECTURE ARCHITECTURAL OVERVIEW Users Mobile App Heroku Architecture

  26. SYSTEM ARCHITECTURE - CLIENT CLIENT SIDE (iOS APP) REST API Realm Networking Local Persistent Store Push Manager ViewControllers Controllers Layer

  27. SYSTEM ARCHITECTURE - SERVER SERVER SIDE Webserver Application Logic Database Heroku Architecture

  28. SYSTEM ARCHITECTURE - SERVER SCHEDULE OPERATION Fetch Data Initialisation Time Slots Notification Save Schedule Fitting

  29. SCHEDULE - SERVER TIME SLOTS EXAMPLE 1 What is a time slot?

  30. SCHEDULE - SERVER TIME SLOTS EXAMPLE 1 What is a time slot? 9:00 Event 1 - Fixed (Milan) 11:00 14:00 Event 2 - Fixed (Pavia) 17:00 18:00 Event 3 - Fixed (Pavia) 19:00

  31. SCHEDULE - SERVER TIME SLOTS EXAMPLE 1 What is a time slot? 9:00 Event 1 - Fixed (Milan) 11:00 Time Slot (11:00 - 14:00) 3 hours 14:00 Event 2 - Fixed (Pavia) Time Slot 17:00 (17:00 - 18:00) 18:00 1 hour Event 3 - Fixed (Pavia) 19:00

  32. SCHEDULE - SERVER TIME SLOTS EXAMPLE 1 EXAMPLE 2 What is a time slot? Why do we need it? 9:00 9:00 Event 1 - Fixed Event 1 - Fixed (Milan) (Milan) 11:00 11:00 Time Slot (11:00 - 14:00) 3 hours 14:00 14:00 Event 2 - Fixed Event 2 - Fixed (Milan) (Pavia) Time Slot 14:30 17:00 (17:00 - 18:00) 18:00 1 hour Event 3 - Fixed (Pavia) 19:00 15:30 Event 3 - Fixed (Milan) 17:00

  33. SCHEDULE - SERVER TIME SLOTS EXAMPLE 1 EXAMPLE 2 What is a time slot? Why do we need it? 9:00 9:00 Event 1 - Fixed Event 1 - Fixed (Milan) (Milan) 11:00 11:00 Time Slot (11:00 - 14:00) Event 4 (Lunch) - Flexible 3 hours (Milan) - 40 minutes (10:00 - 15:20) 14:00 14:00 Event 2 - Fixed Event 2 - Fixed (Milan) (Pavia) Time Slot 14:30 17:00 (17:00 - 18:00) 18:00 1 hour Event 3 - Fixed (Pavia) 19:00 15:30 Event 3 - Fixed (Milan) 17:00

  34. SCHEDULE - SERVER TIME SLOTS EXAMPLE 1 EXAMPLE 2 What is a time slot? Why do we need it? 9:00 9:00 Event 1 - Fixed Event 1 - Fixed (Milan) (Milan) 11:00 11:00 Time Slot Time Slot (11:00 - 14:00) (11:00 - 14:00) Event 4 (Lunch) - Flexible 3 hours 3 hours (Milan) - 40 minutes (10:00 - 15:20) 14:00 14:00 Event 2 - Fixed Event 2 - Fixed (Milan) (Pavia) Time Slot 14:30 17:00 (17:00 - 18:00) Time Slot 18:00 1 hour (14:30 - 15:20) Event 3 - Fixed 50 minutes (Pavia) 19:00 15:30 Event 3 - Fixed (Milan) 17:00

  35. SCHEDULE - SERVER TIME SLOTS EXAMPLE 1 EXAMPLE 2 What is a time slot? Why do we need it? 9:00 9:00 Event 1 - Fixed Event 1 - Fixed (Milan) (Milan) 11:00 11:00 11:10 Event 4 - Flexible (Milan) - 40 minutes 11:50 Time Slot (11:00 - 14:00) 3 hours 14:00 14:00 Event 2 - Fixed Event 2 - Fixed (Milan) (Pavia) Time Slot 14:30 17:00 (17:00 - 18:00) 14:40 Event 4 - Flexible 18:00 1 hour (Milan) - 40 minutes Event 3 - Fixed 15:20 (Pavia) 19:00 15:30 Event 3 - Fixed (Milan) 17:00

  36. SCHEDULE - SERVER FITTING OPERATION Flexible Fitting Which time slot is more suitable to host the event? 9:00 Event 1 - Fixed (Milan) 11:00 11:10 Event 4 - Flexible (Milan) - 40 minutes 11:50 14:00 Event 2 - Fixed (Milan) 14:30 14:40 Event 4 - Flexible (Milan) - 40 minutes 15:20 15:30 Event 3 - Fixed (Milan) 17:00

  37. SCHEDULE - SERVER FITTING OPERATION Flexible Fitting Which time slot is more suitable to host the event? 9:00 Event 1 - Fixed (Milan) TIME SLOT ORDERING 11:00 1 11:10 The algorithm sorts the time slots starting from Event 4 - Flexible the smallest to the largest. (Milan) - 40 minutes 11:50 CHECK REACHABILITY The scheduler tries to fit the event in the chosen time slot 14:00 2 paying attention to its reachability (Maps API). Event 2 - Fixed If It can’t be fitted there, another time slot will be chosen. (Milan) 14:30 If no time slots are suitable to fit the event, this one can’t 14:40 Event 4 - Flexible be scheduled. (Milan) - 40 minutes 15:20 15:30 Event 3 - Fixed (Milan) 17:00

  38. SCHEDULE - SERVER FITTING OPERATION More than one flexible event? 9:00 Event 1 - Fixed (Milan) 11:00 Event 4 - Flexible (Milan) - 40 minutes Event 5 - Flexible (Milan) - 20 minutes 14:00 Event 2 - Fixed (Milan) 14:30 15:30 Event 3 - Fixed (Milan) 17:00

  39. SCHEDULE - SERVER FITTING OPERATION More than one flexible event? 9:00 Event 1 - Fixed (Milan) ORDER FLEXIBLE EVENTS 11:00 1 The scheduler orders the flexible events using the Event 4 - Flexible (Milan) - 40 minutes “fittability” function: Event 5 - Flexible (Milan) - 20 minutes 14:00 TRY TO FIT ALL OF THEM Event 2 - Fixed (Milan) 2 For each event, the scheduler tries to fit it 14:30 according to its time slots as shown in the previous slide. 15:30 Event 3 - Fixed (Milan) 17:00

  40. SCHEDULE - SERVER FITTING OPERATION More than one flexible event? 9:00 Event 1 - Fixed (Milan) ORDER FLEXIBLE EVENTS 11:00 1 The scheduler orders the flexible events using the Event 4 - Flexible “fittability” function: (Milan) - 40 minutes Event 5 - Flexible (Milan) - 20 minutes 14:00 TRY TO FIT ALL OF THEM Event 2 - Fixed (Milan) 2 For each event, the scheduler tries to fit it 14:30 according to its time slots as shown in the previous slide. 15:30 Event 3 - Fixed (Milan) 17:00

  41. SCHEDULE - SERVER FITTING OPERATION More than one flexible event? 9:00 Event 1 - Fixed (Milan) ORDER FLEXIBLE EVENTS 11:00 1 The scheduler orders the flexible events using the Event 4 - Flexible “fittability” function: (Milan) - 40 minutes 14:00 TRY TO FIT ALL OF THEM Event 2 - Fixed (Milan) 2 For each event, the scheduler tries to fit it 14:30 according to its time slots as shown in the previous Event 5 - Flexible slide. (Milan) - 20 minutes 15:30 Event 3 - Fixed (Milan) 17:00

  42. DEMO LIVE

  43. WRAPPING UP

  44. WRAPPING UP

  45. FUTURE PERSPECTIVE AFTER TODAY Pay Attention! An event has recently become unreachable. Open the app to check it out!

  46. 01 / 02 / 2018 @ DEIB FILIPPO CALZAVARA GIOVANNI FILAFERRO BENEDETTO MARIA NESPOLI 898526 898594 898884 filippo.calzavara@mail.polimi.it giovanni.filaferro@mail.polimi.it benedettomaria.nespoli@mail.polimi.it

  47. 01 / 02 / 2018 @ DEIB THANKS FOR THE ATTENTION QUESTIONS? FILIPPO CALZAVARA GIOVANNI FILAFERRO BENEDETTO MARIA NESPOLI 898526 898594 898884 filippo.calzavara@mail.polimi.it giovanni.filaferro@mail.polimi.it benedettomaria.nespoli@mail.polimi.it

Recommend


More recommend