THE OMNI SHOW

Connect with the amazing community surrounding the Omni Group’s award-winning products.

RSS
35
March 6, 2019, 6 a.m.
Greg Titus, OmniPlan Engineer

Greg Titus has been at Omni for 25 years — for almost the entire time that there’s been an Omni. Greg’s superpower is creating new things. Sure, everybody likes to think they’re good at creating new things, but Greg’s different: he’s actually good at creating new things.

Show Notes:

Greg talks about the early days as one of the first people hired. He talks about the days when the money came from contracts, when the apps started out side projects.

Those side projects included OmniPlan, which he started working on because a resource scheduling algorithm sounded like a fun thing to write. Which tells you the important thing to know about Greg.

That, and this little bit of trivia: the city of Kent, Washington, just outside Seattle, originally known as Titusville, was named for one of Greg’s ancestors. In a boomtown where it seems like everybody came from somewhere else, Greg is one of the rare ones — Northwest by birth.

Some other people, places, and things mentioned:

Transcript:

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: That's my favorite part. [Laughter] I'm your host, Brent Simmons. In the studio with me today is Greg Titus, OmniPlan engineer. Greg does a whole bunch besides OmniPlan, but that might arguably be the biggest thing. I don't know. Say hello, Greg.

Greg Titus: Hello Greg.

Brent: So we're recording this on February 14th, which is Valentine's Day, so naturally I invited Greg in.

Greg: Cause I'm so romantic?

Brent: Yes. That's it. But it's our first day back in the office after, I've been calling it Snowzilla. Other people call it Snow-pocalypse. Snow-mageddon. It's been remarkably rough. Greg did you enjoy the snow? Do anything fun?

Greg: I did. I love to just curl up at home and not do anything and the snow is a perfect excuse pretty much to do that.

Brent: Nice.

Greg: My daughter had her 14th birthday, so that was… my one excursion into the snow was to try and pick up her friends to come to the house and stay over and make an ungodly amount of noise.

Brent: Were they in walking distance, hopefully, or did you still have to drive somewhere?

Greg: A couple of them were but we. Yeah, I had to slog out, not too far fortunately. The roads were not good that day.

Brent: One thing I noticed is that not everybody owns a snow shovel. Jim Correia, for instance, ordered one when the snow started and I think, because of the snow it couldn't be delivered. Now that the snow is gone he's getting it delivered like today. Did you have a snow shovel already?

Greg: We had a very crappy snow shovel that I did about half of our walk with, and then I went and made my teenage son go do the rest and fortunately...

Brent: There you go

Greg: At that moment, my friendly neighbor across the street had a really nice, wonderful snow shovel that he let my son borrow, and he finished the other half of the job in like a third of the time that I was out there.

Brent: Sure. Let the kid borrow the good one.

Greg: Yeah. Exactly.

Brent: So, I was remembering, the last time I was on a podcast with you. It was at WWDC...

Greg: Oh, Yeah.

Brent: In 2008, probably.

Greg: It was right when iOS 3, or whatever it was, the first time that they were doing third party products for iPhones.

Brent: Right. Right. So the App Store wasn't even open yet.

Greg: Yeah.

Brent: They were just introducing the SDK to us. And so it was you, me and Craig Hockenberry. I remember that day well because it was in the summer, maybe even later in the summer, I'm not sure. I had stayed up a bit the night previous, and...

Greg: I've heard stories about the night previous.

Brent: The podcast was at like noon or something. But that felt early to me. And the studio was a mile or two away and it was blisteringly hot and we walked all the way to the Macworld Studios from where we were staying with Jason Snell and you, me and Craig. I just remember that walk being one of the toughest walks I've ever taken. I was surely sweating.

Greg: I had no idea at the time until I heard about it afterward.

Brent: Well, even if I had had a full night of good sleep, it was still really, really hot that day.

Greg: It was. It was very warm.

Brent: I remember the excitement though of you know, “we're going to be able to make iOS apps!” Well, we called them iPhone apps at the time. That's cool.

Greg: Yeah, I was seeing the OmniFocus for iOS, the very original version.

Brent: Which I used and remember well. I saw some screenshots of it the other day. It was one of those, that 10-year challenge that was going around on Facebook.

Greg: Oh, yeah.

Brent: Someone did that with a bunch of different apps and they showed OmniFocus then and now. And it was cool to remember what it looked like at the time.

Greg: Well, I think everybody was trying to copy the Apple apps then 'cause we didn't know what we were doing. And so it was very simple, sort of table views and stuff in that original first version.

Brent: Yeah, and a lot of gradients and depth and all that kind of stuff too. Yeah, I hadn't though about that podcast in a long time. It might be available somewhere. I can find out I'll put in the show notes. Your last day in the office is tomorrow.

Greg: Yeah.

Brent: And then you're working remotely. What brings you to work remotely? Which you've done before.

Greg: So, I've been at Omni forever and we moved to Portland, geez I don't know, 15 years ago, and then moved back eight-ish years ago. I worked remotely for quite a long time and then I'm going to Eugene, Oregon, this time. And it's mostly Seattle's just gotten too big, too busy, too many people, too expensive. And Omni is great and wonderful in allowing me to do this and still not have to find a new job and it's really cool. And I'll miss everybody and miss the lunches and dinners I think most.

Brent: No kidding. Yeah. Being at home for the few days, I realized how nice it is here in the office. And the lunches and the dinners.

Greg: I went vegetarian a couple of years ago and I don't know how to cook vegetarian food. So I'll have to learn now.

Brent: Was it more your kids feeling the need to move?

Greg: Yeah, my kids, my wife. I think we've become really kind of stuck. There's so many things to do in Seattle but it's so hard to get to them and there are so many people there when you're there that...

Brent: Quite right.

Greg: We've found ourselves sort of doing less and less, and it'll just be some place where maybe there's not quite as many options but it's less of an endeavor to actually do them.

Brent: Right. That makes sense. Seattle is... it's happening. Every night there's stuff worth doing if you can get there.

Greg: If. Right.

Brent: You worked on OmniPlan when you're here. Now, we're gonna do another episode about the OmniPlan story, but just roughly, you were the first engineer on OmniPlan?

Greg: Yeah. I actually did OmniPlan originally as sort of a side project, 0.5 prototype stuff. And we had a product pitch internally where everybody was invited to do, “What app should we do next?” And I said, “We should do this one,” and that's kind of where OmniPlan came from.

Brent: Aside from continuing to work on OmniPlan, which I assume you'll do, you've also done some work for OmniFocus for the Web recently?

Greg: Yeah. OmniPlan is my sort of fall back usual kind of work and then I jump into other projects when they need me for things, and I tend to do prototypes of new stuff, which is why I ended up doing the OmniFocus iOS app, originally.

Brent: Right. iOS app. It was our very first iOS app.

Greg: Yeah. And so the OmniFocus for the Web was similar, where you just needed somebody to do it, or help do it. I certainly wasn't alone. And I like jumping around to doing new things. So I was doing a lot of the JavaScript front end for that, mostly the part having to do with communicating to the back end.

Brent: Okay. So you were writing a bunch of JavaScript, which is a little unusual for you.

Greg: Yeah. Before that I had actually done some of our support for OmniJS, which is our automation technology stuff. So that's JavaScript but it's, you know, you're writing Swift and Objective-C to support the users writing JavaScript, so it's a little different to be doing JavaScript as the programming language instead of as the thing that I'm supporting.

Brent: Right. Yeah. I get it. So you didn't write the server-side APIs. You were on the front end, communicating back to them.

Greg: Right.

Brent: Who was doing the server-side stuff?

Greg: That's Tim Wood.

Brent: That was Tim Wood. Okay.

Greg: Yeah. He's probably one of the most knowledgeable people here on the OmniFocus internals, so he's doing that. Essentially the server-side of OmniFocus for the Web is the Mac app with the user interface ripped off and then kind of repurposed as a server.

Brent: It still sounds to me like the most Omni thing ever that, instead of writing some compatible web service, we just took our Mac app and run it on the server. Macs now as servers.

Greg: I think, you know, you've been doing this for a long time, you get both comfortable with a set of technologies that you're comfortable with, but also I think you have to have a healthy respect for... OmniFocus is 10, 15 years old. There's a whole lot of work that's gone into that 15 years and you can't really reproduce it in a new environment that easily.

Brent: Oh, sure.

Greg: You need to save and keep as much of it as you can, even if you're doing something a little bit different with it.

Brent: Didn't you also do our first watch app?

Greg: Yeah. So again, OmniFocus for the Watch, I don't think we've shipped any other watch apps yet.

Brent: Yeah. That's true. But the first version of OmniFocus for the Watch.

Greg: But the first version. Yeah, I like doing first versions of things. I like prototyping things, and it's a lot more fun to start with nothing and build the fun parts and then you don't have to be careful until the end stuff.

Brent: You've got people to do that for you.

Greg: Hopefully. If you're lucky you get other people to do those parts.

Brent: Yeah. A lot of programmers, I think, would agree with you. Sometimes I feel like, for myself, there are two programmers who inhabit me. One who loves that part, and then there's the other kind who just loves, like, that polish in getting everything perfect. The smallest details.

Greg: I love people like that because then I don't have to do it. I'm terrible at polish. I'm great at big picture.

Brent: How'd you come to Omni? You've been here 25 years. Omni is... That's almost as long as Omni's been around. Just short of months, I suppose.

Greg: Yeah. I think when I interviewed— a partnership and then they incorporated in between the time that I interviewed and got hired. Omni existed as a name but kind of officially became a corporation pretty much the same time I was hired.

Greg: I knew all the founders from school, the University of Washington, and I had a housemate at the time, Wim, who works here now, who had somehow, I don't know how, found out that they were looking for somebody. And he went in and interviewed and then told me about it afterwards and said, “Hey, this seems like a cool job, but they'll never last. It'll never go anywhere.” So he decided to turn it down for something that he thought would be a little bit safer. And I was, at the time, working for Microsoft and was really dissatisfied with trying to get anything that felt like I accomplished anything in a company of tens of thousands of people.

Brent: Even 25 years ago Microsoft was pretty large.

Greg: Yeah. Even then. So I asked to interview and took the job and loved it. And then the job that Wim decided would be safer, that company went out of business a couple of years later, so now he's been at Omni too.

Brent: So you must have been barely old enough to drink even when you were hired here.

Greg: I was 20 when I was hired here. I went to college early so I had been at Microsoft for three years before that. And then Omni at 20 and...

Brent: Hired right out of college for Microsoft.

Greg: Yeah.

Brent: In those days where else were you going to go around here? Right. I mean, Microsoft was the obvious choice.

Greg: I'm sure there were lots of other small things around here but pretty much Microsoft was the tech industry here.

Brent: And even so, not nearly the number of small things there are these days.

Greg: No. Seattle wasn't as much of a tech hub then as it is now.

Brent: We had airplanes.

Greg: True. It was all Boeing then.

Brent: We were a company town. Making airplanes. Times have changed. Had you programmed for the NeXT while you were at school, or did that start at Omni Group?

Greg: They had some NeXTs at the university but I never used them for anything except as a dumb terminal, to connect in. So I thought that they were fancy but I'd never done anything with them and then, actually, my first real NeXT programming was at Microsoft. That they had— I was on the Cairo team there, which was their object-oriented operating system thing that was supposed to compete with Taligent, and then both of those things failed, and so most of that stuff never went anywhere. But they had a room in the building that I worked in there that was the idea room, where they had basically one of everything. So I played with the old, like Sun operating system thing that had this 3D walk-throughs, like in the original. “This is UNIX, I know this.” Jurassic Park. And I played with NeXTSTEP and did some programming on that. That was my first exposure to the programming on NeXT was actually at Microsoft. Was, “let's see what ideas we can steal from this.”

Brent: So for a large part of your career here, the early third or whatever, Omni was a contracting company. Did you do a lot of that work?

Greg: Yeah. I did. I was. We did a whole bunch of consulting for a long time, at first on NeXTSTEP, and then maybe the second half of the consulting was on WebObjects, which is NeXT's and then Apple's web offering for doing server-side stuff there.

Brent: Well known for it's terrible URLs.

Greg: Yes. It was. When I first got hired on we were working for William Morris Talent Agency. That was my first job, working on that, and that was for like an address book on steroids thing because they were tracking, for each person, all their different agents for— and all their different phone numbers for their L.A. house and their Paris house and their literary agent and their movie agent and their...

Brent: And probably some of the first cell phones and car phones too.

Greg: Probably. Yeah. Car phones. I don't recall cell phones then, but probably car phone.

Brent: Yeah. Car phones.

Greg: And then for a while during that, not immediately, or course, but for the second half of the WebObjects work, I was also, as well as being an engineer, I had the title of Vice President of Consulting, and I was the person who did the— I mean, it was a courtesy title more than anything to impress clients with, but I was the person who would get in the suit and go and say, “Yes, we can write the software for you.”

Brent: Oh, Wow. You're a salesman.

Greg: I'm terrible at talking, but I'm really good at being confident that I can program things, so I think that was the part that would come across, hopefully.

Brent: Well, if they believe you can do it.

Greg: ...and work out.

Brent: Back to William Morris. When you were writing their address book, did you actually get the addresses of all the stars and stuff?

Greg: We did. I think it was accidental a couple of times, but we did get real data dumps and, as guys in our early 20s who weren't terribly mature, it was tempting sometimes to have the private phone numbers of stars, at the time, but I don't think we ever did anything. It would be terrible if we ever did anything with this. But it was fun to know that the temptation was there sometimes.

Brent: Calling up someone. “Hi, I'm Greg. I'm a programmer. You don't know me...”

Greg: “You don't know me. But I have your phone number.”

Brent: “This is how I got your phone number.” Yeah, that's not going to go well at all.

Greg: No. No, no. I probably, I would not have continued to have this job.

Brent: Another big project I remember hearing about is McCaw Cellular, which later was acquired by AT&T.

Greg: Yeah. Acquired by AT&T. Became AT&T Cellular, so that was a fairly big client, and they were there for—

Brent: They were Seattle-based, right?

Greg: Yeah. Kirkland.

Brent: Kirkland-based. Okay.

Greg: But close by. Across the water. And their two big apps, customer acquisition, customer care, which is get people signed up and then when they call up, how do you help them, were both big NeXTSTEP and then OpenStep apps. And so there was a lot of consulting happening there. Us and... geez, a bunch of other companies here in the Seattle-area for a while, for several years. They were the biggest Seattle-based NeXTSTEP people.

Brent: So interesting to me that NeXTSTEP was such an enterprise thing. And then Apple, which is not an enterprise company, goes and buys them, and like adopts NeXTSTEP for everything, essentially. Which seemed oddly strange to me. And why would they bring back Steve Jobs, who's clearly a has-been, at the time? Many of us — I come from the Apple side — we were befuddled by that acquisition. But I recognized at Omni, probably everyone was jumping for joy.

Greg: Everybody was, yes, it seemed huge to us. I mean, the timing of it was the dotcom crash was around that time and consulting work was getting harder and we had these productivity apps for NeXTSTEP. OmniWeb had existed for years on NeXTSTEP before this. And so for us it was like “Oh, my gosh, all these Mac users are suddenly gonna be forced to use NeXTSTEP,” basically, is what it seemed like at first. And it was a huge break as far as we were concerned.

Brent: All these Mac users. To a Mac user didn't feel like very many people...

Greg: To a NeXTSTEP user it was a huge market.

Brent: I remember at one point WebObjects had moved to Java, instead of Objective-C. It seemed like the whole industry was going that way.

Greg: Everybody was trying to do Java, yeah.

Brent: At Omni, did you use Java? Or did you stick with Objective-C?

Greg: We stuck with Objective-C. There was another... WebScript was the interpreted form that looked a lot like Objective-C without the C, that WebObjects also used.

Brent: The real thing. Not like Swift.

Greg: Right. We did them almost entirely in WebScript and a little bit of Objective-C. I think that, around that time, there was also sort of an abortive attempt to make Objective-C look like Java. There's the modern syntax...

Brent: I forgot about that. Yeah.

Greg: It was sort of Java-like but still the Objective-C runtime and Objective-C stuff. So, NeXT / Apple was doing all kinds of weird stuff in that direction, because it seemed like everybody knew Java or had to know Java around then.

Brent: So did the transition to products arise because of the Apple acquisition, or the dotcom crash, or kind of both things at once?

Greg: I think that it was something that we had always wanted to do. I mean, you don't particularly like to write other people's software for them and... It's a whole lot more fun to choose what you're doing yourself, even though the selling part is not great. But I think that—

Brent: Well you're selling either to individuals or you're selling to large enterprise, there's always selling.

Greg: Yeah. That's true. But I think that the Apple acquisition and the dotcom crash sort of all happened at an opportune time and it was... We were like happy to jump into doing more product stuff, and then there was a transition there of a couple of years where we kept on taking some consulting projects, and it'd be like half the company working on products and half the company doing consulting.

Brent: How big was the company, roughly, around then?

Greg: Oh... maybe 15 people? I think we had like eight to 10 engineers and a couple of support people and other people like that. It was very engineer-focused for a while, especially when we were doing all consulting, there wasn't anybody except the engineering team, so.

Brent: That makes sense. So OmniWeb was probably the first product released?

Greg: That was back in ’95, I think, was the first release. I could be wrong about that. But yeah.

Brent: Outliner next?

Greg: Yes. Outliner was like... I don't know. I've lost track. 2003, 2005? Outliner is actually one of the only apps here that I didn't really have a hand in doing much with. I've worked a little bit on Outliner before but none of the core, important bits of Outliner was anything that I've ever done.

Brent: Though those bits are used in OmniPlan.

Greg: In OmniPlan, yeah. So basically the whole outline from the Outliner is embedded in OmniPlan. So I'm familiar with all the code but I've never really done anything significant on Outliner itself.

Brent: I've worked on Outliner.

Greg: Yeah.

Brent: Essentially the last thing I worked on. Yep. I said, nah, I'm going to go do podcasts instead. I love Outliner though. I've been an Outliner user probably since it was first released. I'm an outliner fan... of outliners in general, for many decades. Outliner is great.

Greg: I think out of the apps at Omni, I actually use Graffle the most. Myself, as a user. Diagram stuff. For some reason I've never really gotten into OmniFocus, and OmniPlan is actually the hardest thing to use internally as an individual, because you're not really planning projects all that often.

Brent: Right. Sure. Well other people are. You have any hobbies?

Greg: I have a lot of sort of stereotypical programmer hobbies. I play video games, I program as a hobby outside of doing it for work.

Brent: That's always fun.

Greg: Yeah. Lately most of my hobby programming has been on the Swift compiler, which is kind of...

Brent: Cool.

Greg: ...fun to do. And then I was a sailor for a while. I had a sail boat that we were just forced to give it to my father-in-law a year or so ago. Along with everything else happening in Seattle, moorage is getting super expensive, so keeping a boat here is really difficult.

Brent: You've got some pets. I know Zoe.

Greg: Yeah. We have two cats, two dogs, and Zoe is my black lab who comes into work with me everyday and spends all day with me.

Brent: And barks at the people walking by.

Greg: Barks at everybody.

Brent: Well. Barks at me, at least.

Greg: Yeah. She actually, she only, she barks at people that she doesn't know very well. What she wants when she barks at you is she wants your attention. She wants you to come pet her. And if it's someone that she knows is going to come pet her anyway, then she doesn't need to bark.

Brent: She's smart. Wow, what a good dog. We'll stop on the barking. Barking's good.

Greg: All right.

Brent: So. Thanks, Greg. How can people find you on the web?

Greg: I am on Twitter and @GregTitus, and that's about it. I don't really have any other presence.

Brent: I'd also like to thank our intrepid producer Mark Boszko. Say hello Mark.

Mark Boszko: Hello Mark.

Brent: And especially, I want to thank you for listening. Thank you. Muuuuusic.

[Laughter][MUSIC PLAYS]