Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ares @ HackED 2016

Ares @ HackED 2016

Zero-setup P2P file transfer between Macs and iOS devices

https://github.com/indragiek/Ares

Indragie Karunaratne

February 02, 2016
Tweet

More Decks by Indragie Karunaratne

Other Decks in Technology

Transcript

  1. Ares Zero-setup P2P file transfer between Macs and iOS devices

    Indragie Karunaratne HackED 2016 https://github.com/indragiek http://indragie.com
  2. It’s 2016, and transferring files between a computer and a

    mobile device is the hardest problem in computing science
  3. Email To Yourself The Tried and True OG • Indirect

    (source → email server → destination) • Restrictions on file size/type on the server side • Requires opening and using email software on the source and the destination
  4. Dropbox When All You Have is a Hammer • Indirect

    (source → Dropbox → destination) • Uploads are queued from the source, not instant • Have to open the Dropbox app and browse or search for the file on your mobile device
  5. AirDrop Works 50% of the time, every time • iPhone

    must be unlocked with AirDrop turned on • Mac must be open to the AirDrop tab in Finder • Frequent issues with the Mac finding the iPhone or vice versa
  6. Goals 1. File transfer should be direct (P2P) via Bluetooth

    or Local WiFi 2. There should be no setup on either side (e.g. opening apps, configuring settings) besides the initial application setup 3. The simplest UX possible
  7. Ares Architecture Ares for OS X Native application written in

    Swift File Metadata fileName = “Totally Sweet Picture.jpg” filePath = “/Users/Indragie/…/….jpg” toID = “5309f12a2302ed” fromID = “237dfb123819ab” Ares Backend Node.js on Heroku + MongoLab APNS Gateway Apple Push Notification Service Push Notification payload = { filePath: … } alert = “Totally Sweet Picture.jpg” Push Notification Delivery APNS Connection Apple Push Notification Service Ares for iOS Native application written in Swift Push Notification Payload Direct Request (P2P) Transfer over Bluetooth or Local WiFi