Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Broadcast presentation

21,794 views

Published on

Broadcast is an open-source, embedded ruby web application that runs on the android platform.

Published in: Technology
  • Be the first to comment

Broadcast presentation

  1. 1. <ul>An embedded ruby web application for remote Android device management </ul>Michael Leone Panoptic Development, Inc 18 August 2010
  2. 2. Why Android? <ul><li>Open platform
  3. 3. Easy to develop and distribute software
  4. 4. Features SL4A, which provides environment to run </li><ul><li>Ruby
  5. 5. Python
  6. 6. Perl
  7. 7. and many more! </li></ul></ul>
  8. 8. What is Broadcast? <ul><li>A sinatra app that runs on the android platform, exposing the Android API over a web interface. </li></ul>
  9. 9. Project Goals <ul><li>Remote monitoring : Make Android state and device data available over a network
  10. 10. Remote control : Allow remote control of an Android device over a network.
  11. 11. Proof-of-concept : Demonstrate that complex ruby applications can run on Android
  12. 12. Get the ball rolling : Set the groundwork for a number of advanced ruby applications. </li></ul>
  13. 13. Ideas for Potential Applications <ul><li>Remote surveillance systems
  14. 14. Remote device diagnostic utilities
  15. 15. Location tracking systems
  16. 16. Temporary network file servers </li></ul>
  17. 17. Current Features <ul><li>view battery temperature
  18. 18. view charging state
  19. 19. view last location
  20. 20. remote camera control and image preview
  21. 21. remote text-to-speech
  22. 22. file browsing, downloading and uploading </li></ul>
  23. 23. Planned Features <ul><li>remote video recording
  24. 24. remote audio recording
  25. 25. remote audio transcriptions </li></ul>
  26. 26. DEMO TIME! <ul><li>Live demo running on a Motorola Droid
  27. 27. Cateats: </li><ul><li>Not entirely stable, not production-ready!
  28. 28. Not feature complete
  29. 29. It's alpha software running on alpha software
  30. 30. Camera functionality temporarily broken!
  31. 31. IANAD </li></ul></ul>
  32. 32. Under the Hood <ul><li>jruby
  33. 33. SL4A, Scripting Layer for Android
  34. 34. Lightweight, pure ruby server stack:
  35. 35. sinatra + rack + webrick
  36. 36. rack-test and test/unit
  37. 37. jquery Javascript framework
  38. 38. jquery-file-tree for file browsing
  39. 39. JSON for serializing AJAX request data </li></ul>
  40. 40. Problems with Carriers <ul><li>Runs fine on a local network or P2P network
  41. 41. Can connect from the outside internet via SSH tunneling, DMZ, port-forwarding, etc.
  42. 42. 3G is a problem </li><ul><li>Verizon blocks all incoming ports
  43. 43. T-Mobile blocks all incoming ports
  44. 44. Sprint?
  45. 45. AT&T? </li></ul></ul>
  46. 46. Questions about SL4A? <ul><li>http://code.google.com/p/android-scripting/
  47. 47. Updated often
  48. 48. Has a sweet mailing list
  49. 49. Google has Damon Kohler working on this full-time </li></ul>
  50. 50. Other info <ul><li>http://github.com/mleone/broadcast
  51. 51. http://panopticdev.com
  52. 52. Questions? </li></ul>

×