SlideShare a Scribd company logo
1 of 55
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
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
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
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
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

What's hot

Web, Mobile and App development by Boost Solutions
Web, Mobile and App development by Boost SolutionsWeb, Mobile and App development by Boost Solutions
Web, Mobile and App development by Boost Solutions
Alexander Sidko
 
Native Script by Sebastian Witalec
Native Script by Sebastian WitalecNative Script by Sebastian Witalec
Native Script by Sebastian Witalec
Simone Basso
 

What's hot (20)

Firebase
FirebaseFirebase
Firebase
 
Azure mobile services
Azure mobile servicesAzure mobile services
Azure mobile services
 
Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...Buzzwords: Microservices, containers and serverless - real life applications ...
Buzzwords: Microservices, containers and serverless - real life applications ...
 
Choosing Between Cross Platform of Native Development
Choosing	Between Cross Platform of Native DevelopmentChoosing	Between Cross Platform of Native Development
Choosing Between Cross Platform of Native Development
 
React Native
React NativeReact Native
React Native
 
First Steps in Android Development with Eclipse and Xamarin
First Steps in Android Development with Eclipse and XamarinFirst Steps in Android Development with Eclipse and Xamarin
First Steps in Android Development with Eclipse and Xamarin
 
Xamarin DevOps
Xamarin DevOpsXamarin DevOps
Xamarin DevOps
 
Azure Websites
Azure WebsitesAzure Websites
Azure Websites
 
UI Animations in Meteor
UI Animations in MeteorUI Animations in Meteor
UI Animations in Meteor
 
Docker for developers - The big picture
Docker for developers - The big pictureDocker for developers - The big picture
Docker for developers - The big picture
 
Meteor Introduction - Ashish
Meteor Introduction - AshishMeteor Introduction - Ashish
Meteor Introduction - Ashish
 
Développement cross-plateforme sans compromis avec Xamarin
Développement cross-plateforme sans compromis avec XamarinDéveloppement cross-plateforme sans compromis avec Xamarin
Développement cross-plateforme sans compromis avec Xamarin
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Web, Mobile and App development by Boost Solutions
Web, Mobile and App development by Boost SolutionsWeb, Mobile and App development by Boost Solutions
Web, Mobile and App development by Boost Solutions
 
Users: SOA Last Mile - WSO2Con 2011
Users: SOA Last Mile - WSO2Con 2011Users: SOA Last Mile - WSO2Con 2011
Users: SOA Last Mile - WSO2Con 2011
 
Serverless computing with Google Cloud
Serverless computing with Google CloudServerless computing with Google Cloud
Serverless computing with Google Cloud
 
Xamarin microsoft graph
Xamarin microsoft graphXamarin microsoft graph
Xamarin microsoft graph
 
MeteorDay Copenhagen
MeteorDay CopenhagenMeteorDay Copenhagen
MeteorDay Copenhagen
 
Platform as a Service for Rapid Development
Platform as a Service for Rapid DevelopmentPlatform as a Service for Rapid Development
Platform as a Service for Rapid Development
 
Native Script by Sebastian Witalec
Native Script by Sebastian WitalecNative Script by Sebastian Witalec
Native Script by Sebastian Witalec
 

Similar to UCCSC 2016

l1-reactnativeintroduction-160816150540.pdf
l1-reactnativeintroduction-160816150540.pdfl1-reactnativeintroduction-160816150540.pdf
l1-reactnativeintroduction-160816150540.pdf
Hương Trà Pé Xjnk
 

Similar to UCCSC 2016 (20)

Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
DEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
DEV117 - Unleash the Power of the AppDev Pack and Node.js in DominoDEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
DEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
 
Introduction to xamarin
Introduction to xamarinIntroduction to xamarin
Introduction to xamarin
 
Building iOS app using meteor
Building iOS app using meteorBuilding iOS app using meteor
Building iOS app using meteor
 
Synapse india reviews on mobile application development
Synapse india reviews on mobile application developmentSynapse india reviews on mobile application development
Synapse india reviews on mobile application development
 
Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016Your choices for building a mobile app in 2016
Your choices for building a mobile app in 2016
 
.NET? MonoDroid Does
.NET? MonoDroid Does.NET? MonoDroid Does
.NET? MonoDroid Does
 
I knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile appsI knew there had to be a better way to build mobile apps
I knew there had to be a better way to build mobile apps
 
l1-reactnativeintroduction-160816150540.pdf
l1-reactnativeintroduction-160816150540.pdfl1-reactnativeintroduction-160816150540.pdf
l1-reactnativeintroduction-160816150540.pdf
 
Synapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps developmentSynapse india reviews on cross plateform mobile apps development
Synapse india reviews on cross plateform mobile apps development
 
Android Application Development.pdf
Android Application Development.pdfAndroid Application Development.pdf
Android Application Development.pdf
 
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScriptReact Native Introduction: Making Real iOS and Android Mobile App By JavaScript
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
 
Android application development
Android application developmentAndroid application development
Android application development
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
 
Android Application Development (2).ppt
Android Application Development (2).pptAndroid Application Development (2).ppt
Android Application Development (2).ppt
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
 
Android application development
Android application developmentAndroid application development
Android application development
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
 

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
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 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
  • 22.
  • 23.
  • 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
  • 25.
  • 26.
  • 27.
  • 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
  • 31.
  • 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

  1. State of current mobile campus apps - mass audience - static information - user seeking - sea of icons
  2. State of current mobile campus apps - mass audience - static information - user seeking - sea of icons
  3. peer assistance leads to an expectation of digital assistance