THE OMNI SHOW

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

RSS
38
April 17, 2019, 6 a.m.
Evan McNulty, Software Test Pilot

Evan McNulty, a tester on the OmniFocus team, answers some listener questions, talks about testing OmniFocus for the Web (including API testing), and recounts his history from the Bay Area to here.

Show Notes:

He also talks about losing weight — now 235 pounds lost — and how that’s helped him. Hint: it’s not all about losing weight, and it never was. And finally we talk about his Safari Extension that helps people use smile.amazon.com.

You can find Evan on the web @theevanshow on Twitter and at evanm.net.

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.

Brent: Music.

[MUSIC PLAYS]

Brent: I'm your host, Brent Simmons. In the studio with me today is Evan McNulty, software test pilot at the Omni Group. Say "hello", Evan.

Evan McNulty: Hello Evan.

Brent: So, we're going to start off with some listener questions. I asked people. I said, "Hey, I'm going to have Evan on." And they said, "Hey, no way, why?" And I said, "'cause." And I said, "Do you have any questions?" And Rose Orchard — this is one of three — asks, "Which day, Evan, is your favorite day of the week for lunch?"

Evan: I gave her an answer already, a couple of days ago maybe; but my answer, I wasn't really pleased with it. It was not Wednesdays. A lot of people say that they love the breakfast for lunch thing that often happens on Wednesdays. It's fine.

Brent: It's a crowd pleaser.

Evan: Yeah. But me, its any day where there are pickled jalapeños in the salad bar.

Brent: Oh my, oh my. Now yesterday was hot dog bar.

Evan: That's right.

Brent: And it had pickled jalapeños in the salad bar.

Evan: That was a great day.

Brent: It really was.

Evan: Actually, you saw my prepared hot dog.

Brent: I did, yeah. Right in front of me.

Evan: Plenty of pickled jalapeños on that.

Brent: I was inspired. I did pickled jalapeños. I also added bacon, jalapeño mustard, cholula relish. So, mine was piled, but not as high as yours. You really —

Evan: But it was just the one ingredient. So ...

Brent: It was just all pickled jalapeños.

Evan: Yeah. I might have gotten away with just a bun with pickled jalapeños. It's that much of a thing.

Brent: Mustard or anything?

Evan: There were onions in the one yesterday.

Brent: Alright. Well, Josh Hughes asks to hear about maybe the weirdest or funniest bug you've ever encountered.

Evan: Oh, yeah. So, this is fun because I tend to kind of internalize patterns but not remember particular bugs. So, I went back and looked. I was fed this question earlier today, so I had some prep time. It was really nice.

Brent: Giving away all of our secrets.

Evan: Yeah. I thought maybe I would look at my first year here. First full year was 2015, and I thought, "Okay, I'll look at the OmniGraffle project." Because that's where I spent most of my time, at that point. And I found it. There was a bug where I was able to make OmniGraffle animate Pac-Man's mouth opening and closing through the bug.

Evan: What happened was, we were working on canvases, and if you undid something that was a shape changing in some way, it would cause the canvas to shift to the side. The contents of the thing you were looking at would just move a little bit to the side. And so, I made a yellow circle with an eye.

Brent: Pac-Man is in profile, right, so it would be one eye on it?

Evan: Yeah.

Brent: At least I assume that's a profile.

Evan: And switched it to a yellow wedge shape, so it had a wedge missing for the mouth. Then undid that, sure enough, Graffle just started ... Wait, you can't see this ... started opening and closing the mouth of Pac-Man endlessly until it crashed after, I don't know ...

Brent: Nice.

Evan: ... a couple minutes. I really liked that one. Any bug where you can turn a diagramming/graphics tool into computer animation software, it's —

Brent: Surprise Pac-Man!

Evan: Yeah. Surprise Pac-Man. Look out ghosts. This one has eaten cherries or ... No, I don't remember. Sorry, Pac-Man, I don't remember.

Mark Boszko: Power pellets.

Evan: Power pellets.

Brent: Power pellets.

Evan: Thank you, Mark.

Brent: That is weird.

Evan: Yeah, how about that?

Brent: That's really weird stuff.

Evan: Nailed it.

Brent: Ryan Dodson asks, and this may be kind of one of those mysteries of existence that philosophers argue about endlessly, "Is Jim Correia right or wrong?"

Evan: Jim Correia's right.

Brent: Oh, okay. I was going to take a sip of water and relax for half an hour as you expounded. That's it.

Evan: There's no -

Brent: No, "Jim Correia is right."

Evan: I don't think any other answer would the acceptable to Jim.

Brent: Oh, that's true.

Evan: He's not in charge of me, but —

Brent: Yeah.

Evan: I'm doing some calculus here, and I think that was the correct answer. He's in the building.

Brent: Yeah. That's true. Mmmph.

Evan: Is that the sound you make when you realize Jim's nearby? Is that what that was?

Brent: [laughter] So, you're a software test pilot. What does that mean? What do you test? OmniFocus, mainly?

Evan: I'm not only on the OmniFocus team. There is soon to be, there is now, more than one offering there in the Mac and iOS apps. There's also OmniFocus for the Web. Which is what I've spent most of my time on since... well, sometime last year, anyway.

Brent: Okay.

Evan: There's also associated services supporting both of those apps. There's the Sync Server and an account system for signing up and dealing with all the stuff for OmniFocus for the Web access.

Brent: If you've been mostly testing OmniFocus for the Web lately, how do you do that? Are you just in front of a browser all day, clicking around at stuff? Or what are the aspects of that?

Evan: I think there's two pieces. Well, there's more than two, but there are two that I spend most of my time on.

Evan: The first is exploratory testing in a browser. That's mainly in, to us, the big four. On the Mac, that's Safari, Chrome, Firefox. On Windows, it's Chrome, Firefox, and Edge. The idea there is I have VMware on my system, and we also have, at times, had tried things on a Windows machine, as well. Yeah, poking around. Mostly in areas that have changed recently. Trying out things that I know people will want to do because I do them in OmniFocus. Or, that I've, over the last couple years, learned that people want to be able to do or we've changed how something works. I got to learn how browsers deal with locale settings. Stuff like that. That was a lot of fun.

Brent: Oh, right. Sure. I suppose different font settings and stuff, too, can interrupt layout and whatever.

Evan: Yeah. Actually, that font thing is one of the reasons I've also tried some Linux distributions. I didn't really have to do that, but it was nice to say, "Oh, here's what Ubuntu ships with. And Firefox there; what does it look like?"

Brent: Right.

Evan: What of our fallbacks in our CSS does it end up using, and how does that look? How does that work when I'm using the app?

Brent: Cool.

Evan: In addition to the exploratory testing, there's also a lot of API testing, especially around the in-app purchases and subscribing to OmniFocus for the Web. For that, I started off with using curl commands at the command line. Posting to a certain web address, some data structured as JSON, in this case, and seeing what response I get. Comparing that to what we want. Or trying to cause errors, whatever.

Brent: Passing bad data around, too.

Evan: Yeah, sometimes. Comparing it to the same call, but in the iOS app. I want to set up a new account. I want to check whether an email address has already been signed up. I do that in the iOS app, I do it via curl. I say, "What happened in each place? Do I get an error that makes sense in both? Are they different?" File bugs, that kind of thing.

Evan: Once I've built up enough of these, I decided that it would be good to have a library of this stuff.

Brent: You would call this integration testing? Or what is the overall name for this, kind of where you're testing the APIs?

Evan: Yeah. The whole thing end-to-end, I suppose. First testing the systems separately, right? Making sure that it's doing what we want, both the API and the app. Then hooking them up, and testing the whole thing; all the widgets put together.

Brent: So, Paw, you mentioned, is one of your tools.

Evan: That's right, yeah.

Brent: What is Paw, and how does that work?

Evan: It's API testing software. It's native to the Mac. I think it's well-written. It's useful. I can set up different environments; one set of credentials, environment variables for test instances of things. One for production. A former Omni engineer, named Jake Carter, created a project in that app for Stenciltown integration for OmniGraffle; and I ended up using it a lot when I was testing his work.

Brent: You've used Paw before? Found it useful.

Evan: It's really useful in segmenting problems. This is something that logging does help with sometimes, but... Is the problem with the response we're getting back from the server or is the problem in the native app? Is a problem that can be pretty easily answered with a tool like this. It turned out that someone else here who was working on the account stuff also knows about this app. Troy. He had already started a project for Omni Accounts in Paw. And so I took it and added things to it as needed. I have distributed to other people to use. It's a great piece of software.

Brent: I don't think I've ever heard of it, but it sounds awesome. I can definitely see how that'd be useful.

Brent: That is one of the toughest things to debug when you have multiple components and you're trying to figure out, well, where's the problem? To be able to look at the traffic and understand things is huge. So did Paw help with testing in-app purchases and subscriptions? Because we're adding stuff for the OmniFocus subscription and the OmniFocus for the Web add-on subscription. Some of this is going in our native apps, I think?

Evan: It helped a little bit, but for the most part, that's done by the testers here. We're fortunate to have a sandbox App Store environment that we can use.

Brent: Is that Apple-provided?

Evan: It is. The idea there is that for subscriptions, you can create a user that has essentially never had any subscription before. You can go through a subscription sign-up process. Either monthly or annually. It operates at an accelerated rate. I don't get to decide what that is. Instead, it's set in stone. It's something like five minutes is a month, and an hour is a year.

Brent: Well, that's cool, because otherwise, you're waiting a month or a year to -

Evan: That's right. We would have to spend decades on a release like this.

Brent: Right because the first year, you're just waiting, and then you find the bugs and you fix them. Hope they're fixed year two. Yeah, right. That would be not good.

Evan: I think about year eight we could send it out in TestFlight or something. I appreciate that system exists because it's really the only means we would have to test a system like in-app purchases of subscriptions before launching.

Brent: I'm imagining I'm really happy that I'm not personally working on the in-app purchasing or subscriptions. Because, I'm betting there's a whole lot of state combined with asynchronous calls to Apple's stuff and our stuff, and that just sounds like a ton to keep track of. Even when you're testing, you need to know what needs to follow from a given state. You have a whole lot of different states to set up, too.

Evan: Yeah, that's true. There's a couple things that's we've done to deal with that. One of them is ... rather often there are diagrams being drawn on whiteboards around the office, especially in the engineering area, also test, of how systems work together, what state we think we're in, and how we think we got there. That kind of thing. Lots of timelines of in-app purchases and renewals and so on.

Evan: In addition, though, because we have different environments, as well, we have sandbox versus the App Store. We have a test server versus our final account server. All that. In the app, what our practice tends to be is we will ask engineers to set up a preference. We can use a URL to set that preference. Say, point at this server, don't point at that one.

Brent: Like a URL scheme. omnifocus://something...

Evan: Yeah, exactly. That's exactly right.

Brent: Okay.

Evan: Then use a shorter expiration for this other thing. All that. To match the App Store sandbox dates. Sometimes when we get into a situation like this where we have a lot of stuff to ask for, and we've done it over and over, we will say, "Hey, how about you give us one switch for all of that?" So, in this case, that's what we did. We said, "Hey, can you please give us a little accounts testing flag?" We'll just set that, and be good to go. Saves us a lot of time. Saves us trying to guess what state we're in.

Brent: Right. Sure. Okay. Start from a known state and see what happens.

Evan: There's still some guessing. There's still jumping through hoops. We definitely also have a practice of saving in a password manager all of our different app store accounts, which are in different states. I have maybe 40 or 50 sandbox accounts at this point. Many of which have different states, like one owns OmniFocus Professional and is also subscribed and has a lapsed subscription to an annual. Another one never owned OmniFocus, and so on. There are all these permutations that are possible.

Brent: Phew. That's a lot of work.

Evan: Yeah, It's taken us a good deal of time, but it's enjoyable, and we found real problems and being able to fix them. It's valuable.

Brent: I have heard, occasionally, that this kind of testing by humans is some quarters denigrated. Or at least said, not really needed these days. I think we've proved over and over again that it is super valuable.

Evan: It's interesting. Now we have, especially in the web, some very light automated checks that are possible. It was a good opportunity for me to try that out, actually, because it seemed like it would be perhaps a good application for it. We were able to do some load testing with it. Some stuff like that. Maybe check whether it's, after we roll out a new version of something, have it automatically check that one can still log in so that an actual customer is not the first person to find out that it's broken or something.

Evan: Otherwise, I think the thing is when we're creating automated "tests", checks that are automated, it's really easy to forget to creatively think about what you're trying to do with an application, and end up with, sort of, let me call it like fancy unit tests that are hooked together. Again, they have value, but there are a huge number of issues that would take so long to write the test for that reproducing the issue once in person was the way to do it.

Brent: Yeah. It seems like it's easier to automate small components; testing small components. How everything all works together, and being creative about all the different ways things could fail, that's a whole other story.

Brent: So, I've picked up that you are also in charge of the OmniFocus crash reporting stuff. I hope our listeners don't take it as some terrible admission that, yes, we have crashes occasionally. It's true of Apple, and every other software developer in the world, that there are crashes. We take that extremely seriously. What do we do with crashes?

Evan: Well, we have a little piece of software that will prompt someone, ask them if they'd like to send us an email after they've gotten a crash. If they choose to, they can also add details about what happened. Then that gets sent to a particular email address that corresponds to the product that they were using. The subject line is automatically filled in with things like the name of the app and the version of the app that was being used.

Evan: Then, for OmniFocus, I see it. Every day I'll come in and I'll open up my laptop and open up the OmniFocus iOS and OmniFocus Mac queues in a piece of software called OmniCrashCatcher. That is an in-house app. What that does is that it loads up these tickets with their -

Brent: Is it OmniCrashCatcher or Sorter?

Evan: Oh, Sorter. Sorry. OmniCrashSorter. That's right. CrashCatcher is the send-in piece.

Brent: That's the piece inside.

Evan: OmniCrashSorter. OCS.

Brent: OCS. Do people ever just call it CrashSorter?

Evan: Oh, yes.

Brent: I've noticed that. Our listeners might be surprised to know that we often just drop the "Omni" because that's implied, because we're here. It's like if you're in Denver, you get an omelet, right? So, here, we often talk often about Focus, or Plan, or whatever.

Evan: That's right. For some reason, I don't know what it is, but I definitely say "OmniCrashSorter" every time. Even though I'll say "Graffle" or "Focus". Huh.

Brent: Because of all the other crash sorters?

Evan: Maybe. Yeah. I have several.

Evan: No, I don't. I just lied to you. I don't know why.

Evan: So, every morning, I'll open it up, and because there's, not a huge amount but enough to decode that it'll take a little time, I'll open them up, go make some tea or something. Say hello to people. Come back and get started. The deal there is we've got these files, these little queue files. They have a set of rules in them that have been found to match different crashes. The way that that works is, we look at a crash. We decode it to match up the addresses in it to our pieces of code.

Brent: So you can actually see what was going on.

Evan: Exactly. We say, "Oh, okay. It looks like there are several crashes that have a pattern of this particular sequence of things happening." And so we'll use rules to classify them together, and associate them with a bug that we've filed. We'll also include information that the user sent in, which is very useful because while it can be useful to know what code was in memory at the time, it is often times much more efficient to fix a crash by being able to reproduce the issue yourself.

Brent: Just do what the user did. Like, "Yep, there it is."

Evan: And so, trying to sleuth out, look for patterns, trying to figure out what was going on, either from the code or from the user reports, or both. Occasionally, something will come in and I have just no idea what is going on. What does this code mean? I'll go try to look it up. It's some obscure Apple thing — obscure to me, at least, Apple thing. In which case, I'll send a crash to an engineer and say, "Hey, please lend me your experience." But that's it. And then they'll be filed, and we will know how many people are being affected, what software they're using, and pretty often, how to fix it, through that process.

Brent: You keep the rules in our version control and everything so other engineers, or whatever, can look at the same thing that you're seeing?

Evan: Yeah, that's right. There are a couple benefits there. One is that they can see it. The other is it's easier for other people to collaborate.

Brent: Cool. Boy, I hate crashes, but I love fixing crashing bugs.

Evan: Right?

Brent: It's not my job anymore, though.

Evan: We've done a huge amount of crash fixes recently, in this next release of OmniFocus. People are excited about a lot of different things with getting it out, supporting OmniFocus for the Web's release. All this other stuff. People have done just huge amounts of work. But for me? I look at the crashes that people are reporting and see that, "Oh, this is one of the ones that we've already fixed." There are so many people that are not going to have these issues anymore. I'm really excited.

Brent: Yeah, that's cool. How'd you come to Omni? Was it Craigslist? It's always Craigslist.

Evan: I've heard that, but it was not for me.

Brent: Not Craigslist?

Evan: No. Craigslist, it turns out, is not for me, in general. I don't know what it is. I've looked at Craigslist before, but never bought anything, never got a job there. Whatever.

Brent: That's fair. Did you use Omni apps before you ever even came here?

Evan: Yes, I did. Actually, to back it up just slightly more, I had access to a Mac for a very long time. I had an SE/30 in the home. It was nominally my mom's because she was an associate dean at Stanford in the 90s. Then we got a PowerMac 6100 when those were new. And then finally an iMac in '99 or so. And somehow, I believe on that iMac, perhaps on the next computer after that, I don't recall which, there were bundled copies of either/or of OmniGraffle and OmniOutliner.

Brent: My memory tells me it was both, actually. They were bundled with Macs for a while, along with Comic Life?

Evan: Oh, yeah. That's right.

Brent: One or two other things. Comic Life was pretty awesome.

Evan: Yeah, it was. All that software really impressed me and stuck with me. I know that by the time Twitter... I must have signed up for that in about 2007. By then, I believe that Ken and Tim Wood were on there, and you. I received you all as suggested follows, and so ... Over the years, followed you folks, kept up with what you were each doing, and probably other people here, too. But independent from that, I ended up in Seattle. I ended up here because I had health issue, anxiety issues, stuff like that. I ended up not working and had an opportunity to live rent free up here, through a family connection, while the housing market downturn occurred in 2009 or so.

Brent: Oh, yeah. Right.

Evan: I lived up here for eight or nine months, and found work and became established. Missed my friends, but it was nice to be able to be doing something; and, decided, "Hey, I'm doing these things but I'm being told a lot, at places that I interview, that it sure would be nice if I had more of an educational background in computer systems." So, being that I wanted to be more well-rounded, anyway, I decided to look into going back to school.

Brent: Where'd you go?

Evan: Seattle Pacific University. Which is a place really close-by.

Brent: Often just called SPU.

Evan: Yeah, that's right. Went there for an Information Systems degree. Which, at that school, it's Computer Science with a smattering of Communications and Business classes. During my last year there, I was doing an internship. I got a paid internship at a place called Ballard Technology. They used to be in Ballard; they are now up in Everett. Doing avionics databuses. This is the stuff that —

Brent: Something with airplanes.

Evan: Oh, yeah. Communication lines on the plane itself, between systems. It was interesting in some ways, but I decided that was not what I wanted to be doing, and started looking for other work as the internship time ran down. I did not, as I mentioned, look at Craigslist. I was aware of a few companies I wanted to kind of look at first.

Evan: I was aware of Black Pixel. I was aware of a company that I believe at the time was called Ubermind, but I'm not sure what has happened with them since then. I kind of lost the thread there. And also, the Omni Group. Now, I had previously had once software testing job at a company called PGP Corporation. Makers of encryption software.

Brent: Pretty Good Privacy?

Evan: That's right. I was their Mac tester, back in the day, and I knew that I would enjoy doing that again. So, I went to Omni's job site, and I saw a posting for a Mac software test pilot.

Brent: My goodness.

Evan: Or rather, a software test pilot.

Brent: We were calling to you.

Evan: Yeah. Let's do it. So I sent in an application, came in for interviews, and well, less than six months later, I was starting up here. Just graduated.

Brent: You started, I think, just after me, maybe? So, heading toward five years ago.

Evan: Yeah, that's right. It's been maybe ... It's getting close to four and a half years, anyway.

Brent: You're not from Seattle. Sounds like you came from ... Well, if your mom was at Stanford, sounds like the Bay area.

Evan: That's right. I grew up in San Jose and Palo Alto, California. I now get to visit often to see friends there and all that.

Brent: That's cool. It's not far. Go down for WWWC?

Evan: I did. Last year. That was really fun. It was my first time. I had been to a Macworld, but that was a very different thing.

Brent: Oh, sure. When it's all just us developers, it's kind of a ...

Evan: And actually... Well, you know this, but maybe no one else does. I got to hang out with you a little bit.

Brent: I vaguely remember. Something like that.

Evan: You're a good hang, Brent.

Brent: The Fairmont Hotel lobby bar.

Evan: That's right. It was a good place to kind of get together, talk about what was next, talk about things we'd seen that day. All kinds of stuff. I really enjoyed that. I like it there. I feel like Seattle is very similar to the Bay area in many ways that are positive. One way in which I wish Seattle were more like the Bay area is that the Bay area has better tacos.

Brent: Mmm. Yeah.

Evan: Or at least tacos I like more. The farther south you go, the happier I am. I love tacos, in general. My sister and mom live in Southern California.

Brent: Are those the best?

Evan: They're certainly the best I've had.

Brent: Yeah, okay. My experience with tacos, I grew up on the East Coast, there was some brand that made a taco kit? You'd get shells and hot sauce. There was no other Mexican food of any kind, but I loved those tacos. To this day, you could probably still buy it, and I'd probably eat one and say, "This is the best taco in the world." It's surely not, by objective standards, but it's what I grew up with.

Evan: Yeah, man. I feel like that's why... I just happened to have grown up with taco truck kind of tacos and/or street tacos, so I feel like those are my jam, but I will admit that on occasion, I will want a Taco Bell crunchy taco.

Brent: Oh, yeah. What do you think of Taco Time?

Evan: Okay, I used to call them "Healthy Taco Bell," but that's not even correct. I don't have much of a thought about them. I like that they have crushed ice in a drink. It's kind of a weird fact, but instead cubes they have ... It's that crushed type ice. I don't have much of an opinion on Taco Time, it turns out. I can tell you it's not taco time right now.

Brent: No. It's... Well... It could be.

Evan: You know Kaitlin actually -

Brent: We could just pause this and go get tacos. There's a really nice taco place a block away from here.

Evan: You're absolutely right. We could do that. ... Okay, I'll be right back.

Brent: Alright.

[STREET NOISES]

Evan: Do you know... We're in the same shirt. I'm a big fan of this shirt.

Mark: The Omni shirt?

Evan: That's right. When Kaitlin made that shirt, or designed that shirt, I was very excited. I got a question this very morning at physical therapy about it. Someone asked, "Hey, does that hold any special meaning for you?" And I told them, "Not really. I just like the way it looks."

Brent: What shirt is this?

Evan: It's an Omni shirt with a rainbow of floppy discs across the front.

Brent: Oh, that's a good one. Yeah.

Evan: I mean, I have sentimentality, right, for the bygone era of floppy discs, but It did prompt a very short story. People were saying, "Oh, yeah, remember floppy discs?" All the people in the room, you know? Just remembering about how they used to be there. Last year I was at a Staples, and they have an aisle — at least they did last year — where they sell floppy discs, thermal printer paper, all kinds of stuff. Supplies for things that need to be able to be used but most people think are just gone.

Brent: I remember when floppy discs were actually floppy.

Evan: Oh, man.

Brent: The 5¼" ones. The bigger ones. They would go this and they would flop.

Evan: Yeah, Apple IIGS or something was a thing I used that used those.

Evan: See now, unlike you ... You probably enjoyed your time with things like that as well, but I only played games with that kind of thing.

Brent: I played a lot of games on my Apple II+.

Evan: There's a Mario Brothers game, where it's just one screen; you really didn't go anywhere. You just kind of jumped over turtle shells. And Oregon Trail. I think those were the —

Brent: I played a lot of Choplifter.

Evan: Oh, yeah!

Brent: Other things, yeah. Then tried to write my own version of Missile Command in a 6502 Assembler. I never got it done.

Evan: But you —

Brent: I tried. I think Chris Parrish has the exact same story only he actually completed his game. And now he's a graphics programmer at Photoshop, and I'm not.

[RESTAURANT SOUNDS]

Mark: What do you think you're going to get?

Evan: They've got the house taco. The Tacos Chukis, named after the place, with nopales, that grilled cactus. Some might see that as not traditional, but let's do it.

Mark: Alright.

Evan: Is anyone else going to get a taco?

Brent: I'm going to get one with Carne Asada.

Evan: Can I buy your tacos, your taco and yours here? Alright.

Evan: Mark, can I get you something?

Mark: Can I buy you your tacos?

Evan: Yeah!

Mark: Alright.

Evan: That's kind of a weird ... You know what, let's ... Maybe we should buy our own tacos.

Brent: Okay

Mark: Alright.

Evan: Alright.

Employee: Hi!

Mark: Hi! Can I get one of the Tacos Chukis and the Squirt.

Employee: Thank you.

Mark: Thanks.

Brent: So what do you have? You've got your tacos here.

Evan: We got some grilled cactus; we've got some cheese. I think that make this the Chukis is the salsa, the cheese, the pineapple, and the guac. It's their take on it. Otherwise it wouldn't have the cheese.

Brent: Maybe I should take a photograph of this just to prove that we're not actually sitting in the studio pretending that we're having tacos.

Evan: Piping this music in?

Brent: Mark's magic, anything's possible.

Evan: Yeah, Mark, could we create this scene?

Mark: I don't know if I'm that magic.

Evan: Wow. Even for them, this is a huge chunk of pineapple.

Mark: Sadly, they're not crunchy tacos, so they don't make very much sound. Oh, thank you so much.

Mark: Look at this taco; just drooling everywhere.

Mark: Am I doing this wrong? How do I hold this so that it doesn't drool all over?

Evan: Uh, no.

Mark: Okay.

Evan: You're doing it right. It's going to drip.

Mark: Oh, it's so good.

Evan: Also, it's a beautiful day. This is the right kind of day. There's no wrong day to have tacos, but —

Brent: No, this is a perfect day.

Evan: This is a perfect day for it. Sun's out.

Mark: Guns out.

Evan: If there's a transcription of this, it should read "When Mark said, 'Guns out' that I just kind of looked off into the distance and didn't respond to what he was saying."

Mark: Just looking at the cherry trees across the street.

Evan: Yep. Chris, what was your favorite part of our walk?

Chris Pruitt: The baby burritos.

[STREET NOISES]

Evan: My favorite part was the good company that I had with me. I thought that when I left the recording, I was just kind of being a maverick, off doing my own thing. "I'm going to get tacos. I don't care what they do." But it turns out, everything's better with friends.

Brent: At least we learned a lesson today.

Mark: We learned to give a care.

Evan: I care. Now.

Brent: Evan cares.

Brent: We can probably wrap up the podcast in a few more minutes, so we'll head back to the studio and get this thing done.

Evan: Sounds like a good idea.

Brent: All right.

Evan: Thanks Brent. Now, let's do this.

Brent: All right. Back to the show. What do you think?

Evan: Well.

Brent: Answer a few more questions?

Evan: Sure.

Brent: Now you've had a couple tacos.

Evan: I'm ready for anything.

Brent: Pineapple in the tummy.

Evan: Right?

Brent: All right. On the subject of food, I couldn't help but notice that you were a much, much larger person than you are now.

Evan: Oh yeah, yeah, that's true. For a second, I was trying to ... "What is Brent talking about?" Yeah, okay.

Brent: Obviously this isn't the smoothest segue in the history of podcasting right there.

Evan: Yeah. That's true.

Brent: Let's just start with the facts. You've lost how many pounds?

Evan: Let's see. Now, 235.

Brent: That's amazing.

Evan: Yeah. I feel good about it.

Brent: Yeah, yeah.

Evan: As I'm told I should, and I would have without people telling me because ...

Brent: Yeah, right.

Evan: ... that's what I've been paying attention to is basically how I feel.

Brent: Yeah.

Evan: Yeah.

Brent: That's cool.

Evan: I want to say that, that really started after I went back to school, and all that. I was dealing with the anxiety stuff I mentioned. I went back to school, and therapy, all that kind of stuff. I feel like over time I was able to do a little bit more every day, every week, every year.

Brent: A little bit more physically, and mentally, or emotionally?

Evan: Yeah. Yeah, that's right. Being able to live a larger life than just feeling like I wanted to stay at home.

Brent: Okay.

Evan: That kind of thing. A part of that was wanting to be healthier, right?

Brent: Right.

Evan: Was to feel good every day, if I could.

Brent: Yeah.

Evan: So I went to my doctor one day, and I said, "Hey, I'm managing Type II diabetes. I have anxiety, but I think I could do a little bit more. Can we talk about me maybe working on losing weight?" My doctor said, "Sure," and had a suggestion. He knew that I had past experience with lots of trying to eat certain ways, diets, all this kind of stuff. I had been through a lot.

Brent: Had you done things like Weight Watchers, or any of those programs?

Evan: I did Weight Watchers, and even Nutrisystem where they send you everything that you're going to eat, basically.

Brent: Okay.

Evan: There was a little bit of supplementation, but that's basically the case. Nothing was really effective. I was just doing what people told me to do, going through the motions. Maybe not realizing what I was actually eating, or that kind of thing. He made an interesting suggestion, knowing that. He said, "Well, why don't you just write down what you eat, or at least how you feel after you've been eating a little bit less, and try that for a while, and just get back to me," and so, I did. I was used to practicing mindfulness from dealing with anxiety. I used to meditating, and all that kind of stuff. This is a little bit different.

Brent: What is practicing mindfulness? Not a thing I've done.

Evan: Well, so I'd say there's a lot to it that I still do not feel I am a master of and therefore, I can't explain. But, I do feel like it's about being able to live in a moment, being able to notice feelings, and acknowledge them without being controlled by them.

Brent: Okay.

Evan: Noticing how I am reacting to things without judgment. It takes consistent practice for me.

Brent: Okay.

Evan: I am predisposed towards worrying about whether someone is thinking badly of me, for example, or that nice things are not for me. Like, "Oh, those people are going to a bar to hang out after work."

Brent: Right.

Evan: "That's a thing for them to do, I'm gonna go home by myself," you know. So I'm trying this stuff out. I'm noticing how it feels, and I say, "Hey, I want to" — to other people at Omni who have opinions about apps. People try things all time. Pretty into software, right? Makes sense.

Brent: Sure, yeah.

Evan: And asked, "Hey, I want to track what I'm eating. Do you have any recommendations?" Someone recommended Lose It!

Brent: Okay. iOS app?

Evan: It's an iOS app. It's subscription based, although they have a free tier that I found to be plenty for what I wanted to do. I have since done a lifetime subscription because I have found it so valuable to me.

Brent: Cool.

Evan: But, and the idea there is, I just started tracking what I ate and comparing that to how I felt at the end of a day, at the end of a week, whatever, after a certain type of meal. I came back to the doctor and said, "Hey, what now? I feel pretty good about this. I'm noticing that if I eat less of this thing I feel better, or whatever."

Brent: Right.

Evan: He said, "Okay. Why don't you try eating a certain amount of calories." And this would be enough that —

Brent: Like having a goal of so many per day?

Evan: Yeah, yeah. And at that rate, you'd probably lose some weight over time, but you probably won't feel awful, and so I started doing that.

Brent: Okay.

Evan: It was fine, and I lost weight, and that was the start of it. But, it certainly wasn't the end because there are all sorts of little things along the way. As a result of feeling like I wanted to do more things, I made more friends at work who in turn supported me. There is Christina Jones who is a former support human here who worked with me on creating fun comparisons for the amount of weight I lost to tweet out. I believe you mentioned earlier today —

Brent: Like, I lost a small cat, or whatever.

Evan: Yeah, yeah, exactly.

Brent: Right.

Evan: Yeah. I have a picture of another support human on my back that I tweeted out at one point because I lost the equivalent of him. That kind of thing.

Brent: Yeah.

Evan: That's been really fun. And I have another colleague and friend, Paul Palinkas who, he and his ... Why can't I think of the word "wife?" There we go.

Brent: Yeah.

Evan: Would talk to me about wearing things that are comfortable that you like, that you're feeling. But, that's not just for people going out to be on the Red Carpet at the Oscars. That's for everyone.

Brent: Right, okay.

Evan: Being comfortable in your own clothing is a challenge for everyone, but maybe more so when you're extremely overweight.

Brent: Right. I imagine options might be somewhat limited too, right?

Evan: Yeah, that's right. We tried things like going thrifting, but couldn't really find things. But eventually, we went to some stores and found some stores where they carried larger sizes, and just went and tried stuff on, and saw how things felt. I gave myself permission to buy some things that I wouldn't normally wear, and it was really fun.

Brent: Things that were maybe a little more ... I don't know if the word flamboyant is right, but attention getting, or ... ?

Evan: I think there are things that I liked.

Brent: Flashier?

Evan: It could be flashier. It could be more comfortable. It could be just a different color, or I'm a big fan of textures actually it turns out.

Brent: Okay.

Evan: I'm not wearing anything right now that's very colorful, but it feels great, so I'm happy.

Brent: Yeah.

Evan: Some days that's not the case. Some days I'm wearing bright blue and orange, which is great, so lots of little things like that. I'm starting to go out more, starting to walk, and then exercise daily to feel good not to lose weight. That's actually something I realized as I learned more about nutrition, and all that, that changing what I ate was the thing.

Brent: Right.

Evan: Exercise helps me be healthy in other ways, but I'm not someone whose training for an event. I'm not doing so much activity that's going to outweigh the things I eat every day in any significant way.

Brent: Oh, sure.

Evan: Changing what I ate was the way to do it, right. It's not that I didn't know that eating less would help me lose weight. It's about this whole thing of paying attention to what I ate, and seeing how I felt, and making sure I still felt okay. Like, that I could still, today, go have some tacos, and not worry about it, and not think someone is going to judge me for being a fat dude eating tacos.

Brent: Right.

Evan: And not think, "oh no, I'm not be healthy anymore if I do this."

Brent: Right.

Evan: That kind of thing. I was in a race to feel good about myself before I got to a point where I saw myself as good enough for other people. If that makes sense?

Brent: Part of the key here, it sounds like, is not setting some goal. When I weigh X then I'll be a good person worthy of acceptance and feeling good. It's to attain that along the way.

Evan: Yeah, yeah.

Brent: Okay.

Evan: I mean ideally you have it beforehand, right.

Brent: Right. You share it, yeah.

Evan: Ideally, you understand that you have all of these things to offer to the world.

Brent: Maybe you have to learn how to feel that way.

Evan: That's right.

Brent: And as you're doing that you're also happen to be losing weight.

Evan: That's right. I think that's true. That's certainly true for me. There is this continuous practice of, I continue to meditate, I continue to try to observe things without judgment that I'm feeling. That kind of thing.

Brent: Okay.

Evan: Across the board. And keep up with friends. Keep trying to be positive with them, which is a funny thing for me to say because I tend to relate in a faux negativity sometimes with people, ribbing, or whatever.

Brent: Oh yeah, sure, right. Which people take as positive, right?

Evan: Yeah.

Brent: That's a standard human interaction.

Evan: I think so.

Brent: Yeah.

Evan: But, I'm not always saying, "Hey, Mark. I love thing X about you." Sometimes I'm teasing you.

Brent: Sure, right, yeah.

Evan: Occasionally in the past I would even second guess that. I'd be like, maybe Mark thinks I hate him now.

Brent: We do love his particular ... Is it blue or green?

Evan: Oh that's blue.

Mark: It's somewhere in between.

Evan: It's blue.

Brent: Yeah, okay.

Evan: No, it's blue to me.

Brent: It's very Seattle, yeah.

Evan: Yeah. It's fantastic.

Brent: That's beautiful hair.

Evan: I am envious. Of course, this not being a visual medium — although, I guess there will be a picture.

Brent: We are taking your picture, yeah. Now, your hair is long and luscious.

Evan: Yes. My locks are legendary. I remember being told when I was about 15 by someone at a Supercuts, or something, "Wow, you have such thick hair. You are very lucky." And then, three years later my hair started thinning, and then it was gone.

Brent: Yeah.

Evan: That's okay with me. I like that I can swim more efficiently than people with long hair.

Brent: Yeah. Mark can't hardly swim at all with all that, yeah.

Evan: That's right.

Brent: He pretty much can't even go in the water.

Evan: Race me, Mark. Let's go.

Brent: At some point along the way, you switched to eating vegetarian as well, as one of the changes.

Evan: Oh, that's true. Yeah, I forgot to mention that one. I like that one because Omni ... Well, so part of it I believe is that our CEO is a vegetarian, but I know it goes deeper than that. We have this great kitchen where we get a choice.

Brent: Oh, yeah.

Evan: We can declare ourselves to be vegetarian, or meatetarian. Same with other people in our families, or whatever. Yeah, a couple years ago now, I was looking for ways to still feel full and all that, while eating a little bit less. I have friends who are vegan and vegetarian. Well, if I'm gonna do it, this is a relatively easy and supportive environment to do it in.

Brent: Yeah.

Evan: Yeah. And so, I started doing that.

Brent: And tasty environment.

Evan: Oh yeah.

Brent: Well, I'm not one of the vegetarians here, but I imagine the food is quite good.

Evan: I had the finest veggie pancake today.

Brent: Oh, yeah.

Evan: I'm gonna call them hippie pancakes. I don't think that's derogatory.

Brent: Sure.

Evan: They are these amazing things that are made with shredded carrot, and whatever, and parsnip, and spices, and stuff. Yes, we are blessed.

Brent: Yes. And pickled jalapeños ...

Evan: Oh, yeah.

Brent: ... are totally on the table.

Evan: That's right.

Brent: Yeah.

Evan: That's right. That hot dog yesterday was not a real hot dog.

Brent: Right.

Evan: But, those pickled jalapeños definitely were. Yeah, that's served me really well actually. I noticed that my blood sugar was doing really well up until that point, but it just dropped to normal levels after I made that switch.

Brent: No kidding?

Evan: Yeah. I think I can mostly attribute that to eating more salad, and stuff.

Brent: Yeah, sure.

Evan: Yeah.

Brent: You still do tiki drinks on occasion, right?

Evan: Oh, yeah. Actually, it's probably once a week that I'll make a drink and relax, or I'll go somewhere with folks, one of the local places like Rumba, or Hotel Albatross. There is a place in Tacoma that I think has been mentioned before.

Brent: Oh, sure.

Evan: Devil's Reef. It's a phenomenal location.

Brent: We have a whole episode on the subject. We'll put it in the show notes.

Evan: Oh, that's right. I've been on this show before!

Brent: Yes, you have.

Evan: What‽

Brent: Welcome back to the show, Evan.

Evan: Thank you. I'll tend to have some limes on hand ready to go.

Brent: Also vegetarian: limes.

Evan: That's right. It turns out you can do that with tiki drinks. There is not much like butter, or something in a ...

Brent: Not a lot of ground beef ...

Evan: Ground beef, yeah.

Brent: ... inside the four dots and a dash.

Evan: Boy, we've veered straight into potentially gross territory.

Brent: We really have. I think I'm speaking on behalf of all our listeners when I say, congratulations, man. Losing 235 pounds, and being more mindful, and dealing with anxiety, and finding ways to live a larger life, that's huge. Congratulations.

Evan: Thank you.

Brent: That really is awesome.

Evan: Thank you.

Brent: Now, if only you could've done that and kept your hair, but... Oh well.

Evan: I don't regret that.

Brent: All right. Well, it's part of the weight you lost I guess.

Evan: That's right. Oh, man.

Brent: Those long luscious locks must've weighed 30, 40 pounds.

Evan: At least. I will see if I can dig up a picture.

Brent: All right. That'd be cool.

Evan: Yeah.

Brent: Yeah. Could we use it for the show?

Evan: Oh, yeah.

Brent: All right. That would be awesome. I'm given to understand that when you're not here, you do a little software writing yourself. Tell me about that.

Evan: That's true. I do have occasional projects that come up. "Oh, I wonder what it's like to do thing X." But, the one that stuck is called Smile All Day.

Brent: Smile All Day.

Evan: It came about because someone who I can't attribute because I don't remember who it was.

Brent: It was me.

Evan: Okay, then it was you. Was complaining about how they knew that Amazon would let them contribute to charities by going to smile.amazon.com, but they would often forget to go to that subdomain, or they would be sent a link by someone, and they would just follow that link, and it would be a referrer link, which didn't go to the right place.

Brent: It really sounds like Jim Correia actually.

Evan: I think it might have been William Van Hecke, but it's just a guess, and I certainly don't remember. Anyway, so I thought, you know, this is web technology. I know how extensions are made in some general sense. It's JavaScript messing with things.

Brent: Oh, like a browser extension.

Evan: Exactly.

Brent: Yeah.

Evan: I know how to solve this for this guy, I think. So I went and looked up how to make browser extensions for Safari, which is the browser he used and I used, and made a website to distribute it from, and did all the things that Apple said I should do, and distributed one. It was a little bit buggy at first because Amazon has a bunch of sub domains and other little things in their URLs that will make it so that if you just swap out "www" for "smile" it won't be very happy.

Brent: Gotcha.

Evan: You'll get redirect loops. You'll have all sorts of problems. But, over that first couple months I got it all figured out, and set about to maintaining it, and making sure it still worked in the new version of the OS. Then Apple announced that Safari extensions would be hosted in Mac apps as app extensions.

Brent: Right, yeah.

Evan: And that in the future perhaps that was the only way they were going to do it, so I said, well now is as good a time as any. I haven't made a Mac app in a really long time, and I've never made one that I gave to anyone else, so I went and learned how to make a Mac app. I'm in a really good place for that.

Brent: Yeah, that's true.

Evan: And I was able to lean on some people. They're credited in the About box

Brent: Cool.

Evan: I even got some art from Jim Correia.

Brent: No. Listeners, you can't see my face, but it's not good.

Evan: Oh, that is a genuine cringe. That is not a mugging cringe.

Brent: Yeah.

Evan: That is real. That guy loves using Acorn.

Brent: Acorn is awesome. It's not Acorn's fault.

Evan: No, it's not. You're right. You're right. I should not have said that, that way. What I mean to say is, he has the freedom to use Acorn.

Brent: Yes, he does.

Evan: And thus, he inflicts art on the rest of us.

Brent: Yeah.

Evan: Lots of crowns.

Brent: Yeah, it's always crowns.

Evan: In this case, it was an icon, which is great. I'm using it in the About box still. Anyway, so I made this Mac app to host it, and yeah, it turned out that a year later Apple made it that Safari extensions outside the App Store were no longer a thing.

Brent: Okay, but you were ready. You had the Mac app.

Evan: Yeah. I was able to learn a lot about how Mac apps work that I didn't know before. It doesn't just host that. It has a little onboarding experience and stuff, for people who haven't ever had the extension before. Its got a migration path for the old extension.

Brent: Wow. You're doing all the things.

Evan: Oh, yeah.

Brent: Nice.

Evan: I've got a healthy respect for developers of apps who do a good job of taking care of details like that.

Brent: Yeah, right.

Evan: I definitely want to take that care too, even with something that I feel like, while it's helping people in a way. It's not as important maybe.

Brent: Well, the Mac platform has always been all about taking care of those small details, and taking care of the users, doing things right. I'm glad to hear that you did that even on your free side project.

Evan: Yeah.

Brent: And everything.

Evan: Well, it's taken time, but yeah.

Brent: Well, that's all right. I've been, on the side, working on a single app release for five years.

Evan: That's true.

Brent: Yeah, so I know what it takes, yeah.

Evan: Did Jim design your icon?

Brent: No.

Evan: I like that icon actually.

Brent: Yeah, well we still have the icon from when the app had a different name, so we'll get a new icon before we ship.

Evan: Oh, that's right. That's right. It was called Evergreen, right?

Brent: Yeah, yeah. It's a picture of an evergreen tree, and it's gonna be something else.

Evan: I actually made my app's icon.

Brent: Yeah.

Evan: Yeah. It's a circle with a smiling face in it, and it's beautiful.

Brent: Yeah, I believe it. Jim didn't make it.

Evan: No. That's right. That's how you know.

Brent: Jim Correia is otherwise right, though. We've established that.

Evan: Yeah, I stand by that answer.

Brent: Okay, all right. That pretty much wraps it up. That's all I got in my show notes. Thanks, Evan. How can people find you on the web?

Evan: Well, I think there are two good ways right now. I'm an infrequent, but high quality tweeter, I'm told.

Brent: All right, that's cool.

Evan: You can find me at @theevanshow on there. I have a website, which at this point I believe just links to my Twitter and Smile All Day, which is evanm.net.

Brent: Evanm.net. I like it. It's short. 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!

[MUSIC PLAYS]