#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: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: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: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: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: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: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: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: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.