350 likes | 365 Views
The University. Getting the Right Information to the Right People at the Right Time in the Right Way. Serge Goldstein serge@Princeton.edu Kevin Perry perry@Princeton.edu. The problem we are trying to solve. effective efficient information delivery. What we do today. Email Listserv
E N D
The University Getting the Right Information to the Right People at the Right Time in the Right Way Serge Goldstein serge@Princeton.edu Kevin Perry perry@Princeton.edu
The problem we are trying to solve effective efficient information delivery
What we do today • Email • Listserv • Outlook mailing lists • Websites • Every department, office, group • Brochures and catalogs
Why it doesn’t work • Students: • Feel spammed by administrators • Ignore emails • Faculty/Administrators: • Feel ignored by students • Leads to: • Frustration • Stress
Students under stress • Almost half [of 125,000 students] said they felt overwhelming anxiety in the last year • 2013 National College Health Assessment • 30% of college students reported that stress had negatively affected their academic performance • 2015 National College Health Assessment
Our solution The Princeton Timeline • For students • Personalized timeline • For administrators • Targeted publication system • Reaches relevant audience • Using relevant media
Our goal: Reduce the Stress by… Getting the rightINFORMATIONto the rightPEOPLEat the rightTIMEin the rightWAY
right INFORMATION • Included • Events, Deadlines, Announcements • Time sensitive • Actionable • Excluded • Discussions • Extended text • But…can point to above
right PEOPLE • Group posts: based on membership • Like listserv lists • Closed – centrally system populated • Example: Seniors, History majors • Open – can be signed up for • Moderated – sign-up with approval • Tagged posts: based on interests • Hierarchical tag set • Example: Arts, Athletics • Subscribe
right TIME • Authenticated POSTING system • Set posting dating • Send notifications • Track posts • External integrations • Pull from event calendars • Posting API
right WAY • Dedicated iOS and Android app • Dedicated Website • Personal calendar sync • Email • Text messages • Drupal module
Adding Posts to Timeline • Posting through the Publication System • From system of record • Registrar’s Office • Housing Office • Blackboard • Academic Calendar • Through direct feeds (iCal or Json) from existing websites
Timeline of Timeline • Summer, 2014: Focus Groups • February, 2017: Pilot goes live • Summer, 2017: Re-design UI • September, 2017: Re-launch • September, 2017 – Future: Continuous improvement • New Features • Bug fixes
Administrative Rights • Timeline controls who can send posts • Posting rights • To specific groups • To interests • Moderation • Reviewed before they are published
Two classes of posts: • Targeted Posts: Should Do • Events, announcements or deadlines people are supposed to know about • Based on their memberships/roles • Ex: Glee Club rehearsal → Glee Club members • Tagged Posts: Might Want To Do • Events people want to know about • Based on their interests • Ex: Glee Club concert → music fans
Timeline Publication System • Targeted Posts: to specific audiences • Tagged Post: to “Interests” = tag • Authorization and identity management • Moderation • Next-gen Listserv
Groups: Targeted Posts • Sets of individuals • Have common trait, membership • Juniors, History Majors, Glee Club Member • Many system generated (e.g., Juniors) • Listserv • Cognos report process • Imported • Open or Closed • Open: anyone can join
Tags: Tagged Posts • “Interest” or “Feature” • Arts, Music, Ticket-required, Free-Food • Hierarchical • Arts → Music → Jazz • Subscribe • Open or Closed (for Posting) • Closed: specific authorization • Open: general authorization • Most are Open (initially)
Timeline Website/App • Same system/code for website, app • Shows all “appropriate” posts (targeted, tagged) • Separate display of targeted/tagged • Can move tagged to targeted • Might do → Will do • Separate display of announcements • Add personal events • Set reminders • Specify delivery (calendars)
Architectural Goals • Build a robust REST data API for all server interaction • Implement UI using JavaScript “single page app” architecture • Deploy a single codebase for both web & mobile • Leverage new technologies • Design for agile development & rapid deployment • Design for growth • platform-agnostic • institution-agnostic • internationalization-ready
Architecture Strategy • High-availability server cluster • Reliability, resilience, elasticity • MongoDB document database • High-performance “No-SQL” document database • Neo4J graph database • Efficient queries on complex relationship graphs
Architecture Strategy (continued) • PHP • Rapid development, mature environment • Backbone JS • Dynamic client-side data modeling • Cordova • Single code base for web and devices
Server Infrastructure Architecture Neo4j primary MongoDB secondary Application server Clients (many!) Load-Balancer MongoDB primary Application server MongoDB secondary Neo4j hot backup (future growth) (future growth)
Software Architecture Overview PeopleSoft, Blackboard, other data sources Input Data Adapters events, groups, people, permissions events, groups, people, permissions events Database events people groups notifications Submission Tool Timeline Engine Logic Module CAS events, groups, people groups, permissions Admin Tool preferences Portal View events events Output Formatter statistics events 3rd Party Apps & Sites notifications Reporting Module Notification Worker Email events events Text msg events Calendar (google/exchange)
Software Architecture – Technology Map JavaScript client PHP app server Custom code UI business logic Client Browser or Cordova Configuration 3rd-party packages YAML SLIM LocalCache External systems CAS Output formatter Backstrap OAuth2 Bootstrap APC Cache Core business logic Database Cordova app JSON Backbone MongoDB Doctrine MongoDB ODM jQuery JSON BSON XML, iCal, etc. Cypher Input adapters Reports Job scheduler Notification worker Neo4J Google Cal Exchange Drupal Facebook etc... SMTP GData EWS Vendor API’s LDAP, etc.
Benefits to End Users • One stop viewing: consolidated • Messages come from authoritative sources • User-friendly, mobile-ready interface • Sync events to Google or Exchange calendar • See only relevant events • Group posts • Interests • Set reminders
Benefits to Administrators • One-stop posting • Timeline, your website, social media, email, and the University Public Events Calendar • Strictly controlled authorization • Includes moderation • Strictly controlled identity management • Easy to use, hard to abuse
Learn more … • timeline-info.princeton.eduwebsite • Overview • Glossary • How-To (e.g., Post to groups/tags) • Quick-Reference
How to get it • Open source distribution • Likely hosted • If interested: email serge@Princeton.edu