PodSearch

Under the Radar

151: Little Touches

 

00:00:00 ◼   ► Welcome to Under the Radar, a show about independent iOS app

00:00:03 ◼   ► development.

00:00:04 ◼   ► I'm Marco Arment.

00:00:05 ◼   ► And I'm David Smith.

00:00:06 ◼   ► Under the Radar is never longer than 30 minutes,

00:00:08 ◼   ► so let's get started.

00:00:10 ◼   ► Today, we want to talk through little details

00:00:14 ◼   ► that we add into our applications that

00:00:17 ◼   ► are, in many ways, invisible, at least at first pass.

00:00:22 ◼   ► But I think they're the kind of details

00:00:24 ◼   ► that you can add to an app that, in aggregate,

00:00:27 ◼   ► dramatically improve the feel of using it.

00:00:33 ◼   ► And we have a whole bunch of examples for what

00:00:35 ◼   ► these are like and the way to think about them.

00:00:37 ◼   ► But I feel like so often, when you're solving a problem,

00:00:41 ◼   ► there's the big problem that you're trying to solve.

00:00:43 ◼   ► You're trying to count steps.

00:00:44 ◼   ► You're trying to play podcasts.

00:00:46 ◼   ► You're trying to track sleep, whatever it is.

00:00:48 ◼   ► There's this big problem you're trying to solve.

00:00:50 ◼   ► And there's the big chunk of work

00:00:52 ◼   ► that is just trying to solve that problem.

00:00:56 ◼   ► And then there's the more aesthetic, big D design aspects

00:01:00 ◼   ► of that, because you can solve the problem in a variety of ways

00:01:03 ◼   ► and the way you present that to the user.

00:01:04 ◼   ► And there's a bunch of choices you

00:01:06 ◼   ► have to make that are how you will communicate that function

00:01:09 ◼   ► and utility to the user.

00:01:12 ◼   ► And then there's these teeny little bits,

00:01:15 ◼   ► these little bits of code, little touches, little things

00:01:19 ◼   ► that we can do to our app that I feel like have--

00:01:23 ◼   ► at least for myself-- I enjoy making

00:01:25 ◼   ► these far more than most of these little things.

00:01:28 ◼   ► It's not Easter eggs in the traditional sense,

00:01:30 ◼   ► where it's something like some secret thing

00:01:32 ◼   ► that if you tap four times in the corner

00:01:35 ◼   ► and then tap on the other corner, something happens.

00:01:37 ◼   ► It's not that kind of thing.

00:01:38 ◼   ► But it's a little detail that is subtle but effective

00:01:44 ◼   ► and makes sense for what you're doing,

00:01:48 ◼   ► but is something that users might not necessarily notice.

00:01:51 ◼   ► And the one that I wanted to start off talking about,

00:01:52 ◼   ► and I think we can get into, but just

00:01:54 ◼   ► a good grounding example for this,

00:01:56 ◼   ► is in Overcast in the last update,

00:01:58 ◼   ► I noticed that you changed the sleep timer icon from an alarm

00:02:03 ◼   ► clock that was just static to an alarm clock that

00:02:06 ◼   ► shows the actual time.

00:02:09 ◼   ► And it's one of those very subtle things

00:02:10 ◼   ► because it's not like there's a second hand that's

00:02:14 ◼   ► sweeping around.

00:02:15 ◼   ► But the hour and minute hand are always

00:02:16 ◼   ► pointing to the correct time.

00:02:17 ◼   ► And I believe when you start the sleep timer,

00:02:19 ◼   ► it also shows-- it shades in the period of time

00:02:22 ◼   ► that the sleep timer's going to be active, I think.

00:02:24 ◼   ► Right, exactly.

00:02:25 ◼   ► Yeah, but that kind of a detail where

00:02:27 ◼   ► there's no reason necessarily for the sleep timer

00:02:30 ◼   ► to be a dynamic icon.

00:02:32 ◼   ► But the fact that it is just dramatically increases

00:02:35 ◼   ► the-- it's like that little touch.

00:02:36 ◼   ► And as soon as someone notices it,

00:02:38 ◼   ► I think it endears them to your app in a way that

00:02:40 ◼   ► is just kind of cool.

00:02:43 ◼   ► I mean, it's sort of in the same way that in iOS,

00:02:45 ◼   ► the calendar icon for years has always

00:02:49 ◼   ► changed to show the current date rather than a default date.

00:02:54 ◼   ► Because I think otherwise, what, it shows the 14th

00:02:58 ◼   ► before it's launching?

00:02:59 ◼   ► I think anyway.

00:03:01 ◼   ► I think it was the 14th.

00:03:02 ◼   ► There's all those kind of fun special dates and times.

00:03:04 ◼   ► But anyway, it shows you the current date.

00:03:06 ◼   ► It doesn't need to.

00:03:07 ◼   ► And if you look at the clock icon in iOS right now,

00:03:09 ◼   ► it actually is a live clock with a second hand spinning around,

00:03:12 ◼   ► which is kind of silly.

00:03:13 ◼   ► But in grounding it back to Overcast,

00:03:15 ◼   ► there's a little thing that you added to the app

00:03:17 ◼   ► just because it's kind of fun.

00:03:19 ◼   ► Like it isn't strictly utility, but I

00:03:21 ◼   ► think once soon as you notice it,

00:03:23 ◼   ► it just like puts a smile on your face.

00:03:24 ◼   ► And any time you can put a smile on your user's face,

00:03:27 ◼   ► you're doing something right.

00:03:29 ◼   ► I would describe these as almost like indulgences

00:03:33 ◼   ► for the developer, but that they form delights for the user.

00:03:37 ◼   ► Most users won't actually notice any kind of little delight

00:03:41 ◼   ► you put in the app.

00:03:42 ◼   ► They might notice the sum of them all,

00:03:44 ◼   ► and they might feel like this is a high quality app as a result.

00:03:47 ◼   ► But any individual one, they might not notice.

00:03:50 ◼   ► Usually the individual ones, the main value of them

00:03:53 ◼   ► is to you as the developer.

00:03:56 ◼   ► You feel like you're doing something fun for yourself.

00:03:59 ◼   ► Like it's partly like a craftspersonship kind of thing.

00:04:04 ◼   ► It's partly just the satisfaction

00:04:06 ◼   ► of doing something cool.

00:04:08 ◼   ► And that's why-- and because they

00:04:10 ◼   ► tend to take more time to do than they're worth necessarily,

00:04:13 ◼   ► like in the market value of your app,

00:04:15 ◼   ► or in a pure dollars for time kind of valuation,

00:04:19 ◼   ► that's why I consider them kind of indulgences

00:04:21 ◼   ► for the developer.

00:04:22 ◼   ► You do them because they make you happy, and they're cool,

00:04:26 ◼   ► but they're not necessary, and they're not strictly

00:04:29 ◼   ► the best use of your time.

00:04:30 ◼   ► But that doesn't mean you shouldn't do them.

00:04:33 ◼   ► Because even though any one individual little delight

00:04:37 ◼   ► or little touch or little nicety might not

00:04:40 ◼   ► have great market value, when you have many of them

00:04:44 ◼   ► in the app, or when the whole app feels delightful

00:04:47 ◼   ► and feels very highly polished, that

00:04:49 ◼   ► does raise the perceived value of your app.

00:04:52 ◼   ► And it raises how people feel when they're using your app.

00:04:57 ◼   ► It makes people happier to use it

00:04:58 ◼   ► and happier to recommend this.

00:05:00 ◼   ► Like an extreme example is Carrot Weather,

00:05:02 ◼   ► where it's full of very rich, detailed, strong personality,

00:05:07 ◼   ► and everything is alive in that app in all sorts of ways,

00:05:12 ◼   ► from copy to graphics.

00:05:14 ◼   ► There's all sorts of stuff going on there.

00:05:16 ◼   ► And when people recommend Carrot Weather,

00:05:19 ◼   ► they love Carrot Weather.

00:05:21 ◼   ► And part of it is because it is actually highly functional

00:05:23 ◼   ► and has a lot of great functionality.

00:05:25 ◼   ► But also, a big part of it is all that polish,

00:05:28 ◼   ► all the flourish, all the indulgences

00:05:30 ◼   ► that its developer took to really make

00:05:33 ◼   ► it a rich, developed experience instead of just bare bones

00:05:38 ◼   ► stuff.

00:05:40 ◼   ► And one of the things I miss most about Apple's past

00:05:47 ◼   ► is that in the Jobs and Forstall era,

00:05:52 ◼   ► Apple did a lot of this with their own apps.

00:05:54 ◼   ► And we all remember it as like skeuomorphism.

00:05:57 ◼   ► And we all look back and laugh and see how

00:06:00 ◼   ► that's kind of out of style now.

00:06:02 ◼   ► But the reality is it goes a lot deeper than that.

00:06:05 ◼   ► It not only was like the skeuomorphic design of,

00:06:09 ◼   ► oh, look, the podcast player looks like an eight-track reel

00:06:12 ◼   ► to reel or a reel to reel tape player.

00:06:15 ◼   ► It got extremes like that.

00:06:17 ◼   ► But it was also, at the time, it was really nice.

00:06:20 ◼   ► You would use these apps, and you

00:06:22 ◼   ► would smile at the crazy look they had.

00:06:25 ◼   ► Because back then, it wasn't so crazy.

00:06:27 ◼   ► It just looked really cool.

00:06:29 ◼   ► And they would make you happy.

00:06:32 ◼   ► It appeared as though these things had a lot of work put

00:06:34 ◼   ► into them.

00:06:35 ◼   ► And they did.

00:06:36 ◼   ► They would have amazing animations.

00:06:38 ◼   ► Remember the first time you saw the page turn

00:06:41 ◼   ► animation on an iPad?

00:06:42 ◼   ► Sure, yeah.

00:06:44 ◼   ► These amazing animations.

00:06:47 ◼   ► Or even just the genie shrinking into the Mac doc.

00:06:52 ◼   ► There's all sorts of animations and graphical tweaks and just

00:06:57 ◼   ► stylistic choices that Apple made

00:06:59 ◼   ► in that era that made the entire system just delightful to use.

00:07:05 ◼   ► And they don't do that so much anymore.

00:07:07 ◼   ► Or they maybe try to do it in different ways.

00:07:09 ◼   ► I think the current way that they do it

00:07:11 ◼   ► is a lot less humane and a lot less fun.

00:07:15 ◼   ► But they used to do it in these wonderful, fun ways.

00:07:18 ◼   ► And it shaped how people view their products.

00:07:22 ◼   ► It made people love them for ways

00:07:24 ◼   ► that they couldn't always necessarily describe,

00:07:27 ◼   ► but that they felt.

00:07:28 ◼   ► And so we can take cues from that when we design our apps.

00:07:32 ◼   ► We can do things that make people love our apps more

00:07:36 ◼   ► and that give people those little feelings of delight

00:07:38 ◼   ► and that overall just make our apps look more polished.

00:07:42 ◼   ► And so going back to the sleep timer icon example in Overcast,

00:07:45 ◼   ► first of all, thank you for bringing that up

00:07:47 ◼   ► and for promoting it so heavily.

00:07:48 ◼   ► And it is the kind of thing that I did

00:07:50 ◼   ► that almost no one notices.

00:07:51 ◼   ► And I actually did it a long time ago.

00:07:53 ◼   ► I did it for the original landscape orientation

00:07:55 ◼   ► of Overcast.

00:07:57 ◼   ► And because the playback button, it

00:08:01 ◼   ► was playback and effects panels.

00:08:03 ◼   ► And it looked weird when I had those as text.

00:08:05 ◼   ► So when you rotated the screen, it

00:08:06 ◼   ► became this column of icons on one side.

00:08:08 ◼   ► And the icon for the sleep timer was just like this.

00:08:11 ◼   ► It was a live clock that would show you

00:08:12 ◼   ► like a pie graph version of how long the timer was set for.

00:08:16 ◼   ► And no one ever rotated it.

00:08:18 ◼   ► And then the few people who did weren't using the sleep timer,

00:08:20 ◼   ► so no one ever noticed.

00:08:21 ◼   ► But anyway, the reason I did that icon

00:08:26 ◼   ► is a combination of I wanted to do something fun.

00:08:30 ◼   ► I wanted to indulge myself in making

00:08:32 ◼   ► this over the top fun dynamic icon,

00:08:35 ◼   ► even though most people would never notice it.

00:08:37 ◼   ► But also, it did serve an important function.

00:08:41 ◼   ► It did actually, by showing the current time,

00:08:45 ◼   ► by showing this little pie graph wedge

00:08:47 ◼   ► to show when the timer was set until,

00:08:50 ◼   ► it actually helped people visualize and know

00:08:53 ◼   ► how the timer was set, and how long it would last,

00:08:56 ◼   ► and what time it would end.

00:08:57 ◼   ► It communicated all those things in a simple little icon.

00:09:01 ◼   ► And so it was delightful.

00:09:02 ◼   ► And that's why I did it.

00:09:05 ◼   ► But it also served a purpose.

00:09:07 ◼   ► And I feel like if you can find ways in your app

00:09:10 ◼   ► to do that, to have that blend of niceness,

00:09:13 ◼   ► but that also serves a purpose, it

00:09:16 ◼   ► becomes not only much more justifiable from the time

00:09:19 ◼   ► perspective of investing time into it,

00:09:21 ◼   ► but it also makes it nicer to use.

00:09:25 ◼   ► You're communicating something with it.

00:09:26 ◼   ► You're clarifying something with it.

00:09:28 ◼   ► Whatever it is that makes it more useful,

00:09:30 ◼   ► that makes your app, not only does it

00:09:33 ◼   ► make your customers happier, but it makes the app better,

00:09:36 ◼   ► and it makes it more clear, and it makes it more communicative

00:09:39 ◼   ► at the same time.

00:09:40 ◼   ► And another one that comes to mind with that is another,

00:09:43 ◼   ► I think I first saw it in iOS.

00:09:45 ◼   ► I think it was pulling down Control Center, Notification

00:09:47 ◼   ► Center, where you would have a little chevron,

00:09:49 ◼   ► like the little two line arrow without the tail.

00:09:54 ◼   ► And as you moved your finger up and down,

00:09:58 ◼   ► to dismiss it, the chevron's pointing up.

00:10:00 ◼   ► And so, but then at a certain point,

00:10:02 ◼   ► it would switch to-- it would turn into a line,

00:10:04 ◼   ► and then it would turn into a down facing thing.

00:10:06 ◼   ► If you have an Apple Watch, and you open Control Center,

00:10:08 ◼   ► you can see the same effect in there now.

00:10:12 ◼   ► And it's one of those things where it's really

00:10:14 ◼   ► subtle animation.

00:10:16 ◼   ► It's just two lines, and they're either pointing up, they're

00:10:20 ◼   ► flat, or they're pointing down.

00:10:22 ◼   ► But by making it interactive, and by making it,

00:10:24 ◼   ► it isn't just-- it's in one state at the bottom,

00:10:27 ◼   ► and it's in another state when it's at the top.

00:10:29 ◼   ► It changes in between.

00:10:30 ◼   ► It makes it kind of fun to play with.

00:10:32 ◼   ► And I know it was just one of these things that, kind of

00:10:34 ◼   ► like a fidget toy, I have sometimes just--

00:10:36 ◼   ► like my Apple Watch, I'll sit there,

00:10:37 ◼   ► and I'll make the little thing dance.

00:10:39 ◼   ► I don't know.

00:10:40 ◼   ► It's just kind of a fun little effect.

00:10:41 ◼   ► But it does communicate something, to your point,

00:10:43 ◼   ► that you were just making.

00:10:45 ◼   ► It isn't just a glitzy animation added to the app for no purpose

00:10:49 ◼   ► or no benefit.

00:10:50 ◼   ► What it is communicating is it's like,

00:10:52 ◼   ► if you swipe in this direction right now, it'll close.

00:10:55 ◼   ► And if you swipe in this way, then it'll move the other way.

00:10:58 ◼   ► You're communicating something.

00:11:00 ◼   ► There's a similar thing, I know, in Overcaster,

00:11:03 ◼   ► if you bring up and down the now playing controls,

00:11:07 ◼   ► the little arrow with the chevron on it for yours,

00:11:09 ◼   ► rather than going to a line in the middle,

00:11:11 ◼   ► yours flips around.

00:11:12 ◼   ► But it's interactive.

00:11:13 ◼   ► It's not something that is-- you could just as easily have

00:11:16 ◼   ► the static version of that, where at 50%,

00:11:19 ◼   ► it flips from pointing up to pointing down.

00:11:22 ◼   ► But by making it interactive, there's

00:11:24 ◼   ► that little bit of fun, that little bit of interactivity

00:11:29 ◼   ► that I think adds a lot to the experience,

00:11:31 ◼   ► because it is entirely unnecessary,

00:11:35 ◼   ► but it just makes it feel polished.

00:11:37 ◼   ► And I think we keep-- I think in many ways,

00:11:39 ◼   ► the more I think about these things, as we've

00:11:41 ◼   ► been talking about it, it's like what

00:11:42 ◼   ► I love about these kinds of touches

00:11:44 ◼   ► and why I look for them in apps that I use, I think,

00:11:47 ◼   ► is it demonstrates that the app-- it assures me

00:11:53 ◼   ► that there's a level of quality and consideration that

00:11:56 ◼   ► has gone into the thing that I'm using,

00:11:58 ◼   ► that if they're able to get-- if they have time at the end

00:12:01 ◼   ► to work on this stuff, there's a very good chance

00:12:03 ◼   ► they've also taken care of weird edge case syncing bugs

00:12:07 ◼   ► and lots of other kind of quality or thoughtfulness

00:12:10 ◼   ► issues that may come up, that it isn't something

00:12:12 ◼   ► that's very slapdash.

00:12:13 ◼   ► It isn't something that they've just put together

00:12:15 ◼   ► and they hope that this works.

00:12:17 ◼   ► Like if you've gotten to the point

00:12:19 ◼   ► where you're polishing and refining and adding

00:12:21 ◼   ► silly touches and little nuances to the app,

00:12:25 ◼   ► you've really got the basics pretty much pat.

00:12:27 ◼   ► I mean, otherwise, I suppose it's just a design exercise,

00:12:30 ◼   ► and it's overly designed but doesn't actually work.

00:12:32 ◼   ► But I think as soon as you get the sense that it works

00:12:35 ◼   ► and it has these, it's a great quality marker.

00:12:38 ◼   ► And I think coming to your point about the earlier-- there

00:12:42 ◼   ► was that more whimsical Apple period,

00:12:45 ◼   ► I feel like there was a period of time

00:12:47 ◼   ► where I think that was part of the thing where if Apple's

00:12:50 ◼   ► taking care of all of this, then the fundamentals

00:12:52 ◼   ► have to be well taken care of.

00:12:54 ◼   ► Like if they've gotten-- they've worked their way down

00:12:57 ◼   ► the to-do list to the point that this

00:12:59 ◼   ► is what they're working on, like these tiny little details that

00:13:03 ◼   ► aren't functional but are delightful and communicative

00:13:07 ◼   ► or useful in some way, they're not essential.

00:13:10 ◼   ► Like we are in a great place if that's where we are down

00:13:13 ◼   ► in the to-do list.

00:13:14 ◼   ► Yeah, it's funny.

00:13:15 ◼   ► It's almost like when you go into a luxury retailer,

00:13:19 ◼   ► whether it's like a high-end car dealership or like a jewelry

00:13:21 ◼   ► store, one of the things that they do

00:13:24 ◼   ► is they usually will offer you something to drink.

00:13:26 ◼   ► Do you want a bottle of water?

00:13:28 ◼   ► Do you want some coffee?

00:13:29 ◼   ► And it's like-- and they don't need to charge you for that.

00:13:31 ◼   ► Because they're doing so well because they charge so much

00:13:34 ◼   ► money for their product, they have such high profits,

00:13:36 ◼   ► that they can spare the water.

00:13:39 ◼   ► They can spare the coffee.

00:13:40 ◼   ► And it makes you happy, right?

00:13:41 ◼   ► And it's kind of the opposite of like desperation or stinginess.

00:13:46 ◼   ► And by showing that they are doing fine,

00:13:51 ◼   ► that they can afford to give you free water even if you're not

00:13:53 ◼   ► going to buy anything, that is an attractive quality that

00:13:56 ◼   ► makes their-- it makes them seem established and stable

00:13:59 ◼   ► and they know what they're doing and high quality and luxurious,

00:14:03 ◼   ► right?

00:14:03 ◼   ► So we can do that kind of stuff with our apps.

00:14:06 ◼   ► If our apps-- as you said, if you've taken the time

00:14:10 ◼   ► to really polish some stuff that, quote, "doesn't matter"

00:14:13 ◼   ► or that doesn't matter very much, that does show--

00:14:16 ◼   ► whether it's true or not, you could still

00:14:17 ◼   ► have the most horrible sinking bugs in the world.

00:14:20 ◼   ► Whether it's true or not, it projects the image

00:14:23 ◼   ► that you're doing great, that you have so much free time

00:14:26 ◼   ► because your app is just already so good that now you

00:14:28 ◼   ► can focus on stuff like that.

00:14:29 ◼   ► And that is-- whether it's true or not,

00:14:32 ◼   ► that is a very strong marketing image to project.

00:14:36 ◼   ► And it's pretty positive.

00:14:38 ◼   ► Yeah, I think it's a powerful tool maybe even to say there

00:14:40 ◼   ► it's like it is marketing in the sense that-- like you said,

00:14:44 ◼   ► whether or not it's true, it is something that you can do

00:14:48 ◼   ► and that's very much within our control as a developer.

00:14:51 ◼   ► It's something that we have access to that can increase

00:14:54 ◼   ► the perceived luxury or quality of our apps.

00:14:57 ◼   ► That is fun to do, which is a nice perk that I enjoy doing

00:15:02 ◼   ► these things.

00:15:02 ◼   ► I very rarely-- these aren't the kind of things

00:15:05 ◼   ► that are drudgery.

00:15:05 ◼   ► These are fun little details that I enjoy.

00:15:09 ◼   ► Definitely.

00:15:09 ◼   ► But the nice thing is it does.

00:15:11 ◼   ► I think it increases that perceived luxury or perceived

00:15:14 ◼   ► quality of your app.

00:15:15 ◼   ► And that is-- it's very difficult to build that up

00:15:20 ◼   ► in a lot of other ways.

00:15:21 ◼   ► But it certainly is a lot easier to just put together

00:15:24 ◼   ► a little bit of animation code or a little bit of some vector

00:15:29 ◼   ► drawing that communicates something like that.

00:15:32 ◼   ► And maybe not everyone notices it.

00:15:33 ◼   ► Maybe it's not quite as in your face as would you

00:15:35 ◼   ► like a glass of water or a glass of champagne

00:15:37 ◼   ► or whatever it is like when you walk through the door.

00:15:40 ◼   ► And I think there is an element of that that you're kind of--

00:15:43 ◼   ► it is that level of polish.

00:15:45 ◼   ► It's the-- if you look on the underside of something

00:15:49 ◼   ► and you get the sense of how well it was put together,

00:15:52 ◼   ► is it the-- when I'm putting together IKEA furniture

00:15:55 ◼   ► or something, and you look at the back of it

00:15:57 ◼   ► and you look at the front of it, the back of IKEA furniture

00:16:00 ◼   ► doesn't look good.

00:16:01 ◼   ► It looks plain, and it's fine.

00:16:03 ◼   ► It's perfectly functional.

00:16:05 ◼   ► But it doesn't look great.

00:16:06 ◼   ► Whereas if you look at the back of a piece of really nicely put

00:16:09 ◼   ► together furniture, the back looks just as good

00:16:14 ◼   ► as the front.

00:16:14 ◼   ► And those kind of little cues I think are such nice little--

00:16:19 ◼   ► all these little subtle indications

00:16:21 ◼   ► that something is going to be worthwhile, or at least

00:16:23 ◼   ► is projecting that feeling.

00:16:26 ◼   ► This episode of Under the Radar is brought to you by Instabug.

00:16:29 ◼   ► More than 20,000 mobile apps, including Lyft, eBay,

00:16:32 ◼   ► and T-Mobile are using Instabug to enhance

00:16:34 ◼   ► the quality of their apps.

00:16:36 ◼   ► Instabug is a lightweight SDK that

00:16:38 ◼   ► provides mobile apps with comprehensive bug and crash

00:16:41 ◼   ► reporting.

00:16:42 ◼   ► With just one line of code to integrate,

00:16:44 ◼   ► Instabug helps you receive detailed bug reports

00:16:47 ◼   ► with minimal effort.

00:16:48 ◼   ► So one cool feature is users can submit feedback

00:16:51 ◼   ► by simply shaking their phones anywhere in the app.

00:16:54 ◼   ► Every bug report has a screenshot

00:16:56 ◼   ► that can be drawn on and annotated.

00:16:58 ◼   ► The user can even attach a voice note or screen recording, too.

00:17:01 ◼   ► This is all done from right within the app with zero

00:17:04 ◼   ► interruption to their experience.

00:17:06 ◼   ► And then the Instabug dashboard shows you

00:17:08 ◼   ► a comprehensive report that includes all device details,

00:17:12 ◼   ► steps to reproduce the bug, network logs,

00:17:15 ◼   ► and all the other logs that you might need to debug faster.

00:17:18 ◼   ► And all of this is automatic.

00:17:20 ◼   ► And you can reply to your users right from the Instabug

00:17:24 ◼   ► dashboard.

00:17:25 ◼   ► So you can let them know that their issue has been fixed,

00:17:27 ◼   ► or maybe ask for more feedback if you

00:17:28 ◼   ► need more clarification.

00:17:30 ◼   ► Instabug can also forward all reports

00:17:32 ◼   ► to Jira, Slack, Trello, GitHub, Zendesk, or whatever else

00:17:36 ◼   ► you might use.

00:17:37 ◼   ► The SDK takes just one minute to integrate into your app.

00:17:41 ◼   ► So visit instabug.com/radar now and create a free account

00:17:45 ◼   ► with no credit card required.

00:17:47 ◼   ► And if you're a developer, you can sign up for a free Forever

00:17:50 ◼   ► Plan, and everyone else can use promo code radar2018

00:17:53 ◼   ► to get 20% off all plans for three months.

00:17:57 ◼   ► That's instabug.com/radar and offer code radar2018.

00:18:02 ◼   ► Our thanks to Instabug for their support of this show.

00:18:06 ◼   ► So I wanted to go into maybe some more concrete examples

00:18:08 ◼   ► and maybe some lessons we can teach

00:18:11 ◼   ► to be more general about where you can

00:18:14 ◼   ► add these kind of flourishes.

00:18:16 ◼   ► For me, some of the ones I've done on Overcast

00:18:18 ◼   ► while I make this show entirely about promoting Overcast,

00:18:22 ◼   ► one of the ones I did was the Downloads icon.

00:18:25 ◼   ► If a download has failed--

00:18:27 ◼   ► It turns into a sad face.

00:18:28 ◼   ► Yeah, yeah, like where it would normally

00:18:30 ◼   ► show the little number badge, it shows a little frowny face.

00:18:32 ◼   ► I love that.

00:18:33 ◼   ► People love this.

00:18:34 ◼   ► I've never thought of the amount of feedback I get on that.

00:18:36 ◼   ► People absolutely love it.

00:18:38 ◼   ► I never expected that.

00:18:39 ◼   ► What I needed to do was I wanted to communicate a failure

00:18:42 ◼   ► state in the icon, because the icon shows download status.

00:18:45 ◼   ► So it normally would show a number

00:18:46 ◼   ► about how many downloads are pending.

00:18:48 ◼   ► And I wanted to somehow indicate if there's

00:18:50 ◼   ► no more downloads pending, but some of them have failed,

00:18:53 ◼   ► you should know about that.

00:18:54 ◼   ► Because otherwise, if you see a blank,

00:18:56 ◼   ► you think everything is OK.

00:18:58 ◼   ► And so I just put a little frowny face on the icon instead.

00:19:00 ◼   ► People absolutely love it.

00:19:02 ◼   ► Instead of having like an exclamation point

00:19:04 ◼   ► or like an error symbol or popping up a dialog box,

00:19:08 ◼   ► making this little frowny face, it's cute and it's small,

00:19:10 ◼   ► but it's also totally communicative.

00:19:12 ◼   ► No one is confused about what that means.

00:19:14 ◼   ► As soon as people see that, they usually smile

00:19:16 ◼   ► and they tap the button.

00:19:18 ◼   ► And it's great.

00:19:19 ◼   ► So it's, again, combining usefulness with personality.

00:19:24 ◼   ► Similarly, I show volume peak meters during playback

00:19:31 ◼   ► inside the bars of the pause button.

00:19:32 ◼   ► And this has evolved over time.

00:19:33 ◼   ► It used to be more complicated.

00:19:35 ◼   ► But the reason I show volume bars

00:19:38 ◼   ► is to communicate that your audio is playing.

00:19:40 ◼   ► It's a really useful bit of feedback.

00:19:42 ◼   ► And if you hit play and you hear nothing,

00:19:46 ◼   ► then you wonder what's wrong.

00:19:47 ◼   ► And you can look at the bars and you

00:19:49 ◼   ► can see if the bars are moving, but you're not

00:19:51 ◼   ► hearing anything, chances are it's

00:19:53 ◼   ► like the volume being set wrong on your output

00:19:55 ◼   ► device or something.

00:19:56 ◼   ► And so you can do something about that.

00:19:58 ◼   ► Whereas if you hit play and you see blank bars,

00:20:01 ◼   ► you know that you're listening to something silent.

00:20:03 ◼   ► So it's communicating value there.

00:20:06 ◼   ► But it is also designed in a way that

00:20:10 ◼   ► makes people smile, that looks nice, and it works well.

00:20:14 ◼   ► And that's, again, that's the best happy medium

00:20:16 ◼   ► you can get with this kind of stuff.

00:20:18 ◼   ► Yeah.

00:20:18 ◼   ► And I think-- I'm trying to give some examples that I've

00:20:21 ◼   ► done too, where I feel like so often, it's

00:20:23 ◼   ► like there's the hit the user over the head way

00:20:27 ◼   ► to communicate something.

00:20:29 ◼   ► You could easily just pop up an alert view

00:20:31 ◼   ► and say, downloads have failed, bad news bears, things are sad.

00:20:37 ◼   ► But instead, you just do this little subtle--

00:20:40 ◼   ► you're communicating the same thing to the user,

00:20:43 ◼   ► but you're doing it in a way that

00:20:44 ◼   ► is much more friendly, much more engaging, much more pleasant.

00:20:48 ◼   ► And it's like I'm thinking of-- in Perimeter++,

00:20:51 ◼   ► it usually shows the last seven days worth of data

00:20:55 ◼   ► is the main view.

00:20:57 ◼   ► In terms of I scale the bars so that you

00:20:59 ◼   ► see seven of them at a time.

00:21:00 ◼   ► So you get a week.

00:21:02 ◼   ► And I realized if you didn't know that the rest of the data

00:21:09 ◼   ► is sitting off to the left, like in this incredibly long scroll

00:21:13 ◼   ► view to the side, you might just think it only ever shows

00:21:17 ◼   ► the current seven days.

00:21:18 ◼   ► And that's a perfectly reasonable thing,

00:21:20 ◼   ► I suppose, for the app.

00:21:21 ◼   ► But it's a little unfortunate.

00:21:22 ◼   ► And so in the app, the first time

00:21:25 ◼   ► you have more than seven days worth of data,

00:21:27 ◼   ► and if you've never scrolled the scroll view,

00:21:30 ◼   ► I make it wiggle ever so slightly

00:21:33 ◼   ► to show that there is one more-- to show the right third

00:21:37 ◼   ► of that left-- of the next bar over.

00:21:39 ◼   ► And then it pops back.

00:21:40 ◼   ► And it does that every now and then.

00:21:42 ◼   ► Not very often, but just lets you

00:21:43 ◼   ► know that there's something there.

00:21:45 ◼   ► And as soon as you scroll, or if you've ever scrolled,

00:21:48 ◼   ► it never does it again.

00:21:49 ◼   ► It's not this thing that's constantly trying to bother you

00:21:51 ◼   ► or hold your attention.

00:21:53 ◼   ► Because it is kind of disruptive to have the scroll view--

00:21:56 ◼   ► have the view move slightly to the side.

00:21:58 ◼   ► But I find it just communicates this idea.

00:22:01 ◼   ► And probably most users never need to know it.

00:22:04 ◼   ► But if someone did, and they were just

00:22:06 ◼   ► confused as to where the rest of the data is,

00:22:08 ◼   ► or even that that's a feature of the app,

00:22:10 ◼   ► that your history is available to the side,

00:22:12 ◼   ► it communicates that.

00:22:14 ◼   ► Or similarly, I know for-- in a lot of UIs that I've done,

00:22:18 ◼   ► there's often this sense of in the transition to a view--

00:22:22 ◼   ► so like an example in Pedometer++,

00:22:24 ◼   ► if you tap on the badges view to see the badges,

00:22:28 ◼   ► in the actual transition-- so while the view is being

00:22:32 ◼   ► presented, the animation for that is happening.

00:22:35 ◼   ► I have the badges flip over from their reverse side

00:22:39 ◼   ► to the front side.

00:22:40 ◼   ► And I do this so that to give some sense that if you

00:22:43 ◼   ► tap on the badge, and it'll rotate over,

00:22:46 ◼   ► and there's information about the badge on the back.

00:22:48 ◼   ► Either what the badge is, or how many times you've achieved it,

00:22:50 ◼   ► when the last time you achieved it, that kind of thing.

00:22:53 ◼   ► And I feel like I don't need to have some kind of walk-through

00:22:57 ◼   ► thing the first time you launch the app that says, you know,

00:23:00 ◼   ► you can tap this, and raise everything out,

00:23:02 ◼   ► and has you tap it, and flip it over,

00:23:04 ◼   ► and teaches the user to do that.

00:23:07 ◼   ► Because by showing them that there is something on the back,

00:23:10 ◼   ► ever so slightly, it's this very subtle effect,

00:23:12 ◼   ► and it doesn't take extra time.

00:23:14 ◼   ► It's built into the present modal animation.

00:23:18 ◼   ► It just shows you that there is something there,

00:23:21 ◼   ► and hopefully makes your user curious

00:23:23 ◼   ► as to, you know, how do I get that?

00:23:25 ◼   ► The most obvious thing is almost certainly going to be to tap it.

00:23:27 ◼   ► And when they tap it, it works.

00:23:29 ◼   ► Great.

00:23:30 ◼   ► So I feel like those kinds of details, where

00:23:32 ◼   ► it's like you're trying to communicate something,

00:23:34 ◼   ► and if you can find a more subtle or fun way

00:23:36 ◼   ► to communicate it.

00:23:37 ◼   ► Like it's just such a great little detail,

00:23:39 ◼   ► where it's like a win-win.

00:23:40 ◼   ► That it's more fun, it's a bit more whimsical,

00:23:43 ◼   ► and it communicates something in a way that is, honestly,

00:23:46 ◼   ► sometimes probably even clearer, because it's

00:23:48 ◼   ► communicated in context, rather than being communicated out

00:23:52 ◼   ► of context.

00:23:53 ◼   ► Yeah, I also love how you have a little sparkle on the badge

00:23:57 ◼   ► section icon, when you have new badges.

00:24:00 ◼   ► So instead of just showing like a number one in a circle,

00:24:03 ◼   ► like the ribbon sparkles.

00:24:05 ◼   ► And it just invites you, oh, that's showing me something.

00:24:08 ◼   ► It's active.

00:24:09 ◼   ► It invites you to tap on it.

00:24:10 ◼   ► It totally communicates clearly, like, oh, here,

00:24:13 ◼   ► I got to tap that.

00:24:14 ◼   ► Something's going on there.

00:24:15 ◼   ► Something's new there.

00:24:16 ◼   ► You tap it, and you see your new badges.

00:24:18 ◼   ► And again, it's like a nice little-- first of all,

00:24:20 ◼   ► it's just a nice looking animation.

00:24:21 ◼   ► But also, it's like a nice little touch that

00:24:23 ◼   ► makes this app feel polished.

00:24:26 ◼   ► One thing I also like doing is Micro Copy.

00:24:30 ◼   ► I have this all over Overcast.

00:24:31 ◼   ► But this is just like very small text that is usually not

00:24:36 ◼   ► the primary label on something, but maybe

00:24:39 ◼   ► is like a comment on it, or a clarification,

00:24:40 ◼   ► or a description of it.

00:24:42 ◼   ► And Micro Copy can vary from just like a description

00:24:45 ◼   ► below a setting cell, which I use all the time,

00:24:47 ◼   ► or something like a little line of text

00:24:50 ◼   ► below a title in a dialogue box.

00:24:51 ◼   ► Like when you add a podcast, there's

00:24:55 ◼   ► a little sub label under the Add Podcast Title

00:24:57 ◼   ► label in that screen that says, or just one episode,

00:25:00 ◼   ► no pressure.

00:25:02 ◼   ► And people love this, because it's a place

00:25:05 ◼   ► that you can add personality, but it also clarifies things.

00:25:08 ◼   ► Again, it's just like what we've been talking about.

00:25:10 ◼   ► You can add personality and niceness and make people smile,

00:25:13 ◼   ► but it also communicates some important value.

00:25:17 ◼   ► Like when you first start a new Overcast account,

00:25:22 ◼   ► and you have a blank collection you have no podcast

00:25:24 ◼   ► subscribed to, there's a big button in the center

00:25:26 ◼   ► of the screen that says Add a Podcast,

00:25:27 ◼   ► and below it a little label that says,

00:25:29 ◼   ► otherwise this won't be very useful.

00:25:31 ◼   ► And that's, again, fun bit of personality.

00:25:33 ◼   ► People love it.

00:25:33 ◼   ► But also, it tells people like, you know what?

00:25:35 ◼   ► You should probably do this first.

00:25:38 ◼   ► Until you do this, this app won't work, basically.

00:25:41 ◼   ► This won't do anything.

00:25:42 ◼   ► And I love too, that switches from that message

00:25:46 ◼   ► to you've played everything with an add button

00:25:49 ◼   ► once you've played everything in Overcast.

00:25:51 ◼   ► Right, exactly.

00:25:52 ◼   ► Yeah, because that way it still tells you,

00:25:55 ◼   ► there's nothing for you to do, but here's something

00:25:58 ◼   ► you could, there's nothing for you to do

00:25:59 ◼   ► with your current state.

00:26:00 ◼   ► You've completed it.

00:26:01 ◼   ► But here's a way you can keep using the app.

00:26:03 ◼   ► Add more podcasts, right?

00:26:05 ◼   ► And you can use this to both encourage people

00:26:09 ◼   ► to do what you want them to do, and also, again,

00:26:11 ◼   ► to help them to maybe clear up confusion,

00:26:13 ◼   ► and to make them feel good about your app

00:26:15 ◼   ► and its personality or its polish.

00:26:17 ◼   ► You know, another similar thing is like,

00:26:18 ◼   ► I use emoji here and there in some of the copy

00:26:21 ◼   ► and some of the labels of the app.

00:26:23 ◼   ► I use emoji kind of sparingly.

00:26:24 ◼   ► And I use a little cloud emoji to communicate

00:26:27 ◼   ► that an episode is not downloaded, that it will stream.

00:26:30 ◼   ► And I use a little heart emoji in some of the labels

00:26:32 ◼   ► that are about the premium subscription

00:26:34 ◼   ► and thanking people for subscribing.

00:26:36 ◼   ► And it just adds, it's like salt.

00:26:39 ◼   ► Like, you don't want to use a lot of it,

00:26:41 ◼   ► but you want a little bit.

00:26:42 ◼   ► And a little bit of it goes a long way

00:26:44 ◼   ► and can really make your app just show personality

00:26:47 ◼   ► and delight people in small ways.

00:26:50 ◼   ► - Yeah, and I think copy is probably the best,

00:26:53 ◼   ► probably the easiest place for most developers

00:26:55 ◼   ► to start off with this kind of thing.

00:26:57 ◼   ► Like, if you're thinking about your own app

00:26:59 ◼   ► and you're like, what could I do

00:27:00 ◼   ► to kind of add these little details?

00:27:01 ◼   ► It's like, copy is something

00:27:03 ◼   ► that isn't technically difficult.

00:27:04 ◼   ► It's not something that takes a lot of work

00:27:07 ◼   ► to build a complicated animation,

00:27:08 ◼   ► which are awesome and do that too.

00:27:11 ◼   ► But it's something that, if you're just thoughtful

00:27:14 ◼   ► and rather than it just saying,

00:27:17 ◼   ► it's like, you can probably get too cutesy with it,

00:27:21 ◼   ► and that can be problematic in its own way.

00:27:22 ◼   ► But the reality is there's a very large distance

00:27:26 ◼   ► between completely plain and boring,

00:27:28 ◼   ► straightforward copy and too cutesy,

00:27:31 ◼   ► where it gets a little too much or it gets confusing

00:27:33 ◼   ► because you're being too whimsical in it.

00:27:35 ◼   ► And it's like, it's sort of like the release notes

00:27:39 ◼   ► where you can have release notes that are like,

00:27:41 ◼   ► they're written in the form of,

00:27:42 ◼   ► they're written in iambic pentameter

00:27:44 ◼   ► as though it was an epic tale.

00:27:46 ◼   ► And like, what has changed?

00:27:48 ◼   ► I don't know what has changed in these release notes

00:27:51 ◼   ► because it's too far versus you can also have the one

00:27:54 ◼   ► that's just like, here is a bulleted list

00:27:56 ◼   ► of the features that have changed.

00:27:57 ◼   ► It's like, thank you.

00:27:59 ◼   ► I try to do mine as like, I'm writing a letter

00:28:02 ◼   ► to the developer or to my user being like,

00:28:04 ◼   ► hey, this is what I've been working on.

00:28:06 ◼   ► This is why I've been doing it.

00:28:07 ◼   ► Here's the things I changed, thanks.

00:28:09 ◼   ► And then I sign it, like, thanks.

00:28:10 ◼   ► I hope you enjoy it, Dave.

00:28:12 ◼   ► I put my name at the end of it.

00:28:12 ◼   ► It's like, I'm writing you a letter.

00:28:13 ◼   ► Like, I find that that's a good way

00:28:15 ◼   ► to kind of structure that copy

00:28:17 ◼   ► in hopefully a slightly more engaging way.

00:28:20 ◼   ► You know, the copy is I think a great example

00:28:22 ◼   ► of something that's so easy to do

00:28:24 ◼   ► but can still have a really nice impact.

00:28:26 ◼   ► - Well, and that kind of thing helps you too.

00:28:28 ◼   ► Like, when people see that, they see,

00:28:29 ◼   ► oh, this is an app made by one person.

00:28:31 ◼   ► And that, and by you showing your humanity in your copy

00:28:36 ◼   ► and in your description and update descriptions

00:28:39 ◼   ► and everything, that might make them respond

00:28:41 ◼   ► a little bit better in reviews maybe.

00:28:42 ◼   ► It might make them less harsh.

00:28:44 ◼   ► Like, if they don't think they're talking

00:28:44 ◼   ► to a big company who doesn't care about them,

00:28:46 ◼   ► if they know they're talking to just one person,

00:28:48 ◼   ► that makes them a lot more polite a lot of the time, right?

00:28:52 ◼   ► - Yeah, I mean, it's the same way.

00:28:52 ◼   ► Like, I've changed, for a while back,

00:28:54 ◼   ► I changed my, like, sort of contact or support button.

00:28:57 ◼   ► Like, that just, you know, opens an email form.

00:29:00 ◼   ► It's, they now say either email me or email us,

00:29:03 ◼   ► depending on the app and sort of whether it makes sense.

00:29:06 ◼   ► But like, I made it personal, that like,

00:29:09 ◼   ► it's something, like, you're emailing a person.

00:29:11 ◼   ► It's not just like, it's not get support,

00:29:14 ◼   ► which is this sort of, this vague, general kind of thing.

00:29:16 ◼   ► It's like, no, it's like email us or email me.

00:29:18 ◼   ► Like, talk to me.

00:29:19 ◼   ► Like, it's a very much more natural, engaging,

00:29:21 ◼   ► personal thing, and I think it makes a big difference

00:29:24 ◼   ► in terms of the way, you know, if you're gonna,

00:29:25 ◼   ► you've pushed a button that says something,

00:29:27 ◼   ► that, you know, says email me, like,

00:29:29 ◼   ► you're, know you're talking to a person.

00:29:31 ◼   ► It's a, you know, it's an individual rather than a,

00:29:34 ◼   ► just this kind of collective, vague corporate communication.

00:29:38 ◼   ► - Thanks for listening, everybody.

00:29:40 ◼   ► Talk to you next week.

00:29:41 ◼   ► Bye.

00:29:41 ◼   ► Bye