Summit Hacking Sprint Proposal

Registered by Chris Johnston

During the Oneiric development cycle, the Summit Hackers made huge improvements to the overall usability and more important at that point stability of Summit. This involved 122 different code commits as well as fixing 64 bugs, plus completing 20 action items that were assigned during UDS-O. This work made Summit the most stable that it has ever been. While we did a large amount of work last cycle, we still do not have Summit at 100%. During the Summit session at UDS-P, we discussed with Rick Spencer, Jono Bacon and Joey Stanford of where Summit needs to go in order to be improved even more.

We are requesting the ability to have a 5 days sprint (preferably in January) in order to increase productivity by working together in one location on further improving Summit to increase the usability and stability even further allowing Summit to continue to be used for Ubuntu Developer Summits in the future. Due to Nigel needing to get a Visa, the recommendation is being made that the sprint be held in a European location. We are suggesting doing the sprint at the Canonical offices in Millbank that way we are near the design team to get assistance/feedback on the new schedule designs as we go. Our second choice would be in Budapest along with Canonical Platform Rally.

Below you will find the items that we are wanting to work on during the sprint to improve Summit even more for the next UDS in May.

Whiteboard

(In order of priority)
Estimates in days (or half days) in [ ] before the item they are for. If a parent item has an estimate, it is the sum of it's children.

UI:
 - Completely redesign the schedule page optimizing for different displays:
[0.0] * Hallway display screen (can continue to use render.py for now)
[1.0] * Laptop: DONE
[?.?] * Mobile device: DONE
[1.0] - Create a "My Schedule" page which which will act similarly to the current 'hide talks that aren't for me' but make it to where you are only seeing what you are interested in, in a schedule format.: DONE
 - Create the ability to have simultaneous sprints: INPROGRESS
[2.0] * This will allow for separation of events making the scheduling views much more user friendly
[1.0] * Have the events aware of each other, that way if a user is attending a session at UDS summit will notify the schedulers if they try to schedule a session for Linaro Connect at the same time.
[0.5] - Make it easier to sign up, or sign someone else up for a meeting from summit: INPROGRESS
 - Socialize summit: DONE
[1.0] * Ability to quick link on Facebook, Twitter G+, Identica: DONE
[1.0] * Allow users to see where their 'friends' are

Private Meetings:
The ability to create private meetings exists the summit as of this past cycle, however the implementation was not completed. Currently only admins are able to see the private meetings. We need to create a view that will show a user who is an attendee of a private meeting that he as a private meeting he needs to attend. As summit is now, the attendee must be told that there is a private meeting for them to attend. Also, currently the only way to have attendees for private meetings is if there is a blueprint. This isn't always the most ideal situation as it is possible for someone who is not supposed to be attending to subscribe themselves to the blueprint, and then show up on the schedule for the private meeting.
[0.5] - Create the ability to allow for participants to be added to a private meeting without the need for a blueprint: DONE
[0.0] - Allow attendees to see the private meetings which they are scheduled for (this should be the default behavior of the laptop view and My Schedule view): DONE

User Roles:
[2.0] - Making user roles for different users providing different levels of access
  * user: DONE
  * track lead: DONE
  * scheduler: DONE
  * manager: DONE
  * admin: DONE

[1.0] Automation
 - Restrict scheduling permissions to schedulers and above after the summit start date (have the cron script check, so we don't need to enable/disable the cron entry)
 - Turn off auto scheduler after UDS starts(same as above)
 - Turn off rescheduler after UDS starts (same as above)
 - Shorten blueprint import frequency to 5 minutes after UDS starts (same as above)

Attendees:
There is currently no way for people to schedule busy times. More than likely this would only benefit few people, however it is important. Track leads or managers for example may have meetings that are outside of the realm of needing a meeting scheduled in summit.
[0.5] - Create a form for users to input their busy times
[0.5] - Check against busy times for scheduling conflicts
Code cleanup / product stabilization:
[0.5] - Remove the Linaro hard coding (should be the result of the separation of sprints): DONE
 - Create style guide and code cleanup for compliance
 - Clean up render.py - this will come as we do the redesign of the scheduling pages. Getting rid of the current way that the schedule is displayed will create a huge improvement in the code
[0.5] - create an ability for logging who did what - This will allow for better accountability when problems happen, that way if a mistake happens, we will be able to show the person the right way to do what they were trying to do. (there are multiple plug-in solutions for this, we just need to pick one and plug it in)

Documentation:
Currently, very little documentation exists on the usage of summit for the different roles.
 - create documentation for the following areas:
  * Attendee: DONE
  * Scheduling Blueprints: INPROGRESS
  * Track Lead: INPROGRESS
  * Schedulers: INPROGRESS
[0.5] * IS for displaying summit during UDS: INPROGRESS
[0.5] - Document the REST API

(?)

Work Items

Work items:
[mhall119] Laptop agenda display: DONE
[cjohnston] Mobile device theme: DONE
[mhall119] Create a "My Schedule" page which which will act similarly to the current 'hide talks that aren't for me' but make it to where you are only seeing what you are interested in, in a schedule format.: DONE
Have the events aware of each other, that way if a user is attending a session at UDS summit will notify the schedulers if they try to schedule a session for Linaro Connect at the same time: POSTPONED
[mhall119] - Make it easier to sign up, or sign someone else up for a meeting from summit: DONE
[cjohnston] Socialize summit: DONE
Allow users to see where their 'friends' are: POSTPONED
Create the ability to allow for participants to be added to a private meeting without the need for a blueprint: DONE
Allow attendees to see the private meetings which they are scheduled for (this should be the default behavior of the laptop view and My Schedule view): DONE
[cjohnston] Making user roles for different users providing different levels of access (user, track lead, scheduler, manager): DONE
[mhall119] Restrict scheduling permissions to schedulers and above after the summit start date: DONE
[cjohnston] Shorten blueprint import frequency to 5 minutes after UDS starts: DONE
Create a form for users to input their busy times: POSTPONED
Check against busy times for scheduling conflicts: POSTPONED
[cjohnston] Remove the Linaro hard coding (should be the result of the separation of sprints): DONE
Create style guide and code cleanup for compliance: POSTPONED
Clean up render.py - this will come as we do the redesign of the scheduling pages. Getting rid of the current way that the schedule is displayed will create a huge improvement in the code: INPROGRESS
create an ability for logging who did what - This will allow for better accountability when problems happen, that way if a mistake happens, we will be able to show the person the right way to do what they were trying to do. (there are multiple plug-in solutions for this, we just need to pick one and plug it in): POSTPONED
[cjohnston] Update user documentation: INPROGRESS
[cjohnston] Update developer documentation: INPROGRESS
[mhall119] Document the REST API: POSTPONED

This blueprint contains Public information 
Everyone can see this information.