This week, a full panel of guests joins us live at the NextDoor developer conference. We discuss the upcoming iOS and macOS features announced during the Apple Worldwide Developers Conference, and what it means for the future of apps.
On the panel are:
- Paul Kafasis, CEO of Rogue Amoeba
- Liz Marley, OmniGraffle Developer at The Omni Group
- Kristina Fox, iOS Developer at Intuit
- Ken Case, CEO of The Omni Group
- and an audience of dozens!
Special thanks to Solomon Klein of NextDoor for recording this episode on location.
Some other people, places, and things mentioned:
- NextDoor Developer Conference
- Apple Worldwide Developers Conference (WWDC)
- WWDC 2018 Keynote
- WWDC 2018 Platforms State of the Union
- Rhapsody
- The Omni Group game ports
- Silicon Graphics and OpenGL
- Ken’s tweet about the new features
- Panic Transmit
- Bare Bones Software BBEdit
- UIKit
- Steven Troughton-Smith
- macOS Human Interface Guidelines (HIG)
- OmniGraffle
- NSBezierPath and UIBezierPath
- NSColor and UIColor
- OmniFocus
- Intuit TurboTax, Mint, and QuickBooks Self-Employed
- Developer ID and Gatekeeper
- Rosemary Orchard
- App Camp for Girls
- Carbon
- React Native
- Electron
Brent Simmons: You're listening to The Omni Show. Get to know the people and stories behind The Omni Group's award-winning productivity apps for Mac and iOS. Music!
[MUSIC PLAYS]
Brent: I'm your host, Brent Simmons. Today is a special live episode of The Omni Show. We are at NextDoor Conference, nothing to do with Nextdoor web site. Next door to WWDC Conference, is where we are.
And today, we have an audience. Say hello, audience.
Audience: Hello!
Brent: Very well done, thank you. And we're going to be talking about the announcements today, in the Keynote and the State of the Union. And I have some panelists today. From nearest to me to furthest is Paul Kafasis. Say hello, Paul.
Paul Kafasis: Hello. ... Paul.
Brent: Thank you, all right. Round of applause for Paul. Paul is CEO of Rogue Amoeba, did I get that right? Moving on to Liz Marley, say hello, Liz.
Liz Marley: Hello, Liz.
Brent: Liz is an OmniGraffle Engineer at The Omni Group. Next we have Kristina Fox. Say hello, Kristina.
Kristina Fox: Hi Kristina!
Brent: All right, awesome. You are an iOS Developer at Intuit, right?
Kristina: Correct.
Brent: And finally, we have Ken Case. Say hello, Ken.
Ken Case: Hello, Ken.
Brent: Ken is CEO of The Omni Group. Does anybody have anything, topic, just ... They're just dying to talk about right away? ... Okay, I'll prompt you with stuff. Ken, you tweeted earlier about Siri and Watch faces and maybe shortcuts. What were you thinking there? What's that about?
Ken: Oh, actually, first I have to ... I do have a topic. I have to shed a tear for OpenGL.
Brent: Oh, okay.
Ken: One of the first things that we did when Mac OS X came out, actually before it was called Mac OS X, when it was still Rhapsody, and then Mac OS X Server, was port OpenGL games to the Mac. So we were porting Quake and so on. And it was nice to have some hardware accelerated 3D on the platform, which, that was pretty early on.
But, it's not a very big tear because Metal is a lot better.
Brent: Ah.
Ken: And we're not really going to miss programming in OpenGL again.
Brent: I've done almost no graphics programming in my multi-decade career, and all that stuff just flies by me. So how is Metal better?
Ken: Uh-oh! It's faster, it's much easier to understand API, OpenGL was-
Brent: Okay.
Ken: ... originally designed in the ’80s on the Silicon Graphics IRIX platform. And it was important for what it did, but it was not designed to last quite this long, I don't think. Anyway, so the other topic-
Brent: Yes.
Ken: ...that we were just talking about. [crosstalk 00:03:12]
Brent: Siri and watch faces and things like that.
Ken: ...and watch faces and so on. One of the popular questions that we've had since releasing OmniFocus 3 has been, can we support getting our stuff into the Apple Watch, put it on the watch face? And the answer to date has been, well, we'll be able to do that when Apple makes that a bit easier. And they just announced that it will be a lot easier for us.
I haven't actually looked at the APIs yet, though, so one of the things I said in that Tweet was, “I look forward to learning what is possible”-
Brent: Yeah, right, sure.
Ken: It's still installing on my Mac back at the hotel room right now.
Brent: Kristina, you've done some watchOS work, is that correct? What do you think of what you've seen so far today?
Kristina: Pretty excited for the walkie-talkie feature, I think that's pretty innovative.
Brent: Yeah?
Kristina: I find that being able to do that, tap to quickly communicate with ... Especially like my husband, and when we're at home. There's this thing where half of your relationship with your partner is just yelling "What?" from the next room.
And so I feel like the walkie-talkie feature will be a pretty good substitute for just constantly yelling across the house.
Brent: I can say "What?" directly into my watch now. Yeah.
Kristina: Exactly.
Brent: So I'm really, since I'm a long time Mac developer, my heart is really with the Mac. I'm mostly interested in the announcements around the Mac today. And the first thing that really struck me was apps coming back to the Mac App Store. Transmit and BBEdit, and I suppose there might have been some others.
Now at Omni, our Mac apps are all on the Mac App Store. But Paul, your apps are not. I was wondering, would you consider recalculating, and putting apps on the App Store?
Paul: So I have a stock answer for this that I can ... The glib ... "We're always considering future possibilities, depending on what Apple does, blah blah blah." And that's absolutely true, but it doesn't really tell you anything. Seeing and having spoken to both Cabel Sasser at Panic and Rich Siegel at Bare Bones, it's very clear that Apple is making overtures to developers to try and lure them back to the Mac App Store.
And we're certainly more interested in that than I would have been if they didn't do anything today, or didn't announce anything today, but there's a whole lot that was not discussed. It was just, "Hey, some stuff is coming to the App Store, and that's going to be great." And then there's some new editorial that will be similar to what is on iOS, which may or may not be good.
But there's still plenty of things that we need to see improvements on. For us, for Rogue Amoeba's apps, it's things like sandboxing, which is a big problem in terms of getting our apps in the store. And depending on what the rules are and what the regulations are, as far as what's allowed in the store, will be a big part of it.
And then there's also things that you and I have discussed, and our colleagues have discussed, like the 30% cut that Apple takes, and the lack of trials, and a myriad of things that could be improved, and maybe will be improved, but it's definitely something where it's a wait and see for us. It's something where we have not made a decision, oh, this sounds great and we'll be back, and we've never made a decision and said we'll never be there.
Brent: So another thing about the Mac was UIKit being ported over. And I think it's interesting that they announced it, but said that they won't give us any of that for a year. And I think ... The speculation I heard was that ... Steven Troughton-Smith would have discovered it, and then announced it himself, so they kind of had to.
How many people here have not written Mac apps, but would consider doing that once there's this UIKit port? Good number of hands. Let the record reflect that there were hands up. Cool. So one thing that struck me about that, though, in the demos that I saw, there were navigation controllers running on the Mac.
Now it's not like we haven't seen that before, we've seen that in some custom apps like Tweetie, and so on. But it's different, I think, when Apple is providing you the tool to make a navigation controller as part of your UI. And I wondered if the HIG would be updated to reflect that, or not. And I just wondered what that means for the future of the Macintosh interface, if we're bringing over UIKit paradigms like navigation controllers.
Liz, what do you think about this? You work on both Mac and iOS, and understand both platforms well, so.
Liz: I will definitely say that I work on both Mac and iOS.
Brent: Okay.
Liz: I'm still working on the understanding part. I don't know so much about the navigation controller paradigm. I have big questions there. My eyes jumped to that right away when the screen came on, long before they called it out in the talk. I'm like, "Wait." But it totally looks like they took an iOS screenshot, cut out the chrome around it and just stuck it in a Mac window.
I have big questions about what that's going to feel like. They absolutely need to update the HIG to be very clear about what they want there, and I hope people will read that HIG.
Paul: And also follow it.
Brent: Yeah.
Liz: Well, there's a place to deliberately not follow it, but for the most part, yes. Read it, follow it. As an OmniGraffle engineer, I'm particularly interested what's going on with some of the APIs that are very similar between the two platforms, but not quite aligned as of yesterday.
You've got NSBezierPath and UIBezierPath, and if you know about OmniGraffle and diagramming and whatnot, it's probably not surprising that we use BezierPaths and some of those other APIs all over the place, and have this code that's a little bit awkward that kind of juggles between the two.
I don't care so much yet, I haven't thought so much about whether I want iOS ... UI button, but what I want is for UIBezierPath and NSBezierPath to somehow be harmonized, and clean up some of those developer pain points.
Brent: Often seems like NSColor, UIColor-
Liz: Exactly.
Brent: Fonts, a lot of things like that, could be, yeah. So we've also got dark mode on the Mac. Ken, we've already done dark mode in some of our apps ... All of our apps? Some of our apps.
Ken: Yeah, some of our apps. I think-
Brent: So how does this change things for us? Do we have more work to do, less work to do?
Ken: Well, the dark mode that we did in OmniFocus, for example, on the Mac, leverages some of the same APIs they're using now, so we were using the system palette colors and so on, and they were already designed to be used that way in some contexts, but not really as the main mode for an app.
So in that sense, I think we're actually pretty close. The work that we've already done will just continue to work, and there's now a "blessed" mode for it, rather than just being a mode that you might use in ... What were those things called, the one place where dark mode stuff already showed up in the-
Liz: The HUD? Like a HUD inspector?
Ken: Yeah, sort of the HUD interfaces.
Brent: Yeah.
Liz: Yeah.
Ken: And sheets and so on. So that was what we were taking advantage of. Some of Apple's widgets didn't really support that fully, like the calendar, so I imagine the calendar is going to look a lot better now with... Without us having to rewrite it ourselves. And of course, more importantly, it will come to all of the rest of our apps without us having to do-
Brent: Right.
Ken: Quite as much work ... We'll still have to update our icons to fit in with it on the dark background, we'll have to make sure that anywhere that we're coloring text or have rich text, that we have some way of handling what that should look like on a dark background, and so on. It's not going to be free, but it's going to be a lot easier with it being an officially supported mode.
Brent: Cool.
Paul: So Ken, I have a question for you. So we have a couple apps that have a dark mode and a light mode. Are you planning to just follow what the system is set to, or are you planning ... Because you have a control right now that lets users set it per app, right?
Ken: Right.
Paul: And it could very easily be ... We've got a roomful of people: Would you use light mode but want dark mode in one app? Is there anybody that would like that, or the reverse? Everybody just wants everything to be either light or dark?
Brent: Everyone wants everything dark all the time.
Paul: Well, apparently, I mean, at these presentations it was nothing but dark, it's a very dark year, apparently. Okay, well that's interesting. So we have dozens of people here and none of them want a specific app to be a different mode. So that's useful to know. That's some good user testing we just did here.
Ken: Absolutely. Yeah.
Liz: Well-
Brent: That's the good thing about a live, in front of an audience show, right?
Liz: We should be a little cautious, I think this audience probably skews heavily towards, say ... pro users, people who wield Xcode on a pretty regular basis.
Kristina: Yeah, I agree with that. Sounds like if you're staring at the screen all day, then maybe you want something that's a little less contrast for your eyes. But say you're a student and you kind of want to stay awake, and you're trying to type a paper at 3:00 a.m., then maybe light mode might be the way to go for your class, you know?
Ken: So that has me curious. How many people here who are interested in dark mode think they'll use the automatic switching mode that Apple talked about, where during the day it's light, and at night it gets dark? All right.
Brent: More hands. Cool.
Paul: A few, but not a lot.
Brent: Yeah, yeah. A few.
Ken: Yeah.
Brent: Interesting. I think everyone's crazy. I can't stand dark mode, because I literally can't read the text. I tried turning my terminal dark one day, and I had to bump the font size up to like 36 to be able to read it. So I don't know. It's just me though. But I'll be back here in five years. Light mode will be deprecated, and I'll be the one person in the room bawling his eyes out.
So I thought it was interesting, especially in light of recent, different kinds of events, how much Apple focuses on privacy, security, and trust. That's a pretty big deal. As they should. It looks like they're doing a really good job. But it occurred to me that, Kristina, since you work for Intuit, and that must mean money, somehow, is involved in things, that this is probably a big part of your job.
Kristina: Yeah, definitely. For those of you who aren't familiar, Intuit is a financial services company. We have apps like TurboTax and Mint, and I personally work on the QuickBooks Self-Employed app, which lets freelancers and contractors manage their business finances. But yes, financial data is very, very sensitive for most people out there ... Even just knowing what type of software you're using, as a business, can be a source of data that people might not want to share with the open public, right?
We tend to take things like profits and amount due for invoices and things like that and hide it, so we mask a lot of that information, especially when a user's phone is in locked mode versus unlocked mode, right? So at least in terms of that, I am super excited to see Apple definitely continuing their growing tradition of keeping everything all on device. All of their machine learning and everything all is done on device, versus uploading it to the cloud like some other companies out there.
Brent: Yeah. So you find that your company's interests and Apple's are aligned, and Apple helps, rather than hinders, privacy?
Kristina: Yeah, absolutely.
Brent: That's cool. Ken, of course, that's a big issue for OmniFocus. Sync users, for instance.
Ken: Yeah, absolutely. It's nice that Apple's interests have been quite aligned with ours there as well, that we don't want anybody's data, if we can possibly avoid having it. We would much rather that all of your data be encrypted on your device. It can be synced through our servers, but it's encrypted right now with keys that are only stored on your devices, and we can't decrypt it, even if we wanted to.
We prefer that design, it makes it sort of a much lower target for hackers. I'm glad to see Apple continuing this model as well, of keeping as much of the smarts of the ... Like the new Siri shortcut stuff, they were saying that that work is done on your device, not in the cloud, and that seems really great to me.
Brent: Yeah. So going back to the Mac again. I meant to talk about notarized apps, and what that means. I'm not totally sure I got what the deal is. We already have Gatekeeper, on one hand, where you sign an application, and then there's this new service where you send it to Apple and they analyze it somehow, or whatever, and notarize it?
Paul, are you going to do this? Since you're not on the App Store-
Paul: Right. I think I might be able to explain it a little bit better. It seems like an improvement to the Developer ID program.
Brent: Okay.
Paul: So in the State of the Union, they covered it a little bit better, and we'll certainly look at it in the next few days, but it seems like a more fine-grained control. For starters, they just said that some future version of macOS will only allow notarized apps. It's not clear what exactly [crosstalk 00:17:38]-
Brent: Is it only notarized for Developer ID apps, and it would still allow-
Paul: App Store apps, certainly.
Ken: Yeah, so it's-
Paul: You can-
Ken: It is Developer ID-based.
Paul: Right.
Ken: Right now the way the Developer ID program works is, Apple basically endorses our IDs, and now our IDs are authorized to sign software.
Paul: Right, so they say, Omni Group is quality and we trust them. Or, you know-
Ken: Or at least they say it is who they claim they are.
Paul: Right, exactly. Right, I guess they're not saying anything about quality. But they're saying, "We trust them." And if they ever want to revoke one of these, they have to revoke ... I can't remember now, is it at the company level or-
Ken: Right.
Paul: It's entirely-
Ken: The whole signature of the company is gone.
Paul: Right, which would be dozens, potentially dozens of products for a company, which is obviously no good. And they were talking about version-specific rejection now, basically, where-
Ken: Right, so what would happen now is, you would instead submit a version of the app. So we would sign it first with our ID, just like we do now when we distribute to customers, but we would then send it to Apple, they would countersign it, or notarize it, and now it would be signed with Apple's key in a different way for each individual build.
So then we would share that individual build. They're still not doing an App Store review process on that, or anything, but it means that if that build gets infected, they can cancel it. Now that build is no longer signed with our ID. They don't have to cancel our ID in order to cancel that build and stop the virus, or whatever.
Paul: And did you get a sense of what the notarization process is? Is it all automated the same way that code-signing is, or-
Ken: My sense was that it was all automated-
Paul: Right.
Ken: It just goes through Apple servers. I think Microsoft has something like this already, on [crosstalk 00:19:17]
Paul: Yeah, they have Authenticator, which is largely automated, at least. I don't think they have any sort of review on it, yeah.
Ken: Right. So it seems like a great move. It means that some of the automated builds that we do through the tests ... If we want that to get notarized, presumably we're going to either ... That process will need to be something we can automate. I don't know yet what the process is. Or else, those builds will not be notarized and maybe we'll have to have a more manual process for release builds that go out, rather than just test builds.
Paul: So to answer your question though, it sounds like ... From what we've just discussed and from what we've seen so far, it sounds like anyone who's doing Developer ID should look at doing notarization, and it will presumably be fairly similar.
Brent: Okay. Just like, another thing you just do? That's fine.
Paul: Another thing you deal with and curse every once in a while.
Brent: Right. Sure.
Paul: Hopefully it works pretty well the way that Developer ID has.
Brent: Liz, what did you think of the new stuff for testing? Parallel tests and custom instruments and things like that?
Liz: I'm cautiously interested. Graffle doesn't have as much test automation as some of our other products, and I've been hoping to dig into that, so maybe the idea that there's fresh new tools to work with will inspire my team to make a little more time for it. But we'll see.
I do flinch a little at calling that "testing," because I think that if all you do is write a bunch of automation and think you've tested your app, you're falling drastically far short, because you need some folks to get hands-on and really make sure that your app feels right and is totally integrated into the rest of the system. So I hope that folks don't just hear that testing bit and think that, "oh, I'll just use all these new tools and I'll never ship a bug or a flawed user experience again."
Brent: At Omni, we have actual test humans, some of whom are in the room. If they could raise their hands. There they are, there we go. Thanks, guys.
Ken: And a number of customers who help us test this out.
Brent: Yes, Rose Orchard is here, one of our beta testers. Anyone else here beta test OmniFocus 3, for instance? No, nope? But we do have some OmniFocus engineers in the room. Tim and Jim.
Paul: They're hiding.
Brent: Yes. Oh, and Jake. Jake's here too. Cool. Let's see. Oh, I was going to ask Kristina about the test. I imagine, since you're dealing with money, there's an awful lot of tests.
Kristina: Yes. Definitely. I'm actually especially ... I was especially excited when I saw that there were parallel UI tests that could be run, because those take freaking forever to run-
Brent: Right.
Kristina: Like, run a whole test suite. And speaking as someone who, we just literally went through a whole redesign for our entire, or most of our app. And so, having to rewrite all those unit tests and then run, and run those tests suites at the same time, finding that one test would break and then having another one break in a totally different place and having to continuously rerun those test suites just took much more time than I had anticipated, and it was just one of the most frustrating experiences ever.
So being able to cut the time in half, or however much time, I guess it depends on the processing power of my Mac, but however much time it's going to cut out is just going to save days and days of development.
Brent: Mm-hmm (affirmative). Cool. Who here feels like they've written enough tests for their apps?
Kristina: Never.
Brent: That's good, that's good. If someone had raised their hand, I was going to really question them intensely.
So it looks like the editor is getting better. They've brought back code folding, you have scrolling, overscroll. Sounds like autocompletion getting a lot better. What do you guys think? You've been pretty happy with the new editor? Of course, looking forward to the new improvements.
Let the record reflect that people are hopeful, but not putting down money. Okay.
Liz: Fortunately, Xcode is free.
Brent: That's true. We used to have to pay for things like that, yeah.
Liz: Besides my work at The Omni Group, I also volunteer with App Camp for Girls, and ... The very beginning of... [applause] Thanks.
Brent: Yeah.
Liz: The very beginning of the keynote, they're talking about, "everyone can code." And I was kind of hoping maybe they'd go somewhere with that a little bit more. They didn't specifically call anything out, it was like, this is a new tool for helping people get started with iOS or macOS development, but I heard a couple things that were interesting to me.
The idea that ... They put their machine learning into a playground. I think that, just as we're starting to get going with "everyone can code," maybe we're not that far from a day when it makes sense to start talking about "everyone can train a machine learning model," or build their own augmented reality models, and I'm really interested to take it maybe beyond "everyone can code," to "everyone can participate in all these parts of building rich app experiences."
Brent: Yeah, everyone can make cool things on computers, yeah. I like that. Anyone else have additional, anything to add?
Paul: You were talking about apps coming back to the Mac App Store, but they, Apple, talked about apps coming from iOS to the Mac. And they prefaced that by acknowledging that everyone is concerned that they might merge iOS and the Mac, and explicitly stating that they were not doing this.
And that this is something, for me, as a Mac software developer for many, many years, this is something that I don't want to have happen, and it's good to hear them say that it will not be happening.
Brent: Yeah.
Paul: I don't know how long that's good for, because Apple has said plenty of things weren't happening, and then they did. But I feel like that gives me at least another two to three years where I don't have to be super nervous about that.
Brent: At least you weren't one of those Carbon developers waiting for 64-bit. Does anyone even know what I'm referring to? It was a while ago.
Ken: Rich isn't here.
Brent: Rich isn't here, yeah. Kristina, are all your apps iOS, or do you have any Mac apps, or maybe you will, now?
Kristina: We do have some Mac apps. I personally don't work on them. I found it pretty interesting, at least from an iOS developer perspective, because we have had a lot of people want native versions of our apps. My app specifically is only on iPhone, but people want it to be on larger form factors like iPad and everything.
I guess for me, it seems similar to how React Native and React has become this big thing within the web world, where now you can take web developers who can now make React Native components, or componentize their React web projects. It's kind of interesting looking at it from the ... Say, me as an iOS developer, I could potentially start creating Mac apps with little experience on Mac.
It opens up a new venue for me that I would never have envisioned for myself, and maybe that's what Apple wants, because a lot of new developers coming into the Apple ecosystem are primarily iOS, right?
Brent: Right. Yeah.
Kristina: And so maybe it's their way of encouraging people to do the port, or whatever it's going to be, and then move into fully native Mac.
Brent: Mm-hmm (affirmative). So how many people think we're going to get a lot more Mac apps in, whatever, just over a year? There's some hands. Good number of hands. How many people think they're going to be good Mac apps? Well, that remains to be seen.
Kristina: The thing though, because obviously what you build for an iPhone ... Even iPhone versus iPad, the form factors there are very different.
Brent: Oh, sure.
Kristina: You want to utilize the space differently, right? And so going from an iOS app to a Mac app, very very different there too.
Brent: Mm-hmm (affirmative).
Ken: How many people think that it will at least be as good as Electron apps?
Brent: Yeah, Electron. Oh, good gravy. How many people here use React in some form in their code? We have a few Reactors? All right, cool. Wow, I think we probably are done now. Thanks, Paul.
Paul: Thank you.
Brent: Thank you, Liz.
Liz: Thank you.
Brent: Thanks Kristina. And thanks Ken. Giant thanks to the Klein family for putting on this conference and many conferences they've done. They do wonderful work, and I love seeing them. They're awesome. I'd also like to thank our intrepid producer, Mark Boszko, who's not here, but he can edit his voice in later, because he will be editing it. Say hello, Mark.
Mark Boszko: Hello, Mark!
Brent: Right? That was him. All right. And especially, I want to thank you for listening. Thank you. Music!
[MUSIC PLAYS]