AIR & API Developing Social Apps Using Adobe AIR and Social Network API’s about.me/arisetyo
AIR & API
Developing Social Apps
Using Adobe AIR and Social Network API’s
about.me/arisetyo
Arie M. PrasetyoCo-Founder, Galenic Systems
Founder, AxonDigital
Presentation Outline
01 Introduction
02 Working With API & ActionScript
03 The “GroupieSize” Game App
Part 01
Adobe AIR and various API’s
Introduction
Adobe AIR and various API’s
Adobe Integrated Runtime
Adobe AIR and various API’s
Adobe AIR FeaturesAccess File System and Local Database
Adobe AIR and various API’s
Adobe AIR FeaturesAccess File System and Local Database
Runs On Various Operating Systems
Adobe AIR and various API’s
Adobe AIR FeaturesAccess File System and Local Database
Runs On Various Operating Systems
Runs On Multiple Devices
Adobe AIR and various API’s
Adobe AIR FeaturesAccess File System and Local Database
Runs On Various Operating Systems
Runs On Multiple Devices
Effortless Internet Connectivity
Adobe AIR and various API’s
Who uses Adobe AIR?
Adobe AIR and various API’s
Who uses Adobe AIR?
NASDAQNASDAQ Market Replay
A powerful desktop
application that provides
investors and brokers with
immediate access to
extremely detailed replays of
market activity at any point
in time.
Adobe AIR and various API’s
Who uses Adobe AIR?
The New York TimesNew York Times Reader 2.0
With the innovative Times
Reader 2.0, readers of The
New York Times enjoy an
experience reminiscent
of reading a printed
paper, while getting the
benefits of automatic news
updates and video.
Adobe AIR and various API’s
Application Programming Interface
Social networks are providing
access to third party application to
help promote their brand.
Adobe AIR and various API’s
Various Social Network API’s
Facebook API & Open Graph Protocol
Adobe AIR and various API’s
Various Social Network API’s
Facebook API & Open Graph Protocol
Twitter API
Adobe AIR and various API’s
Various Social Network API’s
Facebook API & Open Graph Protocol
Twitter API
Google API’s
Adobe AIR and various API’s
Various Social Network API’s
Facebook API & Open Graph Protocol
Twitter API
Google API’s
Amazon Web Services
Adobe AIR and various API’s
Why Integrate With Social API’s?
Adobe AIR and various API’s
Why Integrate With Social API’s?
Billions of Information From Millions of Users
Adobe AIR and various API’s
Why Integrate With Social API’s?
Billions of Information From Millions of Users
Hosted & Relatively Secure
Adobe AIR and various API’s
Why Integrate With Social API’s?
Billions of Information From Millions of Users
Hosted & Relatively Secure
Integrate With Other Apps
Adobe AIR and various API’s
Why Integrate With Social API’s?
Billions of Information From Millions of Users
Hosted & Relatively Secure
Integrate With Other Apps
It’s Simply Fun :)
Part 02
Result Formats & Authentication
Working With API & ActionScript
Result Formats & Authentication
Common Result Formats
Result Formats & Authentication
Common Result Formats
XML (eXtensible Markup Language)
Result Formats & Authentication
Common Result Formats
XML (eXtensible Markup Language)
JSON (Javascript Object Notation)
Result Formats & Authentication
Common Result Formats
XML (eXtensible Markup Language)
JSON (Javascript Object Notation)
JSON is my personal favorite.
Result Formats & Authentication
Common Result Formats
XML (eXtensible Markup Language)
JSON (Javascript Object Notation)
JSON is my personal favorite.
It’s fairly readable
Result Formats & Authentication
Common Result Formats
XML (eXtensible Markup Language)
JSON (Javascript Object Notation)
JSON is my personal favorite.
It’s fairly readable
Readily parsed into array in ActionScript
Result Formats & Authentication
Common Result Formats
XML (eXtensible Markup Language)
JSON (Javascript Object Notation)
The majority of social networks have JSON formatted API call result
JSON is my personal favorite.
It’s fairly readable
Readily parsed into array in ActionScript
Result Formats & Authentication
Parsing JSON
An example of an API call result formatted as JSON[{"results":[
{"from_user_id_str":"27200872","profile_image_url":"http://a1.twimg.com/profile_images/1078865146/roa
sted-pepper_normal.jpg","created_at":"Tue, 18 Jan 2011 20:36:06
+0000","from_user":"masdennis","id_str":"27464269884821504","metadata":{"result_type":"recent"},"to_u
ser_id":null,"text":"RT @tubagus99: I'm Speaking on Adobe Flash Camp Indonesia
http://bit.ly/eGTfOn, see u
tomorrow..","id":27464269884821504,"from_user_id":27200872,"geo":null,"iso_language_code":"en","to_us
er_id_str":null,"source":"<a href="http://www.tweetdeck.com"
rel="nofollow">TweetDeck</a>"},{"from_user_id_str":"4809310","profile_image_url":"
http://a0.twimg.com/profile_images/1127731248/4square_normal.png","created_at":"Tue, 18 Jan 2011
18:25:12
+0000","from_user":"tubagus99","id_str":"27431327036866560","metadata":{"result_type":"recent"},"to_u
ser_id":null,"text":"I'm Speaking on Adobe Flash Camp Indonesia http://bit.ly/eGTfOn, see u
tomorrow..","id":27431327036866560,"from_user_id":4809310,"geo":null,"iso_language_code":"en","to_use
r_id_str":null,"source":"<a href="http://www.tweetdeck.com"
rel="nofollow">TweetDeck</a>"}...
http://search.twitter.com/search.json?q=adobe%20camp%20indonesia&rpp=50
Result Formats & Authentication
Parsing JSON
The ActionScipt to convert the result into an array
_httpService.url = _apiCall;
_httpService.resultFormat = "text";
_httpService.addEventListener(ResultEvent.RESULT,resultTweets);
_httpService.send();
function resultTweets(event:ResultEvent):void {
_jsonResult = "[" + String(event.result) + "]";
var arr:Array = (JSON.decode(_jsonResult) as Array);
var rawResults:Array = arr[0].results;
_tweetsAC = new ArrayCollection(rawResults);
}
samples/json/parsing.mxml
Result Formats & Authentication
Parsing JSON
Example App In Action
Result Formats & Authentication
Authentication Methods
Result Formats & Authentication
Authentication Methods
Basic HTTP
Result Formats & Authentication
Authentication Methods
Basic HTTP
OpenID
Result Formats & Authentication
Authentication Methods
Basic HTTP
OpenID
OAuth
Result Formats & Authentication
Authenticating The App
Using ActionScript and OAuth protocol
Result Formats & Authentication
Authenticating The App
Using ActionScript and OAuth protocol
CodeRanger’s OAuth library
Result Formats & Authentication
Authenticating The App
Using ActionScript and OAuth protocol
CodeRanger’s OAuth library
Sample App In Action
samples/oauth
Part 03
Let’s Build A Simple Game
The “GroupieSize” Game App
Let’s Build A Simple Game
Game Concept
Let’s Build A Simple Game
Game Concept
How Well Do You Know Currently Popular Musicians
Let’s Build A Simple Game
Game Concept
How Well Do You Know Currently Popular Musicians
An Adobe AIR Desktop Application
Let’s Build A Simple Game
Game Concept
How Well Do You Know Currently Popular Musicians
An Adobe AIR Desktop Application
Uses Data Collected from Last.fm
Let’s Build A Simple Game
Core Codes
Get random artists information
samples/groupiesize/index.mxml
Let’s Build A Simple Game
Core Codes
Get random artists information
samples/groupiesize/index.mxml
Get artists’ listeners count
Let’s Build A Simple Game
Core Codes
Get random artists information
samples/groupiesize/index.mxml
Get artists’ listeners count
Display question
Let’s Build A Simple Game
Core Codes
Get random artists information
samples/groupiesize/index.mxml
Get artists’ listeners count
Display question
Display answer and artists’ information
Let’s Build A Simple Game
Core Codes
Get random artists information
samples/groupiesize/index.mxml
Get artists’ listeners count
Display question
Display answer and artists’ information
Record score
Closing
Questions?
Thank You
Developing Social Apps
Using Adobe AIR and Social Network API’s : AIR & API
about.me/arisetyo