PodSearch

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.