Tag Archives: development

The 2016 MMWCon Mega Post

Hey friends,

Once again, it’s time for another one of my conference “mega posts,” this time from the 2016 UCLA Mobile & Modern Web Conference. This mega post links to the notes I took from almost every session I attended, and proves that I was here and learned something. Some of this¬†will be more useful than others…I drifted at times. There was some great work on display at this conference; I always meet awesome people and take away at least a couple gems that I didn’t know going in. As always, any mistakes, omissions or just plain crappy coverage are totally mine. Who knows, I may have even gotten something right ūüėČ Enjoy!

Wednesday, October 14

Thursday, October 15

Friday, October 16

 

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.

The Good, the Watch and the Ugly: Thinking about coding for the watch platforms

Presenter: Alfonso Roman

I’ve played with a lot of the watches.

Bootstrap Apps

  • They don’t work on their own
  • Companion apps handle communication with your smart phone
  • Cloud based account to use core functionality (i.e. messaging)

UX & UI

  • Each has it’s own design & interaction language
  • Rely heavily on touch, gestures, and voice
  • Different interaction affordances
  • Android Wear defines notion of a context stream that uses vertical swipes to view items vying for your attention

SDK

  • Each requires their own SDK
  • SDKs provide hooks into OS features (Apple Health, Google Fit)
  • Pebble SDK provides limited bridge to iOS and Android apps
  • Fitbit SDK is a RESTful API; not possible to talk directly to the Fitbit device, all communication must happen through the cloud after the Fitbit has synced data with its servers. Can sometimes get stale data based on sync schedule.

Considerations

  • Battery life (Pebble & Fitbit are great)
  • Native vs Web API
  • Cost
  • Dev platform
  • Integration with other frameworks

Ugly

  • Apple watch implies native iOS app
  • Android watch implies Android Phone
  • FitBit is web only
  • Pebble: just plain ugly (C++ only)
  • Companion apps: devices are useless without them

Chorus: Visually creating mobile web, SMS, and interactive voice apps

Presenter: Armen Arevian, UCLA (Telemedicine specialist, among other things)

Personal note: Chorus looks a bit like IFTTT to me

Disparities in Technology Development

  • Technical sophistication
  • Financial Resources
  • Creating tech that’s actually used and has impact
  • Sustainability of projects/maintenance

…results in several limitations

  • Created by a select few
  • Smaller subset sustains them
  • Limited types of people that can be directly involved in creating technologies
  • Time delays to create technologies
  • Limited customization/tailoring of technologies that can be created

Traditional Development

  • Development process = Expert + IT + User feedback

“Participatory Technology Development”

  • Stakeholders as equal co-partners
  • Community-based participatory research

Chorus

  • Visually create apps yourself in real-time
  • HIPAA compliant
  • Vetted by UCLA OIT security & Semel IT
  • Approved for use in research
  • Provides basic interaction building blocks, but users create their own story about what makes sense
  • Reads & writes to the web app

Armen then gave¬†a demonstration of Chorus…very impressive!

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.