SlideShare a Scribd company logo
Next Generation Campus
Mobile Applications
UC San Diego
Campus Apps
Campus Apps
• Mass audience focused
• Static
• Informational
• User directed look-ups
Millennial Apps
Differences
• Personalized
• Conversational
• Up-to-the-minute information, active, actionable
• Peer assistance, digital assistance
User Experience Goals
• Better connect students with campus
• Better meet student expectations for applications
Technical Goals
• Leverage the capabilities of mobile
• Enable distributed development
UCCSC 2016
UCCSC 2016
UCCSC 2016
UCCSC 2016
UCCSC 2016
UCCSC 2016
UCCSC 2016
Where we're headed
• Personalization based on individual behavior modeling
• Push notification
• Conversational information feeds – a campus-wide chatbot
• Foundation of a whole host of cards
• Dining info based on time, place and personal preference
• Instant surveys to campus or segments
• Student elections with real-time results
Choosing a Technology Platform
React Native Overview
• Launched with iOS support in March 2015 Android in October
• Supports all iOS 8.0+ and Android 4.1+ devices
• Open-source
• Leverages modern web development technologies
• Learn once, write anywhere
React Native Features (1/2)
• Develop in Real Time with NodeJS
• Native Components
• Styling with Flexbox
• Asynchronous Execution
• Standardized APIs
React Native Features (2/2)
• Touch Handling
• Extensibility
• NPM and RNPM
• Debugging & Performance
• Code Base Commonization
Development Process
• Leveraging Web Development Background
• Tools
1. Xcode
2. Android Studio
3. Device Simulator
4. Text Editor/IDE (Sublime)
5. Chrome Debugger
• Version Control
• Backing & Support
Development Process Demo
• Initializing a new React Native project: HelloUCCSC
UCCSC 2016
UCCSC 2016
React Native Common Questions
• Facebook has a full-time staff of 30 people working on React Native, and over
1000 contributing developers since launch
• The goal of React Native is not to just solve the cross platform problem, but to be
a better developer environment than the way you build iOS and Android apps
natively today
• Facebook is currently using it for apps in production (Ads manager and Groups
app). Over 500 iOS and 200 android apps live
• There is no WebView, it is JavaScript running in a virtual machine and controlling
a native UI. At the core of React Native is a bridge to Objective-C or Java that lets
native code call JavaScript and vice versa.
• React Native releases a new version every two weeks. So far each version
upgrade has been packed with new native features and overall improvements.
We are currently running version .29, and started on version .13 last December
UCCSC 2016
UCCSC 2016
UCCSC 2016
Common Code
• Folders: app, ios, android
• App: 13 common JavaScript files
• iOS: AppDelegate.m, index.ios.js
• Android: AndroidManifest.xml, index.android.js
Android Demo
Android Build
• Edited index.android.js ~45 lines of code
• Added ACCESS_FINE_LOCATION permission to AndroidManifest.xml
• Some image path updates
• Run in emulator
UCCSC 2016
Amazon Web Services
Lambda API GatewaySimple Storage Service
Amazon Web Services: S3
• News
• Events
• Surf
[{
"date": "Mon, 6 Jun 2016 05:55:00 PDT",
"link": "http://www.surfline.com/rss/rssredirect.cf
"description": "A slow go, Bird with the report for M
"title": "TORREY PINES STATE BEACH : 1-2 ft - knee
}, ….
Amazon Web Services: Lambda
• Weather
• Shuttle Stops
• .. 8 functions
“Run code without thinking about servers”
Amazon Web Services: Lambda
• No charge when code is not running
• Node.js, Python, Java
• Timeout setting from 1 second to 5 minutes
• Stateless
• Event Driven
• API Gateway
• AWS IoT
• CloudWatch Events – Schedule
• CloudWatch Logs
• DynamoDB
• Kinesis
• S3
• SNS
Amazon Web Services: Lambda
Amazon Web Services: Lambda
Amazon Web Services: Lambda
API Gateway
Amazon Web Services
Shuttle Stop Service
API Gateway
Amazon Web Services
Shuttle Stop Service
API Gateway
Amazon Web Services
Shuttle Stop Service
Caching
Lambda: Past week
706ms
1.2s
Amazon Web Services
• Lessons learned with Lambda; Java vs Node.js stats
Amazon Web Services
Weather Lambda Function (Feb 2016)
Java 29.8 MB 8 seconds cold start
Node.js 751 bytes 4 seconds cold start
Node.js
ReactNative
AWS
Tools
• ReactNative
• iOS
• Android
• (Windows)
• Mac
• Windows
• AWS
Timeline
• iOS took 6 months to production
• Android alpha took less than a day to run on an emulator and device
… and they are both native apps
Who’s Using ReactNative
• Facebook
• Events Dashboard for iOS
• Ads Manager
• Facebook Groups (hybrid)
F8 App
Ads Manager
Who’s Using ReactNative
• Tencent QQ messenging app
• April 2016, Microsoft announced support for Universal Windows
Platform (UWP) ; 10 releases since June 2016
• https://github.com/ReactWindows/react-native-windows
• https://facebook.github.io/react-native/showcase.html
What’s Next
• Continue to collaborate with campus groups
• More data and features
• Chatbot
• Push notification
• Personalized Analytics
• Pushing data (vs pulling data)
• CodePush integration
• SSO integration
What’s Next
iOS App
APIs
SMS
Voice
Open Source
• https://github.com/UCSD/now-mobile
Q&A
Jeremy Wiles
Charles Bryant
Alex Wu
UC San Diego

More Related Content

PPTX
After the LAMP, it's time to get MEAN
PDF
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
PPTX
Intro to modern web technology
PPTX
Cross-Platform Development
PDF
Putting the Native in React Native - React Native NYC
PPTX
Android App Development..
PPTX
Introduction to NativeScript - BuildTruly Native Apps using JavaScript
PDF
Intro to Meteor [Deprecated]
After the LAMP, it's time to get MEAN
What is IBM Bluemix , Une nouvelle façon de coder , dans le cloud
Intro to modern web technology
Cross-Platform Development
Putting the Native in React Native - React Native NYC
Android App Development..
Introduction to NativeScript - BuildTruly Native Apps using JavaScript
Intro to Meteor [Deprecated]

What's hot (20)

PPTX
Firebase
PDF
Azure mobile services
PDF
Buzzwords: Microservices, containers and serverless - real life applications ...
PDF
Choosing Between Cross Platform of Native Development
PPTX
React Native
PPTX
First Steps in Android Development with Eclipse and Xamarin
PDF
Xamarin DevOps
PPTX
Azure Websites
PDF
UI Animations in Meteor
PPTX
Docker for developers - The big picture
PPTX
Meteor Introduction - Ashish
PDF
Développement cross-plateforme sans compromis avec Xamarin
PDF
Introduction to xamarin
PDF
Web, Mobile and App development by Boost Solutions
PPTX
Users: SOA Last Mile - WSO2Con 2011
PDF
Serverless computing with Google Cloud
PDF
Xamarin microsoft graph
PDF
MeteorDay Copenhagen
PDF
Platform as a Service for Rapid Development
PPTX
Native Script by Sebastian Witalec
Firebase
Azure mobile services
Buzzwords: Microservices, containers and serverless - real life applications ...
Choosing Between Cross Platform of Native Development
React Native
First Steps in Android Development with Eclipse and Xamarin
Xamarin DevOps
Azure Websites
UI Animations in Meteor
Docker for developers - The big picture
Meteor Introduction - Ashish
Développement cross-plateforme sans compromis avec Xamarin
Introduction to xamarin
Web, Mobile and App development by Boost Solutions
Users: SOA Last Mile - WSO2Con 2011
Serverless computing with Google Cloud
Xamarin microsoft graph
MeteorDay Copenhagen
Platform as a Service for Rapid Development
Native Script by Sebastian Witalec
Ad

Similar to UCCSC 2016 (20)

PPTX
React Native And Its Ecosystem Presentation
PPTX
React Native - Build Native Mobile App
PPTX
React native
PDF
Build a real app with react native
PDF
Going Native With React
PDF
What is React Native and When to Choose It For Your Project.pdf
PPTX
Top React Native App Development Considerations You Shouldn’t Miss
PPTX
From React to React Native - Things I wish I knew when I started
PDF
A Complete Guide On React Native App Development.pdf
PPTX
Why React Native is the Future?
PPTX
React Native - Framework For Mobile App (Seminar)
PDF
This is the Ultimate Guide to React Native App Development.pdf
PDF
React Native Guide A Hybrid Framework for Mobile Apps
PDF
LAP II - Lezione 01 Introduzione al corso
PDF
React Native App Development: A Comprehensive Guide
PDF
React.js vs React Native: Understanding the key differences
PPTX
devworkshop-04_13_2016-ucsdnow-presentation
PDF
Advantages Of Using React Native For Mobile App Development
PPTX
How native is React Native? | React Native vs Native App Development
PPTX
Session 01_02-Introduction to React Native .pptx
React Native And Its Ecosystem Presentation
React Native - Build Native Mobile App
React native
Build a real app with react native
Going Native With React
What is React Native and When to Choose It For Your Project.pdf
Top React Native App Development Considerations You Shouldn’t Miss
From React to React Native - Things I wish I knew when I started
A Complete Guide On React Native App Development.pdf
Why React Native is the Future?
React Native - Framework For Mobile App (Seminar)
This is the Ultimate Guide to React Native App Development.pdf
React Native Guide A Hybrid Framework for Mobile Apps
LAP II - Lezione 01 Introduzione al corso
React Native App Development: A Comprehensive Guide
React.js vs React Native: Understanding the key differences
devworkshop-04_13_2016-ucsdnow-presentation
Advantages Of Using React Native For Mobile App Development
How native is React Native? | React Native vs Native App Development
Session 01_02-Introduction to React Native .pptx
Ad

UCCSC 2016

  • 1. Next Generation Campus Mobile Applications UC San Diego
  • 3. Campus Apps • Mass audience focused • Static • Informational • User directed look-ups
  • 5. Differences • Personalized • Conversational • Up-to-the-minute information, active, actionable • Peer assistance, digital assistance
  • 6. User Experience Goals • Better connect students with campus • Better meet student expectations for applications
  • 7. Technical Goals • Leverage the capabilities of mobile • Enable distributed development
  • 15. Where we're headed • Personalization based on individual behavior modeling • Push notification • Conversational information feeds – a campus-wide chatbot • Foundation of a whole host of cards • Dining info based on time, place and personal preference • Instant surveys to campus or segments • Student elections with real-time results
  • 17. React Native Overview • Launched with iOS support in March 2015 Android in October • Supports all iOS 8.0+ and Android 4.1+ devices • Open-source • Leverages modern web development technologies • Learn once, write anywhere
  • 18. React Native Features (1/2) • Develop in Real Time with NodeJS • Native Components • Styling with Flexbox • Asynchronous Execution • Standardized APIs
  • 19. React Native Features (2/2) • Touch Handling • Extensibility • NPM and RNPM • Debugging & Performance • Code Base Commonization
  • 20. Development Process • Leveraging Web Development Background • Tools 1. Xcode 2. Android Studio 3. Device Simulator 4. Text Editor/IDE (Sublime) 5. Chrome Debugger • Version Control • Backing & Support
  • 21. Development Process Demo • Initializing a new React Native project: HelloUCCSC
  • 24. React Native Common Questions • Facebook has a full-time staff of 30 people working on React Native, and over 1000 contributing developers since launch • The goal of React Native is not to just solve the cross platform problem, but to be a better developer environment than the way you build iOS and Android apps natively today • Facebook is currently using it for apps in production (Ads manager and Groups app). Over 500 iOS and 200 android apps live • There is no WebView, it is JavaScript running in a virtual machine and controlling a native UI. At the core of React Native is a bridge to Objective-C or Java that lets native code call JavaScript and vice versa. • React Native releases a new version every two weeks. So far each version upgrade has been packed with new native features and overall improvements. We are currently running version .29, and started on version .13 last December
  • 28. Common Code • Folders: app, ios, android • App: 13 common JavaScript files • iOS: AppDelegate.m, index.ios.js • Android: AndroidManifest.xml, index.android.js
  • 30. Android Build • Edited index.android.js ~45 lines of code • Added ACCESS_FINE_LOCATION permission to AndroidManifest.xml • Some image path updates • Run in emulator
  • 32. Amazon Web Services Lambda API GatewaySimple Storage Service
  • 33. Amazon Web Services: S3 • News • Events • Surf [{ "date": "Mon, 6 Jun 2016 05:55:00 PDT", "link": "http://www.surfline.com/rss/rssredirect.cf "description": "A slow go, Bird with the report for M "title": "TORREY PINES STATE BEACH : 1-2 ft - knee }, ….
  • 34. Amazon Web Services: Lambda • Weather • Shuttle Stops • .. 8 functions “Run code without thinking about servers”
  • 35. Amazon Web Services: Lambda • No charge when code is not running • Node.js, Python, Java • Timeout setting from 1 second to 5 minutes • Stateless • Event Driven • API Gateway • AWS IoT • CloudWatch Events – Schedule • CloudWatch Logs • DynamoDB • Kinesis • S3 • SNS
  • 39. API Gateway Amazon Web Services Shuttle Stop Service
  • 40. API Gateway Amazon Web Services Shuttle Stop Service
  • 41. API Gateway Amazon Web Services Shuttle Stop Service Caching
  • 43. Amazon Web Services • Lessons learned with Lambda; Java vs Node.js stats
  • 44. Amazon Web Services Weather Lambda Function (Feb 2016) Java 29.8 MB 8 seconds cold start Node.js 751 bytes 4 seconds cold start
  • 46. Tools • ReactNative • iOS • Android • (Windows) • Mac • Windows • AWS
  • 47. Timeline • iOS took 6 months to production • Android alpha took less than a day to run on an emulator and device … and they are both native apps
  • 48. Who’s Using ReactNative • Facebook • Events Dashboard for iOS • Ads Manager • Facebook Groups (hybrid)
  • 51. Who’s Using ReactNative • Tencent QQ messenging app • April 2016, Microsoft announced support for Universal Windows Platform (UWP) ; 10 releases since June 2016 • https://github.com/ReactWindows/react-native-windows • https://facebook.github.io/react-native/showcase.html
  • 52. What’s Next • Continue to collaborate with campus groups • More data and features • Chatbot • Push notification • Personalized Analytics • Pushing data (vs pulling data) • CodePush integration • SSO integration

Editor's Notes

  • #3: State of current mobile campus apps - mass audience - static information - user seeking - sea of icons
  • #4: State of current mobile campus apps - mass audience - static information - user seeking - sea of icons
  • #6: peer assistance leads to an expectation of digital assistance