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

Dec. 11, 2019, 6 a.m.
How John Gruber, Raconteur, Uses OmniOutliner

John Gruber, professional blogger and podcaster, has been using OmniOutliner for just about as long as it’s existed. His main use is for planning projects — for instance, he recently moved servers, which is something he’s rarely done, and he used OmniOutliner to keep track of the many details and things to check.

Show Notes:

He also uses OmniOutliner to collect certain kinds of information. An example is his long-running “Hacks” outline, where he collects and organizes bits of scripts and command-line incantations.

You can find John at his website Daring Fireball, his podcast The Talk Show, and on Twitter @gruber.

Some other people, places, and things mentioned:


Brent Simmons: All right.

Mark Boszko: OK.

Brent Simmons: Cool. Well, you got my show notes. We'll talk about OmniOutliner, we'll do listener questions, and we'll aim for around 30 minutes, and if it's quicker, longer, that's okay. All right.

Mark Boszko: Rolling.

Brent Simmons: We're rolling.

John Gruber: I think 30 minutes between sentences.

Brent Simmons: I know. Mark's like, "Come on man. Don't make me edit this thing that much." Mark, just leave that in, that's a Talk Show style opening right there.

Mark Boszko: Oh, okay.

Brent Simmons: All right. 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.


Brent Simmons: I'm your host, Brent Simmons. On the line with me today is John Gruber, OmniOutliner user and raconteur. Say hello, John.

John Gruber: Hello John.

Brent Simmons: Right before recording, I actually looked up the word raconteur, because even it is a well known word, I didn't really know what it actually meant. I thought it just meant cosmopolitan guy around town who's cool, but actually it means recounter, like storyteller, teller of spirited anecdotes, that kind of thing. And I thought, "Goddammit, of course. That's the perfect profile for John Gruber."

John Gruber: A raconteur is the sort of person, number one, is who you want on a talk show. But number two, it's the sort of person you would like to go to dinner with, right? You could go to dinner with — and, I'd like to think that in a pinch. And again I'm not ... most nights I like to stay home. I'm a homebody, but you know what, in a pinch, if I got roped into going to dinner and it was with a bunch of people, I don't know, I like to think I could pull my own weight at the table and tell amusing anecdotes that would ... ladies and gentlemen at the table would think that was an enjoyable evening.

Brent Simmons: Yeah, I think that's probably true. I've heard you tell them an amusing anecdote over dinner once or twice and yeah, you did well.

John Gruber: Once or twice, Brent, once or twice. Well you know it's funny too, because you know who I think of as a classic raconteur, would be George Burns.

Brent Simmons: Oh yes.

John Gruber: And you informed me that when you told me that I should say "hello John," I should say "hello John." And I don't want to break the streak so I wasn't going to interrupt it, but it took everything in my power not to say "goodnight Gracie" …

Brent Simmons: Of course, yeah.

John Gruber: ... instead of "hello John."

Brent Simmons: And there's something to be said for those recurring shticks like that. So today we're talking about OmniOutliner. You're a user. What do you use OmniOutliner for?

John Gruber: I love OmniOutliner. And it's funny because I feel like there are two types of apps that you love. There's the type of app that is always open. It's like you're shocked when the little dot next to it isn't underlined in the dock, because it's always open. And then there's the kind of app that you don't use every day, but when you need it, you need it. And for me, that's OmniOutliner.

John Gruber: And I use it for any sort of thing that, in my mind, I would call a project, that is more than two or three check boxes. It's two or three check boxes, I'll throw it in the Reminders app or I'll put it in Notes app, or you know me, I always carry a little notebook in my back pocket. I'll just put it on paper.

Brent Simmons: Sure, yeah.

John Gruber: My little notebook on paper is a great comparison. It's actually better than comparing OmniOutliner to other software, is I carry a usually like Field Notes brand notebook, something that fits in the back of your pocket very easily. Well, it's a good sign of how busy I am, but if it's every day, usually every two days I have to turn the page and I write more stuff down. I put the date at the top. If I expect that the stuff I'm writing down that I want to remember, maybe it's a long article, maybe it's a feature article for Daring Fireball. Maybe it's some software project. Maybe… it doesn't matter. But if I expect that it's not something I'm going to complete, or cross off, or check off, or whatever verb you want to use for completing it, in the next 24 to 48 hours, then I'm way more likely to want to put it in OmniOutliner.

John Gruber: That's something that I'll ... I know which document I want to put it in, and then I know it's there and it's no longer right in front of my face. And it's way for me to organize things that are more complex than one or two items.

Brent Simmons: Interesting. Do you basically have one big document that you use or do you have multiple separate documents for separate things, or how do you organize this?

John Gruber: I saw that question and I thought that was a fascinating question because I thought that I was a weirdo for having one like that. I have one called Hacks and that's where I put my ideas for scripty type things, things that I do programmatically, whether it's in Perl or AppleScript or something on my site, and like an Automator service I want to write or something like that.

John Gruber: And if I know that it's what in my weirdo brain calls a hack, it goes into Hacks. And so Hacks is sort of ... I would continue using OmniOutliner if I only used it for that one outline. It might be my longest running one and most frequently updated. But for most things I make a new one and it's organized by the project in that outline.

John Gruber: So for example, I've been writing Daring Fireball since 2002 and I've only moved servers twice.

Brent Simmons: That's a pretty good track record.

John Gruber: Because it's traumatic and I ... but you happen to know, because we're pals, that I moved last week, and I was under the gun because my previous hosting provider Joyent, where I used to work way back when before they were even a hosting provider. I went to work there, we were working on productivity software on the web and then they became a hosting provider and I left the company but was on such good friendly terms that when I left the company, I moved my website there because I thought we had done such a good job setting up a hosting service, and the type of server I was on was being decommissioned, and I had to be done by Saturday and I was kind of ready to move, but you're never really ready to move. It's just like moving in the real world. You think you're ready to move, but all of a sudden when your boxes are going out the door, stuff gets real. That was an outline. Stuff you need to do, and because there's this stuff you know you need to do, and then there's the stuff that you discover along the way that you need to do. And it's like, man, you better have a list and you better be able to check off the items and feel like, yeah, that's done.

Brent Simmons: So what kind of details went on that list? You had to move a Movable Type installation?

John Gruber: Yeah, and it's funny because I'll tell you the one thing, and I'll be completely honest with you. Half of the items ... the stuff that was just for me, stuff that only I could do because I'm weird and I've set up certain things on my website in a way that only I can understand and only I'm going to be able to fix or make sure it still works. Those went into OmniOutliner. But I have a friend named Ryan Schwartz who I met, he was a colleague at Joyent back in the day, he's a professional system administrator. And so he did all of the really nerdy stuff like exporting a MySQL database for Movable Type from my old server into an interchange format and then moving it to a brand new server that's ... This is, we're talking about 2007 to 2019… so 12 years is a long time in the tech world. He did stuff like that.

John Gruber: And so for the shared stuff with him, we used Apple Notes with a little checkbox. But it was funny, and it's funny, I was thinking about it because I knew I was coming on the show with you. It's funny because I kept thinking with the checklists and Apple Notes that I was sharing with him. I was like, man, I would type key commands that I thought would work to indent, and it's like, "Oh that doesn't work."

Brent Simmons: Nope.

John Gruber: But it was nice to have a shared list that we could have and he'd check something off and I could see that he checked it off. But for the other stuff it was like, man, I wish OmniOutliner had shared notes.

Brent Simmons: Yeah, I hear you.

John Gruber: Yeah. Anything and everything. I don't know. There's nothing specific, but it's just little things like, "hey, here's a thing that I know could go wrong." I have a thing set up so that files that have .php extensions in the actual file system, when you go to my website, you shouldn't see that. You should just see whatever the name of the file is and it just ends without any file extension, and not see it. Double check that that works. Double check that if you do include the .php, it redirects you to the version of the exact same URL without the extension instantaneously so you don't even notice anything happen. But that way there's no crufty file name extensions in the URLs. Just dozens of little things like that, that occurred to me to double check on my way out the door of the old server.

Brent Simmons: And then there are the things like getting Unicode right that never make it onto the list in advance.

John Gruber: Yep.

Brent Simmons: So in your use of OmniOutliner, do you tend to use any of the more advanced features? Do you use multiple columns or text styling rules, that kind of stuff, or are you "expand and collapse" is basically where it's at for you?

John Gruber: I definitely use multiple columns. So, for example, my feature list and bug database — which again I'm laughing at my own procrastination — for Markdown is in an OmniOutliner document. So Markdown is ... I mean I'm assuming most people who are listening to this know what it is, but it's …

Brent Simmons: Probably yeah.

John Gruber: ... a little text formatting language that turns things like putting asterisks around a word, into italics in HTML. So you can write in plain text, use like little simple ASCII things like asterisks around a word to turn a word into italics, turns it into HTML. Has become fairly popular over the last 15 years. That's an OmniOutliner file and it's definitely multi column because there's categories of what the things are. It's a little bit more spreadsheety. But I would say most of my OmniOutliner documents are not multi column. They're just a singular hierarchy.

John Gruber: I don't use the styling stuff extensively. And that's an interesting thing because I feel like... I still use OmniOutliner. I still love it and I get why it went that way, but there's a part of me that still likes the very old OmniOutliner I first used and fell in love with, that didn't really have those capabilities or at least I think it didn't. It was more ... it's like the difference between a plain text file, and a styled text file. You can't, there is no ⌘-I for italic, because it's just text, and that the semantic conception of the outline is just level one, level two, and it doesn't matter what type face or font it's in, it's just about the indentation. And I tend to think of my OmniOutliner files that way and for the most part when I make a new one, I just start with a template that I've set up with fonts that I like, and treat it that way.

Brent Simmons: That makes sense. In my own use, I actually use OPML files with Outliner and those have no styling at all. It's the plain text version of outlining, but whenever I want to communicate with other people, I'm doing a document that's going to be shared and read by other people, then I set up text styling rules and everything to make it kind of easier to follow.

John Gruber: Yeah, I totally get it. And I think that I tend to go to the extremes, where if I'm doing something that I want to design, I want the most intricate control I can possibly have. And if I'm doing something where it's just purely text, I don't want any style at all. So if I'm writing, I'm writing in BBEdit where it's literally just a text file, no style at all. And I totally get why OmniOutliner has those features, and I'm blown away by some of the styled outlines that creative designers can make in the app. They're beautiful and functional, that you can use those styles to convey… It's almost like you're making way more than an outline. You're making something that's more like a presentation, and it conveys this information. But for me, the way I use it, it's really just a hierarchy of ideas.

Brent Simmons: So I'm assuming that even though there is other project planning software, from Omni and from many other places, what you like about OmniOutliner is it has that tree structure and you can expand and collapse, and it's otherwise free form to a certain extent, right?

John Gruber: Yeah, that's exactly what I like about it. And it's such a finicky, funny… I feel like nobody has ever fully explored how weird project planning slash ... We don't even know what to call it. You know what I mean? Like a text editor is a text editor. Everybody knows what BBEdit is. An image editor is an image editor, right? So we talk about our pal Gus’s Acorn. You know what it is. You open an image, you can take any image, open it, you're editing an image, you can scribble on it, you can draw it, you can run filters on it.

John Gruber: Something that you use for getting stuff done — with lowercase, you know, not the GTD official system — is so particular to everybody's mind, that we've got the most crazy variety of software for this stuff. And I know the back history, that what's now OmniFocus, which is a super popular, super successful app that tons of people put their entire lives in, right?

Brent Simmons: Yep, oh yeah.

John Gruber: There are a lot of people who are listening to you and me talk right now who are like, "Yeah, my whole life is in OmniFocus. I wouldn't be able to function. I wouldn't be able to get out of bed in the morning if OmniFocus stopped working." Totally get it. But I love the backstory that it started as an advanced OmniOutliner document and it was like, yeah, take this template for an OmniOutliner document and do X, Y, and Z and follow these rules, and you'll be doing the Getting Things Done system with tags. And that to me is amazing. It was almost like the app was prototyped in a different app. That's amazing.

Brent Simmons: Yeah. And a big chunk of that was AppleScript support too. OmniOutliner's had that since how long? But yeah. What you could do. Yeah, Kinkless GTD, it was called.

John Gruber: Kinkless GTD. That's right. Kinkless, right. And in some sense it's less of an ... it doesn't make sense that it would be an alternate app. But in some sense that's sort of how Markdown came to be, where I made Markdown in BBEdit. And part of what let me make it iteratively was the scriptability of BBEdit, that I could do these things and set up a shortcut where hitting — like for me, personally, I mean again, this isn't a standard shortcut at all, but if I hit ⌘-8, it wraps whatever's the current selection is an asterisks, because 8 is the key with the asterisk above it. And there were other things that I went through while making Markdown that I was like, ah, that's not a good idea and I'd undo it and throw the script away. But being able to experiment like that is so essential to the creative process, in my opinion.

Brent Simmons: So I'm picturing your development process, you have your text in one window and your actual script in yet another window in the same app, in BBEdit.

John Gruber: Yeah, that's true.

Brent Simmons: Which, like, that's a testament to BBEdit, for one thing.

John Gruber: Yeah. But except that when sometimes ... Do you ever do this? Like BBEdit it's one app where I do it, sometimes in Safari, or Chrome or whatever your browser is, is the app where I get tricked by this, because web apps, when they're done really well, are very app-y and you think you can ⌘-tab to another thing, except you can't ⌘-tab, because what you really want to go to is another browser window. But you think you're in a different app because what you're seeing on the screen is so compelling as its own application, and instead you're taken away. You really need like the ⌘-~ thing to go to a different window.

Brent Simmons: I like web apps that are well done but are still unmistakably web apps.

John Gruber: I do too. Yes.

Brent Simmons: I'm thinking of GitHub, right? I'm probably not going to make that ⌘-tab mistake there. It's just such a web app, and such a really good web app.

John Gruber: Yeah. I think the same thing about Flickr too, especially back in the day, when Flickr was at its peak as like a way to share photos. It never tried to trick you into thinking you were in a native app. It was very very webby all the way through, and didn't try to hide the fact that it was really just a webpage.

Brent Simmons: Mm-hmm (affirmative). When did you first start using OmniOutliner? Was it back when it came free with, was it Mac OS X 10.2 or something?

John Gruber: That's a good question. I probably started using it before that. Boy, it feels like a long time ago, but I remember, like that era from 2001 to 2004 or so, where I had two computers, one running classic Mac OS and one running Mac OS X and part of it was that there was stuff that still only worked on classic Mac OS and part of it was that the early versions of Mac OS X were slow.

Brent Simmons: Gosh, yeah. And that's being charitable.

John Gruber: They weren't terrible. It wasn't terrible. It wasn't like they shipped too soon. It was right to ship when they did, because you have to ship, and we could do a whole podcast about, "hey you gotta ship." But there was this new world, and while on the one hand there were classic Mac apps and utilities that either never made it or hadn't made it yet to the native Mac OS X version.

John Gruber: There was this other world of stuff on the Mac OS X side that had never existed on the classic side, and software from The Omni Group is at the top of that. The Omni Group had been writing software for NeXTSTEP from the dawn of time, the dawn of NeXT time.

Brent Simmons: Yeah, the early nineties, yeah.

John Gruber: And OmniOutliner was without question one of the first apps from this software company that I'd heard of, and had heard nothing but good things of, and tried. So I'm guessing I tried it and started using it before it was even included free. Well, it wasn't, I don't know if free is the right word. It was obviously some kind of bundling deal between the Apple and Omni, but—

Brent Simmons: Sure, right. But it came with the operating system, which of course in those days it was like 130 bucks to get.

John Gruber: Yeah, I'm sure that. In fact, I'm guarantee you I used it before 10.2, because it was too obviously up my alley.

Brent Simmons: Yeah. It was an exciting time as this new software was coming online and that was a lot of fun. Yeah. I jumped on OmniOutliner right away. I'd been working at UserLand software, which was all about outlining too, and after I left I'm like, "well, I need an outliner. Oh look, here's this," and I think I launch it almost every single day in the past 15 years or whatever.

John Gruber: One of the very basic things that I just love about it. I mean hierarchy is obvious, right? I mean that's what outlining is. Everybody gets what the hierarchy means, and you get the disclosure triangles, that you can close part of the hierarchy and move it around. But to me the big one is just the ⌘-'. Now you're in the note field for an item. And being able to put a note on an item that isn't in the hierarchy — and again it's very personal, what belongs in a note on an item, and what belongs as a sub item in the hierarchy. I can't explain it to you but I know it in my gut right away.

John Gruber: And like for example it might just be a URL, it might just be, "hey there is this item, I want to put it in my list." But then when I refer to it, I want to be able to click on this thing and open a webpage because this webpage explains everything about it. Where do you put it? It's ⌘-', paste. There it is, close it up and now I know it's safe and sound and I can get it whenever I want.

John Gruber: That to me was a revelation. It was probably the first true outliner I ever really used. I wasn't really a big part ... I had heard and respected UserLand Software on the classic side, but I sort of missed out on that whole boat because the time when I would've gotten on the Frontier wagon was when Frontier was still a commercial project and it was way too expensive for me. I was like 20 years old and couldn't afford whatever it cost, I don't know, a couple hundred bucks or something like that.

John Gruber: And then later on when the web revolution came and Frontier was sort of redirected as a backend for web publishing, I was using different tools to do my own web publishing at the time, even though I was still on the Mac and doing what now seems like crazy things, like running a web browser on a Mac. What was the name of the browser we used — or the web server we used?

Brent Simmons: WebStar.

John Gruber: Yeah, WebStar. I was into —

Brent Simmons: I loved WebStar so much.

John Gruber: I was sort of good at hooking WebStar up to FileMaker and drawing fields out of FileMaker.

Brent Simmons: I did that with Frontier as an intermediate step, so you could use Frontier to run CGIs from WebStar and then I'd use the scripting language in Frontier to call into FileMaker and put stuff together.

John Gruber: Crazy days.

Brent Simmons: It was a blast. Oh my God, it was so much fun. I had a little server in my apartment at the end of a 28.8 [Kbps] modem.

John Gruber: Part of it makes me feel like we were crazy kids and part of it though, I feel like we lost something, was that WebStar and Frontier and those things of that era had a visual state. They were true Mac apps and you could look at them and see what was going on in them. Right? When you run a web server now — and again, it's all very intimately familiar to me because last week I finished moving my professional business to a new server — It's like, I can't see MySQL running on

John Gruber: And you can log in, in the Terminal, and SSH into the server and you can type commands to run queries and get results and see things. But it's command and response. There's no visual indication of the current state where you can just explore it. And the thing that was so genius about Frontier was that what Frontier called the object database, you could always just see it, and there it is, and it's like an outline, and here's everything that's in it, and there it is.

John Gruber: And you could click a disclosure triangle and expand the hierarchy for one of the tables, and there they all are. And if something changed it would change right in front of your face. And to me that's the way computers should work. And I feel like it's a little sad that we've lost some of that. In some ways we had better ideas in the 90s than we do now about the way stuff should work. Too much stuff, to me, now works invisibly as opposed to visually.

Brent Simmons: Yeah, I agree with that. And I think of other examples too, like HyperCard or even Smalltalk, right? You had that visual environment right there, which was tinkerable and discoverable and your code would even be your runtime and that was pretty cool.

John Gruber: Yeah. I would say HyperCard and Smalltalk are both great examples. HyperCard being very, very Mac specific and Smalltalk predating the Macintosh. But yeah, the concepts behind it was that you had this visual representation of everything stored in the system. It was live, it was real. It wasn't like a ... what would you call it? Wasn't a veneer in front of it. It wasn't a shell. It was the real thing.

Brent Simmons: Yeah, right. You were directly there. Yeah. Good times. Going back even further, you never used MORE or ThinkTank or Ready or any of the older titles?

John Gruber: No, because the heyday of MORE and ThinkTank was before I was on the Macintosh. And so I was in high school, I graduated in 1991, and in the late eighties ... I've told this story many times before and I'll try to keep it short, but I grew up and my parents wouldn't buy me a computer, and I wanted one —

Brent Simmons: Well, you're never going to make a living at it, John.

John Gruber: Right. Well it's funny because a lot of my friends had computers, and so I had friends who had a Commodore 64, my friend Joey had an Apple IIe. Joey was the one who I tried to become really good friends with, because he had the Apple. And most of my friends who wanted computers and couldn't get one… They were expensive, and a lot of people's parents were like, "we're not going to spend all this money on a computer. You're never going to use it, or you're only going to use it to play games or something like that. And you already have an Atari 2600 so forget it." My parents wouldn't buy me a computer because they said, "if we buy you a computer, you're never going to leave the house."

Brent Simmons: They were right.

John Gruber: I was so mad at them. I was like, "That's insane. I guarantee you however much it costs to buy me an Apple computer or whatever computer — I'll take whatever computer you'll buy me! We'll get every penny we can get out of it." And they were like, "We don't care. We're worried that you'll never leave. You're not going to have any life." And in hindsight ... and I've had so many years now where I've gotten to spend all day every day in front of a computer. I can't complain that I haven't spent a long enough number of hours in front of a computer, at this point in 2019. I have to admit they might've been right, even though at the time I really thought they were wrong.

John Gruber: But even in school, so I took a ... I forget if it was 11th or 12th grade, I think it was probably 12th grade and I went to a public high school, but it was really small. We had a graduating class of only like 71 kids, but we had a really good computer teacher. Her name was Mrs Starr, S-T-A-R-R, and was a really good teacher, and we had a programming team. We were good enough, we actually took a trip — you know, I was in the suburbs of Pennsylvania, but I think it was my senior year, our computer programming team qualified to go to Houston, Texas, which was super exciting to me.

John Gruber: We didn't really travel much and we went there, and while we were there we went to see a Houston Astros game and the old Astrodome. It was great. It was great fun, programming mostly in BASIC at the time. But when given the choice, even in 1990–91, I chose to use an Apple IIGS instead of a Mac. We had one Mac in the lab, and I was intrigued by it. I was super intrigued by HyperCard in particular, but I was unfortunately, in my youth, erroneously biased against the black and white screen. And I thought, "this is a really fascinating machine. I'm fascinated by the system that seemed so consistent around it, around various apps. But yeah, I'll do all my work on the Apple IIGS."

Brent Simmons: Well, and the Macs in those days, you couldn't sit down and just start writing some code.

John Gruber: And it seemed a little weird to me. It seemed to me like when you turn a computer on, you should be able to start writing code. That is the first thing you should be able to do.

Brent Simmons: Yeah, darn right. Because, well, you probably need to, because you're tired of playing Lemonade Stand and now you need to write a game.

John Gruber: So yeah, but therefore I missed the heyday of MORE and ThinkTank, because then when I became a dedicated diehard nonstop every-single-day-since Mac user in 1991 when I went to Drexel University, and Drexel at the time had a very progressive, at the time, program where every student was required not to own a Macintosh, but to have access to a Macintosh, and all that really meant was that you were supposed to buy one if you could, and if you couldn't, you'd go to the computer lab where, if you had a student ID card, you could sit down in front of a Mac.

John Gruber: So basically you either had to buy a Mac, or you had to buy a stack of floppy disks that you would take to the computer lab. And then ever since I've been a die hard Mac user, but by that time I think like MORE and ThinkTank's heyday was over and if I'm wrong —

Brent Simmons: Yeah, I think so too.

John Gruber: They were more of like a System 6, System 5 era eighties thing, than a System 7 early nineties thing.

Brent Simmons: Yeah, I think by the time Symantec acquired MORE, like in 89 maybe? Yeah, that was kind of the end.

John Gruber: And yeah, when Symantec acquired stuff, it usually went downhill pretty quickly.

Brent Simmons: Yeah.

John Gruber: Unfortunately.

Brent Simmons: Poor Symantec. Where are they now?

John Gruber: I feel like the only thing that held out for a while were the THINK developer tools, right? THINK Pascal and THINK C, and it was almost like despite Symantec's terrible leadership, it was because they were so essential to the community that they-

Brent Simmons: They had to exist.

John Gruber: Yeah, for as long as they could. They had an immune system based on how desperately developers really loved those developer environments.

Brent Simmons: I spent ... and it cost a pretty penny too. I mean 350 bucks maybe or more.

John Gruber: Well that, see now that was —

Brent Simmons: Symantec C, C++.

John Gruber: That was, see now that's where being a student at Drexel was an enormous, it was just wonderful. They had a university wide site license to both, so…

Brent Simmons: There you go.

John Gruber: I don't even know what they cost. I knew that they were expensive. Everything… It's like the kids today, you can't imagine how everything was super expensive. Like yeah, buying a C developer tool just to write like "hello world" in the C programming language, it was, yeah, it was like $400.

Brent Simmons: Yeah that's crazy.

John Gruber: They did come with amazing documentation that was printed in a real book.

Brent Simmons: Oh printed, yeah, in fact, I think there were two books that came with my thing.

John Gruber: But at Drexel you not only got a site license so that you could go down to the lab and get a copy of it on a floppy disc, but you could get the books. It was a fantastic deal, really. So I had THINK C and THINK Pascal, but totally legally, no piracy involved. But it was all thanks to the site licensing at Drexel.

Brent Simmons: That's awesome. THINK C, Symantec C, I think it was — I can't remember if it had changed its name yet — was how I got into computer programming as an adult. So I had done a bunch on my Apple II Plus as a kid, and then went almost 10 years without hardly touching computers at all, didn't have one in college, got out of college, didn't have one. They were too expensive. Then around my mid twenties I was tired of bussing tables and all those kind of crappy jobs, and I thought to myself, "well I used to be able to program, I wonder if I could pick it up again and if there's any money in it?" So the first thing was to convince my dad to buy me THINK C, which he did. Didn't take any convincing, hardly.

Brent Simmons: And we bought the cheapest Mac we could buy, the 90 day, same as cash deal from Silo, and we managed to pay it off.

John Gruber: Silo? Silo!

Brent Simmons: Yeah, that's right.

John Gruber: We have to explain Silo. We have to take a moment.

Brent Simmons: Silo was… Silo was, well…

John Gruber: Best Buy before Best Buy. Best Buy put Silo out of business. But Silo was so low rent. If you think going into Best Buy is sort of cheesy, you have no idea what going into Silo was like.

Brent Simmons: But Silo was, 70s, 80s, up to sometime in the 90s, that was the thing. Yeah.

John Gruber: But I loved it. I loved it.

Brent Simmons: I still remember their commercials, where it's always, "Silo is having a sale. A what? A sale. Silo is having a sale." Just over and over and over.

John Gruber: I bought a little desktop Hi-Fi CD player system from JVC, a JVC brand CD player, and I am 100% guarantee, bet that my house on it, we bought it at Silo to use in college. It was like my second or third year of college, and I had that for years afterwards. So all of the music I listened to in the 90s, all of the CDs were all played on that system, and it never broke, never had a glitch, never made a mistake. But I know I bought it at Silo and I —

Brent Simmons: They were probably having a sale.

John Gruber: Well they were probably having a sale, and I just remember being there with my dad, and it was… The difference with Best Buy is, you really had to always, no matter what you were buying, you had to deal with a sales person, and the guy really wanted me to buy an extended warranty.

Brent Simmons: As always, yeah.

John Gruber: But it was like a $150 CD player. Why in the world would I buy a $30 extended warranty? It's only $150. And it was like we couldn't get out the door, it was like we could not, it was like, "No, I do not want the extended warranty." He's like, "You really do want the extended warranty." And it's like, "No, I really don't, seriously?" And you know me, I'm friendly, I'm a raconteur. "I'm not trying to be a jerk to you. I totally get it that you're on commission and you make money on the extended warranty. I don't want to be a jerk to you. I'm just telling you, there's nothing you can say or do to get me to buy the extended warranty. I would just like to check out, and I've dragged my dad here cause he's willing to pay for this. Let my dad pay for this and let me get out. I really want to have a CD player." And the guy's like, "I think you want the extended warranty." It's like, "No!" Silo. All right, so you got a Mac on 90 days, same as cash.

Brent Simmons: Got a Mac, 90 days, same as cash, but then here's the thing, they still charged us for the interest. So then Sheila was on the phone multiple times, writing letters, paper letters to them, which we printed out on, we also bought a little StyleWriter printer.

John Gruber: I probably had the same one, StyleWriter.

Brent Simmons: And we finally got our rebate after, I don't know how hard she worked, but it was about a $90 rebate for the interest, but we did get it. We finally defeated Silo. And a little while later they went out of business. To this day, I wonder, was it that 90 bucks?

John Gruber: That's so funny. You know what's great though, and I think it ties into the discussion of OmniOutliner. To me it is about visualizing a complex hierarchy of stuff that's in your brain that, in theory, I feel like if I were smarter and my brain had more RAM, right? I would be able to do this without the aid of software. I would just be able to keep it in my head, but I can't, so I need to put it down somewhere.

John Gruber: But when I put it down, I need to be able to see the organization. That to me was the genius, and in a way that was the genius of the THINK Pascal and THINK C programming systems was that they, I don't know if they invented it, maybe that's not quite fair, but at least in my experience they invented the idea of the project file to manage the whole thing.

John Gruber: And what was the project file? It was an outline, right? It was like you could organize a multi-source file C or Pascal program, a program that was complicated enough that, maybe you had a separate file for the print code and you had a separate file for the I/O to the file system. You could organize those files in folders in the project window and it was an outline, and then you could just collapse the whole part that you didn't need to hide it and organize it that way.

John Gruber: And that made more complex programming click for me in a way that I never would have gotten only using the command line and makefiles. Makefiles to me were always just like ... I have no idea how this works. Somebody would tell me what to paste at the command line and I would do it and it worked. I never understood why it worked. It might as well have just been a random series of characters.

John Gruber: Whereas using the project files in the THINK developer tools, I was like, "Oh, I see, here's the organization. There's a little check mark next to everything that's already been compiled. Only this thing will be compiled if I do a build right now because it's the only one with changes." A visual state before you do anything, right?

Brent Simmons: Yep. I've got a few listener questions for you. Not going to go through all of them because I think we covered actually some of them, but Rose Orchard asks, given that you and I both do appreciate AppleScript, have you done any scripting with OmniOutliner or used Omni Automation with it?

John Gruber: No.

Brent Simmons: No need?

John Gruber: Yeah, very short answer. And that's because for whatever reason, I've never had an itch to scratch that would require scripting it. And that's what I always say to people when they want to learn programming is you've got to have a problem first, at least for me. Everything I've ever learned programming wise was there was something I wished that I could do, and I figured out I could do it if I learned how to program X, Y, and Z, whether it's Perl or AppleScript or even going to C or something like that.

John Gruber: But just I've never needed it with OmniOutliner. I'm glad it's there and I know that it's there. And I know and I have followed along remotely that you guys have added automation that works across Mac and iOS, which is a huge thing for me, thinking about like, hey, how am I going to spend the rest of my life as iOS becomes more and more important? Super happy that it's there, but I've never needed to dig into it because I've never personally had a problem where I needed to solve it.

Brent Simmons: Cool. So Alex Nonnemacher, I'm not sure how to pronounce his last name, sorry Alex, asks, does tab indent or move to the next text field?

John Gruber: That's such a great question. I say in an outline it moves to the next text field, and you just know, which other keyboard shortcuts you use for indenting and outdenting code.

Brent Simmons: You ever watch The McLaughlin [Group]?

John Gruber: Yes. Loved it.

Brent Simmons: Remember how sometimes he would say, "Wrong!"

John Gruber: Yes!

Brent Simmons: I just felt like doing that.

John Gruber: So you think tabs should indent code?

Brent Simmons: I'm a tab indenter. Yeah, no, I understand both sides and I think it's a preference in the app. But I've been a tab indenter since the 90s and so I still expect it to work that way.

John Gruber: Yeah. I'm a command-bracketer and that's because I have, it goes back to a question from half an hour ago, of do I have some OmniOutline files with multiple columns?

Brent Simmons: Right, sure.

John Gruber: And so there are some that I have that are a little bit more spreadsheety. And then it's funny because I do all my spreadsheets now in Numbers. I haven't used Excel in years. And I have nothing but good things to say about Excel. I think Excel is probably the best app Microsoft has ever made. Again, it could be a whole separate podcast, but the fact that Excel isn't an outline has always driven me nuts. Always. Even before I really knew that I liked outliners, the fact that you can't sort of collapse groups together, you can't hierarchy, it's always driven me nuts. So yeah, but I like tab to go to the next field because sometimes I have a spreadsheet-like outline and I really do want to just go across the row rather than indent it down.

Brent Simmons: That's a good point. For me personally, I rarely use multiple columns, but in that case, if I did, I would expect tab to move to the next one, and I'd be mad when it indents, yeah.

John Gruber: It's a delicate balance that if you don't really think about the intricacies of UI design, you don't appreciate how well done OmniOutliner is, that there's a difference between selecting the text within a row and selecting the row itself. And the fact that if you want to do ... You know how you can just select a word and then tap and hold on it and drag the text, just to make a text clipping that you drag without actually using copy and paste? You can do that, as you would expect in any proper Mac app, in OmniOutliner, but if you click on the right place, you can just drag the whole row up and down. The fact that OmniOutliner threads that needle is a lot of complicated thought into where you can click and what you can do. And so for me it's like I don't even think about it. I just know when tapping tab is going to do X and when it's going to do Y.

Brent Simmons: Yeah, so a person here at Omni asks a non Outliner related question. Michelle Knee, a software test pilot, asks, how much do you enjoy interviewing Hair Force One and that other guy at WWDC? I was actually talking to her in person. Neither of us could remember their names so… but I figured that's a good question. How much is that interview, that evening, personally fun for you? Surely there's some stress, but—

John Gruber: It's no fun at all. It is terrible. It reminds me, I believe it's a Mark Twain quote. It's a Mark Twain quote, I believe, that the classics — and it's as true today as it was in 1890 when he probably said it, but — "the classics are books that everyone wants to have read and no one wants to read." It is the privilege of a lifetime. In terms of what I ... I'm more or less doing as a career what I really wanted to do, and it's a miracle to me that it's worked out that I can do it, that I don't have to work for some other company and be an employee and have an editor who I report to and submit ideas to. I just write what I want to write, when I want to write it, on my own schedule, and answer to nobody.

John Gruber: Because if I had to answer to somebody ... Every time I've ever had a job where I did have to answer to somebody, I've gotten fired. And for good reasons. And so where I want to be, and if you would've told me, 20 years ago — or, let's just say 2002 when I started Daring Fireball, so close to 20 years ago, but not quite — that by 2019 ,when WWDC happens, it'll be an annual tradition where you get to interview Phil Schiller, and Craig Federighi wouldn't have been a name at the time, but the equivalent-

Brent Simmons: That role, yeah.

John Gruber: ... the equivalent of Avie Tevanian or people at that level in Apple's corporate hierarchy, onstage in front of a thousand people, and record it, and have 100,000 people download and listen to it or watch it on video or something like that. I would've thought, "That's fantastic. That's exactly where I want to be." It is a tremendous privilege. It feels like something I, even back then, I would think that's something I could do. That's something I might be good at. That's something that at least the people who I am targeting with my writing and work, the people who I think enjoy what I do. I think they would enjoy it if I did it.

John Gruber: But when it comes down to do it, I don't enjoy it at all because it's too stressful, and I worry too much. And then as soon as it's over and so far, fingers crossed, knock on wood, every one has turned out fine. As soon as it's over and it's like, "hey, I think that was good," then I feel fantastic. And maybe people who run marathons feel the same way.

John Gruber: We all have friends who do distance running and I know that some of them really, they actually enjoy the grind of it. I would not, but maybe there's some people who, distance running, who dread the actual grind of doing it, but then once they crossed the finish line, they have this sense of accomplishment and feel so great. And that is what gets you there. How do you go from mile 11 to mile 21? It's that idea of "well if I get there to the end and I get to the finish line or 22," whatever, I don't even know how long a marathon is. Twenty-some miles.

Brent Simmons: Yeah, 26? I don't know.

John Gruber: I don't know. Whatever it is. It's the idea, in my mind, at least, doing those live shows, it is the idea of being done with the show, and feeling like, "hey I asked good questions, and we did it in a reasonable amount of time," and people laughed when I thought maybe they should laugh, and there were unexpected moments and answers that I never would have anticipated that people seem to enjoy and get and therefore the whole thing didn't feel scripted and stilted.

John Gruber: All of it is after the finish line. Before the finish line, it's nothing but absolute misery. And this was sort of a setup because you and I see each other at WWDC and you know how miserable I am, like post-keynote until my show, I am the most miserable SOB non-raconteur you will ever meet. I can't even eat.

Brent Simmons: That's true. You go out for dinner after your show typically, right? Because yeah, there's no eating beforehand.

John Gruber: We finish and we go back and there's, like I said, knock on wood, hopefully it'll always be the same. There's always like, "hey that was great." And you know, it's not always the same people. Greg Joswiak has been on, and he hadn't done it before, or Mike Rockwell, the Apple's head of AR stuff, and he had never done anything quite like it. And I think he was really nervous, and I wanted to make sure he was comfortable on stage, but he was fantastic. He was absolutely fantastic. And then we go back and it's like all of us have this like, "hey, we're done. We're free. It worked out great. That was great." And it's like high fives and everybody's laughing, and then all of a sudden I realize, oh my God, I'm famished.

Brent Simmons: All right. Your body wakes back up, and sends signals.

John Gruber: Yeah. All of a sudden my stomach is like, "hey, I checked out to do you a favor for a while. But yeah, you're ready to go into a coma because you haven't eaten in a day."

Brent Simmons: And it must be like 9:00 PM or something by that time.

John Gruber: Yeah, basically. And I'm there enough, you know, a couple of days so I'm on California time. But—

Brent Simmons: Yeah, I'm picturing that moment when you've had two before dinner drinks and the food hasn't arrived yet. That's when it starts to get dicey.

John Gruber: Yeah, you know what? And I'm always a little careful about that, because I know I have an empty stomach and so I typically… I enjoy a cocktail as much as the next fellow, but usually after my show I will stick to just drinking a nice cold beer, just because it feels like a really bad idea to pour a martini into an empty stomach. A martini needs some bread or something in there. You know you've got to—

Brent Simmons: Yeah, for sure.

John Gruber: Got to have a base to build on.

Brent Simmons: They always say don't fill up on bread. And I'm like, but I'm going to have all these martinis. I'm going to need to fill up on bread.

John Gruber: Yeah. I'm not filling up, I'm just soaking up a martini. It's doesn't count.

Brent Simmons: It's responsible.

John Gruber: Yeah.

Brent Simmons: Jeez. So we'll do one last listener question and it's from our beloved friend Guy English.

John Gruber: Oh my God.

Brent Simmons: And I'm going to edit it slightly because this is a PG rated. He says, "you're kidding me with this being organized thing, right?"

John Gruber: Ah…

Brent Simmons: And there may not be a response to that and we just had to let Guy have his word, I think.

John Gruber: You know what? My computer is so much more organized than my physical space. And my physical desktop in my office is always a mess. It's actually not right now, it's actually cleaner than it will ever be, and ever has been in my life, because we're doing some renovations at the house. And so my office is actually completely empty and all of my stuff is boxed up here in the basement. So it's actually pretty neat. But my computer's always been pretty organized, and I've never been a messy Desktop person. Are you?

Brent Simmons: I'm organized. Yeah. And I will have things on my Desktop for 15 minutes or whatever as I'm using them, and then they go away.

John Gruber: So speaking of mutual friends, our friend Jim Correia, who's an OmniFocus developer, and I've known since like, I don't know, the 90s, because he used to work at Bare Bones Software, on BBEdit, a good friend. I remember the first time I saw his desktop. He's got like 20,000 files on his desktop, but he's one of the smartest people I've ever met. And does the most organized, meticulous development work you could ever want.

Brent Simmons: Yeah.

John Gruber: He's got 10,000 files on his desktop. I was—

Brent Simmons: I wonder if he still does that. I haven't looked at his computer. So, yeah.

John Gruber: It was like, if you know Jim, he's like, "don't look at it." So yeah, no, my OmniOutliner ideas are super well organized. I have 100% confidence that anything I've ever put into OmniOutliner, I could find it at a moment's notice from any computer anywhere in the world, because I use, for my OmniOutliner stuff, it's all in Dropbox/Documents/OmniOutliner.

John Gruber: I'm, you know, like a lot of people, eyeing moving away from Dropbox and going all in on iCloud. And I know that OmniOutliner works great with iCloud, so there's multiple options, which I think is great, because then if you ever sour on one, you can go somewhere else. But I know that they're all, for now, and for many years, have all been in Dropbox/Documents/OmniOutliner. All of them are there and I feel great about it. And they're all sensibly named, so that I could suffer some brain injury and still be able to find them.

Brent Simmons: One day Jonas will have to go through all your old outlines and, who knows.

John Gruber: No, but I feel like that's the beauty of an outliner and the idea of outlining, is it, even if you're not the person who is naturally organized, and maybe I'm not, the nature of outlining is that it helps you organize, it organizes for you, right? The app itself is like a little helper to help you keep your ideas neat and orderly and in a logical order.

Brent Simmons: Well, I think on that note, we'll remind people that, hey, if you want to get organized, get an outliner. You heard it from John. And we'll call a halt to this recording. So thank you, John. How can people find you on the web?

John Gruber: Well, I can think of two good ways. Go to my website at You could, if you wanted to, if you like what you see there, I have feeds that you could subscribe to, in a feed reader like NetNewsWire, which is back, and we haven't talked about—

Brent Simmons: One of the greats.

John Gruber: …somehow haven't talked about it. It's a great, that's a fantastic way to keep up to date with what I write at Daring Fireball. And then on Twitter you can follow me @Gruber, but that's really a lot of nonsense.

Brent Simmons: Yeah, the website's the good one, Daring Fireball.

John Gruber: Yeah, and the Twitter is the nonsense.

Brent Simmons: And you have podcast, I hear?

John Gruber: Yeah. The Talk Show on—

Brent Simmons: The Talk Show.

John Gruber: ... you can stay up to date. You don't have to go anywhere else you could just go to and you can find it there.

Brent Simmons: And it's right there, it's so easy.

John Gruber: Yeah.

Brent Simmons: Cool.

John Gruber: It's almost like an outline, like one level under the top level at Daring Fireball is The Talk Show.

Brent Simmons: There you go. Level two heading, The Talk Show. Well, I'd also like to thank our intrepid producer, Mark Boszko, say hello, Mark.

Mark Boszko: Hello Mark.

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