Creating Augmented Reality Apps with RubyMotion

Creating Augmented Reality Apps with RubyMotion

Augmented Reality (AR) is the new cool. But did you know you could write AR apps (and games!) using Ruby(Motion, that is)? Come and escape normal boring reality with us, as we create a native AR app using RubyMotion.

B36ea58289890176b6170e382b3194fe?s=128

Lori M Olson

November 18, 2019
Tweet

Transcript

  1. None
  2. Creating Augmented Reality Apps with RubyMotion Lori Olson WNDX School

  3. Why RubyMotion?

  4. Why RubyMotion? Because it’s Ruby, duh.

  5. But it’s mobile *native* development, so why not use…

  6. None
  7. None
  8. None
  9. None
  10. Why Not…

  11. Why Not… • I’ve used it

  12. Why Not… • I’ve used it • Syntax is ugly

    and hard to read
  13. Why Not… • I’ve used it • Syntax is ugly

    and hard to read • It’s the old, uncool language
  14. Why Not…

  15. Why Not… • Language has been evolving *very* fast

  16. Why Not… • Language has been evolving *very* fast •

    Every new version (5 so far) breaks backward compatibility
  17. Why Not… • Language has been evolving *very* fast •

    Every new version (5 so far) breaks backward compatibility • although last release was better
  18. Why Not… • Language has been evolving *very* fast •

    Every new version (5 so far) breaks backward compatibility • although last release was better • 5 years they’ve managed to raise the language to a level of complexity that rivals the much older Java
  19. Why Not… • Language has been evolving *very* fast •

    Every new version (5 so far) breaks backward compatibility • although last release was better • 5 years they’ve managed to raise the language to a level of complexity that rivals the much older Java • That’s not a compliment
  20. Why Not… • Language has been evolving *very* fast •

    Every new version (5 so far) breaks backward compatibility • although last release was better • 5 years they’ve managed to raise the language to a level of complexity that rivals the much older Java • That’s not a compliment • I will say the syntax is nicer than ObjC
  21. Why Not…

  22. Why Not… • I’m sorry

  23. Why Not… • I’m sorry • No, I’m not that

    sorry
  24. Why Not… • I’m sorry • No, I’m not that

    sorry • I really hate Javascript
  25. Why Not… • I’m sorry • No, I’m not that

    sorry • I really hate Javascript • And it’s not really native, so there’s that
  26. Why Not… • I’m sorry • No, I’m not that

    sorry • I really hate Javascript • And it’s not really native, so there’s that • Besides, every mobile app you really hate was probably created with Javascript
  27. Quick Intro to RubyMotion

  28. Quick Intro to RubyMotion DragonRuby

  29. None
  30. None
  31. None
  32. None
  33. None
  34. Why did I chose RubyMotion? WIMBY Wells In My Back

    Yard wimby.ca
  35. Tried Objective C

  36. Tried Objective C Still disliked it

  37. Tried Objective C Still disliked it Context Switch was brutal

  38. None
  39. RubyMotion

  40. Difficult

  41. Difficult ‣ Lack of *good*, *deep* examples

  42. Difficult ‣ Lack of *good*, *deep* examples ‣ Constant need

    to translate from Objective C
  43. Difficult ‣ Lack of *good*, *deep* examples ‣ Constant need

    to translate from Objective C ‣ And now from Swift examples to figure stuff out
  44. Difficult ‣ Lack of *good*, *deep* examples ‣ Constant need

    to translate from Objective C ‣ And now from Swift examples to figure stuff out
  45. Why not teach?

  46. I love teaching, but..

  47. I love teaching, but.. Live teaching is exhausting

  48. What about online? And WNDX School was born

  49. What about online? And WNDX School was born

  50. But the AR, Lori… Where’s the Augmented Reality we were

    promised?
  51. New cool APIs like ARKit Apple WWDC

  52. None
  53. None
  54. None
  55. Need to create new AR examples!

  56. Start Somewhere

  57. Augmented Reality Hello World

  58. LIVE CODING ALERT

  59. LIVE CODING ALERT

  60. Augmented Reality Hello World

  61. Other tutorials like Ray Wenderlich

  62. Places Of Interest

  63. POI Code

  64. Live POI AR Demo

  65. If you don’t find this example compelling

  66. If you don’t find this example compelling • Make it

    your own.
  67. If you don’t find this example compelling • Make it

    your own. • Don’t need to use Google data or get a Google API key
  68. If you don’t find this example compelling • Make it

    your own. • Don’t need to use Google data or get a Google API key
  69. If you don’t find this example compelling • Make it

    your own. • Don’t need to use Google data or get a Google API key • Check your local government (civic, state, or federal) Open Data.
  70. If you don’t find this example compelling • Make it

    your own. • Don’t need to use Google data or get a Google API key • Check your local government (civic, state, or federal) Open Data. • Download some data with precise GPS locations, and go crazy
  71. How about a real example?

  72. None
  73. How about a game?

  74. How about a game?

  75. None
  76. SurvivAR

  77. SurvivAR Flaming demons

  78. SurvivAR Use the shooting sight

  79. SurvivAR Mini-map to see behind

  80. Video Demo

  81. Video Demo

  82. SurvivAR Project / Rakefile

  83. But there’s a twist to this story

  84. I lied

  85. Not me

  86. Well sort of

  87. Well sort of I helped

  88. My Intern built these apps

  89. First year Comp Sci

  90. First year Comp Sci • Derek

  91. First year Comp Sci • Derek • Done a little

    web programming
  92. First year Comp Sci • Derek • Done a little

    web programming • Learned Java in 1st year
  93. How does a first year student do this?

  94. 1. Learn Ruby

  95. 2. Choose Your Own Adventure

  96. 2. Choose Your Own Adventure He chose ARKit And a

    game
  97. 3. Reviewed all the MiM videos

  98. I did help

  99. Amir helped, too

  100. So why tell you all that.

  101. Not enough diverse apps out there

  102. More diverse app creators needed

  103. More diverse app creators needed • To see the problems

    others don’t see
  104. More diverse app creators needed • To see the problems

    others don’t see • To create the apps to solve those problems
  105. WNDX School is here to help you To help you,

    Ruby Developers, get those app ideas out of your heads and into the App Store.
  106. So do me a favour, and get out there and

    build YOUR app!
  107. So do me a favour, and get out there and

    build YOUR app! Or help someone build an app to solve THEIR problem.
  108. Thanks for coming! Find your on-ramp for RubyMotion Development with

    FREE Getting Started guides here: https://wndx.school/p/rubyconf Pssst. There’s stickers. Find me for questions after this talk.