ITP 140
Mobile Technologies
We need users!
• Reach
– The number of users who try our apps
• Retention
– The number of users who repeatedly use our
apps
• Revenue
Example - Zynga
• Finding Revenue in Retention by Mark Pincus
– http://developers.facebook.com/blog/post/204/
1. Focus on retention
– Fun game play is a core element
– Allowing users to interact with the bulk of your product for free – A small portion of hardcore users will generate most of your
income
2. Have a mixed revenue stream
– 33/33/33 split among banner advertising, direct user pay, and CPA offers
• Build something people are willing to pay for, keep them around so they will pay for it, and give them as many
Analytics
• Definition
– The science of analysis
– The process of obtaining an optimal or realistic
decision based on existing data
• Software libraries/services to collect data
about my application
– Track events defined by the app author
– Report some events automatically
Metrics
• Acquisition and user metrics
– Examples: downloads and new users
• Engagement metrics
– Examples: retention, crashes, and conversion
• Outcome metrics
Metrics
• DAU – daily active users
• MAU – monthly active users
• DAU/MAU – daily active users / monthly
active users
– 20% is great!
• ARPU – average revenue per user
Analytics Providers
• Flurry
– http://www.flurry.com
– Merged with Pinch Media
– Leader in the mobile application analytics category
API
• Application Programming Interface (API)
• A specification intended to be used as an
interface by software components to
communicate with each other
– An API is usually related to a software library
– An API can also be related to a software framework – An API can also be an implementation of a protocol
REST
• Representational state transfer (REST) is a
style of software architecture for distributed
hypermedia systems such as the World Wide
Web
– Conforming to the REST constraints is referred to as being RESTful
• RESTful web service (or RESTful web API) is a
simple web service implemented using HTTP
and the principles of REST
RESTful Web Services
• The base URI for the web service, such as
http://example.com/resources/
• The Internet media type of the data supported
by the web service
– Often JSON (JavaScript Object Notation), XML
(Extensible Markup Language) or YAML but can be any other valid Internet media type
• The set of operations supported by the web
service using HTTP methods (e.g., GET, PUT,
POST, or DELETE)
REST Services
• Many web sites are now offering their facilities through REST Web Services
• REST Services can be used to access sites that perform the following functions:
– Web Search (e.g.Yahoo’s BOSS Search, Google Custom Search)
– Geolocation (e.g Yahoo’s Placefinder)
– Photo Sharing (e.g. Yahoo’s Flickr, Google’s Picasa) – Social Networking (e.g. Facebook, Twitter, MySpace) – Mapping (e.g. Google Maps)
REST Services
• Access is provided using one or both of these
methods:
– Direct URL, returning a response in one or more formats (XML, JSON, PHP)
– Library-based APIs, embedded in JavaScript, Java, C#, Objective-C and other source and binary library formats
• Many of these services now require or include
OAuth user authentication
– Oauth is a standard for clients to access server resources on behalf of a resource owner
•
https://developers.facebook.com/mobile/
• Things you can do:
– Login with Facebook
– Fetch User Data
• https://dev.twitter.com
• Embedded Timelines
– Make it easy to syndicate any public Twitter timeline to your website with one line of code
– You can embed a timeline for Tweets from an individual user, a user’s favorites, Twitter lists, or any search query or hashtag
• Twitter Cards
– Attach media experiences to Tweets that link to your content
• Embedded Tweets
• REST API
–
https://dev.twitter.com/docs/api
– Provides simple interfaces for most Twitter
functionality
• Streaming APIs
–
https://dev.twitter.com/docs/streaming-apis
Google APIs
• Available at:
– http://
developers.google.com
• APIs available for:
Twilio
• http://www.twilio.com• Brings voice and messaging to your web and mobile applications • A cloud communications IaaS (Infrastructure as a Service) company
– Allows software developers to programmatically make and receive phone calls and send and receive text messages using its web service APIs
– Twilio's services are accessed over HTTP and are billed based on usage – As of October 2012, more than 150,000 developers use the service
• Make phone calls to anywhere in the world
– They use geographically distributed datacenters to connect with carriers around the globe
• Send text messages to anywhere in the world
– Connected to over 1,000 mobile carriers globally
– Send messages in whatever language your users speak
• In June 2010 Twilio launched OpenVBX
Cloud Storage
• Instead of data residing on a local storage
device, it is stored online for you in large data
centers
– Data is typically synced to multiple hard drives by
the storage provider
– Data is pushed by the
internet to multiple devices
Cloud Storage
• Advantages– Pricing directly related to the amount stored
• No wasted space
– Data is synced across multiple devices by the cloud
provider
• Typically no data loss
• Disadvantages
– You do not control your data – Security & Privacy Issues
• Encryption becomes very important
Cloud Computing
• SaaS – software as a service
– "on-demand software" or "application service providers" (ASPs)
– Software and associated data are centrally hosted on the cloud
• PaaS – platform as a service
– Cloud providers deliver a computing platform typically including operating system, programming language execution environment, database, and web server
• IaaS – infrastructure as a service
Cloud Computing
• BaaS – backend as a service
– Mobile backend as a service (MBaaS)
– A model for providing web and mobile app
developers with a way to link their applications to
backend cloud storage while also providing features such as user management, push notifications, and integration with social networking services
– These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs)
Cloud Services
• Cloud Services covers a variety of hosting services:– Application Hosting (e.g. AWS, Google App Engine, FireHost, Microsoft Azure)
– Backup and Storage ( e.g. AWS)
– Content Delivery (e.g. Netflix hosted by AWS) – E-commerce (Amazon.com e-commerce)
– Media Hosting (e.g. Microsoft Azure, RackSpace, Streaming Media Hosting) – DNS Protection Services (e.g., CloudFlare)
– Consumer Cloud Storage (e.g. Apple iCloud. Dropbox, Microsoft SkyDrive, Google Drive)
• Access is provided using one or both of these methods:
– Dashboard
– Library-based APIs, embedded in Java, C#, Objective-C and other binary library formats
• All these services are commercial services that require monthly payments
Cloud Companies
• Amazon Web Services (AWS)
– http://aws.amazon.com
• rackspace – the open cloud company
– http://www.rackspace.com
• Windows Azure
– http://www.windowsazure.com
• HP Cloud Services
– https://www.hpcloud.com