In this post, we’ll continue where we left off in planning the Slide Deck app and think about some of the basic features of the app. This post is part of a series, specifically about building the Slide Deck app end-to-end. Stay tuned for future posts in the series.
Start with your goals
After we think about what slide deck is for, what it’s great at, and outline the goals, we’re ready to start thinking about what features it should have. At this phase it can be tempting to jump into the code and start building it, especially for a small app like Slide Deck! But before you start coding, it’s important to make sure you’re building the right features. The best tool that you have to validate your feature list is your goals.
To recap, here are the goals for the Slide Deck app:
- Creating and presenting a sweet slide deck just takes a few steps with touch
- Presenting, creating, and opening slide decks feels lightweight
- It’s feels easy and fast to make a slide deck that looks good
Simple can be deceiving
It may seem apparent what capabilities a basic presentation app should have…and for many apps this may be true, however, what seems simple can be deceiving. Even though you can list out a number of features you app can have are those the right features? Presentation apps like PowerPoint have hundreds (maybe thousands?) of features and many of those features may not be needed to meet your goals, and many of those could potentially work against your goals!
Here are a few examples of some features we might naively implement in Slide Deck if we didn’t focus on our goals:
- Text, picture and object re-arrange and resize
- Insert and customize shapes
- Text editing and formatting tools (bold, align left, text color)
- Slide transitions and animations
- File open and save
It’s easy to miss
Even though you may expect these features from a presentation app, they aren’t necessarily required and each one adds a level of complexity…and not align with why we’re building it in the first place. Here are a few examples of how the first two feature ideas actually detract from the goals.
“Text, picture and option re-arrange and resize” sound simple enough, but if you think about it, you’d need to add resize and rearrange handles, arrange to front and arrange to back functionality, alignment guide features, and this would all have to work well with touch, not an easy requirement. This doesn’t sound lightweight and definitely seems like it would take more than a few steps to make something that looks good.
“File open and save” is another example of a simple enough sounding feature that may not be required. If you think about all the extra steps added, it can be overwhelming! When you save the file: 1) remember to save so your changes don’t get lost 2) open toolbar 3) click save button 4) navigate to the folder you want 5) type in all the letters of the file name (which takes an longer on a touch keyboard) 6) click save. And when you open the file: 7) open tool bar, 8) click open button 9) browse to the folder where it is 10) click the file 11) click open button. That’s a lot of steps!
PowerPoint is a great app, but all of its features are overkill given the goals for Slide Deck
The right feature requirements come from goals
Going back to the goals, we can be as literal as possible in our mapping of these feature requirements to our goals. When I worked on Windows as a Program Manager, in my functional specifications I would even add a goal column to make sure the feature was there for the right reason. Make sure that you meet that goal, and be intentional about what you add or don’t add based upon these goals. Here is an example of how some of the features in Slide Deck map to the original goals:
|Browse slide decks by thumbnail||Few steps|
|Auto-save slide decks||Lightweight; Few steps|
|Pre-designed templates||Look good; Few steps; Lightweight|
Validating a feature with a story
One of the most useful tools you can use when validating your feature list is telling a story of how people will use those features to accomplish a task. Think about the details of how they interact with your app and how they feel at each stage. Write that down.
Creating a new deck
Sarah is giving a talk on recycling for her after school club at the end off week. She picks up her Surface and launches the “Slide Deck” app. She clicks the “new” button on the home screen and a new deck pops open. She sees all the different slide templates to choose from, and she taps the title slide template. She taps in on the template text to edit it, and as the touch keyboard pops up the slide smoothly rescales so she can type while seeing the rest of the slide. She adds a few more quick slides, and customizes them by using the commands under her thumbs. She loves how she was able to get something that looks great in just a few minutes, all with touch!
If the story feels natural and it’s obvious that you’re successful meeting your goals then you’re on the right track. In this story, you can see how the templates reduced the steps to make a presentation, and how the touch keyboard reacted smartly made it great for touch.
After you’ve established your goals, your next step is to make sure you build the right features that meet those goals. Don’t get lost in the weeds thinking about what features you should have, focus on doing what is required and nothing else. Validate your features by telling a story about how someone might use those features and honestly evaluate if that user is successful according to your goals.