ITP 342 Mobile App Development. APIs

Similar documents
ITP 140 Mobile Technologies. Mobile Topics

Kore Bots Platform Competitive Comparison Overview Kore Bots Platform Competitive Comparison Overview

Enterprise Mobility Space

Qt and Cloud Services. Sami Makkonen Qt R&D Digia

MOBILE APPLICATIONS AND CLOUD COMPUTING. Roberto Beraldi

ENTERPRISE MOBILE BACKEND AS A SERVICE EVALUATION CHECKLIST

Cisco Enterprise Mobility Services Platform

Cloud Web-Based Operating System (Cloud Web Os)

Systems Manager Cloud Based Mobile Device Management

Assignment # 1 (Cloud Computing Security)

Sugar Professional. Approvals Competitor tracking Territory management Third-party sales methodologies

Introduction to IBM Worklight Mobile Platform

NCTA Cloud Architecture

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Sugar Professional. Approvals Competitor tracking Territory management Third-party sales methodologies

MOBILE APPLICATIONS AND CLOUD COMPUTING. Roberto Beraldi

Manage all your Office365 users and licenses

tibbr Now, the Information Finds You.

Deploy. Friction-free self-service BI solutions for everyone Scalable analytics on a modern architecture

owncloud Architecture Overview

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

Cloud Services for DevOps: Next-gen PaaS Through MBaaS

Developing and deploying mobile apps

MOBILE APPLICATION SECURITY AND PIV DERIVED CREDENTIALS. NASA s Center for Internal Mobile Apps (CIMA) Jane Maples and Peter Cauwels August 26, 2015

Choosing the Best Mobile Backend

Chapter 11 Cloud Application Development

Kony Mobile Application Management (MAM)

Optimizing Service Levels in Public Cloud Deployments

Outline. What is cloud computing? History Cloud service models Cloud deployment forms Advantages/disadvantages

Security to Connect Back-end APIs with HTML5 Cross Platform Apps

My Stuff Everywhere Your Content On Any Screen

AVG Business SSO Partner Getting Started Guide

Systems Manager Cloud-Based Enterprise Mobility Management

Using Cloud Services for Building Next Generation Mobile Apps

Editions Comparison Chart

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Middleware- Driven Mobile Applications

Virtualization and Cloud Computing

Building native mobile apps for Digital Factory

Siebel Social Media Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013

IBM MobileFirst Hands-on Labs environment with Linux on z Systems and z/os

MicroStrategy Course Catalog

Course Summary. Prerequisites

Dell World Software User Forum 2013

Ensuring High Service Levels for Public Cloud Deployments Keys to Effective Service Management

Microsoft Power BI. Nov 21, 2015

activecho Frequently Asked Questions

TheRetailerApp Platform Brochure A PRODUCT OF

Testing & Assuring Mobile End User Experience Before Production. Neotys

Sisense. Product Highlights.

Customer Cloud Architecture for Mobile

Oracle Mobile Cloud Service. A Complete Strategy for Developing, Deploying, and Monitoring Mobile Apps

KonyOne Server Prerequisites _ MS SQL Server

Apigee Edge API Services Manage, scale, secure, and build APIs and apps

ni.com Remote Connectivity with LabVIEW

Google Cloud Platform The basics

Mobile Experience Benchmark. Crittercism

Mobile Device Management ios Policies

Casper Suite. Security Overview

August 2014 San Antonio Texas The Power of Embedded Analytics with SAP BusinessObjects

How To Understand Cloud Computing

owncloud Architecture Overview

Adobe Experience Manager: Commerce

Research Paper Available online at: A COMPARATIVE STUDY OF CLOUD COMPUTING SERVICE PROVIDERS

IBM API Management Overview IBM Corporation

Configuration Guide. BES12 Cloud

Integration in the Enterprise Mobile World

Adobe Experience Manager: Social communities

Product Information. Sugar vs Zoho. Features Comparison

Safe Harbor Statement

WHITE PAPER. Domo Advanced Architecture

Database FAQs - SQL Server

Kony MobileFabric Messaging. Demo App QuickStart Guide. (Building a Sample Application

Welcome The webinar will begin shortly

Integrating Cisco ISE with GO!Enterprise MDM Quick Start

Software Product Information. Faba5 Website

Gigya Pricing Proposal

PaaS - Platform as a Service Google App Engine

Gabriel Iuga. London, United Kingdom Tel: ; Website:

SAP HANA Cloud Portal Overview and Scenarios

Copyright 2013, 3CX Ltd.

Case Study. SaaS Based Multi-Store Market Place Brainvire Infotech Pvt. Ltd Page 1 of 5

Oracle Cloud Platform. For Application Development

Cloud Computing and Big Data What Technical Writers Need to Know

Experimental Comparison of Hybrid and Native Applications for Mobile Systems

WINDOWS AZURE DATA MANAGEMENT AND BUSINESS ANALYTICS

Cloud Computing Overview

An Introduction to Cloud Computing Concepts

QUICK FEATURE GUIDE OF SNAPPII'S ULTRAFAST CODELESS PLATFORM

Cloud Computing. Adam Barker

Introduction to Engineering Using Robotics Experiments Lecture 18 Cloud Computing

Transcription:

ITP 342 Mobile App Development APIs

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 The practice of publishing APIs has allowed web communities to create an open architecture for sharing content and data between communities and applications 2

Facebook https://developers.facebook.com/mobile/ Things you can do: Login with Facebook Fetch User Data Publish to Feed Send Requests 3

Twitter 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 Allows websites to generate copy and paste-able HTML markup to render a Tweet on any third-party website 4

Twitter REST API https://dev.twitter.com/docs/api Provides simple interfaces for most Twitter functionality Streaming APIs https://dev.twitter.com/docs/streaming-apis A family of powerful real-time APIs for Tweets and other social events ios Twitter Framework https://developer.apple.com/library/ios/ documentation/twitter/reference/ TwitterFrameworkReference/_index.html 5

Available at: http:// developers.google.com APIs available for: Google+ Android App Engine Chrome Games Google Maps Google Apps Google TV Commerce YouTube Google APIs 6

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 An open source product that lets business users configure phone numbers to receive and route phone calls 7

Cloud Computing Layers 8

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 Offer computers - physical or (more often) virtual machines - and other resources 9

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) The global BaaS market had an estimated value of $216.5 million in 2012 10

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 The consumer cloud services provide limited, free basic storage 11

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 Google Cloud Platform http://cloud.google.com 12

Mobile App Development What is BaaS? At its core, a BaaS provider typically enables you to store your data & interact with other critical services in normalized manner, without the headaches and cost of maintaining your own infrastructure. Which BaaS is right for me? What platform do I need to support? What features do I need? 13

Mobile BaaS Platforms SDKs (Software Development Kits) for most platforms (Android, ios, JavaScript, etc.) An HTTP service layer fallback Features Storage (data, DB) Push notifications Usage analytics Dashboard/UI Social integration User administration Custom code integration 14

Feature Analysis - Storage Questions to consider: Is the storage schema-less? What s the search API like? Can you establish relationships between stored items? Are changes pushed to connected clients, or do they need to re-query for updates? Does the BaaS support data connectors allowing you to sync the cloud-based data to another system behind your own firewall? Where are the servers physically located (this can be a critical question to ask both for availability and regulatory reasons) How difficult is it to export your data en masse should you decide to leave the provider for another option? What kinds of data can be stored does it include files/binary data storage? 15

Feature Analysis Push Notifications Info: Push notifications allow you to get important information to your users without the costs of other channels (SMS, for example) and without requiring your app to be in the foreground at the time. As most push notifications arise due to a change in data, it s logical that many BaaS providers are including this as an offering. Good questions to ask: What platforms are supported (ios, Android, etc.)? Will I get a consistent/normalized API to work with, rather than having to work with each platform-specific push notification API? Will I get the advantage of automatic scaling during periods of high demand? 16

Feature Analysis Usage Analytics Info: Since many BaaS pricing plans can vary based on usage, having a means to view analytics is a vital part of wisely (& economically) using the service. Depending on what metrics are tracked, usage analytics may also give you insight into how your app is being used. Good questions to ask: Does the service enable you to track the number of API calls, storage quota or other feature usage? Does the service support custom events which you can provide to track either feature usage, performance data and/or campaign response(s)? Does the provider give you the ability to query the usage over time, filter the data and export reports? 17

Feature Analysis Dashboard/UI Info: Most BaaS providers have a web-based interface which you can use to manage your data, services and view reports. Good questions to ask: Does the provider give you an option to browse/ search your data through some sort of portal or dashboard interface? Can you manage users or use a form to generate push notifications? 18

Feature Analysis User Admin Info: Many BaaS options provide built-in user management features. Your target users may not care to create yet another login in order to use your app. Good questions to ask: Does the service allow you to create users? Does it focus on role-based user permissions, or allow granular claims-based permissions? At what level can you restrict information schemas/ tables, records, fields? Does the BaaS provide integration with 3rd party authentication with sites like Facebook, Twitter, Google and others? 19

Feature Analysis Custom Code Info: It s difficult to generalize to a common use-case, and still enable enough flexibility to users without giving them a means to inject custom logic for certain operations. Whether it s validation, injecting a custom step, priming a cache or other needs, a good question to ask is your provider allows you the necessary hooks to inject your own code. Good question to ask: What language(s) are supported? 20

Mobile BaaS Options Firebase https://www.firebase.com Telerik http://www.telerik.com/platform/backendservices Kinvey http://www.kinvey.com 21

icloud icloud Storage APIs enable your apps to store content in icloud, keeping your apps up to date automatically Use icloud to give your users a consistent and seamless experience across icloud-enabled devices https://developer.apple.com/icloud/index.php icloud Web Tools to view the content your app has stored in icloud https://developer.icloud.com 22

Passbook Passbook gives users a whole new way to organize boarding passes, tickets, gift cards, and loyalty cards You can bring up passes in your app with Pass Kit APIs, send them via email, or post them on the web You can also set items to appear at certain times or locations and update items with push notifications https://developer.apple.com/passbook/ 23

Game Center Games on ios and OS X can take advantage of Game Center, Apple s social gaming network Game Center enables your users to track their best scores on a leaderboard, compare their achievements, invite friends to play a game, and start a multiplayer game through auto-matching https://developer.apple.com/game-center/ 24

Resources http://www.developereconomics.com/findingright-baas/ 25