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

May 9, 2018, 6 a.m.
Shannon Hughes, OmniGraffle Engineer

Shannon Hughes — French toast enjoyer, math understander, frequent robot — joins the show to talk about working on OmniGraffle. Which, apparently, involves a whole bunch of different types of rectangles.

Show Notes:

Shannon started at Omni a week before your host, and started out on the OmniGraffle team and has been there ever since. Your rectangles are in the best possible hands.

Some other people, places, and things mentioned:


Brent Simmons: You're listing 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!


I'm your host, Brent Simmons. In the studio with me today is Shannon Hughes, OmniGraffle Engineer. Say hello, Shannon.

Shannon Hughes: Hello Shannon.

Brent: So we have question from a listener, in fact, an Omni employee who has previously been on the show, Andrea McVittie, a designer, and she asks, "How was the french toast today?"

Shannon: The french toast was awesome. It was the standard thick slices of cinnamon bread and there was berry compote, and there was even fresh whipped cream in a bowl today.

Brent: Like a huge, giant amount of it, too.

Shannon: Yeah.

Brent: I saw that. I'm like, oh my goodness.

Shannon: Yeah. Yeah. Big. billowy, yeah, scoops of whipped cream.

Brent: Yeah. So, but the thing about it is, you don't often get to have our french toast. You are our pioneer remote employee, otherwise known as our first robot.

Shannon: Yes, exactly.

Brent: First of two. First robot.

Shannon: Yes. I enjoyed the french toast for several years and was sad to leave it. But yeah, it's nice to be visiting it right now.

Brent: Yeah, yeah. Good. Good. So I think we probably talked about the robots on the show before. Mark, have we talked about robots? Mark nods.

Mark Boszko: I think so.

Brent: Thanks Mark. Yeah, but for anyone who missed it, they are telepresence robots.

Shannon: Yeah.

Brent: They have wheels in the stalk and then a TV thing and a camera up top.

Shannon: Yep.

Brent: So like, meetings and stuff, you're there.

Shannon: Yeah, I get to walk myself to the ... Well sometimes I need an escort.

Brent: Slowly roll.

Shannon: Very slowly, sometimes. One of them moves faster than the other.

Brent: Oh.

Shannon: Yeah. I think it's a...

Brent: Do you fight for who gets to log in first?

Shannon: I guess, for the most part, I think that we are very generous and whoever signs in first takes the slower one so that the person who's running late can have the faster one.

Brent: Wow. So, that's why you both run late all the time.

Shannon: Well, we do need escorts off the elevators because we can't press any buttons.

Brent: Oh, sure. Yeah. I've picked up, I'm sure, both those robots a couple times.

Shannon: Yes. Yes you have. It's really fun when we run into the other tenants of the building in the elevator and they clearly look like they'd like to ask about the robot, but you can't talk to other people in elevators.

Brent: There's no etiquette for this yet.

Shannon: Right.

Brent: Yeah. But yeah, I guess that overrides. No talking to other people. So, how's that working, though? I mean, Omni is — we've always been a 'everybody's here' company for 25 years or whatever, but now we have a couple remote people.

Shannon: Yeah.

Brent: Is that working out pretty well for you?

Shannon: Yeah. It is working out pretty well. I mean, Omni has been really generous and helpful and supportive in making that switch. I do really miss being at the office. I mean, I think there's just that intangible camaraderie and that the chance to have random conversations ...

Brent: Sure, yeah.

Shannon: ... that you can somewhat have in company chat rooms but isn't quite the same as being in person.

Brent: Yeah.

Shannon: But, yeah. It's been working quite well. The robots have helped a lot.

Brent: Cool. The robots, listeners may recall, were purchased with extra points or something on our American Express cards? What...

Shannon: Free robots.

Brent: Free robots. Oh.

Shannon: That's what I was told.

Brent: Two free robots.

Shannon: Or as good as free.

Brent: So, you started here at Omni in 2014, one week before me. So you were like, the new person, correct?

Shannon: Yep. For one week.

Brent: For a week.

Shannon: Yeah.

Brent: I think I managed maybe a few weeks.

Shannon: Yeah.

Brent: I don't know. But yeah, that was fast.

Shannon: It was cool.

Brent: You go straight to your OmniGraffle Team or were you on...

Shannon: I did. Yeah. Yeah, and I have no idea what, nobody ever told me why they put me on OmniGraffle but I was really happy to be there, so, yeah.

Brent: They just did. Yeah okay. It's cool. Had you worked with Graffle or apps of that nature, Illustrator or...

Shannon: Apps of that nature, yeah. I'd used Illustrator a little bit. Not Graffle itself, but now I do.

Brent: In other words, you weren't a stranger to visual problems. Yeah, yeah.

Shannon: Not a total stranger, no. Yeah. I did a lot of visual art in high school and have kept doing that somewhat as a hobby, so ...

Brent: Oh, okay.

Shannon: Yeah.

Brent: Cool. So, I have another question from a Omni…, Omnizen? Omniite? Dave Messent, who is the Prime Minister of OmniFocus, told me to ask you about rectangles.

Shannon: Yeah. While I'm here, the site visit, we had an hour-and-a-half meeting about rectangles yesterday. It was very productive.

Brent: Okay.

Shannon: We have had a lot of rectangles running around our code and we kind of simplified it down to five.

Brent: Five rectangles.

Shannon: That we think we really need. Yeah.

Brent: Okay.

Shannon: For each graphic.

Brent: We need to know more.

Shannon: We need to know more.

Brent: Yeah.

Shannon: Yeah, so there's the ...

Brent: Because I took out just the one rectangle in my head.

Shannon: Yeah. You're probably imagining like, a rectangle on the canvas.

Brent: Yeah.

Shannon: Like a shape on the canvas is a rectangle.

Brent: Mm-hmm (affirmative).

Shannon: But we can have lines and we can have random Bezier shapes and we can have defined shapes like stars and stuff like that.

Brent: Sure. Not rectangles.

Shannon: Not rectangles.

Brent: Yeah.

Shannon: But they all can fit within a rectangle.

Brent: Yes.

Shannon: Each shape can fit within a rectangle.

Brent: An enclosing rectangle.

Shannon: Yes. Yes. So, we have the rectangle that is the definition of where that shape belongs on the canvas.

Brent: Mm-hmm (affirmative).

Shannon: That's one rectangle.

Brent: Okay.

Shannon: Probably the most basic rectangle. And then, you can apply rotations to Graffle shapes. I don't know if you've ever done that.

Brent: Not yet.

Shannon: It's very fun.

Brent: I'm just learning. Yeah.

Shannon: Yeah. And when you do that, then a rotated rectangle has yet another rectangle that can enclose it.

Brent: Okay.

Shannon: So that's the second rectangle.

Brent: And it might be taller or thinner or whatever than the original first rectangle.

Shannon: Usually it's bigger. I'd say usually it's bigger.

Brent: Bigger, somehow. Must be bigger.

Shannon: Don't ask me hard questions.

Brent: Yeah. That's fine. That's all right.

Shannon: Anyway, I'd say usually it's bigger. You can also add, you know, stroke styles to your outline of your shape.

Brent: Okay.

Shannon: And we have different settings for that. You can center your stroke on the outline of the shape or you can have it be an outer stroke or an inner stroke.

Brent: Mm-hmm (affirmative).

Shannon: An inner stroke would fit inside the rectangle we've already talked about, right?

Brent: Okay.

Shannon: But if you a centered or an outer stroke, the drawing of the stroke actually goes outside that rectangle by a bit depending on how wide your stroke is. So we have the rectangle that encloses all of the things that could draw associated with that shape.

Brent: Okay.

Shannon: Which could also include shadows. So it could be a much bigger box.

Brent: So how many are we up to? Four, five I guess?

Shannon: This is the third. We're talking about the third one. Yeah. Then the fourth one... Right, because you're interacting with these shapes on our canvas, we have to show you what's selected.

Brent: Mm-hmm (affirmative).

Shannon: Including points because you can edit your Bezier shapes.

Brent: Oh, okay.

Shannon: So, if you've selected a shape, it'll have a blue highlight around it.

Brent: Mm-hmm (affirmative).

Shannon: Which will be yet again, a little bit bigger ...

Brent: Right, yeah.

Shannon: ... that we have to show. And we also show the little handles, the square handles that you can drag to make the shape a different size, so that we can redraw the screen.

Brent: Mm-hmm (affirmative).

Shannon: So then if you're resizing the thing, we don't end up with little bits of ...

Brent: Okay.

Shannon: ... old handles dragging along in a trail from where you... I fixed that bug before. And points. Bezier points get really crazy because you can have the red handles, can go way, way, way outside the box of ...

Brent: Oh, of course.

Shannon: ... where the shape draws. But we also don't want that dirtying up the screen after you've finished editing.

Brent: That's a lot of rectangles.

Shannon: And then the fifth rectangle is the union of the ...

Brent: All of this.

Shannon: ... the drawing rectangle and the handles rectangle.

Brent: Okay. I never would have thought about any of that.

Shannon: Yeah.

Brent: Yeah.

Shannon: Yeah.

Brent: I'm amazed.

Shannon: We've been thinking about it for a long time and we finally had a really good meeting and hashed it out.

Brent: You've finally figured out that these are the five rectangles.

Shannon: Yeah. And you know, some of them are clearly defined entirely by the file. Right?

Brent: Mm-hmm (affirmative).

Shannon: But then others of them are dynamic, based on what you're doing on the screen.

Brent: Mm-hmm (affirmative). Okay.

Shannon: So, yeah. Anyway. I could go on. Like I said, we talked for an hour-and-a-half.

Brent: Yeah.

Shannon: You might want to talk about other things.

Brent: I don't know. I mean, it's pretty exciting. So, back to Andrea McVittie, Designer, here. More questions from Andrea.

Shannon: Mm-hmm (affirmative).

Brent: She asks what's your favorite type of problem to solve?

Shannon: I think I really like solving visual problems. Where I can really see directly on the screen, in a visual way, the effect of the code that I'm changing. It's especially fun if that's just obvious in the app, but it's also fun to have to add some debugging code to draw some rectangles.

Brent: Uh huh. Right, yeah. It's all rectangles.

Shannon: Maybe different colored rectangles.

Brent: Yeah.

Shannon: Maybe some flashing rectangles for things that are changing all the time.

Brent: See, I've done that, you know, orange and purple and the green one over here. I've never done flashing, though.

Shannon: Yeah.

Brent: That's pretty smart.

Shannon: Yeah, for things that have to update over time, you want it to go away so you can see the new one coming on. Yeah.

Brent: Cool.

Shannon: So, I find that fun. I think I'm a pretty visual person. And then, I also really like problems where you kind of get into it and you realize oh, there's this entire system behind the curtain that I have to figure out and understand before I can really solve this problem.

Brent: Okay.

Shannon: So, I think that's where I really dug into some undo bugs shortly after I got here.

Brent: That's good, because nobody else was going to, probably.

Shannon: Oh there's ... I got some good advice from some old timers here.

Brent: Did you? Undo is tough territory, though.

Shannon: It is, but it's really interesting.

Brent: Mm-hmm (affirmative).

Shannon: Yes, because especially once you start to think about it as a stack of actions that are being put on and then taken off ...

Brent: Mm-hmm (affirmative) okay.

Shannon: ... in reverse order, and you also have to, you can group them up so that they appear ... Anyway, it's just, it's interesting.

Brent: Yeah, sure.

Shannon: Because you want it to undo in a way that is logical for what the user experienced as the commands that they were giving the program.

Brent: Right, sure.

Shannon: And that is not always the way the computer experienced it. Right?

Brent: Mm-hmm (affirmative). Yeah.

Shannon: So we have to kind of give it hints and make sure that we don't screw that up.

Brent: Yeah.

Shannon: It's interesting.

Brent: Yeah. Did you happen to see anything about Wil Shipley's thing with Undo and Git?

Shannon: No.

Brent: Okay. I'll link to it in the show notes.

Shannon: Okay.

Brent: It was just an interesting take. The idea is that your document can be a Git repository and Undo just means reverting your changes.

Shannon: That ...

Brent: And then going back through the whole thing.

Shannon: ... would be brilliant.

Brent: And then essentially, on every time, you just redo your entire object model and display the screen. You know?

Shannon: Yeah.

Brent: And it would work back through runs of the app, if the documents actually are geared positive towards it, right?

Shannon: Yeah, that's a good idea. Yeah. Yeah, it would. I think there was a WWDC talk at some point about making undo kind of like that.

Brent: Yeah. Yeah.

Shannon: They weren't talking about actually using Git, but having basically just one thing that could be undone, which was the setting of your model.

Brent: Yeah. Right. And I thought about it, for some types of apps, that would just utterly not work at all. Take an RSS Reader, for instance. You couldn't redo the model that way because it's constantly getting data in from the internet. And so it's not a set of user actions that you can add or subtract. It's that, and syncing, and all these other things, which immediately made me go, " Damn. I wish I could do that, because it would be cool." But ...

Shannon: Yeah, so you don't pull in all the changes from a sync in one swoop that would always be coming between user actions that could be separated?

Brent: Right, yeah. A sync is off in several network commands and things are happening with each call.

Shannon: Okay. And users are mucking with things in between.

Brent: Right. So, well for instance, say you marked something as 'read' and then did a sync and then went to undo 'mark as read'. You won't want to be rewinding a repository or whatever all the way back.

Shannon: Right.

Brent: Because then that would lose that sync, right?

Shannon: Yeah.

Brent: So you can't just treat it as a linear system. For some apps. But for Graffle, you could. Which is cool.

Shannon: Yeah.

Brent: Andrea also asks about the role of developers in helping to shape the ethical landscape of technology.

Shannon: I think that's a great question. It's something that I think about a lot.

Brent: Mm-hmm (affirmative).

Shannon: I don't feel like I have personally run into major issues with that. I think Omni is really careful, as a company, to be very, very ethical with its customers' data. But, I do think it's something that we should all be thinking about. I read some articles about it.

Brent: Yeah.

Shannon: I think about it. Yeah, I feel lucky that, I don't feel like I have to stand up and go on a crusade about trying to prevent people from doing something that sounds sketchy.

Brent: Right, sure. Yeah. It's just not a thing here.

Shannon: No, it's really not. I mean, we've been in meetings where we're like, it might nice to know just on an aggregate basis, how many people actually interact with this screen.

Brent: Mm-hmm (affirmative).

Shannon: And we usually back away from even collecting that level of anonymized data. Which is, you know, it's great. You're safe. You're safe in our hands, everyone.

Brent: So, what you've done, then, is just choose a great place to work.

Shannon: Yeah.

Brent: Nothing wrong with that. So, rewinding, long before you got into rectangles at this deep and strange level, you were a kid and you had a computer at home?

Shannon: Once, long ago. We did. Yep.

Brent: Was it Mac.

Shannon: No.

Brent: Aw.

Shannon: I know.

Brent: Are you okay?

Shannon: I feel like I might be the first person on the podcast that's true of.

Brent: You're not. You're not.

Shannon: Okay. My first Mac was after I had graduated from college.

Brent: All right. What did you have at home?

Shannon: What did I have at home? I was going to tell you about my first Mac.

Brent: I know. We'll get to your first Mac.

Shannon: Okay. Okay.

Brent: I'm going chronologically now.

Shannon: Okay. What did we have at home? I don't remember the very first computer but we had Windows DOS computers.

Brent: Okay.

Shannon: Because that's what my dad used at work, and so that's what I had at home.

Brent: Okay, so like, Lotus 123 kind of.

Shannon: I remember Lotus 123.

Brent: Yeah.

Shannon: Yeah. Yeah. So, it did exciting things like, spreadsheets.

Brent: Yes.

Shannon: And you could print banners in all capital letters on Dot Matrix printers.

Brent: Mm-hmm (affirmative). Text documents.

Shannon: Yeah. I liked the paper that came out of the Dot Matrix printers.

Brent: Yeah. My dad used to bring home punch cards and we'd make stuff. Did you ever make anything like that?

Shannon: That's cool. I did not get to play with punch cards. I wish I had. I would've loved them.

Brent: It was fun. Yeah.

Shannon: Yeah.

Brent: Dot matrix paper, though.

Shannon: Yeah, you can tear the edges off and you can fold them up into those little springy, you know, the square, springy things? What do you call those?

Brent: Mark doesn't know. I don't know.

Shannon: I don't know. Anyway, yeah. They were really fun to make.

Brent: Yeah.

Shannon: I was really into making things. Computers were— I was very intrigued by the computer. I wanted the computer to be exciting.

Brent: Mm-hmm (affirmative).

Shannon: But the computers that I had were not that exciting.

Brent: Yeah, DOS-based computers in those days.

Shannon: You had to like, memorize a bunch of commands to even get to the game folder, and then the game folder rewarded you with something rather boring.

Brent: Yeah.

Shannon: Yeah.

Brent: The internet finally came to your house, though I bet.

Shannon: It did. Eventually.

Brent: Did that change things or was it, were you still just all DOS and it was a text-based internet?

Shannon: I think we had Windows by then. Yeah. We had Windows by then. But yeah, the internet was cool. It was again, a thing that I was intrigued by and I wanted it to be interesting.

Brent: Mm-hmm (affirmative).

Shannon: But it was before Google. It was hard to find things on the internet ...

Brent: Oh, I'm sure. Yeah.

Shannon: ... back then. You know, like, I think we had like, Alta Vista.

Brent: AltaVista, Lycos, Excite.

Shannon: Yeah, there was like a page you would go to, and you could follow links forever.

Brent: Yahoo.

Shannon: So, it was again, kind of like, I memorized the trail of links that I wanted to follow to the places I wanted to see.

Brent: I'm sure.

Shannon: And I found that interesting people were on the internet.

Brent: Oh that's true.

Shannon: So yeah, I found the Society for Creative Anachronism, was the place I remember.

Brent: Oh, yeah.

Shannon: Yeah. And so I was reading like, recipes for making your own mead.

Brent: Mm-hmm (affirmative).

Shannon: And making your own lace.

Brent: I'm sure 99% of our viewers know what that is but for those who don't, what is this society?

Shannon: Oh, yeah, medieval honey-based wine. Oh, society — what is the Society for Creative Anachronism?

Brent: Yeah. Yeah.

Shannon: I thought you were asking about mead.

Brent: Oh, no, everyone knows what mead is.

Shannon: Okay.

Brent: Well, I don't know. Tell us what mead is. I guess I didn't know.

Shannon: Yeah, medieval honey-based wine.

Brent: Sounds great.

Shannon: I don't know if I've ever actually tasted it but reading the recipes was interesting.

Brent: Yeah.

Shannon: Yeah, the Society for Creative Anachronism is an interesting group of people. I have never actually belonged to them although I've known a few members. I think you kind of pick a historical persona and you do really intensive research on what that person's life was like and what they would've worn and you make your costume to be completely historically accurate, and you go to conventions.

Brent: Sounds like pretty fun.

Shannon: Yeah. I mean, if you're into textiles and costumes and history, it's pretty cool.

Brent: I'm into other people making me costumes. You went to school.

Shannon: I did. A lot of years of school.

Brent: A lot of years of school. Linguistics, though.

Shannon: In college, yep, that was my major.

Brent: What turned you into a linguistics student? Love of writing, of language?

Shannon: I did love writing. I've always loved language. I mean, I remember as a kid, puzzling over why some plurals are different than others, you know, like, just thinking about it and thinking about it.

Brent: Mm-hmm (affirmative).

Shannon: And so, yeah. I was really interested. I think at some point in high school, I had like a gift card for Christmas and went to Barnes & Noble and I found this shelf of linguistics books.

Brent: Ah, yeah.

Shannon: And bought myself, like, I don't know, I think it was like this Guide to Old English and like an introduction to linguistics and decided that I might want to major in that. I had a couple different ideas of things I wanted to major in, but that was probably my favorite and that's what I ended going with.

Brent: If I were to go back, and I'm not, but if I were, I would strongly consider linguistics.

Shannon: Yeah.

Brent: That just sounds like so much fun.

Shannon: Yeah, it was really cool. I mean, it's like a lot of puzzles.

Brent: Yeah. Puzzles plus history.

Shannon: Yeah. And human systems. Language is very systematic, but it's also built up by a society of humans who are not rational and consistent all the time.

Brent: So it's kind of organic systems.

Shannon: Yeah. Yeah. So it's very challenging. It's yeah, interesting.

Brent: You didn't stick with academia.

Shannon: No.

Brent: You actually went out into the job market at some point.

Shannon: Yeah, right after undergrad. I did not want to keep going with academia.

Brent: Yeah, okay.

Shannon: Yeah.

Brent: So, how did that go as a fresh graduate, linguistics major?

Shannon: So, yeah, well I was not just a linguistics major. I was a linguistics major with a minor in computer science.

Brent: Okay.

Shannon: Because my father had told me that he was afraid I would starve if I was just a linguistics major.

Brent: Probably right.

Shannon: And I had to take at least one computer science course. Because I had always been very opposed to the idea of studying computer science. I honestly couldn't tell you now why. I think I thought it would be boring.

Brent: Yeah.

Shannon: And I took one course, and loved it. And it was like, oh no! It's too late in my college career to major in computer science.

Brent: Right.

Shannon: I can only get a minor. So I got a minor.

Brent: That's cool, though.

Shannon: Yeah, so then when I graduated, I was looking for tech jobs because those pay.

Brent: Mm-hmm (affirmative). Yeah.

Shannon: And it was just before the dot-com bust.

Brent: Oh, okay.

Shannon: Yeah.

Brent: Demand for labor was high.

Shannon: Yeah, although it's still pretty tough to get your first job out of college.

Brent: Oh, that's true.

Shannon: Yeah. So I remember I did end up getting a somewhat technical job and I remember I was always sensitive about like, did I have the technical credentials to get a job or to do a job well, right? I guess I figured I could do that job.

Brent: Do you think you would have been less sensitive if you had majored in computer science, or do you think that you still would have felt that way?

Shannon: You know I think so, although I don't know if it would've mattered, really.

Brent: Mm-hmm (affirmative).

Shannon: Anyway.

Brent: So, you were sensitive about having the technical skills, get hired right out of school.

Shannon: Yeah. Yes, in interviews I was always making sure to emphasize that what I did have in my technical background. And then, a few years later, I ended up shifting over to a different job that was more like technical-based writing.

Brent: Okay.

Shannon: And I remember being in that interview and I was still doing the focusing on the technical background kind of thing, and then the interviewer asked a question and I realized, oh! They think I can't write. Like, they're afraid that anybody with technical skills can't write English that anyone would want to read.

Brent: And suddenly, you're super confident, because like, yeah. I've got that!

Shannon: Yeah. And I was like, oh no, totally I can write! I've been writing forever, like way before I got into computers.

Brent: That's awesome.

Shannon: Anyway, that was a funny shift, though.

Brent: Mm-hmm (affirmative). People sometimes talk about impostor syndrome.

Shannon: Yes.

Brent: Is that something you still feel at all, or it depends?

Shannon: I think that sometimes. I mean, doesn't everybody, sometimes? A lot of people? I don't know.

Brent: Yeah, I don't know. I like to pretend that pretty much nobody does except for the people who say that they do.

Shannon: Oh. Okay.

Brent: But, the fact is, yeah. Everybody does.

Shannon: Yeah, yeah, yeah.

Brent: That's a terrible way to tease people, though.

Shannon: Yeah. I think it's something that I definitely always struggle with but, you know I think I try to focus now, in my older and wiser years, on just being curious about the problem in front of me and doing the best that I can, and, yeah.

Brent: Makes sense. So lets fast-forward through all your jobs because, whatever. They're always just jobs. How did you actually come to Omni? As we said earlier, it was just right before me, 2014.

Shannon: Yep.

Brent: What were you doing? How did you land here?

Shannon: So, I had actually been out of the workforce for seven years, after my first child was born. I was not enjoying the job I was in and so I left.

Brent: Mm-hmm (affirmative).

Shannon: And was home with my kids for a while. I had two little kids at that point and we moved to Seattle, and I had started — I guess I had already, I had one app on the App Store before we moved to Seattle, and I had some ideas for other ones that I was working on, and I was also expecting a third child.

Brent: Okay. Wow.

Shannon: And really wanted to ship this major app that I was working on before.

Brent: That's a whole lot of shipping in two different ways.

Shannon: Yes. Yes. So, when we moved here, I started going to the [Xcoders] Meet-Up on Tuesday nights.

Brent: Okay.

Shannon: And really enjoyed the camaraderie there and also got a lot of help from some really great people, and did manage to ship my app before my baby was born. And also right before my baby was born, Omni advertised an engineering position, and a lot of the people at [Xcoders] are Omniites.

Brent: Yeah.

Shannon: Yeah.

Brent: Omni people get around to these things, for sure.

Shannon: So, they mentioned the job and I remember reading the job description and thinking like, "wow, If I wasn't just about to have a baby, this would be like, my dream job. This sounds amazing."

Brent: Yeah.

Shannon: Right? And fairly quickly, that turned into, oh, maybe I should just apply for this. You know, because, like I'm not going to get it anyway.

Brent: Learning experience?

Shannon: Yeah. Learning experience, interview experience and why not go for it, right?

Brent: Mm-hmm (affirmative).

Shannon: So, two to three days before the interview, my baby came a week earlier than I was expecting so we postponed the interview.

Brent: Okay, good.

Shannon: Yeah.

Brent: Because the rest of the story was going to get weird.

Shannon: Oh, it was a little weird but I won't subject you to that.

Brent: All right.

Shannon: And the interview was really fun.

Brent: Yeah.

Shannon: Did you find that with your interview here?

Brent: Yeah. Yeah I did.

Shannon: It was a really enjoyable experience, which, I think it says something about Omni. And then I went home. And then they offered me the job.

Brent: Nice.

Shannon: And I asked, "okay, but can I start in three months, because I just had a baby?" And they said yes. And yeah. It worked out.

Brent: And there you go.

Shannon: It worked out really well.

Brent: That's pretty nice.

Shannon: There's very nice nursing and pumping room here.

Brent: Yeah. I've, believe it or not, I've actually been in that room.

Shannon: Yeah. It's a great room.

Brent: To my surprise. Not for those reasons.

Shannon: I can imagine.

Brent: So, what were your apps on the App Store like?

Shannon: The first one was a to-do list app.

Brent: Mm-hmm (affirmative). Sure. Strong competition. We had to buy you.

Shannon: Yeah. I was definitely really strong competition. That started out, I just wanted something simple on my phone to be able to keep a grocery list and organize it by aisle. It was really funny listening to the Tags podcast recently...

Brent: Oh yeah, right.

Shannon: ...because you were talking about that use case and I was like, "oh, yeah! I was trying to solve that problem a while ago." So, yeah, I dove right into the deep end of table views, and trying to make them do things that the system wasn't necessarily intending.

Brent: Tableviews are 99% of iOS apps.

Shannon: Yeah. So it was definitely like a learning by fire hose kind of a situation, but I like that. I like jumping into new things.

Brent: Cool.

Shannon: And then the others are knitting apps.

Brent: Knitting apps. So tell me more about knitting. We have a lot of knitters here.

Shannon: Yeah, we do.

Brent: Were you the first knitter?

Shannon: No, not at all. There was a whole circle of knitters before I got here.

Brent: A whole culture, circle of knitters. All right.

Shannon: Yeah. Some of them were testers for my app before I joined up actually.

Brent: Wow, that's pretty cool. What do you like about knitting?

Shannon: I think a lot of engineering-minded people are attracted to knitting because it's a very mathematical and algorithmic kind of a craft.

Brent: Mm-hmm (affirmative).

Shannon: If you read a knitting pattern, or you try to write a knitting pattern, it's very much like reading code or writing an algorithm. You definitely need to do a lot of math to figure out how to make something the right size.

Brent: Oh, I'm sure.

Shannon: You know, the right shape.

Brent: My wife does quilting.

Shannon: Yeah.

Brent: So, it's very similar. A lot of geometry, a lot of math.

Shannon: Yeah.

Brent: She loves that part.

Shannon: Yeah.

Brent: It's her favorite part.

Shannon: I love quilting, too. I've seen some of her quilts. They're beautiful.

Brent: Ah, thank you.

Shannon: Yeah, and it's also just a really tactile process and, like I said, I wasn't really all that into technology as a kid, I was much more focused on physical crafts.

Brent: Making things.

Shannon: Sewing and knitting, making things. Yeah. Things with paper, things with yarn. So, I like the tactile nature of it. It can also be contemplative. It fills space, you know, you can listen to podcasts, you could watch TV, you can be a passenger in a car and be knitting, and make nice things that people actually want to receive as gifts, which is cool.

Brent: Yeah, sure. My wife makes quilts for people and I think there's a connection there, as you're working on it or whatever. Do you feel that same kind of thing?

Shannon: Yeah, I really love making something that I know is intended for someone that I care about, and as you're making it, you're thinking about them, and so that's a lengthy amount of time to be contemplating that person that you love.

Brent: Yeah, that's a cool thing. Well, my notes become unbelievable at this point, but it says something here about you digging a bog in your backyard.

Shannon: Yeah, that was my project over the last two weeks was digging a bog in my backyard.

Brent: All right. What's a bog? What's it for? Why in your backyard? What actually, what is a bog?

Shannon: A bog? Well, I mean, gosh, I'm sure there's a scientific definition of a bog. In my opinion, I'm using bog to describe a consistently wet spot.

Brent: Okay.

Shannon: Yeah.

Brent: Rectangular?

Shannon: It is not. No.

Brent: Okay. Because it could have been the sixth type of rectangle.

Shannon: It could've. But you know, in my landscaping, I'm not so rectangular.

Brent: Okay.

Shannon: Yeah. I actually inscribed a partial ellipse by tying a rope around a little tree and sticking a stake in the ground next to it and having a string and you know, yeah. So, that was as geeky as I got with that.

Brent: Nice. All right.

Shannon: So it's sort of a curvy shape.

Brent: So, it's a curvy, wet shape.

Shannon: Yeah.

Brent: What's it for?

Shannon: It's because it turns out that our house was built on top of an underground stream. So, our house is essentially sitting in water.

Brent: Okay.

Shannon: And we have a basement that we've now finished, and my office is down there.

Brent: Oh, all right.

Shannon: That's where I work from. So we have a sump pump.

Brent: Mm-hmm (affirmative).

Shannon: And in wet periods, it pumps out several gallons, like every 15 minutes.

Brent: Wow.

Shannon: And in drier periods, I'd say it's still once an hour. So, we had this put in a year ago.

Brent: Okay.

Shannon: And there was a consistently wet, muddy, large expanse in the backyard, and our dog and our kids would get covered in mud and so I thought okay. We'll dig it out and we'll confine it, and we'll put some really porous dirt in there, plant some plants and hopefully contain the mess.

Brent: Contain the mud. Okay. And the plants will hopefully keep the kids out.

Shannon: Yeah.

Brent: Won't work on the dogs, but ...

Shannon: And hopefully the plants will be, I mean they're interesting. We went and got some native plants

Brent: Oh okay.

Shannon: And so hopefully we'll get some butterflies, and yeah. I have a bird feeder outside my window. The birds will probably like this, too.

Brent: Oh, nice. Do you get hummingbirds in your area?

Shannon: We do get them in our area. I haven't seen them right around my house yet.

Brent: Oh, okay.

Shannon: But, maybe. Maybe someday soon. Yeah.

Brent: Can't go any further after digging a bog, so we're gonna call a halt to this.

Shannon: Okay.

Brent: Thank you, Shannon.

Shannon: Thank you.

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

Mark: Hello Mark.

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