00:00:00 ◼ ► Welcome to Under the Radar, a show about independent iOS app development. I'm Marco Arment.
00:00:06 ◼ ► And I'm David Smith. Under the Radar is never longer than 30 minutes, so let's get started.
00:00:16 ◼ ► So I think we wanted to kind of unpack a little bit today our initial reactions, some of the process maybe of getting them,
00:00:25 ◼ ► the importance of getting the actual device maybe, and then just some of the future considerations that I think we're now both starting to think about
00:00:33 ◼ ► now that we actually have these in hand. It's been kind of an exciting time, certainly, I think, for me as a developer.
00:00:39 ◼ ► I think about my time as a developer, and there have been these sort of step function changes where I suddenly have to think about my apps in a very different way.
00:00:49 ◼ ► I think about going to Retina was the first one where it's like that was a substantial change, and then the 5S was a big jump where rather than being 320 by 480,
00:01:08 ◼ ► And then sort of the 6, especially the 6 Plus, where it's like, okay, well now we're going crazy now.
00:01:16 ◼ ► The screens are different, and now with the X we have this other very different experience.
00:01:24 ◼ ► And interestingly, it's different not so much now because of the resolution, at least for me.
00:01:30 ◼ ► It's a very different interaction that you have with this phone that has taken a little while to get used to, and that I'm still honestly getting used to.
00:01:38 ◼ ► But before we dive into some of those specifics, I realized it was probably actually a good thing to talk about.
00:01:48 ◼ ► And it was interesting to me because I feel like if you're a full-time developer, having access to the latest hardware is probably an important thing.
00:01:59 ◼ ► I mean, I got up at 3 in the morning with two phones trying to frantically order in the Apple Store app,
00:02:05 ◼ ► and I go through all that process because even though I've been using it in the simulator since Apple released the simulator for it,
00:02:13 ◼ ► there is nothing like actually holding it in your hand and trying some of the things, especially some of the gestures and things,
00:02:25 ◼ ► Like moving your mouse up the screen and holding it to access multitasking is nothing at all like getting the feel of swiping your finger up.
00:02:33 ◼ ► So I think the first place just to start is I think, A, I was glad that we were both able to get phones on day one, which is great.
00:02:45 ◼ ► But I think, too, it confirmed in my mind that, yeah, if you take developing on these platforms seriously,
00:02:55 ◼ ► Yeah, I mean, I was thinking back before this launch happened, I was thinking back to the iPad's first days.
00:03:03 ◼ ► And when the iPad was announced, it was announced like in I think January, and then it came out that April, something like that, and this was 2010,
00:03:12 ◼ ► and between that time we could develop apps in the simulator, and we could port our iPhone apps to the iPad or make new apps or make the same binary and whatever else.
00:03:21 ◼ ► But anyway, the point is, on day one, you could have your app in the store for the iPad, and in fact, the conventional wisdom was you probably should have your app there by day one.
00:03:30 ◼ ► But all of those day one apps were only there after the developer had only tested it in the simulator, with the exception of a very small handful of partners like the New York Times that had actual access to hardware beforehand.
00:03:43 ◼ ► But for the most part, everyone else was doing it just with the simulator. And I was doing Instapaper back then, and so I had to accept the same thing where, you know, Instapaper was an obvious fit for the iPad.
00:03:54 ◼ ► It was such a great reading device, and so I had to be there on day one, like, you know, market-wise and market-pressure-wise, and just for my own satisfaction and my users, I really wanted to be there on day one.
00:04:04 ◼ ► And the day one app, I basically just made a blown-up version of the iPhone app with, like, you know, the iPhone-sized toolbars and everything else, and it, in retrospect, it was horrible.
00:04:15 ◼ ► But I didn't know that at the time, because I'd only ever run it in the simulator. I had never held this device before.
00:04:21 ◼ ► And you can do things like, like, people have always been doing things like making cardboard mock-ups and stuff like that, just to try to simulate, like, the size it is and maybe where things are, what things are reachable.
00:04:32 ◼ ► But you never really know. Like, you can make as many mock-ups and models and simulations as you want, but none of that is nearly as good as actually having a device in your hand that is so different from what came before it.
00:04:46 ◼ ► And that was true of the iPad back in 2010. All of those designs that we made in the simulator only back then, or with cardboard mock-ups, those were all terrible designs in retrospect.
00:04:56 ◼ ► And we all knew immediately upon getting the real iPad hardware, like, "Oh, this needs to change. I did everything wrong. My impressions were wrong. This needs to be totally rethought."
00:05:12 ◼ ► And as we've done simulator development over the last month for it, I was increasingly concerned about that.
00:05:19 ◼ ► And sure enough, we have the iPhone X now, and I can say with near certainty that that happened once again, that this device is something that you really have to not only hold and use in person,
00:05:33 ◼ ► but I would say you should really use it as your own personal phone, if at all possible.
00:05:39 ◼ ► I know that's not an easy thing for a lot of developers to get or to afford or to justify, but if you have the means, you should definitely use one of these as your primary phone,
00:05:57 ◼ ► When the first iPhone came out, you couldn't make apps for it for almost a year after it came out.
00:06:04 ◼ ► So we at least knew by the time we could even start making apps for it, we had all been using it for, or we could have all been using it for up to about seven months by that point,
00:06:21 ◼ ► So we could kind of develop apps with a vocabulary of already knowing how to use this device, already knowing what works, what doesn't, what's a good app, what's a bad app.
00:06:31 ◼ ► And we didn't have the luxury with the iPad, and so we kind of had to catch up after the launch.
00:06:35 ◼ ► And the iPhone X is similar in that way. By the way, also so many similar comparisons to the Apple Watch also, and it's very similar problems there.
00:06:45 ◼ ► So this is the kind of device that it is not just a taller iPhone with weird stuff in the top and bottom.
00:06:53 ◼ ► I mean, it is that, but it isn't just that. There's a lot more to this device, a lot more nuance and details and real world usability issues and challenges and benefits that anything you've done in the simulator,
00:07:09 ◼ ► and I include myself in this, anything that we've done in the simulator only for development has a very good chance of having to be rethought now, because it's just so different in the hand.
00:07:20 ◼ ► Yeah, I will say, I think it was still, like I had a couple of my updates out, sort of prepped and ready for day one just based on the simulator, and I'm still glad I did that.
00:07:30 ◼ ► Like, especially because of the way that they did it for this round was, it was a, you didn't opt into it specifically, it was, if you build for iOS 11 and you have a launch storyboard,
00:07:42 ◼ ► you are going to launch full screen on the iPhone 10 no matter what. And so I was one of those like, well, either they're going to have a slightly broken version or they're going to have a fixed version.
00:07:53 ◼ ► And so it's like, I definitely took the approach, I think, of trying to be as close to day one as I could for most of my updates, and then with the understanding that, yeah, it's like as I get more comfortable on it,
00:08:04 ◼ ► as it becomes, once I understand the device more, I can tweak and adjust and go from there. But there is something certainly to be said for, I think, I would never say that you shouldn't try and be there on day one if you have the ability to,
00:08:18 ◼ ► but it's certainly going into that with the mindset that what you're doing is somewhat temporary and probably don't make dramatic changes certainly to your app until you've had a chance to live with it for a while.
00:08:28 ◼ ► Like doing adjustments and tweaks and fixes and like on this device, there was a lot of, you know, if you were doing something weird with a status bar or doing weird layout things on the bottom, you may have to shift, like you're just moving the existing layout
00:08:42 ◼ ► and just, you know, essentially moving everything in from the edges. Like those kind of changes I think were safe to do.
00:08:48 ◼ ► But there's these other kind of more usability or fundamental changes that I think are the kinds of things that you're going to want to live with it before you can make.
00:08:58 ◼ ► Yeah, that's a really good point because it is important for a lot of reasons to be there on day one. I mean, right now, you know, if you have an iPhone 10 and you use an app that has not been updated for it, it just gets letterboxed top and bottom.
00:09:09 ◼ ► And it looks similar to just how it would run on an iPhone 7. But it really looks old and notice, it looks almost neglected or abandoned.
00:09:23 ◼ ► Even though it's been such a short time, you know, this one's been out for like three days or something. Like it's been a very short time.
00:09:29 ◼ ► But already, like if I launch an app that is not using the screen properly and just is getting letterboxed in a legacy mode, I already think, wow, this app looks ancient.
00:09:50 ◼ ► Like I would say most of the apps I use on a regular basis have been updated already, which is not only very impressive, but I did not expect this to happen this quickly because it's a lot of work.
00:10:07 ◼ ► I mean, for me, you know, there's some of the details that we already knew about things like keeping away from the bottom edge and the top notch area and everything.
00:10:16 ◼ ► You know, pulling things out of the very, very corners of the phone because those are now getting rounded off.
00:10:24 ◼ ► But one of the biggest things to me, like the, I think the biggest challenge with this phone is that things on the top of the screen are no longer very reachable for many people.
00:10:38 ◼ ► And this problem is not new to the 10. This problem existed for many people with the 6, 7, and 8, and then for even more people with the plus phones of those series.
00:10:54 ◼ ► Like, you know, those of us who didn't have really big hands or who cared a lot about one hand reachability of the top of the screen, most of us just weren't using plus phones to begin with.
00:11:04 ◼ ► You know, the plus people are saying, "Yeah, we've known this for a while. This is nothing new to them."
00:11:08 ◼ ► But those of us who were using the 4.7 inch phones, the 6, 7, and 8, I think it's news to us now that, oh, we shouldn't have a lot of important buttons on the tops of screens.
00:11:21 ◼ ► Now, this is kind of a problem in iOS because of all the standards of the system with things like cancel and done buttons and navigation bars.
00:11:28 ◼ ► Even just, you know, navigation bars in general. You know, they put everything on the top and you can do the side swipe gesture to dismiss a navigation card or navigation controller, but a lot of people don't know about that.
00:11:40 ◼ ► And, you know, so there's all sorts of challenges now that the entire OS has been built around the assumption that everyone can reach the whole screen pretty much equally.
00:11:51 ◼ ► And that hasn't been true really since the 6 and 6 Plus came out, but now it's like extra not true.
00:12:15 ◼ ► Like the system apps still have this problem. Like one of the things I'm noticing in Mail, you know, I do a lot in Mail.
00:12:24 ◼ ► And there's a lot of the navigation of things like moving messages into folders where I tap the edit button in the upper right corner, then pick some messages, then go down to the bottom toolbar to tap one of the buttons on what to do with those messages.
00:12:38 ◼ ► And just going from the very top to the very bottom, to the very top to the very bottom, that feels really tedious and not like physically exhausting, but just like that feels totally wrong on this phone.
00:12:54 ◼ ► And that's a very, very basic iOS interaction, you know, paradigm that's been there since the beginning.
00:13:01 ◼ ► But the whole idea now of having anything that requires frequent touching of alternating between the top and the bottom of the screen, and even just putting anything critical at all in the top of the screen, that I think needs a lot of scrutiny.
00:13:24 ◼ ► I think a lot of people are going to invent their own version of how to fix this and they're all going to be different for a while.
00:13:30 ◼ ► And hopefully in the next few versions of iOS, maybe Apple will kind of establish a standard and show some guidance on how to do some of these things and what the new paradigms and idioms should be in the interface.
00:13:42 ◼ ► But until then, I think it's kind of going to be all over the place. And that's not necessarily bad, but it could be exciting.
00:13:48 ◼ ► Yeah, and in a weird way, like, I'm slightly frustrated by the thought that it's incredibly likely that, I guess, iOS 12, assuming it's going to be 12, but iOS 12 next June, it wouldn't surprise me if it was a sort of a bigger visual change to the OS, sort of like we did with iOS 7.
00:14:08 ◼ ► That, you know, it wouldn't have made sense for them to do it at W3C this year because it would have sort of, the phones weren't out in the world, like there was a lot of reasons why it wouldn't happen.
00:14:20 ◼ ► They haven't had it out in the real world for as long. But it wouldn't surprise me if right now, in Cupertino, people are using devices that have changed some of the fundamental assumptions or changed the way that the hierarchy of apps is laid out and works.
00:14:37 ◼ ► And it's kind of frustrating to me in some ways that, like that work problem is almost certainly happening and exists in the world, but we don't know what it is and we won't know until next June.
00:14:46 ◼ ► So until then, we're just entirely speculating. But it's fine. But yeah, there's so many things that I've been thinking about that are just kind of so different than before.
00:14:57 ◼ ► Because I've never, I could, I briefly used a Plus phone as my primary phone when they first came out, just because I forced myself to do it because I figured I need to understand what this is like.
00:15:07 ◼ ► And I found it really challenging in a lot of ways that made it just feel slightly uncomfortable. And like that sense of discomfort was the thing that I, you know, sort of shied away from.
00:15:16 ◼ ► I went back to regular size phones. But in this year, I think this phone physically is similar, but especially I find because there's no bottom bezel. So it kind of shifts things down a lot.
00:15:29 ◼ ► It makes sort of the top feel even farther. And I mean, I've been playing around with some thinking to viewing things like it's kind of funny how we always put the like the most recent items, for example, at the top of the list.
00:15:44 ◼ ► Whereas in many ways that like, that's more probably more likely to be something that you're going to interact with. Like I've been starting to play with the thought of what if we like, should all of our table, our table views go bottom to top rather than top to bottom now.
00:15:58 ◼ ► And things like that where it's like, if I did that, it would be like, it would sort of like break my head and like for a while, because that's the opposite of what I'm used to.
00:16:08 ◼ ► But the more I think about it, the more I'm like, would that actually be better? Like that more often would it be easier to interact with the thing that I want to interact with?
00:16:17 ◼ ► And then, you know, things like that are starting to come to come into my mind where there's all of these little changes and things that structurally we have to worry about.
00:16:26 ◼ ► I mean, it doesn't say nothing even of I've definitely noticed that the increase in resolution and like the visual sharpness of the display has definitely shown me a few areas where I needed to tighten up my design and layout and things because like if you're if you're off slightly,
00:16:47 ◼ ► but something like I had, for example, I had an issue where I was doing some core graphics rendering and I wasn't correctly snapping to some pixels correctly.
00:16:59 ◼ ► And like on this, on like my plus, I couldn't see I couldn't really tell because it would all just sort of get blurred out and it was fine.
00:17:06 ◼ ► But on this one, it's like there are these sharp lines where I'm off by a third of a pixel somewhere.
00:17:13 ◼ ► And it's it's incredible how a device being so precise like causes us to have to make make our designs both from a structural perspective better, but also just visually.
00:17:28 ◼ ► We are sponsored this week by Linode Linode has fast, powerful web hosting options that you can get set up in just seconds.
00:17:35 ◼ ► Linode's tools are easy to understand. You can choose your own resources and Linux distribution, giving you the power and flexibility you need.
00:17:42 ◼ ► And Linode plans now start at just five dollars a month. That gets you a Linux server with one gig of RAM in the Linode cloud.
00:17:47 ◼ ► Linode has over four hundred thousand customers, which include me and David, and we are all serviced by their friendly 24/7 support team. You can email them, call them or even chat over IRC in their community.
00:17:59 ◼ ► If you need help, Linode is there for you. And the Linode control panel is just beautiful and so easy to use.
00:18:05 ◼ ► This is you know, I've used a lot of web hosts in my career so far, and I consolidated everything to Linode years ago because I was so tired of how clunky every other host was to use.
00:18:16 ◼ ► And Linode was just such a breath of fresh air. It's so much easier, it's so much more pleasant, and they have incredible capabilities.
00:18:23 ◼ ► You can also do all sorts of advanced stuff like they have an API, you can automate the creation of instances if you need to, if you're kind of building something more complicated or some kind of auto scaling thing.
00:18:33 ◼ ► It's wonderful. Linode is the full package for your server infrastructure needs. They have the power you need and the infrastructure to make it work.
00:18:40 ◼ ► Linode has fantastic pricing options available. Again, you can get a server with 1GB of RAM for just $5 a month.
00:18:46 ◼ ► That scales all the way up to lots of different increments along the way, up to 16GB of RAM for just $60 a month.
00:18:55 ◼ ► As a listener of this show, if you sign up at Linode.com/Radar, you will not only be supporting us, but you'll also get $20 towards any Linode plan.
00:19:05 ◼ ► So go to Linode.com/Radar to learn more and take advantage of that $20 credit at signup or use promo code radar2017 at checkout.
00:19:17 ◼ ► So one thing that I wanted to touch on briefly too that is something that is one biggest thing that's been annoying me with iPhone 10 development is
00:19:25 ◼ ► whenever we find ourselves in a place where there's a tension between what Apple is recommending we do and what we kind of would prefer to or would like to do.
00:19:36 ◼ ► And specifically for me, this has come up in my iPhone 10 development where I have situations that the home indicator overlaps scrollable content at the bottom of the display.
00:19:49 ◼ ► And Apple's recommendation, sort of in the human interface guidelines for this and what they do in all of their current apps, is the home indicator just overlays that content.
00:20:00 ◼ ► It's just like right there in the two, like the two are just overlapped and it, to my eye, looks kind of awful.
00:20:13 ◼ ► Like for example, one thing that I played around with was just, I mean, the obvious thing would just be to put a black bar there, but I think that kind of loses the effect a bit.
00:20:20 ◼ ► But it was also like, well, what about using some of this transparency effects that we have available to us where I could put a sort of a frosted bar underneath the bottom of my app.
00:20:33 ◼ ► And so as you scroll the content, you get that nice kind of, the color of it would bleed through, but the content would in itself be right up against that home indicator.
00:20:46 ◼ ► And it's this funny tension that I find where it's like, I kind of want to just do it anyway, but at the same time, I also don't want to assume that I, you know, it's like I, there are maybe reasons why Apple wants to do it that way.
00:21:05 ◼ ► And then, you know, at some point the home indicator will become optional or more optional.
00:21:10 ◼ ► But I just wanted to mention it as this funny situation where like you see something, you're like, I just don't really like that.
00:21:15 ◼ ► And I still kind of, I'm still torn between if I should keep going Apple's way or if I should sort of do my own thing and just make it look visually a way that I would prefer it to look.
00:21:30 ◼ ► So when we were first getting the simulator and first designing our apps and adjusting our apps for the iPhone 10, we were, our eyes were just drawn to the notch and the home indicator.
00:21:43 ◼ ► Because these are these new things that are intruding on our screen space for the first time ever.
00:21:46 ◼ ► You know, with the exception of like the status bar, we've never had like these intrusions into our screen space.
00:21:56 ◼ ► And Assistive Touch is that feature that puts the virtual home button and other virtual controls in this little blob that's always on the screen.
00:22:05 ◼ ► And people who use Assistive Touch, which is very popular, especially in Asia, it's incredibly popular.
00:22:20 ◼ ► And it's just this little widget, and it can be moved around, but it's this little widget that's always on screen.
00:22:28 ◼ ► Like, you don't notice as a user that there's like this little virtual button thing always on screen.
00:22:34 ◼ ► You know, you might notice it for the first day, and then you just stop seeing it, really.
00:22:47 ◼ ► I think that's how the notch and the home indicator are for me now, where I don't really see them in use.
00:22:54 ◼ ► When I'm actually using the phone, when I'm actually browsing through apps and stuff, they don't register to me, like visually.
00:23:04 ◼ ► So if you do anything like block them out with bars or put some kind of fade thing there or anything else,
00:23:11 ◼ ► anything you do to hide it in any way or to draw attention to it is only going to emphasize the presence of this thing
00:23:25 ◼ ► Like, it's the kind of thing where we heard from the very first reviews of the iPhone 10.
00:23:39 ◼ ► And that sounded crazy to us, because we had been looking at it in the simulator for a month and only noticing it.
00:23:46 ◼ ► But in use, you really don't notice it. You really just kind of stop seeing it after a while.
00:24:02 ◼ ► I think do what the Apple apps do, which is if something is scrolling and it runs into the home indicator,
00:24:14 ◼ ► And anything you do to artificially put a bar or a fade or anything down there, I think will only draw more attention to it.
00:24:22 ◼ ► And apps that I have that have something down there, like that have a little status bar or something that's not just like a stock toolbar or tab bar kind of thing,
00:24:35 ◼ ► And even though they're not doing it as kind of a trick, it was kind of just their previous design.
00:24:39 ◼ ► Like one of them that's like this is the Unread RSS Reader, which I love. It's a great RSS reader.
00:24:49 ◼ ► And it really looks weird on the X, because it looks like it's trying to hide or work with this area down here,
00:25:06 ◼ ► Let your navigation bars go under it or whatever, and just pretend like it's not there for content reasons.
00:25:23 ◼ ► And I will say in one situation where I had it, I was like, "You know what I'm going to do?
00:25:46 ◼ ► Well, the funny thing is there, a tab bar, not only does it avoid any kind of dealing with the home indicator,
00:26:11 ◼ ► If it's in the top corner, it's basically unreachable much of the time in the iPhone X.
00:26:24 ◼ ► None of this stuff is going to apply to every app, but I think it's very important to consider all this.
00:27:15 ◼ ► Because on OLED, dark grays don't look very good compared to just really using pure black.
00:27:26 ◼ ► Whereas if you use black on an LCD, it doesn't really look very good, because it looks more like dark gray.
00:27:44 ◼ ► One of the reasons why we went with gray before is that it reduced the contrast a little bit.
00:27:48 ◼ ► Because if you have searing white text on a pure black background, that's way too high contrast.
00:28:04 ◼ ► Yeah, and it is definitely something too, even just beyond the considerations of what our dark modes should look like.
00:28:17 ◼ ► I mean, I know this was something that was rumored for a while, that is coming to iOS at some point in the future,
00:28:31 ◼ ► it makes me definitely start to think, as I'm choosing colors, as I'm setting up how I do some of the visual stuff in my apps,
00:28:53 ◼ ► And it's also probably worth saying, a fun way to just sort of quickly get a sense of how your app might look,
00:29:07 ◼ ► And so it's sort of a very quick, low-budget way to just get a sense of what your app might look like in a dark mode,
00:29:20 ◼ ► Well, we've got a lot of work to do. I've got to rethink my entire UI and change my dark mode.