2018-11-08 Ohio State Mobile App Development

Meeting Details

Date/Time/Location

  • Date 
  • Time: 1pm
  • Location: Zoom

Attendees

AttendeePresentNotes
Diana Antova(tick) 
Steven Maglio(tick) 
Seth Northrop(tick) 

hancock.79@osu.edu

Benjamin Hancock

(tick) Ohio state, central IT 


Benjamin Hancock Director of Application Development

Office of the Chief Information Officer
Mount Hall 110A, 1050 Carmack Rd 

Columbus, OH 43210

646-300-4046 Mobile

They support purchasing, travel, HR for most of the university, on top of regular Peoplesoft SIS

Meeting Goals and Expected Preparation

Goals

Expected Preparation

Agenda

TimeTopicOwnerNotes and Details
2mWelcome and ArrivalSteven Maglio

Welcome!

50mDiscuss their mobile app development support modelgroup

What is their model for supporting the mobile app development?

  • doing it since 2011, Luke W on twitter, they have  Ohio state app since they started.
  • Couple of employee developers, marketing people and graphic designers started it. met once a month and developed. Got to where we are now. Someone asked why they don't have  a mobile app and got funding.
  • 2 ios developers, 1 android developer, 1.5 person doing server side part.
  • Alumni association is good at raising money, they recently asked them to add functionality and they will be hiring people to do development
  • They have a regimented process to add functionality to the app, 3 day design workshop
  • Everybody identified the need, but nobody would give the money. Got various funding until they had a product to show.
  • It is hard because we want it to be multi-platform. i-phone, i-pad, i-watch, android. Keeping them current is one thing, doing it well and professionally is another game. iOS Siri shortcuts just came out. We don't know if they will be big or not. They try to develop consumer ready products. Took them a while to secure long term funding, but now they have it.
  • They always have students helping them, but if we want to see a university -wide impact, we have to have at least one person responsible. Political staff- the students ignore it. They have had cases where the provost called because the app crashed. 
  • To have the level of polish and quality, you want somebody other than students responsible.
  • With any new functionality that comes up, the first answer is - put it in the app
  • Students contributed from the beginning
  • if we keep the app scope narrow, students can maintain it
  • they didn't want to buy something as they wanted to have control over the user experience
Design workshop

Design Workshop 

  • https://odee.osu.edu/news/2018/02/12/apple-and-ohio-state-team-create-app
  • This is what Apple does in their Cupertino design lab, so they modeled it the same
  • goal - getting people away from their offices
  • day 1 - pain points, turn them into stories, share with students
  • day 2 - sketch review, it is a learning process as they are not the domain experts, 
  • day 3 - high fidelity mock-up
  • sketchapp.com (sketch.cloud)
  • After that they send a proposal
  • most of it is read only, some forms to submit instructor evaluation, and few others, but mostly read only
  • everything is in a different place, and students are expected to know where these things are, but they don't. It is a one place to have all info.
  • 68K students enrolled
  • about 75K unique users a month as they have visitors using the app as well, the non-identifying info
  • Advising ino - who their advisors are, contact info, and notes for the student
  • they have an API layer between the app and any service. The amount of traffic will crush any system, including the SIS. Network traffic has been a bottleneck, and others. API layer is cleaning up  the data, caching the data, if they switch a system, it is transparent to the user. 
  • In Apple workshops executives are not invites, students and end-users are the ones giving requirements. 
  • Culture change needs to happen. Reg doesn't own the data, the university does. 
  • Slogan - go where the students are
  • can send emergency push notifications
  • Have class schedules, grades, LMS grades
  • Send notifications when students have a hold on their account.
  • How did students stay in the development of the product? They have 3 students working now for them. 
  • Students are required to sign up for a year minimum. They have guiding principles that they share with everyone. 
  • Steven - described how he sees it going - 
    • Response - it is going to be hard, 
    • they use Fabric for crash monitoring, get a lot of stats when the app crashes. 
    • we will miss these things when we have people not handling the technical debt.
    • they also monitor all end-points in splunk, get notifications if any API is slow or fail. Get notification if anything is returned in more than 3 seconds.
  • They don't have 24 hrs monitoring, but they are on call. 
  • Developers push code to prod on the service side
  • use Jenkins and is all automated
  • Apple said they are testing too much - about 20%
  • run 4 instances of the API layer, 3 instances of the caching layer, 3 instances of the cache DB
  • main app for pushing notifications to students, have  a way for departments to submit these
  • rules for push notifications are strong, and they do not bend around them.
  • have  push notification framework in AWS.
  • if a student goes on probation, an ID is written in a table, and they go find it. 
Materials from Ohio state

Materials sent by Benjamin Hancock after the meeting

  • http://go.osu.edu/ohiostateapp2018 - infographic for this past year

    https://infogram.com/the-ohio-state-app-2017-1gl8m3dznwj7p36 2017 infographic

    http://go.osu.edu/alumni-sketch - sketch mockup example

    Btw one thing I didn’t mention is with our current team we do 2-3 big features a year, and do about 20-30 quality of life / design/ technical debt improvements per year. During July/August/December, we try as much as possible to do strictly refactoring.

    Obviously we didn’t start here! Lots of pain and learning and mistakes along the way…. But once people realized the value, we were able to press for time, resources, etc. to do things better.

    Fabric.io is what we use for crash analytics

    Google analytics for app analytics

  • api layer is node.js, for scaling reasons. Started php  and had to rewrite it to find stability. Async is powerful