Sample PRD
Sample PRD
Sample PRD
being built while a major new camera product, Product X, is under development.
It’s a mix of fiction and reality. Since it’s an iterative PRD, it doesn’t list the app’s
basic features under the Features In/Out section. Since it’s a project-level PRD,
some features will need their own PRDs to be implemented. For background,
assume there’s a special 3D-oriented file format that prevents the camera’s
pictures from being visible in normal software, hence the discovery side of the app.
As a company, we want many people to experience these photos so that we get a
conversion from photo viewer to camera owner.
Title
Author: Pat PM
Change history
August 12, 2015: Updated with engineer’s notes
August 5, 2015: First draft
Overview
The Mobile App has two main goals, to provide a fantastic picture discovery and
viewing experience for camera owners and non-camera owners alike and to
provide added value to the camera owner (value that comes from having a portable
computer with a fast processor, a nice screen, and an Internet connection).
This vision will continue through with Product X, taking advantage of the
smartphone’s cellular radio (among other things) for camera owners and by
continuing to be a great place to experience pictures.
Note: This document describes a roadmap to Product X’s time, not the scope of a
massive release at Product X’s release. We will want to identify key release
milestones/priorities and plan development around them.
Objectives
1. Be a great place to discover and view pictures, regardless as to if you’re a
camera owner or not.
2. Provide extra value to camera owners.
3. Support our ecosystem goals.
Messaging
The Mobile App provides a convenient way to share on the go, control your camera
remotely, or simply see the latest amazing pictures in 3D.
Success Metrics
TBD (It’s OK that these aren’t clearly defined yet! We’ll figure them out as we
discuss the product with the other teams)
Scenarios
Non-Owner Discovering Pictures
Hans is thinking about buying a camera, having seen a demo at his local Ringfoto
store, but he’s unsure. He downloads the app, now available in German
fortunately, as he thinks about buying the camera. In it, he can easily sit back and
watch a slideshow of pictures play or interrupt them and interact with them.
Thanks to geotagging, he can even see what other camera owners are shooting in
his town. This browsing experience is quite pleasant, and the pictures look great on
his iPad.
He goes into the app’s learn section and sees a list of videos he can play to teach
him how to use the camera better, but unfortunately they’re all in English.
However, Hans has had enough fun playing with the app that it pushes him towards
buying a camera.
When she sees the eagle outside, she gets her iPhone out and connects to her
camera’s Wi-Fi network. She switches over to live view mode and sees the eagle in
the palm of her hand. She’s able to tap to set focus and even zoom the lens
remotely to get the shot she wants, and when she taps the shutter, the camera
fires.
She continues shooting, and when the eagle flies away, she switches to share mode.
She quickly finds her favorite shot and shares it right from the app to Twitter,
adding, “The eagle has landed!”
The next time she launches the app, she has a notification that Hans liked her
picture and started following her. Although she received far more replies on
Twitter itself, she’s still happy that people are discovering her pictures.
Now, he can interact with Product X on its own screen, select pictures there, and
send them from Product X to their final destination, all without using the app’s UX.
This makes it easy to keep his phone in his pocket while sending files from Product
X as he shoots. If his camera were in a bag, he could’ve used the app to browse,
select, and send his thumbnails, but in this case, it was more convenient for him to
go the other way.
With that bit of data and Player bundled into an SDK, it’s trivial for him to add
support for our picture format to his app, and our pictures now appear side-by-side
with standard, 2D pictures.
But Topher didn’t stop there. He’s been interested in flower bloom sequences for a
while, and it would be pretty awesome in picture. Using the camera control park of
the SDK, he rigs up a timelapse app and connects it to Product X. It’s not
particularly sophisticated, simply making sure the camera hits a specific exposure
value with each shot and fires at a specified interval, but the results are what
matter. If we’re lucky, maybe he’ll post the source for others to use!
Features In
[M] denotes minimum viable experience requirement for Product X
(Note: Many of these features will have their own separate specs with more
detailed prioritization and requirement breakdown. This doc is keeping an overall
higher-level view of prioritization by just saying must have or not. In general, the
categories are in priority order with the minimum requirements within each taking
the highest priority.)
Viewing
- [M] iOS 8-native experience for iOS
- [M] See pictures as large as possible on each device
- [M] Autoplay support for animation loops built in the desktop software
- [M] Content discovery mechanism (Recent/popular streams? Random
picture view? This will be part of the 2.0 iOS 8 redesign, and we should keep
some consistency with the website, too)
- Way to see an activity stream from people you follow
- Search that also searches keywords/metadata/comments
- Way to save and view your own pictures offline
- Map view for different collections (yours and other streams)
- Way to see pictures taken nearby
General
- [M] Localization (match Product X)
- [M] Android port (most likely by an outsourced firm)
- Remote control of camera operation and live view
- Way to act as a relay radio so that you can share via Product X’s UX rather
than the app (but still support sharing via the app)
Community
- Followers
- Comments
Sharing
- [M] Way to set a specific animation loop on a picture you’re sharing
- Share to a specific or new album rather than Mobile Uploads
SDK
- [M] Player that can load files from a specified URL
- [M] Scriptable player (e.g., go to this view)
- [M] Versioned and compatible with various file format iterations
- Camera control APIs
Slideshows
- Play an album
- Play a stream of pictures
- Airplay support
Learn Content
- Tutorial videos
Features Out
● Custom Streams: we probably won’t have the back-end for this ready by
when Product X ships, so it’s a non-feature for the mobile app for now.
● Direct file sharing support: there are so many ways to share files, including
just taking a card out and handing it to someone else, it doesn’t seem
important to have AirDrop support, for example. If we want wireless
import, presumably there are more cross-platform ways to do it (we had this
working in an old version of the desktop software once)
Open Issues
None yet!
Q&A
What’s the right first pass at content discovery?