140 likes | 283 Views
Introduction. Paul Foster President CEO – Pick Up And Play pfoster@pickupandplay.com 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
E N D
Introduction • Paul Foster • President CEO – Pick Up And Play • pfoster@pickupandplay.com • 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.