Developing Perspective

#220: The Essential Experience.


00:00:00   Hello and welcome to Developing Perspective. Developing Perspective is a podcast discussing

00:00:04   news of note in iOS development, Apple and the like. I'm your host, David Smith. I'm

00:00:09   an independent iOS developer based in Virginia. This is show number 220 and today is Friday,

00:00:15   May 22nd. Developing Perspective is never longer than 15 minutes, so let's get started.

00:00:19   All right. So today I'm going to be kicking off a new series, I suppose. I'm not entirely

00:00:25   sure how long it's going to go, but it's something that I'm working on and I always try and find

00:00:31   things in my day-to-day work that I think will make good shows, and so that's what I'm

00:00:34   doing today.

00:00:35   I've started work on a new application, and I thought it'd be interesting to do a series

00:00:40   of posts talking a little bit about that process.

00:00:44   If you're a long, long time listener of the show, you'd remember that I've already done

00:00:48   this before once.

00:00:50   Back in 2012, so nearly three years ago, I did a series about like this, talking about

00:00:56   Check the Weather and how I developed it.

00:00:59   And I'll have links to a couple of those episodes in the show notes for today if you want to

00:01:02   go back and listen to them.

00:01:04   But it's been a while since I talked through an app from start to finish.

00:01:08   And so I thought kind of doing a start to finish thing would be useful in the modern

00:01:12   context and try and talk through the various components and things that go into building

00:01:17   an application these days.

00:01:18   and what that process looks like, the things that I'm thinking about, the things that I'm

00:01:22   worried about, things that I'm not so worried about, that sort of thing.

00:01:25   So that's where I'm going.

00:01:27   And today I'm going to be talking about finding ideas or finding opportunities.

00:01:32   And the jumping off point for that discussion is I want to talk a little bit about games

00:01:37   and gaming, and so don't get too scared about that.

00:01:41   It's not going to go into any depth if your gaming isn't really your thing.

00:01:46   There's an interesting experience I've had recently that I thought would be a good example

00:01:51   and template for this.

00:01:53   So two games that I've recently played a bit of, not nearly that much, I don't have a whole

00:01:58   lot of time for games unfortunately these days, but some of the games that I have played

00:02:01   are both by Blizzard.

00:02:04   They're a game called Hearthstone and a game called Heroes of the Storm.

00:02:08   And both of these games, they're very different games in terms of what they are.

00:02:12   Hearthstone is what I believe is what you would refer to as a collectible card game,

00:02:16   a CCG.

00:02:18   And Heroes of the Storm is a MOBA, people call it, or a brawler.

00:02:24   It's like you and your friends or you and people on the internet get together and you're

00:02:28   playing as different characters and you have a big fight, essentially.

00:02:32   And what is interesting about these games, and the reason I wanted to bring them up as

00:02:35   part of this discussion, isn't so much about the actual games themselves.

00:02:38   They're a lot of fun.

00:02:39   I enjoy playing them.

00:02:40   But in both cases, Blizzard did something that I think a lot of developers can learn

00:02:47   from when you're trying to come up with the concept of what your application should do

00:02:51   and what is worth building.

00:02:54   In both cases, they took roughly, and I'm speaking for Blizzard here, I don't know if

00:02:59   this is exactly what their mindset was, but this seems to be what happened, is they saw

00:03:03   something that was popular and successful and interesting or widely adopted, widely

00:03:08   And they looked at it and they saw the complexities in it.

00:03:14   They saw the places where it had grown to a point that made it really complicated and

00:03:21   difficult and, you know, if you're a new person coming into this thing and you're trying to

00:03:27   learn that there's a huge amount of baggage and institutional knowledge that you would

00:03:32   have had to have picked up before you could really effectively play this game.

00:03:34   In the case of Hearthstone, in many ways you could say that's what they did from Magic

00:03:39   the Gathering, which is a game I played when I was much, much younger, probably when I

00:03:43   was maybe 10 or 11.

00:03:44   I remember playing Magic back in the revised period.

00:03:48   It's been a long time since I played a game of Magic, but I remember playing it.

00:03:52   And if you've done any amount of playing of Magic, the game can get very complicated very

00:03:56   quickly.

00:03:57   And that's part of what makes it fun and interesting for some people.

00:04:00   But if you are new to something, if you've never played a game of magic before, and someone's

00:04:07   trying to sit down and teach you the game, it can be very frustrating and very complicated

00:04:13   because there's all these things that you're having to worry about and think about.

00:04:18   And what Blizzard did when they made Hearthstone is they took a lot of the same concepts and

00:04:22   they made a few strongly simplifying assertions and changes to the game.

00:04:29   They changed the concept of mana,

00:04:31   which you don't have to really get into,

00:04:32   but it's like they made it very simple

00:04:34   that you just get one new mana crystal every turn up to 10.

00:04:37   And they made it so that you can only have interactions

00:04:40   on your own turn.

00:04:40   You can't interact directly, which is a big,

00:04:43   so they can get very complicated in magic

00:04:44   where you have interactions on what's called the stack,

00:04:48   where you can have these, I do something, you do something,

00:04:49   I do something, you do something,

00:04:50   and we have to work out how that resolves.

00:04:53   In Hearthstone, it's you each take a turn.

00:04:56   And superficially, in some ways,

00:04:57   These are just simplifying things.

00:05:00   But in my experience, they made that game much more fun and much more interesting because

00:05:05   they kept the essence of what made playing Magic fun, but they made it easier to enjoy.

00:05:14   And some people aren't going to like that.

00:05:15   Some people are still going to love Magic, and that's great.

00:05:17   And in applications and software development, that same thing is true.

00:05:20   There will always be people who want the really complicated and powerful and more sophisticated

00:05:26   approach. But often, and sort of by definition, most people don't. Most people want the essential

00:05:34   experience, the thing that is at its core that makes it fun, the core thing that is

00:05:37   core that makes it useful. That's what people actually want, not all the stuff around it.

00:05:43   And in Heroes of the Storm, another game that I was going to talk briefly about, they took

00:05:47   something that a concept that was had grown up around games like Dota 2, or League of

00:05:55   Legends, which are games that are the same kind of concept. It's like you have a group

00:05:59   of a group of heroes and you go into an arena and you battle it out. And those games, though,

00:06:06   and I've never played either of those I've watched, tried to watch some videos about

00:06:09   them and kind of understand that. But there are a lot of things that are in those games

00:06:13   that make what's going on really complicated.

00:06:18   And I don't need to go into all of them, there's things like last hitting and carrying and

00:06:22   shared with like non-shared experience and all these things that make those games really

00:06:27   complicated.

00:06:29   And to be a really good Dota 2 player, you have to be like really, really legendary,

00:06:34   like in terms of your ability to multitask and keep things going.

00:06:37   Like, that's really cool.

00:06:38   And I admire people who are able to do that.

00:06:42   But as somebody who doesn't have the time or the ability to really do that myself, I

00:06:47   like that in Heroes of the Storm, they made a lot of those things simpler.

00:06:50   They kept the core experience, the thing that makes it fun, going into an arena with a bunch

00:06:54   of people and doing battle virtually.

00:06:57   That is the fun part.

00:06:58   The fun was not all of the other stuff that had grown up around it.

00:07:02   The fun, the essential experience, was not all of those little complications and the

00:07:09   extra nuances that went into the game. Those have their place, but they are not the essential

00:07:15   experience. And what Blizzard, I think, did well in both of these examples is they took

00:07:19   existing things and they looked at them and they were thoughtful about them in a way that allowed

00:07:25   them to say, "This is the part of the essential experience. This is what makes doing this kind of

00:07:29   thing fun. Let's just build that and let's throw away all the baggage of the other parts." And

00:07:36   And maybe you could say that simplifies the game to a point that it's not as useful or

00:07:39   interesting to a sophisticated player.

00:07:42   Maybe that's true.

00:07:44   But maybe that doesn't matter.

00:07:46   If by definition, those aren't going to be the majority of your people who are thinking

00:07:50   about playing your game, then it makes perfect sense for those people to have other venues.

00:07:56   But there's a much larger opportunity and a much larger market and audience that you

00:08:01   can address if rather than focusing on that, you focus on that essential experience.

00:08:05   So does that make sense?

00:08:07   As if you're not a gamer, if you are, hopefully that makes a lot of sense, and if you're not,

00:08:11   try to be very general about it.

00:08:12   But the essential thing that I'm looking for when I'm building an application, and this

00:08:16   is making it much more relevant to the show generally, is that what I want to do is I

00:08:21   want to look around the ecosystem that I'm developing in, the general environment around

00:08:27   where I'm building an application.

00:08:28   And I want to find those opportunities where there is an essential experience that isn't

00:08:34   being particularly well addressed.

00:08:37   And especially when that thing people are doing is fairly widely available, or at least

00:08:42   it has a relatively high level of awareness.

00:08:46   That's when you can come in, solve the essential problem, solve it hopefully better, and capture

00:08:52   a tremendous amount of attention in a way that provides a good opportunity.

00:08:57   It's something that I did a little bit in some ways with Pedometer++,

00:09:02   where in that case I wasn't really coming in against an existing thing that was complicated,

00:09:06   but it was still focusing entirely on that essential experience and thinking about that

00:09:11   and being laser focused on that one thing,

00:09:16   showing you your step data and making it so that you can set goals and meet goals,

00:09:21   and meet goals. Like, that was all it did. There's a lot of things you could do. Anytime

00:09:27   you start making a setting screen more and more complicated, there's a lot of other things

00:09:30   you could do. And in general, I've resisted that for a pedometer, and it's worked well.

00:09:35   I don't get a lot of people who are confused about how the app works. It does one thing,

00:09:39   it does it very well, and it's a very focused application. And so this is an odd thing that

00:09:43   I've often, I view the world when I think about what new applications I want to build

00:09:48   that and through that lens. And that's the origin story of what I'm going to talk about

00:09:53   for the next sort of five minutes or so. And just the next app that I'm going to be working

00:09:57   on. And it's an app that's is around focused around health kit, and the health and fitness

00:10:03   and workout stuff. A lot of that now is especially relevant in the in the world of the Apple

00:10:09   Watch. Because now I have a thing that is constantly collecting a whole bunch of information

00:10:15   about me that before my watch maybe was collecting step counts and distance traveled in some

00:10:21   ways previously, but now I have pulse data.

00:10:24   I have as a result of that pulse data, I have things like active calories.

00:10:29   I have even more movement data.

00:10:31   I have a workout app that's built into every single Apple watch that is designed for, you

00:10:36   know, when people go out for a walk, even if walk, bike, they go for a run, like whatever

00:10:42   they're doing, if they're doing any kind of activity.

00:10:43   And I mean, I personally use the workout app even when I'm just like out walking with the

00:10:46   kids.

00:10:47   It's not even asked to be like a fitness thing.

00:10:49   I just use it to keep track of when I'm doing any kind of physical activity on an ongoing

00:10:54   basis because I like having that data.

00:10:57   I like that I have a very low friction way to collect it and to start to just have more

00:11:03   awareness about myself.

00:11:05   And since I've started doing this, I've noticed I've started to work out more.

00:11:07   There is a delightfully self-reinforcing cycle that you can get into where the more you start

00:11:16   to collect and measure something and see your progress, you're more encouraged to continue

00:11:19   to do it.

00:11:20   And you can run into the silly things where you set a goal for yourself.

00:11:24   And I've done this in pedometer where I set a goal of whatever, I'm going to walk 10,000

00:11:29   steps and I'll get to the end of a day and I'll have 9,900 steps.

00:11:33   And I'll run around my bedroom until I get to that last hundred steps, which is completely

00:11:37   silly in some ways because I made up an arbitrary goal.

00:11:41   But once you make that arbitrary goal, there is something in you that wants to achieve

00:11:44   it.

00:11:45   And that's really cool.

00:11:46   And so this is something that I look at now as an opportunity for building software.

00:11:53   Because the existing things, like if you go to the health app on your iPhone right now,

00:11:57   and you try and look at this data, it is...

00:12:01   The health app is good at what it is, which is a warehouse, a repository.

00:12:07   It is not designed to be user-facing and friendly in that way.

00:12:13   It is aware...

00:12:14   It is sort of like the difference between going to a boutique and going to Costco.

00:12:19   They're trying to serve totally different purposes.

00:12:22   You go to Costco and you expect to have just pallets of stuff everywhere, and you're kind

00:12:26   of a bit more on your own to work things out, versus walking into a boutique and a nice

00:12:32   charming person greets you at the door and says, "Hi, how can I help you?"

00:12:35   Takes you over and takes care of you as you go to help you find what it is you're looking

00:12:39   for.

00:12:40   There are different experiences and the health app is great at what it is.

00:12:44   It is a place to throw all of the health data that you're collecting about yourself and

00:12:49   sort of jamming it into a place and organizing it for you.

00:12:55   And in terms of presenting it to you, that's not really what it's designed for.

00:12:58   And that's the thing that I'm focusing on in this application that I'm heading towards,

00:13:03   where I want to be able to surface that data in ways that makes it more useful, more actionable,

00:13:10   and more encouraging.

00:13:11   I look at it, and I've noticed I've started doing this a lot since I got my Apple Watch,

00:13:16   especially.

00:13:17   I want to see the data over time.

00:13:19   I want to take a look at what it's collecting, what my heart rate's like during the day,

00:13:23   my heart rate's like when I'm working out.

00:13:25   And that data's really hard to get at.

00:13:28   And I think that creates a tremendous opportunity.

00:13:31   Because the essential experience, and this is bringing it back to what I was saying about

00:13:34   what Blizzard did in those games, is the essential experience is not just collecting the data

00:13:43   and storing it in a reasonable way.

00:13:45   The essential experience is trying to make that useful and actionable.

00:13:50   And while the health app sort of does that, and in some ways the activity app, which you

00:13:54   get when that appears when you have an Apple Watch, does an even better job of this.

00:13:58   But still, in my opinion, in a very complicated way, there's a lot of opportunity there to

00:14:06   come in and build an app that is trying to focus one problem and hopefully solve it in

00:14:11   a focused, easy to follow, easy, good way.

00:14:14   And that's what I'm going to do.

00:14:15   And that's the app I'm going to be talking about over the next couple of episodes, running

00:14:19   up to WWDC, who knows what's going to happen.

00:14:22   But at least until I get it built and shipped, that's what I'm going to talk about.

00:14:25   I'm working on an app that's trying to take that data and make it usable and reasonable

00:14:29   and understandable and hopefully improve people's health.

00:14:32   And that's kind of a nice lofty ambition to have for an application.

00:14:36   But at its core, it also comes back to finding the essential experience that you're going

00:14:40   to solve.

00:14:41   If you can't express it in a sentence or two, you're probably going to be struggling.

00:14:45   All right, that's it for today's show.

00:14:47   As always, questions, comments, concerns, or complaints, you can find me on Twitter

00:14:50   @_davidsmith there.

00:14:51   Email me, david@developingperspective.com.

00:14:53   Otherwise, you have a great week, happy coding, and I will talk to you next week.