Introduction
» Paul Foster» President CEO – Pick Up And Play» [email protected]
» Focus of information Vote on level of technical jargon Open forum ask questions right away Practical Examples
Topics
» Why add social networking?» Social Application Components
Application components Server components Client components
» Device/OS Specific capabilities» Examples
TAT Poker Prize Play MySpace iTorque
» Tips, Tricks and suggestions
Why Add Social Networking?» What are your goals?
Increase sales Capture user data Start a community It’s just cool
» Advantages of a phone vs PC Always with the user LBS and GPS information Direct connection to your user Contact lists built in
» Dis-Advantages of a phone vs PC Smaller screen User input Connection issues Development issues
Application Components
» What are your App’s pieces? The more interaction the higher level of complexity of
server/client code and error checking.
Server Components(first get a social networking server)
» Database Why use MySQL – Tip 1
» PHP, ASP, Sockets What type of application are you planning?
» http, https, ssl What type of data? Sensitive or Not?
» XML, SOAP, Text, Binary Wads What does the client support?
Client Components» Connection type
http(s) Sockets – Tip 2
TCP/IP UDP
» Data parsing Xml – Tip 3
» Data Display 1:1 Mapping – Tip 4 MVC – (Data View Controller)
Images, text, movies, sound Player location, scores, names, actions
Views within Views Local state vs network state
Client Components cont.
» Data Input User feedback
» Creating/Receiving packets All the data is the same parse it that
way – Tip 5
» Error handling/debugging Big piece of the puzzle More time spent here than thought
Server/Client Key Components
DATA
-API/SDK’s-Data Formats-Error handling-Security-Connection maintenance
Built in OS Components» J2me
javax.microedition.io.Connector» Brew
INetMgr ISocket IWeb
» Android Java java.net.Socket javax.xml.parsers MySql Lite Bonjour
» iPhone Objective C NSURL NSURLRequest NSURLConnection MySql Lite Bonjour
Examples
» TAT Poker PHP High Score
Unique Login Runs on j2me, Brew, iPhone
» Prize Play Turn based competition for prizes
Runs on Brew Uses phone unique info
» MySpace Complete social app
Runs on iPhone and Android Takes advantage of hi end phones
» iTorque Real time multiplayer app
Real time Chat
Tips, Tricks and Suggestions
» Tip 1 - MySQL Common backend for PHP or ASP Open source MySQL lite available on iPhone and Android
» Tip 2 - Sockets All platforms support sockets HTTP can go over sockets Sockets can be used for most advanced transport Sockets keep alive
» Tip 3 - XML Human readable SOAP Tools Automatic parsers available (tinyXML others)
Tips, Tricks and Suggestions» Tip 4 - Let the server do the work
Server already knows what device you are talking to
let it format the data for you Processing is there Less network traffic Less local/debugging
» Tip 5 - Abstract Classes Connect GetData PutData ParseData CreateData
» Bonus Tip - Always program like all network calls are asynchronous
Multi-threaded nature of networking
Questions?
» Open forum for questions.