Building great app experiences by with scalable cloud services - David Poll
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
861
On Slideshare
861
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
22
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ParseDavidPoll@depollThursday, May 9, 13
  • 2. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Building Great Experiences With Scalable CloudServices• What is Parse?• Saving data• Managing users• Rich querying• Going beyond the clientThursday, May 9, 13
  • 3. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101About Me• Software Engineer, Parse• In a past life, I was...• Program Manager, MicrosoftSilverlight• Software Engineer, Google• Avid a cappella enthusiast• I have app!Thursday, May 9, 13
  • 4. mobile apps areHARDThursday, May 9, 13
  • 5. DatabaseThursday, May 9, 13
  • 6. Database REST APIZZZ+Thursday, May 9, 13
  • 7. Database REST APIZZZServer+++ users+ securityThursday, May 9, 13
  • 8. Database REST APIZZZServer+++ users+ securityNetworkingThursday, May 9, 13
  • 9. Database REST APIZZZServer+++ users+ securityCachingNetworking+Thursday, May 9, 13
  • 10. Database REST APIZZZServer+++ users+ securityCachingNetworking+ +The fun stuff!Thursday, May 9, 13
  • 11. Database REST APIZZZServer+++ users+ securityCachingNetworking+ +The fun stuff!Thursday, May 9, 13
  • 12. Database REST APIZZZServer+++ users+ securityCachingNetworking+ +The fun stuff!nono nononoyes!Thursday, May 9, 13
  • 13. Database REST APIZZZServer+++ users+ securityNetworking+ +The fun stuff!nono nononoyes!+REST APIZZZServer++nonoParseThursday, May 9, 13
  • 14. Database REST APIZZZServer+++ users+ securityNetworking+ +The fun stuff!nono nononoyes!ParseFilesObjectsGeoPointsFacebookQueriesQueriesCloud CodeACLsUI ComponentsSecurityData BrowserREST APIImagesUsersJavaScriptAndroidEmailsAndroidRolesSDKsThursday, May 9, 13
  • 15. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
  • 16. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
  • 17. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
  • 18. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
  • 19. iOS AndroidJavaScript REST APIOS XWindows 8Windows Phone 8Thursday, May 9, 13
  • 20. DATASaving stuff in theThursday, May 9, 13
  • 21. var comment = new ParseObject ("Comment");comment ["text"] = "Great pic!";comment ["user"] = ParseUser.CurrentUser;await comment.SaveAsync ();Thursday, May 9, 13
  • 22. var comment = new ParseObject ("Comment");comment ["text"] = "Great pic!";comment ["user"] = ParseUser.CurrentUser;await comment.SaveAsync ();Thursday, May 9, 13
  • 23. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Demo: Saving your first ParseObjectThursday, May 9, 13
  • 24. So what about locaThursday, May 9, 13
  • 25. var comment = new ParseObject ("Comment");comment ["text"] = "Great pic!";comment ["user"] = ParseUser.CurrentUser;await comment.SaveAsync ();var evolve = new ParseGeoPoint (30.265348, -97.738613);comment ["location"] = evolve;Thursday, May 9, 13
  • 26. And?PicturesThursday, May 9, 13
  • 27. var picture = new ParseObject ("Picture");picture ["title"] = "What?! Parse is Evolving!";picture ["image"] = imageFile;await picture.SaveAsync ();var imageData = GetStreamForImage (image);var imageFile = new ParseFile ("evolving.png", imageData);await imageFile.SaveAsync ();Thursday, May 9, 13
  • 28. THE DATABROWSERWorking with your data iseasy!Thursday, May 9, 13
  • 29. Thursday, May 9, 13
  • 30. USERSThe in your appThursday, May 9, 13
  • 31. Sign up a userThursday, May 9, 13
  • 32. Sign up a uservar user = new ParseUser {Username = "Apps",Password = "r0ck"};await user.SignUpAsync ();Thursday, May 9, 13
  • 33. Sign up a userLogin a uservar user = new ParseUser {Username = "Apps",Password = "r0ck"};await user.SignUpAsync ();Thursday, May 9, 13
  • 34. Sign up a userLogin a uservar user = new ParseUser {Username = "Apps",Password = "r0ck"};await user.SignUpAsync ();await ParseUser.LogInAsync ("Apps", "r0ck");var current = ParseUser.CurrentUser;Thursday, May 9, 13
  • 35. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Demo: User Signup/LoginThursday, May 9, 13
  • 36. What about sharing on FThursday, May 9, 13
  • 37. Facebook Usersawait ParseFacebookUtils.LinkAsync (ParseUser.CurrentUser,facebookId, accessToken, expiration);await ParseFacebookUtils.LogInAsync (facebookId, accessToken, expiration);Thursday, May 9, 13
  • 38. Facebook Usersawait ParseFacebookUtils.LinkAsync (ParseUser.CurrentUser,facebookId, accessToken, expiration);await ParseFacebookUtils.LogInAsync (facebookId, accessToken, expiration);Thursday, May 9, 13
  • 39. QUERIESGetting stuff from theThursday, May 9, 13
  • 40. var query = ParseObject.GetQuery("Picture").WhereEqualTo("user", ParseUser.CurrentUser).WhereGreaterThan("createdAt", DateTime.Now - TimeSpan.FromDays(7));IEnumerable<ParseObject> pictures = await query.FindAsync();Thursday, May 9, 13
  • 41. var query = ParseObject.GetQuery("Picture").WhereEqualTo("user", ParseUser.CurrentUser).WhereGreaterThan("createdAt", DateTime.Now - TimeSpan.FromDays(7));IEnumerable<ParseObject> pictures = await query.FindAsync();Or, if you’re using Xamarin.Android...Thursday, May 9, 13
  • 42. var query = ParseObject.GetQuery("Picture").WhereEqualTo("user", ParseUser.CurrentUser).WhereGreaterThan("createdAt", DateTime.Now - TimeSpan.FromDays(7));IEnumerable<ParseObject> pictures = await query.FindAsync();Or, if you’re using Xamarin.Android...var query = from pic in ParseObject.GetQuery ("Picture")where pic ["user"] == ParseUser.CurrentUserwhere pic.CreatedAt > DateTime.Now - TimeSpan.FromDays (7)select pic;IEnumerable<ParseObject> pictures = await query.FindAsync ();Thursday, May 9, 13
  • 43. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Demo: Rich QueriesThursday, May 9, 13
  • 44. RELATIONSIt’s better togetherThursday, May 9, 13
  • 45. var comment = new ParseObject("Comment");comment["user"] = ParseUser.CurrentUser;Thursday, May 9, 13
  • 46. var user = ParseUser.CurrentUser;var relation = user.GetRelation<ParseUser>("following");relation.Add(newFriend);relation.Add(anotherFriend);await user.SaveAsync();Thursday, May 9, 13
  • 47. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101It’s code in theThursday, May 9, 13
  • 48. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101It’s JavaScript in the CloudThursday, May 9, 13
  • 49. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
  • 50. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Parse.Cloud.define("averageLikes", function(request, response) {});Thursday, May 9, 13
  • 51. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Parse.Cloud.define("averageLikes", function(request, response) {});  var query = new Parse.Query("Photo");  query.equalTo("user", Parse.User.current());Thursday, May 9, 13
  • 52. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Parse.Cloud.define("averageLikes", function(request, response) {});  var query = new Parse.Query("Photo");  query.equalTo("user", Parse.User.current());query.find({  });Thursday, May 9, 13
  • 53. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Parse.Cloud.define("averageLikes", function(request, response) {});  var query = new Parse.Query("Photo");  query.equalTo("user", Parse.User.current());query.find({  });    success: function(results) {      var sum = 0;      for (var i = 0; i < results.length; ++i) {        sum += results[i].get("likes");      }      response.success(sum / results.length);    },Thursday, May 9, 13
  • 54. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Parse.Cloud.define("averageLikes", function(request, response) {});  var query = new Parse.Query("Photo");  query.equalTo("user", Parse.User.current());query.find({  });    error: function() {      response.error("Oops, something went wrong.");    }    success: function(results) {      var sum = 0;      for (var i = 0; i < results.length; ++i) {        sum += results[i].get("likes");      }      response.success(sum / results.length);    },Thursday, May 9, 13
  • 55. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Is that it...?Thursday, May 9, 13
  • 56. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Thursday, May 9, 13
  • 57. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Parse.Cloud.beforeSave("Comment", function(request, response) {});Thursday, May 9, 13
  • 58. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Parse.Cloud.beforeSave("Comment", function(request, response) {});  var text = request.object.get("text");Thursday, May 9, 13
  • 59. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Parse.Cloud.beforeSave("Comment", function(request, response) {});  var text = request.object.get("text");if (text.length > 140) {request.object.set("text",text.substring(0,137 + "...");}Thursday, May 9, 13
  • 60. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Parse.Cloud.beforeSave("Comment", function(request, response) {});  var text = request.object.get("text");if (text.length > 140) {request.object.set("text",text.substring(0,137 + "...");}response.success();Thursday, May 9, 13
  • 61. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Demo: Cloud CodeThursday, May 9, 13
  • 62. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101What about 3rd party APIs?Thursday, May 9, 13
  • 63. 0101011101011011000010010010101010111001100010101010100010110001100101100101001111000111001010111000111000101010101101000101010010101010011110010100110110110101011001001000100110101010101110101101100001001010111001100010101010100010110001100111000100110010100111100011100100111000101010101101000101010010101010101010101111001010011011011010001000100110101010101110101101100001001001010101011100110001010101010001100111000100110010100111100011100101011100011100010101010110100010101010101010101111001010011011011010101100100100010011010101010111100001001001010101011100110001010101010001011000110011100010011001010011100101011100011100010101010110100010101001010101010101010111100111011010101100100100010011010101010111010110110000100100101010101110010101010001011000110011100010011001010011110001110010101110001110000110100010101001010101010101010111100101001101101101010110010010001001010111010110110000100100101010101110010101011101011011000010010010110011000101010101000101100011001110001001100101001111000111001010110001010101011010001010100101010101010101011110010100110110110101011001001101010101011101011011000010010010101010111001Parse.Cloud.httpRequest({   url: http://www.parse.com/,   success: function(httpResponse) {     console.log(httpResponse.text);   },   error: function(httpResponse) {     console.error(Request failed: + httpResponse.status);   }});Thursday, May 9, 13
  • 64. 0101011101011011000010010010101010111001100010101010100010110001100101100101001111000111001010111000111000101010101101000101010010101010011110010100110110110101011001001000100110101010101110101101100001001010111001100010101010100010110001100111000100110010100111100011100100111000101010101101000101010010101010101010101111001010011011011010001000100110101010101110101101100001001001010101011100110001010101010001100111000100110010100111100011100101011100011100010101010110100010101010101010101111001010011011011010101100100100010011010101010111100001001001010101011100110001010101010001011000110011100010011001010011100101011100011100010101010110100010101001010101010101010111100111011010101100100100010011010101010111010110110000100100101010101110010101010001011000110011100010011001010011110001110010101110001110000110100010101001010101010101010111100101001101101101010110010010001001010111010110110000100100101010101110010101011101011011000010010010110011000101010101000101100011001110001001100101001111000111001010110001010101011010001010100101010101010101011110010100110110110101011001001101010101011101011011000010010010101010111001Thursday, May 9, 13
  • 65. 0101101000101010010101010101010101111001010011011011010101100100100001010101110101101100001001001010101011100110001010101010001011000110100110010100111100011100101011100011100010101010110100010101001010100101111001010011011011010101100100100010011010101010111010110110000110101011100110001010101010001011000110011100010011001010011110001110100011100010101010110100010101001010101010101010111100101001101101100100100010011010101010111010110110000100100101010101110011000101010111000110011100010011001010011110001110010101110001110001010101011010001010101010101010111100101001101101101010110010010001001101010101010110000100100101010101110011000101010101000101100011001110001001100110001110010101110001110001010101011010001010100101010101010101011110101101101010110010010001001101010101011101011011000010010010101010110101010101000101100011001110001001100101001111000111001010111000111001011010001010100101010101010101011110010100110110110101011001001000010101011101011011000010010010101010111001010101110101101100001001000111001100010101010100010110001100111000100110010100111100011100101011000101010101101000101010010101010101010101111001010011011011010101Building Great Experiences With Scalable CloudServices• What is Parse?• Saving data• Managing users• Rich querying• Going beyond the clientThursday, May 9, 13
  • 66. 0101011101011011000010010010101010111001100010101010100010110001100101100101001111000111001010111000111000101010101101000101010010101010011110010100110110110101011001001000100110101010101110101101100001001010111001100010101010100010110001100111000100110010100111100011100100111000101010101101000101010010101010101010101111001010011011011010001000100110101010101110101101100001001001010101011100110001010101010001100111000100110010100111100011100101011100011100010101010110100010101010101010101111001010011011011010101100100100010011010101010111100001001001010101011100110001010101010001011000110011100010011001010011100101011100011100010101010110100010101001010101010101010111100111011010101100100100010011010101010111010110110000100100101010101110010101010001011000110011100010011001010011110001110010101110001110000110100010101001010101010101010111100101001101101101010110010010001001010111010110110000100100101010101110010101011101011011000010010010110011000101010101000101100011001110001001100101001111000111001010110001010101011010001010100101010101010101011110010100110110110101011001001101010101011101011011000010010010101010111001Resources• Parse Xamarin Platform Page: http://www.parse.com/xamarin• .NET Guide: http://www.parse.com/docs/dotnet_guide• API docs: http://www.parse.com/docs/dotnet/api• Twitter: @depoll or @ParseItThursday, May 9, 13
  • 67. ParseDavidPoll@depollThursday, May 9, 13