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

Bathchat

 Bathchat

An iOS app similar to Snapchat. Final project for CSCI-4440 "Software Design and Documentation" at Rensselaer Polytechnic Institute in Spring 2014. Released the same day that Snapchat launched Chat. http://tjphilli.com/projects/bathchat

Derek Schultz, Theo Pak, Trevor Phillippi

http://github.com/bathchat

Theo Pak

May 02, 2014
Tweet

More Decks by Theo Pak

Other Decks in Technology

Transcript

  1. View Slide

  2. Bathchat is for the people.
    CSCI-4440 Software Design & Documentation

    View Slide

  3. 1. Motivation
    2. Visual Design
    3. iOS Development
    4. Team Dynamics

    View Slide

  4. What is Bathchat?
    Product
    iOS app for iPhone 4 and greater (iOS 7.1)
    Value Proposition
    Bathchat facilitates non-committal multimedia
    communication while bathing via an iPhone app, for
    software designers and developers.
    Market Segment
    People who both use and inform design trends

    View Slide

  5. Why Make Bathchat?
    WhatsApp/Messenger/SMS want to be
    your only form of communication.
    Snapchat is a niche medium.
    Baths are an underutilized niche within
    the Snapchat niche.

    View Slide

  6. Visual Design
    Trevor Phillippi

    View Slide

  7. Objectives for Visual Design
    Since Bathchat itself is a fun and immersive product,
    we wanted the visuals of the product to reflect this.
    We selected Lato to be used for the typeface since it
    evokes a sort of playful and inviting feeling
    The light colors further communicate the
    approachableness of the product.

    View Slide

  8. Style Guide

    View Slide

  9. xCode Autolayout
    How do you solve the problem of multiple
    devices/screen widths that could be running
    Bathchat?
    xCode Autolayout was introduced specifically to solve
    this problem.

    View Slide

  10. Contraints
    By opt+dragging in
    xCode, you can create a
    “constraint”
    A “constraint” defines a
    layout value of a UI
    element in relation to
    another element.
    This can include UI
    elements as well as
    screen boundaries.

    View Slide

  11. iOS Development
    Derek Schultz

    View Slide

  12. iOS Software Design Practices
    ● MVC
    ● Delegation
    ● Singleton
    ● Polymorphism

    View Slide

  13. Core Services
    ● UIKit
    ● CoreLocation
    ● CoreGraphics
    ● Parse
    ● FacebookSDK

    View Slide

  14. Model–View–Controller
    ● Models: Parse
    ● Views: Storyboard
    ● Controllers
    ○ Login
    ○ OutOfBath
    ○ Inbox
    ○ ViewImage
    ○ SendPhoto
    ○ etc

    View Slide

  15. View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. View Slide

  20. View Slide

  21. Team Dynamics
    Theo Pak

    View Slide

  22. Team Derek/Trevor/Theo
    Strengths
    communication, tolerance, experience-driven design
    Weaknesses
    collective lack of impulse
    Challenges Faced
    Our fourth member left RPI

    View Slide

  23. Exhibit A
    ● Messenger
    ● Slack
    ● Snapchat
    ● Drive
    ● FaceTime
    ● Trevor hates
    SMS.

    View Slide

  24. What Worked
    Scrum Framework, 2-week iterations
    Subsystem Ownership, Multi-Developer Workflow
    Common Vision

    View Slide

  25. Scrum

    View Slide

  26. View Slide

  27. Fred Brooks, 1986
    “No Silver Bullet—Essence and Accident in Software Engineering,” 1986
    Photo: http://commons.wikimedia.org/wiki/File:Frederick_Brooks_IMG_2261.jpg, 2012
    There is no single development
    […] which by itself promises
    even one order of magnitude
    improvement within a decade
    in productivity, in reliability,
    in simplicity.

    View Slide

  28. Mills Baker, 2014
    “Greg Jorgensen: 'Why Don't Software Methodologies Work?',” 2014
    Photo: https://flic.kr/p/buizyF, 2012
    The natural conceptual integrity that results from a
    really well-selected group of colleagues who "just
    click" with each other cannot be over-valued; it […]
    makes methodology a lot less important. So while
    we're Agile, we try to be much more than that

    View Slide

  29. Common Vision
    +
    Crunch Time
    ==
    Bathchat

    View Slide

  30. Lesson Learned: Pitching
    We had trouble explaining Bathchat to our friends.
    Sometimes your pitch needs to start with the pain point
    and then introduce the solution. A pitch is not simply
    the value prop.
    Better: Messaging someone is such a commitment.
    What if the act of sending a message was ephemeral?
    vs.
    Worse: Bathchat conversations are non-committal.
    This is unique and fun.

    View Slide

  31. Lesson Learned: Move Fast
    Jan 23 — first class of Software Design & Documentation
    Feb 2 — “Hey let's make Bathchat.”
    Feb 19 — Facebook acquires WhatsApp for $19b
    Apr 24 — Bathchat beta woo!
    Apr 28 — Facebook ships Messenger 5.0, uh-oh
    May 1 — Snapchat ships Chat, godammit
    May 1 — “Ok now Snapchat is better than our MVP.”

    View Slide

  32. Thanks
    Derek Schultz, Trevor Phillippi, Theo Pak
    CSCI-4440 Software Design & Documentation
    Rensselaer Polytechnic Institute
    Troy, NY, USA

    View Slide