$30 off During Our Annual Pro Sale. View Details »

Sharing Code With Open Source

Dasmer
July 10, 2017

Sharing Code With Open Source

Presented on July 10th 2017 at Civic Hall

Dasmer

July 10, 2017
Tweet

More Decks by Dasmer

Other Decks in Technology

Transcript

  1. #JUSTVENMOME:
    SHARING CODE
    WITH OPEN
    SOURCE
    twitter @dasmersingh

    View Slide

  2. My Background - Before Venmo
    Graduated from
    Columbia
    Engineering
    Started at
    JP Morgan
    Left JP
    Morgan
    Learned iOS Development +
    Released 6 apps in the App Store
    Started as
    an iOS
    Engineer at
    Venmo
    May 2013 June 2013 August 2013 February 2014

    View Slide

  3. My Background - At Venmo
    iOS
    Engineer
    February 2014
    July 2016
    Product
    Manager
    January 2016
    Strategy
    Associate
    Completed the
    Flatiron School iOS
    Bootcamp
    December 2013

    View Slide

  4. My Background - At Venmo

    View Slide

  5. My Background - After Venmo
    Full-time Student at the
    Stanford Graduate School
    of Business
    September 2017 ???
    Start a Company / Join an
    Early Stage Startup

    View Slide

  6. Agenda
    ● What is Open Source?
    ● Venmo’s Open Source Projects
    ● How to leverage Venmo in your apps

    View Slide

  7. What is Open Source?

    View Slide

  8. Open Source
    Definition: denoting software for which the original source code is made freely
    available and may be redistributed and modified

    View Slide

  9. ● Most popular open source projects
    are hosted on Github.com
    ● Enables programmers to
    ○ Star
    ○ Fork
    ○ Pull Request
    ● Engineers can track, collaborate on,
    and see each other’s coding activity

    View Slide

  10. Trending iOS Open Source Projects
    https://github.com/trending/swift

    View Slide

  11. ● It’s free
    ● You don’t have to reinvent the wheel
    ● Minimizes room for error
    ● Engineers learn from other people’s
    code
    Why use other Open Source projects?

    View Slide

  12. ● Incentivizes engineers to write better quality code
    ● Leads to better engineering hires
    Why Contribute to Open Source?

    View Slide

  13. Open Source Code tends to be easier to read
    ● Clean
    ● Well Documented
    Quality Code

    View Slide

  14. Open Source Code tends to be modular
    ● Separation of Concerns
    ● Independent
    ● Contained
    Spaghetti vs Modular Code
    Quality Code

    View Slide

  15. Open Source Code tends to be more
    optimized for performance
    Quality Code

    View Slide

  16. Open Source Code tends to be unit tested
    Quality Code

    View Slide

  17. ● Find engineers that are passionate about the work you do
    ● Assess skill level by observing their contribution and collaboration styles
    Better Engineering Hires

    View Slide

  18. Venmo’s Open Source
    Projects

    View Slide

  19. Questions Venmo asks before open
    sourcing a project
    1. Is it general enough for other companies or apps to use?
    2. Is its business logic not proprietary (i.e. risk + fraud rules)?
    3. Do our team have the time and bandwidth to open source this now?
    If all of the above are “yes”, we’ll open source it.

    View Slide

  20. Touch ID & Passcode
    ● Secures any app
    ● Used in the Venmo App
    ● Adopted by
    ○ Tumblr
    ○ ZocDoc
    ○ Many others
    ● Has more than 45,000+ total
    downloads
    github.com/venmo/VENTouchLock

    View Slide

  21. Calculator Keyboard
    ● Add a calculator keyboard to your app
    ● Used in Venmo
    ● Has more than 7,000+ total downloads
    github.com/venmo/VENCalculatorInputView

    View Slide

  22. Look familiar?
    app

    View Slide

  23. Token Field
    ● Add a multiple recipient field to your app
    ● Used in Venmo
    ● Has more than 8,500+ total downloads
    github.com/venmo/VENTokenField

    View Slide

  24. Other Notable Venmo Open Source
    Repositories
    Name URL: http://github.com Watcher, Star, and Fork Counts
    /synx
    /slather
    /static
    DVR /dvr

    View Slide

  25. Open Source Projects the Venmo iPhone
    App Uses
    1. FacebookSDK
    2. FastImageCache
    3. FLAnimatedImage
    4. GZIP
    5. NYTPhotoViewer
    6. OnePassword-AppExtension
    7. SAMKeychain

    View Slide

  26. How to leverage Venmo in
    your own apps

    View Slide

  27. 1. Use our open source projects
    To see them all, go to github.com/venmo

    View Slide

  28. Imagine you want to:
    Charge “Dasmer” $10 with note
    “delicious ” in a public
    payment.
    Go to URL:
    https://venmo.com/dasmer?txn=charge&amount=10.00
    &note=delicious%20 &audience=public
    2. Use Payment Links
    iOS or Android user will
    be redirected to Venmo
    app with screen:

    View Slide

  29. 3. Sign up for Venmo Purchases
    1. Accept Venmo purchases in your own apps
    2. Let friends split and share their purchases on the Venmo feed
    3. Enable your customers to use their Venmo balance to pay for your goods
    and services

    View Slide

  30. 3. Sign up for Venmo Purchases
    Demo

    View Slide

  31. 3. Sign up for Venmo Purchases
    Existing Partners
    For more information, check out venmo.com/business

    View Slide

  32. Summary
    ● What is Open Source?
    ● Venmo’s Open Source Projects
    ● How to leverage Venmo in your apps

    View Slide

  33. Open-Ended Group Discussion
    Follow me on Twitter @dasmersingh

    View Slide