Tag Archives: web development

Serverless Mobile Application & Game Development with Amazon Web Services (AWS)

Presenter

  • Curtis Bray, Manager of Solutions Architecture – US Education
  • Heather Matheson, Account Manager for UCLA
  • Amie Carobrese, Account Manager for UC & CSU

We’re deep into the public sector!  2,300+ govt agencies, 7,000+ educational institutions, etc.

When starting out, you pick a region, which is a location where your stuff (apps, data, whatever) will live. For example US-West-2 is a region. Within each region is a number of availability zones (AZs), separated by tens of miles.

How Do You Build a Mobile App Today?

  • Authorize
  • Authenticate
  • Synchronize
  • Store & Deliver Media
  • Analyze User Behavior
  • Send Push Notifications (bus arrival, quiz/test results, etc.)
  • Send Real Time Events
  • Store Shared Data (i.e. leaderboards)

Some of the products that’ll be covered:

  • Cognito: authentication
  • Kinesis Recorder: create live dashboards to track user events in real time
  • DynamoDB Mapper: store & query fast NoSQL data across users & devices
  • SNS Mobile Push: for push notifications
  • Lambda: “serverless” service that runs your functions

Authenticate Users: Amazon Cognito

What it does:

  1. Synchronize user’s data across devices / platforms
  2. Manage users as unique identities across identity providers
  3. Securely access all AWS services from Mobile device

It can provide temporary credentials to securely access your resources. It provides comprehensive support for identity use cases.

Synchronize data across devices: Amazon Cognito (Sync)

  • Store app data, preferences and staet
  • Cross-device Cross-OS Sync
  • Work Offline

Post processing can be done: push sync, events, streams

Store & Deliver Media Assets: S3 & CloudFront

  • S3 Connector transfer utility: multipart upload, fault tolerant download, no backend required, automatic retries, pause, resume, cancel functions.

Mobile Analytics

Collect, visualize and understand app usage data. Data stored can be put into a data warehouse if you want to.

Send Push Notifications: Amazon SNS Mobile Push

A single API can push messaging across multiple platforms.

Amazon DynamoDB Connector: Object Mapper

A NoSQL database that’s mobile aware

Which services should I use?

How do I connect them all together? We created the “AWS Mobile Hub” which ties into your AWS account. You create a project and add features you need to get up-and-running. The AWS Mobile Hub needs an IAM role so it can create resources on your behalf.

Working Mobile App project includes:

  • Xcode/Android Studio project
  • AWS resources
  • App Code
  • Helper “glue” code
  • SDKs
  • Detailed developer instructions

We then ran through an hour-long demonstration of the tools mentioned above…pretty powerful and easy-to-use stuff. The automated testing with AWS device farm was cool. You test against actual physical devices.

Zoom videoconferencing with Slack

If you’re using Slack or HipChat without a videoconferencing integration, you should consider crossing that bridge, like, yesterday.

My web development team has been using Slack (https://slack.com/) for over two years now.  It’s become an indispensable part of our workflow, and we use it every day, pretty much constantly.  If you’re unfamiliar with Slack, the thumbnail description I typically give is “it’s an instant messenger on steroids.”  But it’s actually quite a bit more than that.  One of the biggest benefits of Slack is the sheer number of integrations available, and how easy they are to implement.  (An integration is a way other tools “plug in” and communicate with Slack.  For example, with the github integration, whenever a developer creates a new branch or makes a pull request, it appears in-channel.)  Combining the immediacy of team IM with the awareness of integrations creates something akin to team telepathy.  In other words, it helps make your team more amazing than it already is.  The integrations we use include:

  • Airbrake
  • Github
  • Google Hangouts
  • PivotalTracker
  • Redmine
  • Zoom

Videoconferencing integrations allow you to initiate sessions with ease.  Want to start a videoconference with one person?  No problem.  How about a specific project channel?  Just as easy.  Enter a simple command like /hangout and you’re off to the races.  Daily face-to-face communication builds team confidence, and screen sharing “to show what the heck is happening with that bug” is icing on the cake.  What’s crazy is how quickly this luxury becomes something you can’t live without.

Anyway, my team has used Google Hangouts for videoconferencing from the start.  Why?  Because every developer on my team had a Gmail account, and it was easy to set up and use (for them, anyway).  Hangouts are super-helpful for daily stand-ups, because we have remote developers and customers across campus who can’t/won’t trudge across campus for face-to-face stand-ups every morning at 8:45 (in higher ed, a ghastly thing to ask of your project team).  The biggest problem we had with Hangouts was asking non-IT stakeholders to install and use it.  They often didn’t have Gmail accounts, and that involved tedious setup and explanations (CSUN is an Office365 campus for faculty and staff).  Our key stakeholders managed, but for many folks Google’s UI posed a significant barrier.

Enter Zoom.

Many campuses in the California State University System have the benefit of a contract with Zoom.  At CSUN, all faculty, staff and even students can use it.  Zoom does everything Google Hangouts does, plus a couple useful things Hangouts doesn’t:

  1. Allows you to record ANY session (Hangouts currently only does this with “On Air” sessions).  Recorded video gets transcoded into your local “documents” folder at the conclusion of your session.  Transcoding is fast, and can be quickly uploaded to Box or Dropbox.  The potential opportunities here for webinars/training are obvious.
  2. Sessions must be initiated by someone in your organization, but anyone outside your organization can join.  This is really helpful, because we frequently work with folks outside our organization.  Until recently, Google Hangouts required that all participants have a Gmail account, which kinda sucked.

Any downsides to using Zoom?

Right now, the only downside I’m aware of is that Zoom only allows one slack team domain to be configured per installation.  This is a problem, because I have multiple Slack channels I use to communicate with different organizations:  one for my department, one for a CSUN Meetup I organize, and one for an external development company my team works with.  I’ve heard Zoom has fielded this request many times, and is working to add this feature (maybe they’re reading this?).  I hope they add this feature soon, ’cause we’ll use the hell out of it!

Are you using these collaboration tools already?  If not, what’s holding you back?

Future Roadmap

Presenters:

  • Marty Johnson, Georgetown University
  • Brett Bendickson, Application Architect, University of Arizona

Brett Bendickson

  • UA public land grant institution
  • Founded in 1885
  • 40,072 students
  • UA implementation forces selection of user role via additions.
  • Lots of students want to access university gmail account through the mobile app, NOT the built-in email client (this is an interesting observation, in my opinion).
  • Usage by module:  map, transit, people, catalog
  • Usage by user:  87,191 sessions (about 3,000/day), 21,302 users (about 760/day)
  • In 2013 there were 18,600 iOS downloads.  Downloads spike for us in January and during orientation.
  • Android downloads are at about 22,000 and show a similar download pattern
  • AZ Mobile 3.2 current (Modo Labs 2.2); native tablet support; added library module
  • AZ Mobile 3.3 (Modo 2.3); upgrade to 2.3; add rec center module that was developed internally.  This will work with the resources module.
  • Portal: focus is currently on desktop view, but also working on a mobile view.  We’re doing a lot of custom development within Modo Labs, consuming PeopleSoft web services.
  • We’re excited about the direct messaging to the device, i.e. “you just got an ‘A’ in History”

QUESTION:  What software are you using in the rec center to feed the resources module?

BRETT:  I don’t know, but can find out for you.

Marty Johnson

  • Georgetown
  • GUMobile (Modo Labs)
  • We love additions!  3 campuses, 7 editions
  • NextGUTS (DoubleMap).
  • GAAP Weekend
  • We use a welcome screen by default
  • Our biggest challenge is getting accurate data from facilities and dining services.
  • LiveSafe (safe ride)
  • Laundry Alert (Quantifize)
  • NSO / OWN-IT (DoubleDutch)
  • Experiments:  CampusQuad; Usher (MicroStrategy); Radius Networks
  • Usher:  is a mobile “go card” that does multi-factor authentication (picture and QR code).  It can also be used to log into other applications.  We are hoping to add door opening functionality in the near future.
  • Working with Radius Networks to help students and parents find the admissions office from the parking lot.
  • Core Tenets:  our users are distracted, focused activities (short, sweet, and spontaneous), low barrier to entry (gradual engagement), personalized (location and time aware), adaptable.
  • Looking forward:  we believe we will have a portfolio of apps (safety, transportation, specific events, academic tasks, auth/identification); framework versus dedicated apps; app promotion

Question:  have you used Kurogo in a kiosk mode?

Both:  no.

Question:  Marty, who is Georgetown piloting this with?

Marty:  new students.

Marty:  We can imagine using iBeacons in the dorms for providing updates, i.e. water is out, emergency shelter in place notifications, etc.

Strategy Track 2 – Defining Success

Defining Success Panel:

  • Ted Erickson, University of Alberta
  • Ann Malavet, New York University
  • Bill Sivret, Tufts University

Ann Malavet

  • Who are we here for?  Internal & external users
  • User’s expectations:  immediate access to data, custom data/location-based data, same offerings as web site, always evolving
  • SMART goals (specific, measurable, attainable, relevant, time-based
  • What are our goals?  Real-time data to users that provide relevant info day-to-day, provide individualized content, authorized transactional activity, online and real-time comm between all university constituents (students, faculty and staff)
  • Data Planning:  Kurogo provides 99.9% of what we need, but our planning needs to identify what we actually need.  Accessed data needs to be consistent across the university; data owners need to be comfortable with the idea that their data will become much more readily, immediately, and widely available; unique identifiers need to be consistent so that data stores can be linked and made interoperable.
  • Some of our data providers were reticent to providing data to us, i.e. Aramark calorie counts
  • What are our priorities?  What will engage the users?  Can we efficiently achieve this with our resources?  What is our greatest need?  What can wait, what is needed now?
  • Gathering requirements:  money, time, resources
  • Strategy + Execution = Success
  • Tools for building & Maintaining:  your mobile app is fed by web services, modo labs, kurogo, and university staff
  • Strong Governance is required to make it work!  Ensure vested parties are engaged; major stakeholders who commit resources would ideally be part of a mobile steering committee; utilize existing web portal governance model

Bill Sivret

  • About 10,000
  • Tufts launched mobile app in 2011 (custom PHP app)
  • Launched Kurogo in 2013
  • We use Tableau (a Business Intelligence tool) to create dashboards and ad-hoc reports.  It’s connected to several data sources, including our data warehouse and Google Analytics
  • Demo of Tableau dashboard

Ted Erickson

  • 39,000 students, intensive research university in Canada
  • Goal:  to become one of the best examples of a post-secondary digital learning environment enabled by our web, mobile, social networks and IT systems capabilities.  1) Champion interdisciplinary knowledge sharing, 2) Empower student and staff innovation, 3) Commit to audience-centric design, 4) Build for the mobile, connected community
  • Digital Product and Service Catalogue:  business and strategy, performance and optimization, product management, web, mobile, digital learning
  • We do not use a cost-recovery model.
  • Use of the word “product” is not an accident.  We manage our products through the entire life cycle.
  • Digital Strategy – our group is apart from MarCom and IT.  Digital strategy is convergence of creativity, technology and media.  It transforms business and marketing strategy.
  • Success Metrics:  web, mobile, learning
  • The future

QUESTION for Bill:  what data sources are you using besides GA within Tableau for your dashboards?  Do you use Tableau for real-time data analysis?  Did you consider any other tools besides Tableau like Plot.ly?

Bill:  at this time, we only use GA, and it does do real-time analysis.  We did not consider any additional tools because we were already using it for our data warehouse.

 

Strategy Track 1 – Mobile Strategy

Mobile Strategy Panel:

  • August Alfonso, CIO, Del Mar College
  • Susan Kellogg, AVP & Deputy CIO, University of North Carolina-Chapel Hill
  • Santhana Naidu, Indiana State University

Susan Kellogg

  • First public institution
  • 29,000 students
  • $2.7 billion annual operating budget
  • $792.7 million total research funding for FY2014
  • What was needed in a mobile app
  • Student-led mobile app was led by:  Nikita Shamdasani, Diana Dayal, Matt Leming
  • Tech landscape:  highly decentralized funding environment, large MarCom and IT environments, also decentralized; WordPress CMS, 10,000 sites; Kurogo for centralized mobile app; Use of Adobe DPS is growing; 10 legacy mobile apps
  • We are looking at partnerships, especially with students, MarCom
  • Operational monitoring:  watch what’s happening and pull content that is not being used.  Update with seasonal information.
  • I’m a waterfall person, but I can see that agile is going to be the way forward (and I’m not totally comfortable with this!)

Santhana Naidu

  • Doctoral/Research in Terre Haute, IN
  • 13,200 students
  • First public university in IN to require a laptop
  • Mobile initiative started in 2010; native apps by OIT & mobile web by MarCom
  • Went back to the drawing board in Fall 2011; MarCom and OIT partnership with student feedback; Modo relationship
  • ISU Mobile:  over 25K downloads in 3 years
  • Popular modules:  courses, dining, map, email, directory
  • Primarily a marketing tool
  • OIT and MarCom partnership:  we meet quarterly to review analytics.
  • Governance is centralized and involves purchasing department
  • Lessons learned:  adoption of a user-centered design cycle; CMO vs. CIO partnership; finding the right mobile partner
  • Future:  mobile ubiquity and managing student expectations:  student services; RAVE guardian; audience segmentation; mobile ID/Digital wallet; geo-location based services; push messages; private app store

August Alfonso

  • Access to Excellence is the theme for Del Mar’s mobile strategy
  • Inspirations:  “we shutdown when we step into colleges or universities…we are fully well connected anywhere else” and “you all need to get your act together so we can get to what we need, when we want to, with our own devices”
  • BYOD Mobile Strategy:  VikingNet BYOD (4 devices per); Canvas – 100%  of credit/non-credit courses; Ask-The-Viking 24/7 online help; lecture capture within the LMS; Online Faculty Evaluation by Students; NEW mobile engine VikingGo
  • Del Mar MUST excel in online and mobile:  “you can carry Del Mar wherever you go”
  • VikingGo Mobile App:  Full Modolabs functionality; RAVE Alert; RAVE Guardian; Ask-the-Viking; Canvas LMS, et. al; alumni; Board meeting module; links to important resources

Panel Discussion

Susan:  how were mobile decisions made?  Who prioritized things?

August:  we had a mobile app we were about 11 months into when we decided to go to Modo.  Users were demanding more features than my staff could deliver using the existing solution.  We used analytics and asked students what they wanted.  We also asked our staff the same questions.

Santhana:  we have quarterly meetings with campus principals where we discuss prioritization of what needs to be done.   Items that affect student status are a high priority.

Susan:  speed is a challenge, and we need a way to maintain the student’s voice in all this.  We have a lot of customers who say that they’re boring, but important, and that leads to some interesting discussions about home page real estate.

Susan:  do you have plans to have multiple groups to maintain your content?  How do you plan to manage that?

August:  we look at the total student experience.  The heaviest investment is the mobile engine itself, so that decision has be gotten right the first time.

Santhana:  we rely on Modo to provide an extra hand in development when we don’t have the bandwidth to handle all the work.

Susan:  multi-tenant functionality will be important for us, and identifying the stewards of that associated content is probably even more important (content “ownership” can be challenging).

Santhana:  use of publisher in a multi-tenant

QUESTION:  How do you use analytics in your decision-making?

Susan:  we’re not doing much with performance right now.

August:  we’ve used analytics to keep an eye on our peak times.

Santhana:  we use Google Analytics

QUESTION:  How do you control who can create and manage an application?  What’s the life cycle for these apps, how do you manage it?

August:  IT/MarCom have to work closely to manage this.  Objectives need to be clearly identified before resources can be committed to a project.

Susan:  change in upper management at our university means that we don’t have a lot of entrenched views.  This has enabled us to “cheat a little bit” and move forward faster than we might have been able to in the past.