<ul>An embedded  ruby  web application for remote Android device management </ul>Michael Leone Panoptic Development, Inc 1...
Why Android? <ul><li>Open platform
Easy to develop and distribute software
Features SL4A, which provides environment to run </li><ul><li>Ruby
Python
Perl
and many more! </li></ul></ul>
What is Broadcast? <ul><li>A sinatra app that runs on the android platform, exposing the Android API over a web interface....
Project Goals <ul><li>Remote monitoring :  Make Android state and device data available over a network
Remote control :  Allow remote control of an Android device over a network.
Proof-of-concept :  Demonstrate that complex ruby applications can run on Android
Get the ball rolling :  Set the groundwork for a number of advanced ruby applications. </li></ul>
Upcoming SlideShare
Loading in...5
×

Broadcast presentation

20,911

Published on

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

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
20,911
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
60
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

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>
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×