Loren Brichter of Atebits talks to Guy and Rene about working on the iPhone at Apple, Tweetie at Twitter, and now Letterpress on his own. OpenGL, Game Center API, in-app purchases, iOS 7 feature requests, and other assorted nerdery follows.
Here's the audio, again, in case you missed it. And now, for the first time, here's the full transcript!
Guy English: Hi my name is Guy English, and this is "Debug." A new, developer-centric conversation show. Rene?
Rene Richie: I'm Rene Richie, and I'm joining Guy for this new shindig. Quickly Guy, the reason for this is that there's a lot of fantastic developers out there and we wanted to talk to them.
Guy: Yeah, definitely. I like the idea of...I always loved WWDC, and getting to talk to people. This feels like a good excuse to carry that through the year a little bit.
Rene: Dub, dub all year round. I'm thrilled, our first guest is Loren Brichter of "Atebits " Fame, of the original "Tweetie" Fame, and now of "Letterpress" Fame. How are you Loren?
Loren: Good, thanks for having me.
Rene: Thank you for being here. Can you give us just a quick...I mean a lot of people already know you and who you are, but can you give us just a quick rundown on how you became an IOS developer?
Loren: Sure, back in high school I discovered OS10, the public beta, and I installed project builder, and I got into Cocoa programming. I played with that all through college, and when I graduated, Apple gave me my first job working on the original iPhone. After that, I went independent. I made "Tweetie," and the rest is history.
Guy: It's weird, I mean...so you've been internal at Apple. Did you find it weird when you started working outside, and how do you find it now, years later?
Loren: Man, when I left Apple I wasn't really sure what I was going to do. Then I had the idea for a MacPaint, a modern version of MacPaint, and I just…I don’t know, I just started working on it. I found that I loved working on my own. I guess it reminded me…back when I was in school, I would basically skip homework and just worked on my own stuff all the time and I don't know, I just loved working that way, and it hasn't worn off yet.
Guy: You left Apple shortly after the first iPhone shipped right? 1.0?
Loren: Yeah, it was right when it shipped.
Guy: Yeah, you’d left before the 2.0 API access.
Loren: Yeah, there was no app store. I didn't even own an iPhone when I left.
Loren: I still had my Motorola Razor.
Guy: I like those phones, they weren’t bad.
Loren: I loved the Razor.
Guy: Why did you leave? I don't know if you told this story before, but I'm certainly not aware of what it is?
Loren: Working at apple was probably the greatest thing that ever happened to me, but I was from the east coast, my whole family is on the east coast, my girlfriend wanted to move back to the east so we figured we would go back there. That was the impetus for the decision.
Guy: That's actually one reason that I would basically not consider working for Apple.
Guy: The second is I spent a lot of time in game studios and they work you like crazy and I don't want to go back to that kind of stuff.
Rene: A sixty watt bulb can only go a hundred and twenty for so long.
Loren: Pretty Much, yeah.
Guy: Would you consider rejoining another big company or any other company or are you now a one man band?
Loren: I really like working for myself. I say that now. I’ve had an app out for two weeks. I’ve only been answering email, support emails for two weeks. I don't know, maybe I’ll get tired of it, but I think I'm in this for the long haul at this point.
Guy: I think that makes sense I mean you left Twitter so it was clear that you wanted to just go and do your own thing, and I think the body of your work speaks to you wanting to experiment certainly in the user interface area and that's hard to do when there's a big investment beyond a product you are going to do so I think probably working for yourself is going to offer a greater opportunity to follow what you think is the best course of action or the least or most interesting course of action.
Loren: Putting it that way makes a lot of sense. Thank you for clarifying my thoughts.
Guy: That’s OK. You’re kind of in that…you’ve just released Letterpress which is another huge hit you are in the unfortunate situation that if you don't keep knocking them out of the park people are going to think that you’ve [laughs] lost your touch.
Loren: Yeah, two might still be a coincidence I don't know if I would call Letterpress for success yet. It's only been two weeks. I'm still pretty curious how it's all going to pan out.
Guy: Well, it's ridiculously popular.
Rene: What made you decide on Letterpress as your follow up to Tweetie and I think when we spoke previously you said you were playing word games with your wife, but it wasn't the word game you wanted to play.
Loren: Yeah, we just wanted a little multi-player word game to play against each other, turn-based, asynchronous, that kind of thing. Then there was Words with Friends, but we got tired of it.
Guy: You worked on it for about a year after leaving Twitter?
Loren: No, no, I didn't work on it for nearly that long. What happened was after I left Twitter I had this massive backlog of ideas going back five, six years. Stuff I was thinking about in college and I just didn't have time to work on it. When I left, I just plowed through my old to-do list. I ended up making a dozen or so things, most of which will never see the light of day, but Letterpress was one of those things.
I was actually working on a completely different game and then we had the idea of making a word game. I dropped that other game completely, and I picked this up. I'd say Letterpress took me about two months of solid work, plus a little extra, to get it out the door.
Guy: Do you think you're going to go back and revisit some of those ideas?
Loren: Oh, yeah, definitely. I'm still juggling a few. But most of my time is spent working on Letterpress now.
Guy: One thing that's totally crazy about Letterpress, which I don't think a lot of people realize, is that that isn't done with UI Kit. It's all done with custom OpenGL stuff.
Loren: Yeah, I wouldn't recommend doing it. I [indecipherable 6:23] insane for doing that.
Guy: Was that just for the fun of it or what? You had GL stuff for your previous game attempts and you just reused it or what?
Loren: I like to think of myself as a graphics programmer by trade. Through college I basically taught myself OpenGL. This was back in the dark ages when there was no such thing as shaders or anything like that. Then at Apple my job was on the embedded graphics and imaging team, so we did a lot of driver level stuff.
Guy: I have a similar background. I come from games. I was jealous that you did it because it basically it looked like you re-implemented the UI kit. You’ve cloned the scroll view and done a whole bunch of other stuff and it just looks like it'd be a really fun and crazy project to work on.
Loren: Yeah, it was crazy, but I had two inspirations for it. One, I wanted to just see if I could do it and there were a couple of things in the UI Kit that you can only appreciate if you do it yourself. Like [indecipherable 7:35] Jedi build their own light sabers kind of thing. There were some things about UI Kit that I didn't like. I wanted to experiment, “Hey, what if I did it this way?” There were a couple of thing in it that I do vastly differently than UI Kit. I think it worked out pretty well.
Guy: I'll tell you what worked out great. It's got a really great feel to it. It maintains a bit of the iOS feel, but it also seems to borrow from Windows Phone, or Metro. I don't know if that's intentional or not, but I've seen parallels drawn between them. It's a great, clean-looking interface, and it just seems to work perfectly.
Loren: Thanks, I don't know about you guys, but I'm a huge fan of the style of Windows Phone. From almost the technical perspective as much as the aesthetic perspective because it's doing things that the graphics hardware is naturally good at doing. You're not coercing it to doing something crazy.
Rene: When you sat down to make Letterpress, did you have a process? Did you make your own work order for this and go through it or, because you're a one man shop, you just do the parts that you want when you want to do it?
Loren: I don't even remember the order that I did it in. This whole UI Kit replacement thing was one of these many projects that I had started on when I left Twitter. When I decided to do Letterpress I took the covers off of that and dusted it off and started building a game with it.
[silence 9:03 to ]
Guy: I'm playing with it right now and I'm just amazed how smooth everything is.
Loren: I tried to target the 3GS. The 3GS and the iPad One were the bears to get working. But if it's fast on those, it's fast on everything.
Rene: It's not just that it's fast, it's that it's flawless. A lot of things appear fast, but then there's stutters, there's stammers, there's hiccups, it takes a second to realize what you're doing. When even on older hardware, this just seems very, very responsive.
Loren: Yeah, thanks. It's not perfect yet. There are a couple stutters because of the way GameCenter hands back data. I'm doing a little too much work on the main thread in a couple of cases, but I just haven't gotten around to fixing it.
Guy: Let's talk about GameCenter, since you segued into that. Sort of infamously, GameCenter fell down the same weekend that you released Letterpress. People are taking that as a sign that you managed to destroy their server somehow. [laughs] Is there a particular heavy-use case that you use, or do you think it's random scale of the game?
Loren: I don't know. As cool as it would be to take credit for it, I don't know if it's coincidental. [laughs]
Rene: Being as big an influx of nerds playing one almost-completely-dependent-on-GameCenter game at one time.
Loren: Right. What did Apple quote? Apple quoted something like 150, 160 million GameCenter accounts on the global system?
Loren: I feel there are a lot of GameCenter games, but they're all using it for achievements and [indecipherable 10:44] and that's basically it.
Guy: Right. I guess we can narrow it out a bit, since it's more developer-centric. You use GameCenter to do the turn-by-turn stuff?
Guy: The turn-based gaming. I can't think of another example, certainly not one that's as popular as how Letterpress seems to be.
Loren: I think Monkeys had it, like in its Lost Cities, I think?
Guy: OK. Is that big?
Loren: I don't know how popular it is.
Guy: How do you find that API?
Loren: I don't like it, but I think it has the potential to be really awesome. Using GameCenter is a mixed bag. On the one hand, I don't have to babysit servers, Apple handles everything for me. The game can get as big as I want and it's on Apple's shoulders to make the backend stay up. That's awesome.
The downsides are obvious. I have no visibility into the problems. Apple doesn't do post-mortems or anything. It's very opaque.
Rene: At one point along the process did you make the decision to go all-in on GameCenter, and did you spend a lot of time weighing the pros and cons?
Loren: It was never really a decision. It was obvious. There were these turn-based APIs. Apple said, "Hey, they're new on iOS 5," and I figured I could target iOS 5 and iOS 6 and up. It just seemed obvious. Why wouldn't I use the turn-based APIs to make a turn-based game for iOS?
Rene: Why re-invent the wheel?
Guy: Well, because he just did it for UIKit.
Loren: Yeah, that's definitely...I have to take small bites though.
Guy: Did you find yourself structuring the app around the GameCenter APIs?
Loren: Yeah, eventually. I completely misinterpreted the way the GameCenter APIs work. Because it's this weird...It's straddling the line between being stateless request-response-style APIs, versus stateful, I-have-these-objects-that-change-on-their-own, style. I don't think the API really knows what it wants to be.
If I were redesigning the GameCenter APIs, I would expose two levels. Level zero would be totally stateless, item-potent, request-response-style things. Don't even hand me model objects, just dictionaries back and forth or something. On top of that, I would build this stateful, nice object-oriented thing, where I have game objects, and you can observe them with KVO, or they fire off notifications when game state changes.
But right now, the way the API is designed, it's doing both, and it's inconsistent.
Guy: You don't have that solid level-zero basing that you can build your own stuff on.
Loren: Right, and I completely misinterpreted it as a level-one API, where it's like, "I have these objects, it's nice and easy," but no. I need to keep my game state in sync with GameCenter local state, in sync with GameCenter service state. There's lots of state that's really easy to get...
Guy: It's a three-layer stack.
Loren: Yes. It's very painful.
Guy: Do you regret using it? Would you change it?
Loren: No. As painful as...I guess at this point my interests and Apple's interests are aligned. Anything I can do to make GameCenter better, I would be more than happy to do. I don't know if I could have launched Letterpress without it. I would have had to invest a ton of time and energy into building my own backend. Who knows what Letterpress would have looked like if I had to do that?
Guy: I think that this is the way that a lot of the APIs that Apple puts out go. They save you so much work that using them is effectively a no-brainer, but earlier on in their life they were rough around the edges, and they end up causing some pain that you can't necessarily address yourself directly.
Loren: Yeah, totally.
Guy: I think Core Data is a little bit like that.
Loren: I still don't use Core Data.
Guy: Yeah, no I don't either. A bunch of people have sworn off it. But then there's a bunch of people who really love it, and know exactly what to do with it.
Rene: Is there a danger in...For GameCenter in particular, it strikes me that Apple doesn't have anything on the iPhone built in or in the App Store that uses GameCenter, so they don't particularly feel any pain when it's not working. It's always going to be people like you and other GameCenter developers that are going to find the problems first, or hit into the pain points first. Is that something that weighed into your decision?
Loren: Honestly, I think that's an awesome insight, and I didn't even think about it when I was originally making the game. Even Microsoft…I feel that the ultimate battle is going to be between Apple and Microsoft in the living room. That's when this gaming thing is going to come to a head. Microsoft has got a bit of a head start.
Rene: Microsoft, like Sony and like Nintendo, makes first-party titles, so in effect they're dog-fooding all of their APIs. They often make the most popular, most successful games on their platforms.
Guy: Having worked in that biz for a number of years, developing for the Xbox is a pleasure compared to developing for the PlayStation, or even Nintendo. They are easier to work with, but they're still harder to work with than just getting on the App Store. You've still got to jump through a lot of hoops.
But yeah, I think you're right, having the Xbox in the living room, playing Blu-Rays, or it doesn't play Blu-Rays, whatever, DVDs. Everything has Netflix now, but it's got a lot of functionality that iOS also has. Xbox Live is really impressive and connects a lot of people in a lot of interesting ways.
Rene: A lot of titles are being deployed on Xbox Live Arcade almost as fast as they are on iOS now.
Guy: Yeah, exactly. I think you're right. I think ultimately, for the living room stuff, that'll be where things come to a head. That said, that doesn't mean that Apple loses anything. I don't think they need to win that battle necessarily. They've still got...all the handheld devices are super-popular.
Loren: Yeah, I don't think, obviously, Microsoft doesn't have to lose for Apple to win, and that kind of thing. But GameCenter is going to be more and more important.
Rene: What kind of scared me is that Apple has this reputation for not getting social, and this reputation for not getting gaming. Now Apple's putting out something that's basically social gaming. It would behoove Apple to have, like a gaming and social Tzar. I noted in the press release they gave maps and Siri to Eddy Cue, for example. But there was no mention of giving Game Center to anybody.
Loren: Yeah, I don't know who owns Game Center. But, it is true. I just added a send friend request button into Leterpress 1.1. The way it works is you tap this button and then t brings up the standard Game Center sheet where you can type in an email address or a Game Center user name. You can send a friend request. Then you can play them on Letterpress.
The strangest thing about it is, if you type in an email address of someone who doesn't have a Game Center account it just throws back this really, like, obscure error. It’s the perfect opportunity to send them an email. Like and on board them into the Game Center ecosystem. It's like, "You're friend wants to play this game with you." It's a perfect way to get someone to play, but it doesn't do that. The person you send the invite to has to already be set up with Game Center.
Guy: I should introduce you to my friend.
Guy: Yeah, that's a good...exactly. It's exactly that thing that Apple really doesn't quite get all the time. Yeah, it's sort of unfortunate. On the other hand, they are way more game friendly now than they ever used to be, certainly since the introduction of iOS.
Loren: Yeah, games have totally taken over the app store.
Guy: Yeah. I'm sure you can speak to this, Loren…a lot of work on the Open GL stack goes towards improving performance in games, especially on the Mac. I don't know how true that is on iOS. But, I mean, I don't...it's not a second order thought, supporting games on iOS. I think it's...
Loren: Yeah. I guess I'm a little biased because that's my old team at Apple. But it's, without a doubt, the best, like, mobile open GL implementation on the planet.
Guy: Oh, by miles.
Loren: Yeah, It's not even close.
Guy: Did you see those, I mean I know you did, but the blending shaders?
Loren: No. I haven't seen that.
Guy: Yeah, you can, for, instead of just your blend mode you can actually put a shader in there.
Loren: When did this come out? [laughs]
Guy: iOS 6, I think.
Loren: No shit. Oh, I got to check that out.
Guy: It is crazy the amount, the stuff you can do with that it just... bananas.
Loren: Yeah. Oh my God that, like, the most exciting thing I've ever heard.
Guy: I know. I was like... because it was just on a couple of slides. I'm like, "What the fuck?" Oops, sorry.
Loren: Is it like a fragment shader style thing where you just get two inputs?
Guy: Exactly, yeah. I haven't looked into it that much because I...it's one of those things, it's like...I think that you probably are similar with this given how many projects you say you've got. But if you get excited about something you just go and do it.
Guy: To the exclusion of getting actual work done. I was so excited about that I'm like, "You know what? I don't want to look at this. I got to ship my app and do some work, you know?" But I will eventually get back to it.
Rene: I noticed that when you did do Game Center, for example, you did matchmaking. You did turn based. But, you stayed away from things like challenge. Challenges are almost like spam on Game Center for me. Was there a lot of stuff that you picked and choose from very carefully?
Loren: I think it was more of a function of time. I do still...I wanted to and I still want to do achievements and leader boards. But I'm not exactly sure what they look like. I honestly haven't seen challenges. I didn't read any of the documentation on it. What, exactly, is that?
Rene: You can challenge people to,, I think one of the biggest examples now is there's an extreme road game where I wake up in the morning and 20 people have challenged me to beat their road racing time.
Loren: Got it. It's like "Horse", almost?
Rene: Yeah. I guess so. I guess it's a way, because I don't have the app installed. I guess it's a way for Game Center to push you toward downloading or buying other apps.
Loren: Huh. Yeah, I guess that makes sense.
Guy: That would kind of annoy me.
Rene: Yeah, there's not filtering. For example, you can say only accept challenges from contacts. But, I play Letterpress with a lot of people who aren't in my contacts. Also if I turn off those notifications I don't get Letterpress notifications. There's no granularity to it yet.
Loren: Yeah, a lot of people have complained about the lack of granularity for notifications.
Guy: Yeah, notifications in general are a sore spot for the OS, I think. Especially if you get a lot of them.
Guy: I was curious when I saw the app, you have themes in there. Why?
Guy: I know that's a silly question. I know it's reasonably easy to implement. But I thought it was interesting and a bit, um...I don't really want to say unnecessary, like it's pointless. But it was a curious decision.
Loren: I see it as a "cherry on top", for the in-app purchase. Because it's one in-app purchase to unlock the whole thing, I don't nickel and dime you with like a dozen different things or like, "It's $.99 per theme."
Guy: Oh, I hadn't realized the themes come with the purchase.
Loren: Yeah, you only get the default theme by default. Then you unlock it for more than two games at a time, and the ability to see play words and stuff.
Guy: Oh, OK, that's interesting. That's what I get for just buying it on the spot.
Loren: [laughs] Well, thank you.
Guy: Do you have any other pans for in-app purchase? It seems like word packs could be interesting.
Loren: Yeah. Someone had the idea for an urban dictionary word pack. Which I think would be so awesome.
Rene: That’d be great.
Rene: It's interesting the way that you went with in-app purchases. You said that you didn't choose...I think your language was you, "...didn't choose to optimize for in-app purchase." But, with regard to themes, when there's no themes in something people complain almost immediately. For some reason, mainstream users, love them their themes.
But, also, we've hear repeatedly that, for example, advertising. Turning off advertising is not something that incentives people to pay an in-app purchase. But, you seem to have found a good formula where you get enough functionality in the basic game. You, it's almost a no-brainier to pay for the upgrade.
Loren: Yeah. Letterpress was an experiment in a lot of ways. It was an experiment exactly in that regard. I had no experience in building a free app. I had no experience with in-app purchases before. I remember back in the Tweetie One days everyone wanted a dark theme. On Tweetie One I added a dark theme. That was one of things that actually helped it start to take off. I eventually removed the theme options in Tweetie Two. But, by that point, it was already a popular app.
Guy: Was that in reaction... were the users reacting to Craig's work? On Twitterific?
Loren: I bet, yeah. Because they were so used to the dark theme in Twitterific. They didn't like the light one in Tweetie.
Rene: A lot of people have angry spouses who get upset of the screen is bright in bed.
Loren: Yeah. Yeah.
Guy: Maybe you don't want to say this on the air but Rene can fix it. How do you feel about Twitter?
[silence 23:51 to 23:54]
Loren: I don't know. I'm conflicted about it, because, to me, I see apps like Tweet Bot doing awesome work and doing nothing but make Twitter better. Their market share is so small that it really doesn't affect Twitter in any way. It’s like a flea on their back. But it's a flea that actually making Twitter users happy. That analogy I've stretched it way too far.
Loren: I don't know. It confuses me that they're trying to shut it down. I guess it just confuses me.
Rene: They didn't think of a more creative way where they could both appeal to their advertisers that they want to bring on board but also keep something for the very small niche of original/hardcore users that value those kinds of apps.
Loren: Right, yeah. I don't think anyone would argue that it doesn't cost Twitter a ton of money to run the service. Third party developers absolutely should kick in if they're going to be making money off of it. At the same time if users are using an app they should be able to see Twitter ads if that's what Twitter wants to show them.
Rene: I always thought it would be a nice thing if Twitter just said, "All advertising belongs to us. We're serving it along with timelines. You cannot filter it out. But if you want to make money you can just charge for your app. Advertising is ours, charging for the app is yours. You're a miniscule part of our audience segment anyway. Just go on about your business."
Loren: Yeah, that seems like a creative and simple solution to me.
Rene: Which means it will never ever happen.
Loren: At the same time I've never built a billion dollar company. My opinion doesn't really mean much. Twitter might be doing exactly the right thing to ensure their future.
Guy: Yeah, that's what I always end up finding myself thinking if I'm ready to talk about Apple. It's just…
Guy: …it's not in my league. It's like I don't know. It's too big. It's not like any experience I have can help.
Rene: It's creeping decimalism, it's just the numbers are way too large.
Rene: It occurs to me, Loren, that you've made a bit of a practice of writing against very new, not really hard and not really tested APIs, because you had a very early Twitter client and now you've got a very early all-in on Game Center. Game Center's not new. But someone going all-in on it has not been that common. Is that a way to test yourself? Do you like those kinds of challenges?
Loren: [laughs] That's funny you brought that up, because I actually had that same realization a couple of days ago.
Loren: It’s like going into bad relationships with the same person over and over again. It just...No, this was totally unintentional. I'm realizing that about myself. I don't know if that's necessarily a good thing.
Guy: Well, I think you, like me, and like were saying about the open GL stuff...You get excited about something new. You just want to try it. Work against it. That often leads to building on something unreliable, because you're, I think...at least in my case my excitement can often outweigh a more rational decision making tree.
Rene: But you're doing disruptive work that way. You're really pushing the bleeding edge. A lot of Twitter apps follow Tweetie, and I'm sure a lot of Game Center apps are going to follow Letterpress. You get to be there on the frontier.
Loren: Yeah, yeah. No, there's definite pros.
Guy: Would you consider writing against another online service? Not necessarily doing a client like a Facebook client or something like that, But relying on an online service that's not under your control for the core functionality of your app.
Loren: Honestly, I think I'd like to end that phase of my life. I'd like to take inspiration from Apple, to a degree, and own the pieces of technology that I need to own to make successful products.
Guy: More like what Marco does with Insta-paper kind of thing. Where you’d run it like [indecipherable 27:41]
Guy: How are you at back end stuff? Because I'm pretty awful.
Loren: PHP was one of the first languages that I learned. I know that, I know Ruby, I know Python. I'm teaching myself Go. I can use Google app engine and EC2. Like, all of things I can do. It’s not my bread and butter, and unless you do it day to day you can't be an expert at it.
Guy: That's great. You can basically port code easily up to a server.
Loren: Right. I can have Objective C client side and server side that's shared. If I want to validate game state and stuff, I don't have to write all that stuff twice.
Guy: Right. That's great. That's a very good idea.
Loren: It's Web Objects. It's like a much better version of Web Objects if Web Objects was still around.
Guy: Right, well it is, but only internally. It drives the store...
Loren: Yeah. [laughs]
Guy: ...drives the store and all that kind of wacky stuff. Web Objects was really cool in its day, I got to say. Especially when the Objective C stuff?
Loren: Oh, yeah! That today would be killer.
Guy: I know. Yeah, it blew my mind back in the day. It's...I don't know. They "JAVA-ized," right? For Web Objects Six?
Guy: Then it was eight-hundred bucks, and they dropped it down to like $90 bucks or something like that?
Rene: It went on clearance.
Guy: Yeah, and then it just went away.
Loren: That was a weird rift, though. Why did that happen? Why did they take...why did they adopt Objective C, like...? They were going to drop Objective C client side also. They were going to go JAVA everywhere. I don't understand why they didn't just keep Objective C on the server side too.
Guy: I think the issue was that they wanted to be able to run on other servers. Like, with the JAVA one it would run on Sun servers a lot. In different...I'm trying to remember the terminology, but like basically an app server thing, would be like it would run a Java instance. If it was written in Java it was easier for them to get it supported on these other platforms.
Loren: But you could just compile the code. You just compile the code for Sun.
Guy: Look, I don't disagree with you.
Guy: I think the thing is that these app servers would clone. Like, it'd basically be little VMs, right?
Loren: Yeah, that makes sense.
Guy: I totally agree with you. I would do the same thing. But again, I don't run a billion dollar company. At the time, it really did look like...
Loren: [indecipherable 30:31].
Guy: Well, yeah. Things were weird for Apple at the time, right? They had the Java bridge client-side. I think WebObjects lasted longer than it should have because it's more or less what kept NeXT alive long enough to get bought. At a certain point they stopped effectively selling the operating system. It was way more focused on WebObjects stuff.
I don't know. It's had a weird, long life. But I think they're way too married to it now, which is disturbing.
Rene: It's kind of there, they kind of use it. It’s like an old battleship, not decommissioned.
Guy: But it's really hard to get new talent that knows what they're doing with it.
Loren: Nobody knows how to use it anymore. I just have visions of all this amazingly cool stuff you could do with like LVM server-side. VM, doing basically exactly that only making it good.
Guy: Well, so I figure that's your next project? You can do something crazy server-side.
Rene: The decision to go free with Letterpress is something that also fascinated me. Because you hear a lot of times that people will pay 99 cents for an app almost as much as they'll go for free, and that it reduces your tech support burden. It reduces the chances of bad ratings on the App Store because it's not just tire-kickers, it's actually people with an investment in the app. But you went right for the free price right away.
Loren: Yeah, I'm sure I could have made more money charging like 99 cents or $1.99 off the bat. I've no doubt that I could have made more money that way. But going free, again, it was an experiment.
I wanted to feel out what the free side of the charts looked like and that kind of thing. It's tough. The App Store has definitely changed since the Tweetie days.
Rene: Well, it's odd now, because when top grossing first came out, it was a bunch of apps like NAVIGON and like the iWork apps. Now, it's a lot of apps that are basically free, but with $99 Smurfberry purchases built in with them. It's not only a completely different environment, but a completely different metric by which these apps are measured.
Loren: Yeah, it's nuts. I mean, Tweetie Two topped the grossing charts, and it never would be able to do that today. Not in a million years.
Rene: Not unless you had a $99 Smurfberry purchase in it.
Guy: Do you find that it's more competitive, or just basically like a total blowout, like it's really hard to get anywhere? That's a poorly phrased question. The scale of the App Store is so much bigger. Does it feel like you can compete, or does it feel like you're just, it's always going to be a ripple in a pond?
Loren: I don't know. I guess the scale has changed. Apps are big nowadays and I feel like, thanks to Rene, I had a really good launch. The app is holding its own, but I mean companies like Zynga they just have so much push. They can do whatever they want.
Guy: Right. Yeah, and hopefully go out of business doing it.
Rene: Well, it's interesting though, because the App Store was really the first leveling of the playing field for independent developers. Because whether you were Loren Brichter making Tweetie or you were a giant company…whether you were a game developer like EA putting out an app, you were still…basically had the same rights and privileges on the App Store.
But now, just by sheer volume, it seems to have shifted to marketing, market awareness, and the ability to drive people to your apps. That gives the big, entrenched players again, I think, a bit of an advantage.
Loren: Yeah, I mean, Apple certainly helps. Apple featured Letterpress, which was huge and amazing. I think Apple is trying to level the playing field, and I think they're doing a good job of it. But, I don't know how Zynga does what they do. Like, how do they get so many people to download Words with Friends?
Rene: It's really an evil use of psychology. I don't know how deep you want to dive into it. If you remember the tulips a long time ago, tulips had more value than gold, and there's nothing about a tulip that's intrinsically valuable. But there's an ego investment on it. If you have something that your culture determines is valuable, you will spend a lot of money about it.
Games like Zynga, people will not spend 99 cents on a game, but they will spend $100 to have a better looking hut than their friend, because that gives them a huge ego payback, which is the foundation of gamification. All these games are very good. They do a ton of psychological mapping, they do a ton of behavioral analytics. There's a lot of big data work going in to analyzing when people stop playing, when they start playing, how their friends react to things that they do.
It's really a...I don't know if I should call it evil, but it's really an evil application of psychology that makes these games addictive. There are gambling games on the store where you can't win anything because that's illegal but you can pay a lot of money to play the game. These are routinely on top of the grossing charts.
Loren: Wait, it's legal as long as you don't win anything?
Rene: Yes. As long as you just give them money to play, it's fine. They have huge amounts of revenue.
Loren: You can win like coins, but as long as you...
Rene: You can win in-game coins, but you can never cash them out. You can put money in to get new in-game coins, but you can never remove that money again.
Guy: This seems like a bad investment, call me nuts. Call me nuts.
Rene: But you get to be the top player on this thing, and all your friends see that you're the best. It does provide humans with a big a gratification. It's something that we care about very desperately.
Guy: It's very cynical. I guess in a way, game design is that in general. Because the thing is, there's a purity to try to maximize for somebody's fun or enjoyment or challenge, rather than for the amount of money that you're going to get. But in the old days, the arcade games were pretty much designed like that, too. The cabinets were geared to keep taking your quarters. It's not that much different.
Rene: Loren's doing that differently, because you're letting us have a one-to-one relationship where I don't have to spend money. I just have to play that awesome curse word and totally destroy someone on Letterpress and I get an immediate…I immediately want to play again.
Loren: If I was trying to optimize for profit, the game would be totally different.
Guy: I'm not sure that's obvious to most people, but certainly when I play that game, I'm like you're just leaving money on the table somehow. I don't know how. But it feels very pure, it feels like a game that you wrote because you wanted to play it, and you shared it.
Loren: Yeah, and that's exactly where it came from.
Guy: Which I think is great. That's exactly…I wish more software came with that philosophy behind it.
Rene: I'm guessing because you were once bought by Twitter, there's no chance that Letterpress will get bought by Zynga.
Loren: No, no. I think that selling Tweetie to Twitter was a good move for all involved, definitely at the time. But I'm done selling companies.
Guy: Oh yeah? OK, that's good news.
Rene: Well, you did. If we look at it, with Tweetie, you made basically the client that everyone thought Apple would made if Apple ever made a built-in Twitter client. Then with the iPad version of Tweetie, you made one of the first true large-screen tablet interfaces that we saw on the iPad, because until then, a lot UIs were just stretched apps, or two-column versions of apps.
But you did sliding panels, you did a lot of innovative work. It seems like that goes back to the challenge. You're not content with making just an app. You always want to do something a little differently.
Loren: Yeah. Twitter for iPad was a ton of fun to make. I think if it had another two or three months in the oven, it would have stood the test of time. But it wasn't quite finished, it was never quite finished.
Guy: Atebits started on the Mac?
Loren: Yeah, with Scribbles.
Guy: Which I was...I remember when you released that and I was jealous. I'm like, man I wanted to write that app. Like a very basic scribbling app.
Loren: Everyone remembers MacPaint. How does MacPaint not exist anymore? It's such an obvious idea for an app. You want to doodle a little picture, and there's no built in apps for it.
MacPaint was my inspiration for Scribbles. It was also my first attempt at my own custom UI framework. Because Scribbles also was completely OpenGL and it was a mess. It was basically one big file that did all the drawing.
Guy: Oh my God.
Loren: It was a nightmare.
Guy: Oh my God. The very first version of Tap Tap Revenge was one file…
Guy: This guy, Nate True, who's a brilliant hacker, like he would tinker up his own watches and stuff. But man, it was his first, like My First Program. It was like one giant 5,000-6,000 line .AM file.
Loren: That's awesome.
Guy: Yeah, it was kind of awesome. We rewrote that pretty darn quick. But it was fun while it lasted. You've got a thing for doing your own custom UI frameworks. Which is funny because I, again like during when I was doing game work, I used to love writing the UI stuff, because you'd have to write your own UI framework in the games.
Loren: Sure, yeah. You had nothing to work with.
Guy: Yeah, and it was a blast. I don't know if I'd do it on the desktop so much.
Loren: Then there was TWUI which was basically the UI kit for Mac thing. I don't know what's going to happen with it.
Guy: Yeah, well, they own it now, right?
Loren: Yeah, but it's open source.
Guy: Does anybody use it?
Loren: Yeah actually, I think Clear for Mac uses it.
Guy: Oh, that's interesting. Now that's an interesting app to me. I don't like it.
Guy: But I mean that in the best possible way. Like, it's fascinating. I love that it exists. I just can't use it. It's just a little too out there for me.
Rene: Doesn't fit with your use-case.
Guy: Yeah, maybe it just says that I'm conservative or something. I don't know.
Loren: It's definitely very modern. I love the things that they're experimenting with, though.
Guy: Oh yeah, exactly. I love experimentation in any form. I love that it exists, I just can't deal with it.
Rene: It was an interesting experimenting in mapping an almost entirely gesture-based iOS app into a Mac app that requires the use of keyboards and touch pads and things.
Loren: I would love to see Clear with, have you guys seen the Leap?
Loren: I don't who said no and yes. It's where you can move your hand in front of your screen, and it's got like the cameras on the desk.
Guy: That is amazing, I love that thing.
Loren: I mean Clear, an app like Clear with a Leap I think would be really cool to use. Because it's all like hand gestures, "Minority Report" style stuff.
Guy: Yeah, I totally agree with you. That would be amazing. I want those to exist. Like as well, I mean, I want them to be a standard part of the system as soon as possible.
Loren: It seems like the Leap works really well, at least from the videos I've seen.
Guy: Yeah, exactly. It seems like it's relatively easy to incorporate into say a laptop with it, because they've got the big chin underneath the keyboard.
Loren: Yeah, it's true.
Guy: There's like, the technology matches common form factors, such that it's...I don't want to say it's not that much of a Leap.
Guy: It's not that far of a stretch to incorporate the Leap technology.
Rene: It seems like a better solution than actually putting your fingers on a iMac or MacBook Pro screen.
Guy: I think so, yeah definitely. Yeah, I got a little off track, but would you ever consider going back to the Mac?
Loren: Letterpress runs on the Mac right now. I don't think I'm ever going to release it though. Because the market, I don't think it's big enough.
Guy: That's crazy talk, dude.
Guy: If it's running; I don't know, it seems like free money to me. But I guess you have to…there's all the support and all that pain in the ass stuff.
Loren: The Mac to some degree reminds me more of Android, where there's just so many configurations and so many ways for software to not work. It might be a little bit more effort, but it's going to be double the support costs, even if it’s only 10 percent of the market.
Guy: Yeah, since you're all GL based, there's variant, variations in the cards and the capabilities and all that. Although, you don't seem to do anything very...sorry, I don't mean it like that. But, you don't use a lot of multi-texturing, you use pretty much as far as I can tell, quads with just color verts.
Loren: Yeah, basically.
Guy: It relatively straight-forward, it seems like something that could be done in GL 1.2 kind of thing.
Loren: Yeah, no. It definitely could, definitely could.
Rene: You mentioned previously that you're working on the next version of Letterpress and there's a lot of things that people keep coming up with. For example, people want a button to instantly rematch the person who just beat them at Letterpress, and they want, you mentioned, achievements.
How do you start filtering what's going to go into the next version as opposed to what will never be in the product and what's going to wait for future versions?
Loren: I basically am going to put everything on the to-do list and then sort it. Then whatever I have time for, I'll do. Rematch is in 1.1, and I have a mysterious Apple engineer to thank for a workaround to get it to work in OS6. But you need OS6 and up for that button to show up.
After that, one thing I'm working on now is a way to share and replay games. When a game is over, you'll be able to tap a button and share a link. That link will take you to like an HTML5 version of Letterpress where you can scrub through the game or tap play and it will replay all the words.
Rene: That's a great idea.
Loren: Yeah, I think it will be popular, but it's reminding me how much I hate web development.
Rene: Was that an important factor? Because Instagram just put out Instagram profiles. They were resistant to anything that wasn't a mobile experience for a long time. Now they're reluctantly, I don't know if it's reluctantly, but they're finally adding web profiles. What was the decision-making process for doing the HTML5 version?
Loren: There's just no other way to share. I want people to be able to share their games with people who don't already have Letterpress installed. That's the only way people are going to learn about Letterpress.
They're like, “Oh, who made this game, how do I download it?” There's a big download link right beneath the game. You can't just share app to app. HTML is this perfect fallback. As much as it sucks it's perfect.
Rene: It’s terrible, but it's the best solution possible.
Loren: Yeah, like democracy.
Rene: Absolutely, or Skype.
Guy: Exactly…God…Do you feel guilty about not knowing much or being super comfortable with web development? Because I do, I feel it's a bit of a blind spot for me.
Guy: Right. Yeah, I know the basics, I know how to set everything up and do something. But I haven't actually really worked on a web project. I think that it's a false debate between the web and client code. I think that it's not a binary thing, there's always going to be some gradiation in between there. But I do feel like I'm developing a blind spot for web-based stuff that I should probably try to deal with.
Do you have any holes in your knowledge that you wish weren't there?
Loren: I'm sure I do. I guess my problem is I don't know what my holes are.
Guy: That's a polite way of saying that you know everything.
Loren: I know everything that I know.
Rene: I don't know what I don't know.
Loren: If I know about something that I don't know, then I'll make a point to learn it. Doing this HTML version of Letterpress, it's not the full game. It's just like a replay code. But it's nice circling back and learning about all the things that you can do. Because the last time I made a real website it was a couple of years ago.
Now you have reliable…you can kick it into hardware accelerated mode, with some janky CSS and canvas. Like the canvas element, I never used that before. It's nice.
Guy: Canvas makes me feel good, because that basically just drops me back down to all the graphics stuff that I'm very, very capable of doing.
Loren: Yeah, and it seems supported enough that I'm going to rely on it.
Guy: Actually, I didn't plan to go this direction. But you've worked on GL stacks, you're a very graphics-capable guy, WebGL seems like a bad idea to me.
Loren: Because of the security stuff, or for another…?
Guy: Yeah, exactly. I'm pretty aware of how badly you can lock up a machine by mis-abusing OpenGL. What are your thoughts on it?
Loren: I want it so desperately, because if you give me WebGL, I can take over the world.
Guy: Exactly, but you can also take over machines.
Loren: [indecipherable 47:59]
Guy: Sorry, say that last again.
Loren: I don't know how to fix those security issues.
Guy: That's exactly my thought. I want this so badly, but the ability for the developer to write a shader that can lock up somebody's graphics card is...I don't know how you can possibly guard against that.
Loren: Yeah, I know.
Guy: Even if you try to analyze the code and see if it's going to lock up in some way, I mean you're going to miss a case. It's a huge security problem.
Loren: How is native client going to do it? Because native client doesn't give you WebGL, but it lets you execute GL code through, what is it called, their Pepper API. I don't think they analyze your GL code there.
Guy: No, but a native client can basically do anything. I do think there is an issue with any time an app can access a shared computing resource that can possibly get locked up I think it's effectively a security problem, right? But at least a native client you've downloaded it's been, now these days through the App Store has been signed and all that.
Loren: The only way to use native client apps is through the Chrome Store?
Guy: Through the Chrome Store, is it? I don't know, do you know Rene?
Rene: To use Google's, yeah. I don't know if anyone else is deploying them.
Guy: OK, either way, I just think clicking a link and getting your computer locked up because of WebGL is a real possibility and it depresses me, because I think it would be amazing.
Rene: We've put up with that in Flash for so long that I think an average user, no, I’m just…
Guy: Well Flash is interesting, because at least they...here's the thing with the graphics lock-up. Flash is interesting because if you click a link and it freezes, well at least you can put Flash in a separate process. If WebGL locks up your graphics card, it is a component that is shared by the entire system. You can't wall that off as effectively, right?
Loren: Ultimately, the solution is to have drivers that are a little more robust.
Guy: Yeah, like the drivers...
Loren: The actual hardware, people might exploit real hardware issues, and there are still tons of those, so I guess you can't get around that.
Rene: There's also, Palm was working on Open, on WebGL. Now Research in Motion is working on WebGL. There's a lot of people trying to bring it to mobile because they're basing a lot of their development kit on HTML apps. I think maybe, cross the fingers, those are problems that will get fixed as development on Web GL it's self continues.
Guy: I hope so, I just don't see a way of fully safe guarding it. I don't know it's a bit weird. It's interesting. I would love to see that work out.
Rene: I guess we are just going to have to keep building native apps.
Loren: Exactly, Yeah, I mean I didn't write about it, I meant too, but when the Web GL stuff came out it was Microsoft just took a dump on it and said, “Look, this is just a bad idea, and we are not going to support it,” because of its security. Everybody was making fun of Microsoft like, “Oh, these guys are lame,” but I was actually, “No, they've got a point.” They been bitten by security issues for the past 15 years. I'm pretty sure they're sensitive to it. Anyways, hopefully it all works out.
Guy: Yeah, hopefully.
Rene: Loren you went from Tweetie to making a game, and you said you are working on other games. It sounds like you really consciously really want to do something as different as possible from Tweetie. Are games going to be the future or are you going to have a variety of projects?
Loren: Probably a variety. I have no interest in creating a game studio or anything like that. I just kind of wanted to feel out what the game side was like and I just wanted to make a game that I could play with my wife.
Guy: Don't get into the game studios, dude.
Loren: No. [laughs]
Guy: It's a lot of work and the money that you need, the amount of capital that you need, to do anything decent art work wise is immense. The business is pretty brutal.
Rene: It's like movie studios.
Guy: It's very much like move studios, yeah. It's pretty much a hit driven business.
Rene: Investment banking.
Guy: Yeah. Not that I don't want more games from you. I do, but...
Guy: …don't bank on getting hit games because it's just not going to happen no matter how good they are.
Rene: I want to actually ask the most impertinent question possible. Loren, who is better at Letterpress you or your wife?
Loren: Believe it or not, this is ironic, but we haven't been playing against each other all that much. I've been playing against a lot of other beta testers and she's been playing with all of her friends. Every now and then we will have a match. I think she's destroyed me the last couple games.
Rene: Is she tech savvy or is she someone that you beta test against as being a more mainstream user?
Loren: No, she's definitely tech savvy, but she's also more mainstream than me.
Guy: This week, well I think late last week, the word list for Letterpress got leaked. I haven’t actually looking at the package, maybe it's just a text file, I don’t know...
Loren: Yeah, just a bunch of text files.
Guy: Yeah, I figured. There's now a Letterpress solver app out there. How do you feel about that?
Loren: There are actually many of them.
Guy: Oh, OK. I know one, because somebody asked me to beta test it. I'm like, “No, I'm not going to.”
Guy: Do you have any thoughts on that?
Loren: Basically, it boils down to it's impossible to solve without having server-side verification of moves. I can think of a couple ways that Apple could cleverly let me verify words on the server, but I don't think that's going to happen any time soon. It seems to me that cheating is inevitable. Play your Game Center friends, stop playing random opponents, which sucks.
Rene: You can also tell they're cheating because it's words that have no semblance to reality coming up.
Loren: Right. Also there's no way to report cheaters. It would be cool if you could bucket cheaters into one Game Center-like auto-match sandbox thing, so they don't play regular...
Rene: I have a feature request. If somebody ever plays an unreal word, or even if they play something like irregardless. If they play something like irregardless or a made up word, the screen just explodes on them.
Rene: It's like the reverse of a fatality.
Guy: The phone just reboots. I had a bug years ago, when I was playing Wing Commander 2, on my PC. There was some bug, I don't know, on my PC's whatever. Every now and then, when my ship would get hit and explode, final damage, and it would go to change the camera to the outside view, so you could see it exploding, my computer would just reboot, which was awesome.
You'd get hit by a missile, and the screen would just go blank. The reboot prompt would come up. The old school IBM BIOS thing would display. That one counted. That really hit home.
Loren: It's one step away from Whopper asking you if you want to play a game.
Guy: Exactly. It brought my defeat into my real life, pretty much. Regarding cheating in Letterpress, one thing that's good about it is that I did a lot of work on tap tap revenge, and a couple other games, in order to block cheating, because those are the kind of games that kids play. They would figure out ways to cheat or hack the servers, so they could get rewards, so they could buy other tracks and stuff.
What I like about Letterpress is it's in that brainier category, where you're not targeting a market that's particularly interested in cheating. You're targeting a market that's interested in having a good game. You could cheat at the crossword puzzle in the "New York Times."
Loren: But you're cheating yourself.
Guy: Exactly. I wouldn't worry too much about it. I just find it...It's almost a weird tribute that these solvers are on the market.
Loren: Yeah. It seems like all the solvers that have popped up have been like, "We love Letterpress and we did this because it's fun to hack." Not because they like to cheat, just because they wanted to hack. I think that's a great spirit.
Rene: Although I'd check their win-loss ratio before you say that too loudly. Maybe they were just terrible at the game.
Guy: I have lost every single game I ever played. I swear to god I thought of writing a solver...
Guy: ...just as a joke. I'm terrible at this game. You make me feel stupid. I don't know why.
Rene: It's a strategy thing. Loren, you actually made a huge change to the game-play mechanics halfway through the beta when you created protected letters. Beginning it was all like random, you tried to make the coolest word that you could make. But now it really behooves you to protect letters and start coloring the board from one end to the other. Almost like a red zombie horde descending on the poor little blue squares that remain.
Loren: Yeah. Actually it was unintentional that that was halfway through the beta. That was actually at the end of the beta and I was a day away from shipping it to Apple. It was actually Marco Arment who brought up the fact that the game got a little tedious. That's what forced me to go back to the drawing board and come up with the new game mechanic.
Rene: Can you go into a little bit of the beta process because you had a smallish beta and then you increased the size. You had a fairly good sized group of beta testers towards the end.
Loren: Yeah, my beta testers were...you weren't in on it, but they were fantastic.
Guy: I was not, so...
Loren: I apologize.
Loren: I'm going to send you a hockey invite.
Rene: Everyone at Singleton was playing it under the table trying not to show anybody what they were playing but playing against each other at different tables.
Loren: [laughs] Yeah I heard that.
IGuy: You've got to come next year, man.
Loren: Yeah. I would love to.
Guy: OK. I'll make sure you get an invite.
Rene: Is there a size of beta group that you like? Do you need more beta testers for something like this than you did for maybe Tweetie?
Loren: This beta was actually I think a little smaller than Tweetie. I honestly think the beta testers have more to do with the success of the app than me. I ended up building a really great beta crew for Tweetie. Just the fact that they were beta-ing it and people found out that they were beta-ing it helped make the app popular. You guys did the same exact thing for Letterpress.
Rene: I noticed the words are interesting. For example, I've played "hobbit" and "Bilbo" which aren't normal dictionary terms, but "Vader" gets rejected. Is that a peek into your personal preferences?
Loren: No, I have not...The dictionary is about 270,000 words and I'll admit it, I haven't reviewed them all yet. But those sound sketchy and they might not go in the next version.
Rene: Well Atebits is in there. I have played Atebits to beat some people.
Loren: Yeah, that's my little secret.
Rene: [laughs] There's nothing better than playing someone's company name when you're actually playing a Letterpress game with them...
Rene: ...or their family name or something. It's just an added incentive.
Guy: Because I'm nerdy, you just mentioned that you may take out a couple of words. A lot of work that I end up doing is managing backwards and forwards compatibility so that old clients can play new tracks and all of that stuff. If 1.2 updates and it misses some words and you go look at a previous game, what rule set will be applied? Will it be included in the new words, will it not be included in the new words? Is that something you've even thought about?
Loren: I'm completely ignoring the issue.
Loren: Basically whatever version you have that's the dictionary that you can play. If you're playing someone with the newer app, and they have more words, or less words, then...yeah, that's that. In version 1.1 I'm adding more words than I removed, so it's...
Guy: That's good. That's backwards compatibility, right? But it's when you start removing words that things get weird.
Rene: You said previously that you weren't maximizing monetization for this, but I like the idea of paying developers because I believe the more money I throw at you the longer you'll be interested in making the game. I don't know if that's absolutely true but it feels to me like it's a good way to incentivize future development. Is this something that you're going to just always keep as like your personal project or do you see this becoming...I don't want to say a franchise but a bigger project down the road?
Loren: I don't know. I just want to see how it plays out. I definitely don't want to go sleazy with it, and start begging people for money, or get them to buy some coins or anything like that. I don’t think I’m ever going to make as much money as one of these giant sleazy game studios.
Rene: No buy a vowel for example.
Loren: [laughs] That's a great idea.
Rene: [laughs] Letter A ten bucks.
Guy: I would definitely do that.
Rene: Oh yeah, buy wild card letters. Yeah, it seems like there's a lot of potential for what seems like a simple concept.
Loren: Um yeah, yeah. I'm curious how it would potentially translate into the real world. It seems like it would be tedious to manage the states of the colors, and the state of protected tiles, but it could be a fun in real life board game.
Rene: Yeah. One of my favorite things to do, and I mentioned this to you on Twitter before, is I actually played on Airplay Mary on Apple TV and it's fantastic.
Loren: [laughs] That's awesome.
Rene: We mentioned working on the game center APIs and you're almost completely dependent on Apple for that. We had iOS6 last year, had some new things for game center. Presumably iOS7 will have game centers for, but Apple’s done something very interesting. They applied their standard product grid to their management team recently, and the long time head of iOS Scott Forrestal is now leaving the company, and his portfolio has been, Jonny Yi is now doing human interface, and Eddie Q is now doing maps in Siri, and Craig Frederique is now doing all of the OS. What do you think about those kinds of changes at Apple?
Loren: I'm most excited about Johnny Yi being head of HI, that has the potential to be so awesome, like I want to cry. Everything else, I don't think I have a particularly strong opinion about, but that is truly awesome.
Rene: You’re hoping he yanks attention to status bars immediately?
Loren: He’s the kind of guy who I think would appreciate bring true to hardware, just like he's true to aluminum, and true to glass. If you have an intuitive understanding of what graphics hardware is good at there's no reason why that shouldn't permeate all the way up through what it looks like.
Guy: I got to say that I think that is one of the things I love most about letter press. I saw on Twitter, or something, that you'd implemented all in OpenGL , I was like , “Well, yes it flows.” I could see how true to the capabilities of the device you were being. I think UI kit is similar, and a lot of those ways.
Loren: Yeah, absolutely, it gives you more surface area to jack it up.
Rene: Letterpress is incredibly digitally authentic, there's no real world analogues, there's no skins, things don't look like little gaming tiles, or corrugated cardboard gaming boards.
Guy: Yeah, as Loren just said, you can imagine it being a board game.
Rene: What would you like to see from the Apple management team for iOS? Is there specific things that you think that are still missing for you to make the kind of after you want to make question mark
Loren: XPC is right on the horizon, and I think that's going to be really, really exciting for iOS seven. It has to make it into IOS seven…
Guy: XPC is awesome, I love it
Loren: I don't know why it wasn't in iOS six. It's been on the Mac and it seems solid .
Guy: It's been on iOS since iOS five.
Loren: A really, they just haven't made it public.
Guy: Not exactly, yeah. Five beta, some headers, maybe Mac headers leaked…they do that macro declaration of when it's available.
Guy: And it had iOS five in it, so I wrote to an Apple fan being like, “You guys are leaking information here.” I heard back it would be public, but it's there. I think iOS seven is going to be very interesting, because one of the things is not well known about iOS six is that they broke spring board into two pieces. Springboard is the larger system.
Looking at the home screen basically. It used to be the springboard was in charge of doing all of the Window management, which meant that springboard itself would manage all the application windows and swap between them, and all of that. But it since in iOS six then broken into two pieces. There springboard, and there's backboard, and backboard is now basically the Windows server.
That is going to mean that there's a lot more opportunity to…a lot more flexible legitimately when does on the system, I think. Windows meaning basically the OpenGL context which all application draw into. I'm excited to see what that…
Rene: What the decoupling does for the...
Guy: Exactly, because between XPC and the ability to embed one window in another, one OpenGL contexts inside another, I think is going to be some interesting possibilities coming. Do you have any thoughts on that Loren?
Loren: Yeah you nailed it. Yeah I think it's going to usher in a whole new class of apps.
Guy: Right, I'm thinking not specifically but … The way that Siri does those plug ins, and all in that kind of way.
Loren: And also completely headless apps.
Guy: Exactly, yeah, which is weird to think about on iOS. Just all that battery stuff, and I don't know how they prioritize the cake and goodies over basically battery cost,
Loren: Think about it, let’s say you have six headless services that need to make a network connection, the OS could be smart...and when it spins up the radio, just like turns on all those for have a second each, or a couple seconds each and they all batch together.
Guy: Yeah I know that for their own stuff. There's basically one persistent connection that manages mail and I message and all that, it traveled through to the one place. Yeah, and actually Game Center notifications
Loren: Yeah open that to 3rd parties.
Guy: You think? I don't know
Loren: They have a review process in place. If someone's abusing the system, take him down. You can do interesting things
Guy: Yeah, I agree. One thing that I'm…I I don't think will appear anytime soon is a third party Siri API.
Loren: That upsets me, because Google search is so awesome.
Rene: I think they won't do a Siri API though because Apple seems to want to do that as a partnership play, where they sort of get Yelp or they get the movie ticket stuff, or they get open table and make a deal where the content get shipped to there, and if they do and API then they lose the ability to make specific content deals.
Guy: I think there's two things going on there, there's the inherent difficulty of disambiguation, wherein if you just say a sentence and apps claim certain keywords, applications can collide and you don't know which one necessarily to pass off the request to. I think that's a hard problem to solve.
The second thing is, given the that that's a hard problem to solve, maybe is better for Apple to just work with certain partners and because then they have the power relationship. They say to Open Table, “Well, we'll swap you for something else” or the can say to Yelp like, “You will do X or else you're off the phone.”
Rene: It's a brokerage deal.
Guy: Exactly and I Fear that Apple TV is going to maybe be the same way. I love to see a API for AppleTV. I imagine Loren you would love to work on something for the TV?
Loren: Oh yeah. Games would be a no-brainer. But I'm actually talking about a completely different, like, I'm sorry I totally misunderstood the Siri API question, but I'm looking at it completely differently. I want an API so when I press and hold the home button Google searches the thing that pops up.
Rene: Oh different default apps.
Guy: Yeah that, OK yeah, that would be pretty cool.
Rene: You could choose Chrome instead of Safari and you can choose Pharaoh instead of mail.app.
Loren: Right and I think, this is like bordering into anti-trust territory but you know there's no reason to Google search shouldn't be able to like hook into the native API for a set of timers and stuff like that.
Guy: Well something like setting a timer. It seems like you could do the classic implement the URL scheme.
Loren: Yeah I guess they could do it.
Rene: Well that's like the problem that we don't have anything like intense or like contracts the way that Android or Windows phone have.
Guy: That's my biggest hope for iOS7 [indecipherable 69:54] and it goes back having these impeded windows from other processors and XBC but I don't know, I think they're just finally putting all the pieces in place to be able to implement something like that In the same manner.
Lore n: Yeah it's nice that they waited. They didn't hack some thing together Android style.
Guy: One thing that is nice about Apple is that they often come late but they come with a good game.
Loren: Yeah they did it right.
Guy: Like a well considered implementation.
Rene: They measured 10 times, fake cut three times and they make one slice.
Guy: Yeah. Or they just tell you no or they don't even tell you it's just no you never getting that. It's never going to happen.
Rene: Because is not really a computer it's a computing appliance and they want to, they now have the classic problem of dragging 100 million of my mother’s behind iOS who would get horribly confused at the mere thought of different browsers so, “Do they want to bury settings somewhere deeper only the nerds can go find them to swap out apps or do they want to just make a blanket statement that this is not a computer you can't do what you can do with the computer on it?”
Guy: Right. Loren you've been around since the beginning, I've always felt, well always is maybe not always but for a long time I felt that the springboard metaphor is limited, and I don't have a better suggestion but it feels like it's going to run out of leg room at some point soon.
Loren: Look at the alternatives. At least like Android's home screen it's just such a such a nightmare. I guess I like what Palm did where your main screen wasn't like a list of apps it was the things that you're working on right now in Cards.
Rene: yeah, and the stacks were very nice.
Rene: You could group Cards together based on projects as well?
Loren: Yeah I think the Card metaphor is the closest thing I've seen to a perfect launch or home screen thing.
Rene: Which Apple did in Safari pages and just never made it prolific through the OS.
Guy: Yeah that seems like a natural but who knows?
Rene: It's flabbergasting.
Rene: I mean it's interesting to see which way because Android again has all those widgets on the home screen but Apple just wants the home screen to just get you into apps. They don't want you to live in apps but then they don't have actionable notifications the way that web OS had either so you got to move between apps and I'm hoping that's the next big change is that I don't have to go hunt for data the way I do on Android and go look for widget.
I just want all that data to come to me and if they could put up an SMS notification that I can do a quick reply in or if they could put up an alarm notification I could quickly adjust without me having to switch apps. I'd be very happy.
Guy: There's one thing that I thought about, when the phone was first introduced with iOS, everybody remarked at how simple and clean and direct that the user interface was which is correct but it's really hard to go out of those initial simple constraints. I'm not sure that just adding stuff like folders and newsstand is a great way to go forward.
Loren: Yeah. No, those are Band-Aids.
Guy: Yeah . Exactly and it feels like increasingly were going to get more and more Band-Aids and while initially the iPhone, or iOS, was allotted for simplicity eventually we're going to get to the point with iOS where it's like Mac OS 10, which is not complicated per say but there's a lot of just Band-Aids stuck in there like.
If you looking launchpad on OS 10 it's you know just hacked in there or what's it called? Mission Control. Kind of a similar thing, it's obviously a layer on top of this previous stuff.
Loren: Yeah, I think OS 9 is probably a closer analogy.
Guy: Right. Yeah. Exactly. Stuff gets convoluted what would you do? Because I don't know, maybe it's a design question but it's also a programming question because you need to…you need to consider everything that went before. In general when designing and working on software do you consider the possible paths for it? Like if I make this decision where can I go from here? I know it's a very high end vague question but I mean just…?
Loren: Yeah, I know I don't know if I necessarily at least this is how I work, I don't necessarily put a ton of thought before I start working. I always work, and it's like Fog of War when you play games. It’s like you can only see for some radius around you. Sometimes you just need to wander and then eventually you'll stumble on something, or something bad, and then you have to double back and try different route and, I don't know, I guess my process is pretty messy.
Guy: No I think we have a very similar process actually. I do the same thing. Increasingly I found myself worrying about compatibility issues so, because when you hit something that is…so one of the big titles I worked on I've mentioned already is Tap Tap Revenge and for Track and Tap Tap Revenge we download…I shouldn't say this but I'm going to anyway, we downloading an audio file, a bunch of image assets and a LUA script that controls the game play and the animations.
Loren: Dude, you're getting booted out of the store.
Guy: Don't have to say that directly dude
Loren: You can edit that out.
Guy: OK whatever it's the first episode, nobody's going to be listening…
Guy: Yeah so, and we've always done that. We skirted that issue well before that was an accepted thing to do because you're a game you get away with stuff when you're a game, and we were popular, and we were well-known, so it wasn't issue. Christ if you’re listening, please don't kick them out of the store.
Rene: They don't do it anymore anyway.
Guy: I know I know. It's fine. Nobody's stupid. People just look the other way. Please keep looking the other way.
Guy: The issue then becomes as the game engine evolves and this level of definition script that we have is expected to target the same, is expected to run across all of these versions. It becomes increasingly difficult to support older themes, but we must, because we've sold them to people and it's sitting on their phones. Backwards compatibility has become like a major, and forwards compatibility, has become like a major interest of mine and it is really boring and very detailed work.
But it is in many ways pretty essential to get right. Do you have…do you think about that? Do you have any strategies for that? Have you ever had to run up against that in your career or have you been fortunate enough to be able to dodge it?
Loren: No I don't think I've hit it quite to the same extent that you have, but yeah. Yeah, I've run into it and it's always been a nightmare, and I haven't come up with a general…I haven't generalized how to solve it.
Guy: Yeah. I don't know if it can be generalized. I just was hoping for something smart.
Loren: No. I think we’re all in the same boat.
Guy: I think that's like the design choices of the springboard and iOS in general, and these software tricks I see you make, I think a lot of choices get made that get set in stone.
Guy: Exactly. Accidentally, and you have to keep working on them. You can be nimble and hope to overcome them or you can maybe hope to be smart and hope to plan for them but ultimately I think the longevity of software is something that is hard to think about at the moment but it ultimately one of the most important things to consider.
Loren: Yeah. Well put.
Rene: What's interesting to me Loren is that you're almost, I guess you were one of the first to do a new app for an update Tweetie Two was a whole new app on the App store, and others have done it sense and it seem whenever there's a big app that does it it's a little bit controversial. Did that work out the way that you wanted it, and would you do that again?
LOREN: I wouldn't do it again, but I think it was the right decision at the time. Knowing what I know now I would plan for something like this, and I would take a totally different approach to selling apps. I wouldn't charge to $ 2.99 upfront. Just, I wouldn't do it.
The free with an in-app purchase you know, like, pay for features style that seems like a good way to sell software and it's certainly the way Apple wants you to sell software. They don't want you to charge for a massive update. For technical reasons I couldn't go the in-app purchase route back in the Tweetie days because literally it was a whole new app.
Loren: Right. Yeah. No, I thought about it but it would've been interesting if I tried to like combine the two into one, and then just have a separate app delegate for each one and literally launch different app. But that seems like it would have been very gnarly.
Guy: That's crazy.
Loren: Don't do that.
Guy: Well I can understand why that would be an option that you would consider but I mean just from its development point of view you have to realize that at that point you are mauling your code base in order to support some weird App Store restriction.
Loren: App Store Restriction, yeah.
Rene: You're paying for past sins on future, future goods.
Guy: Would you say you embraced the race to the bottom, like you're OK with it?
Loren: Yeah maybe. See, I don't know. If Apple set the price floor any lower than $.99…What if they set a price floor at $.10, I'm sure there would be $.10 apps in the store, and I don't know at what point does it become the unsustainable?
Rene: I can't even get candy for $.10 anymore.
Guy: Your point of view is, not to projecting you, but it's basically, “Screw it, I'm going to give it away for free and charge for premium features”?
Loren: I like that approach only because it gives me flexibility in the future.
Guy: Now does that work…? That is a great model for games, certainly the games I've worked on, because you can always sell downloadable content effectively. Not just on iOS, but on any platform. They've even got an acronym for it, it's DLC.
That is a great model for games. Where you effectively have got an engine, and you just feed it goodies and they play for it. How does that work in the world of applications though? Not Letterpress, which I find it's half way between a game and an application, Letterpress. But actual applications, how would that work for say Tweetie?
Loren: For Tweetie, I put a little a little bit of thought into it. I came up with a dozen ideas. But the one I remember was it free for one account and if you wanted to put more than one account into it you paid a premium.
That was a very pro feature. It was a niche in the market, but that niche needed the feature. It was an absolute requirement.
Loren: I could have charged a decent amount of money for that upgrade I think.
Guy: Yeah, I think I would have paid 10 bucks for that. I have two accounts at least.
Rene: I think that was Twitterific’s model. You got rid of ads, and you got multiple accounts.
Loren: Oh was it?
Rene: Yeah, at least with one of the new versions of Titterific. The paper charges you per…Like you get the brush, you get the ink I think for free and then you get the brush and the other tools for in-app purchases.
Loren: Yeah, I love paper. Yeah, I guess that model works. I have no idea what their conversion rate is but the app is awesome.
Guy: Is it free? It is, yeah?
Loren: It is free, yeah.
Rene: Then I immediately bought every tool imaginable, and then I bought the mixer the day it came out.
Rene: Do you think there's a place still for time bombing. You’re not allow doing that on iOS, but do you think there's still a place where you get it for free for a certain amount of time and then you have to pay for it?
Loren: No, I think that's lame. Everyone’s different, I don't think you can say, “Oh, you can use it for an hour.” I can't get a sense. Or two weeks, I might use it once in two weeks. I like the idea of paying for something of value, and features have value.
Guy: I think that's an old school way of approaching things. Timing out an app is something that you'd do in 1998.
Rene: With a serial dongle on the computer to run it in the first place.
Guy: Oh man, that would be awesome. Loren, your next app…serial dongle, you'll mail it. Individually mail it to people.
Rene: It'd have to go into 3.5 because Apple locks down the lightning now, but you could still get away with.
Guy: Exactly. Yeah exactly, but that would be awesome.
Loren: That would be awesome.
Guy: You know what? I swear to God, I think you could sell, like you charge 50 bucks for an app with an actual dongle for it. You would sell. You would get at least 50 bucks.
Rene: Well Square's basically a dongle.
Guy: Yeah that would be good. Yes, Square is interesting. Square with that little dongle thing seems to be doing pretty well. Do you guys ever use that?
Loren: I want to. I wanted to use CardCase for so long but nobody takes it in Philadelphia. Level Up took over Philadelphia.
Guy: Oh yeah?
Guy: Interesting. I'm not sure if it's public, but they're coming to Canada.
Rene: They are, they’re in the Apple store now.
Guy: Oh OK, good. Yeah, I've got a dongle, but I’ve never used it.
Rene: [indecipherable 84:47].
Loren: I think I've use it, I’ve only used it to pay myself like a dollar to see if it would work and it did. It worked.
84:47: But if you sell the Letterpress board game you can run that through square.
Guy: Did you use the signing view? The signature view?
Loren: Yeah. I signed my own signature and everything.
Guy: Yeah, that was me, you're welcome.
Loren: It's stunning. How do you smooth the strokes? Do you do it on the fly, or do you like wait for...?
Guy: This is why I wanted to mentioned it. Holy crap, that was a pain in the ass to do.
Guy: I was doing [indecipherable 85:20] curves and then doing a bunch of math on them, totally failed.
Guy: I imagine that there is a correct way of doing it through math. I don't know about you, I’m bad at math.
Guy: Like I'm good at graphics, I'm good at a lot of things. I know what I'm good at. I'm good at making things work like they…so that they feel natural. Math is not in my tool bag too much, you know?
Guy: I don't want to make myself sound stupid but…I'm sure as a graphics programmer you know where I'm going with it right? It's...
Loren: No, no, I know and I'm certainly way worse at math now than I used to be. In high school I think, maybe this is me misremembering, but I think I was pretty decent at it. I was deriving calculus things. I was trying to do it faster than my teacher could write it on the board. I was taking number theory classes from a community college. Now I can't even do long division anymore.
Loren: I'm so lazy.
Guy: Well you get laze, you get made lazy by constant access to a computer where you can just type in whatever you want. I know how to apply pretty high order math stuff to a problem. I can't remember exactly the details of how it works.
Loren: Yeah exactly. [laughs]
Guy: I'm just, “I need to do this to that and I can get X,” that's what I know, and I do it. Anyway…
Guy: I couldn't figure the signing thing out. What I ended up doing was a simulation. Depending on the distance between the points and the speed and the time I would make the brush thinner or thicker. If you were going slow then it got thick. If you were going fast it was, it became thinner.
Purely by just simulating it at each point, at each touch point and interpolating between the points, I managed to achieve a pretty decent looking line.
Loren: That's awesome.
Guy: Often in computer graphics, if you do the dumb way, you get the nice, natural result. That's what I chose to do, or at least that’s…
Loren: If you think about it, it's all physics, and physics is some of the simplest math there is, at least at the level we're working.
Guy: Right, yeah. No, I totally agree. It was a blast to do, and I ended up proud of it. What I liked best about it, is I spent most of my time trying to do this really complicated derivation of X number of input factors, and what ended up working well was a relatively simple simulation of the way a brush would work while dragged across a piece of paper. I don't know how we got from Letterpress to that, but we did.
Rene: It's our first show.
Loren: You have a lot of leeway.
Guy: We're learning.
Rene: Awesome. Loren, thank you very much for joining us for our debut episode. Where can people find out more about you, about Atebits and about Letterpress?
Rene: Very succinct. I also happen to know you have a Twitter account.
Loren: I do, @atebits, A-T-E-B-I-T-S.
Loren: No, I don't get app.net.
Guy: Are you on it?
Guy: [pause] That's weird. Why not?
Loren: Well, this is a whole different topic.
Guy: Yeah, yeah, OK. We've already had an hour and a half, and I'm bored with you.
Guy: GTE on Twitter and app.net, and Kickingbear.com on the Internet’s. I'd like to really thank Loren for being the debut guest, because I think we got off on a really good foot. I had a lovely time talking to you Loren. Thank you.
Rene: It’s a heck of a way to come out of the gate.
Loren: It was an honor to be on this show. Thank you.