We chat with Alex Obenauer, entrepreneur and writer of technology insights, about the connection between music and programming, changing email and productivity software to serve the user, and building empathy from the operating system on up.
Alex comes up with better ways to interact with technology and writes about it on his website.
Is there a link between playing music and writing code? A previous article of ours covered the merger of the two in the music programming language, Sonic PI.
If you're curious about the weird extremes of operating system development, check out TempleOS.
Cassidy and Alex both take copious notes through Obsidian. Alex has a plugin that may help you organize notes automatically.
Alexander Obenauer When I was looking at email clients, it was clear that they were largely designed to reflect how the protocol or underlying database worked. You know, the there was kind of a one to one mapping between the protocol and the interface. And so I wanted to figure out, okay, all the way down at the other end of the spectrum is how email exists in our minds, right. And I wanted to move the applications interface way down the spectrum closer to how we think about it, rather than how the computer thinks about it, which would mean there's gonna have to be a bunch of glue code in the middle in between the interface and the protocol. I've always loved doing exactly that.
Ben Popper NVIDIA GTC is the Global AI conference for developers, innovators and creators. Gain insights from tech visionaries and colleagues on their groundbreaking work in AI graphics, data science, and more through technical sessions, talks and training. It's running from November 8th through 11th. You can register for free at nvidia.com/GTC.
Cassidy Williams Hello everybody, and welcome to the Stack Overflow Podcast. I am Cassidy Williams, and I am here with my two lovely co-hosts. Hello, Ceora, Ryan, how are you?
Ceora Ford Good, good. How are you?
Ryan Donovan Doing good.
CW It's early, but I'm good. I'm happy to be here. Our guest today is Alex. And I would love for you to introduce yourself, Alex to the world so that we could chat with you more about all the cool things that you do as a co-founder and CEO.
AO Yeah, thanks for having me. I'm Alexander Obenauer, our and the co-founder and CEO of MindSense. And we develop a small handful of consumer level productivity software. My work is primarily focused on exploring the future of personal computing, most tangibly that takes the form of a column on my website, the lab notes, a set of notes that I maintain that explore designs and concepts for the user environment in an operating system of the future.
RD We usually like to start these things out by figuring out where you know, where people came from, how you got into the software. What's your story, man?
AO Yeah, you know, when I was a kid, I fell in love with two things, I fell in love with music, and I fell in love with computers, I think they both have wonderful opportunity for, you know, self expression for connection with others, that kind of thing. And, and music never lets you down, but computers let you down all the time. [Ceora & Cassidy laugh] Naturally, that combination of being in love with and hating computers, led me into that field. So I went to Virginia Tech. And when I was a senior studying computer science, I started my company with a Kickstarter campaign for an idea for an email client that I had at the time. And that gave me the funding to start the company. So the campaign crossed the 100% mark in February of my senior year. And I wasn't a good student to begin with. But after that, I was hit pretty hard. So then so I was able to launch into the company full time right after graduation. And then that's largely what I've done professionally since then.
RD Can you tell us a little bit about the email client? I saw on your website, you have a couple different email productive productivity things.
AO Yeah, so the first thing that we had put on Kickstarter is an email client called Mail Pilot at the time in 2011, 2012 when we first introduced it. The concept that I was working around was that the way email was designed 35 years ago, inherently doesn't match the way we think about it today. And so I wanted to kind of roll back, think about figuring out how do we how do we think about email today? How do we want to interact with it, and design an email client that could do those things on today's existing email protocols. And so that's what Mail Pilot was from the beginning. And a number of things within it have evolved over time. And it has introduced a couple of new kind of forms of thinking around email, always sticking on the traditional protocols. And then we've introduced a service since then called throttle back in 2015, which at the time was unique, but now is significantly less unique. Where it's a browser plugin. So you can when you know, you see an email field on the on the web, you can just hit a button. And it fills in an automatically generated email address, and a unique and random email address so that each sender out there on the web has a different email address to contact you. So you can have kind of finely grained control over who can put stuff in your inbox.
CF I've been thinking a lot about this. Someone mentioned this on Twitter, that there could be a correlation between people who are into music and people who get into programming. I don't know, I kind of feel like there's like a connection there.
CW There definitely is.
CF Yeah, I think that's something that's worth exploring. But I just thought of that when you said that as a child you really loved music.
AO There's such a strong correlation there, I agree. Even just this past week, I was reading through Alan Kay's responses on Quora because he has some of the most delightful responses on there. And I was specifically obviously looking within the field of computer science, but apparently he is a professional jazz guitarist and composer as well and responds to questions in that field. And so those are equally delightful answers to dive into.
CF A little while ago, I read a book. I think the name of it is Mastery, but it's basically about how you master a skill. And at the time I read it, because in high school, I was learning to play the violin, and I wanted to become really good at it. But a lot of the concepts that it talks about, about reaching mastery and like any skill that I applied to playing the violin at the time, I apply now to like, computer programming.
AO Interesting, yeah.
RD It's kind of a translational language, like translating your brain's logic into something occurring. About a year or two ago, one of my first articles here, talked to this guy who makes this music programming language called Sonic Pi.
CW Oh, I've heard of that one.
RD Yeah, it's super cool. And it's just like, he's creating a DJ set by just, you know, typing commands.
CF That's worth exploring, I have to look into that.
AO I think another cause for the correlation could be if you end up in software development, as a profession full time, you need a really, really good outlet. And music is one. [Ryan laughs]
CW I think that's huge, because so many times if I'm stuck on a bug, I go play something, I can come back and I'm like, okay, we can do this. And it gives you a bit of a fresh mindset. I think that's very, very real.
CF Definitely, definitely. I feel like I got a lot better if coding, honestly, when I started to play the guitar, again, because I kind of started both up at the same time. And for some reason, I don't know, my brain would just start working, I think my, my brain got used to like, Okay, you have to translate your thoughts into chords. And like that whole concept of like, like you said, translating your thoughts into, like, something that's readable by a computer? I don't know, I think that helped. That helped me a bit with like, getting through my coding classes and everything. So yeah.
RD You said earlier that often we're often disappointed by the computers, by the promise of computers. What do you find disappointing about them?
AO Well, you know, there's the menial stuff, right? So every day, there's lots of little frustrations, but then there's kind of the grander stuff where I think, as a kid, when I first started using computers, I was awestruck by the potential, I saw the hardware as creating this immense potential. And I saw the software as fulfilling, like 0.1% of it. It seemed like the software was never as imaginative or as empathetic as it could be. And so on the higher level, I think that's my ongoing frustration with computers.
CW It's interesting, too, because that's kind of the style of the software that you make only it's, we're only using a certain percentage of our brains, and being able to have productivity softwares that help us unlock more of that and be more productive. It's a very similar concept.
AO Yeah, you know, and most of the software that I currently sell, it definitely helps you be more productive. But I think and what I explored my lab notes in designing a user environment for a fictitious operating system of the future, is how can we help people be more creative, beyond just productive?
CW I'm interested in hearing too, you mentioned that software is not as imaginative and empathetic as it could be. So how do you take that and build it into the product that you build or take those ideas and move ahead with your software with those concepts in mind? I'm interested in hearing more about that.
AO Yeah, what I usually do is, when I'm putting together a new concept, you know, for a new product or a new version of a product, I usually have stepped away from computers for a while, like, and of course, a while these days, to step away from computers is on the order of magnitude of days. But I tried to make it very deep the distance. When I was first coming up with the concepts in my lab notes, for example, we were my wife and I had been full time or being around the continent for some time. And we were in our RV in a place called Longmont, Colorado, a wonderful little town near Boulder in Denver. And we were, for lack of a better place to stay, we were at their fairground, I don't know, county fairgrounds. And so like, every weekend, while we were there, there was a different thing. There's like a small horse show the one weekend, and so like there was always this stuff happening at the fairground that we would kind of meander through. And so it was this time where I really didn't touch my computer. So I was very distanced kind of cognitively from it. And that's when I really started coming up with the concepts that are in my lab notes. So I think getting that distance from what software looks like today is where I'm usually best able to think about based on how we think about the things we want to interact with, how those things work, what they should look like and how they should function. Does that make sense?
CF It does, it makes a lot of sense. I think sometimes we miss the especially the empathy side of things when it comes to building software. I just saw conversation the other day on Twitter, because I spend too much time there, where people were discussing that so many people don't really, like normal everyday people who are software developers don't really know how to navigate the web. And sometimes we get obsessed with creating these like, because we can do, we can create these like awesome features with software and do amazing things with code. We forget that like, at the end of the day, people have to be able to use this, we like miss that empathy. And I really do think they're stepping away from your computer and like being around other people talking to other people who are like different from you who don't do the same things as you as far as like software development go, really goes a long way when you have to step like sit back at your desk and start coding again.
RD You know, we all want software to solve real world problems, right? Like, so you have to be in the real world. The more time you spend at the computer, the more you're going to be creating software to solve computer problems.
CF Yeah, that's kind of deep. There's something to think about.
CW Dang, Ryan! [Ryan laughs]
RD That's it. That's as good as I'm gonna get. So one of our writers who was also on the podcast, Isaac Lyman, also made the point that good code comes from being not only empathetic with people, but also empathetic with the computer. Do you think there's there's anything to that?
AO How did he mean that?
RD You have to sort of understand, you know, the limitations of a computer. Like, in some ways, computer hardware is really dumb. It's just a lot of it. Right? It can process, you know, very simple things a lot. But it can't make decisions.
AO Yeah, no, that's very true. And I think a lot of what I enjoy doing is just trying to see, you know, how can we bend these computers into totally new shapes. Right? How can we take the hardware we have today, and do totally new things with them? Things that just makes way more sense. Things that are obvious in hindsight, right? I love it when I put something together and show it to someone and they're like, yes, that's exactly how I would have done it. And of course, that's not true, right? Like, it takes a lot of twists and turns to get down that path, and then find the thing that is obvious. Once it's in front of you. I don't know, I probably put my computers through hell. I should probably more empathetic with them.
CF Yeah, I would love to hear more about like a project you worked on, or a product you worked on, where you feel like this is the embodiment of like this concept of taking the hardware and really making it—using software to take the hardware to its fullest potential, like, has there been anything that you built, even if it's like a small feature or something like that, where you're like, man, if someone asked me, this would be like the pinnacle of that?
AO I wish I had, I think I haven't. And I think knowing that I haven't is what keeps me doing what I do, you know?
RD Is there a sort of fantasy application? Like, if you had all the computing power and all the brain power? What would be the sort of pinnacle?
AO For me, this might be the world's most boring answer. But for me, it absolutely would like if someone came to me today and said, you know, here's infinite funding for any, you know, research projects you want to do, for me would absolutely be putting together a really solid team to figure out, to build the next generation of operating systems for personal computers and personal computing devices. You know, in exploring what hardware is capable of, there are things far outside of personal computing, that would really push the hardware we have today to its limits. And I think those things are very interesting. And I really enjoy following people who explore that stuff. For me, it's not about using every core in the machine. For me, it's about while hardware has made so many advances and can handle as many computations a second as we can throw at it in personal computing. You know, for me, it's really thinking about how do we design and build the software that will form the foundation of personal computing for the next, you know, 50, 100 years, we're still using a lot of the same fundamentals that we've had when personal computing was born. I think there's a lot of room to grow there.
CW It reminds me of the second brain concept quote, unquote, where it's it's people using note taking softwares or different types of various forms of storage and stuff to be able to say, okay, if I write this down this way, and have a system in place, I don't have to remember it, I can just search for it later. And there's a lot of different software's out there trying to solve this problem. And I love the concept and I'm an avid note taker myself, trying to make sure that I don't forget anything and the concept of changing personal computing for humans, I think the this is kind of a step in that direction slowly but surely for a lot of the industry and for people who have tried it out.
AO Yeah, I think the second brain stuff is super interesting. And a lot of the software that has come out kind of around those kinds of concepts is very interesting. And then I think all the way down to some of the fundamentals, like one of the things that I really want to see in an operating system of the future is a separation between how data gets into your system, and how you can use that data. So for example, email can largely already work that way. So you might have an email service provider that you have to use because of work or whatever or want to use, but you may have no interest in using their app, right? Largely today, you can use whatever client you want. But that's by and large, be the thing. And we have that in a couple of things like podcasts, for example, which is wonderful. And keeping podcasts kind of independent and distributed where anyone can publish on any server, and any consumer can consume via any client is a wonderful thing. And those kinds of things are few and far between. And one of the fundamentals, I would love to see in kind of a next generation of personal computing operating systems is that across the board, right? Personal computing is, I mean, one of the most important things I think we've ever built, I think just under half of the global population has a smartphone, which is a personal computing device. It's the operating system on those devices, and computers, or the software through which we do so much of our life's work. It's how we learn very often to connect with others. So kind of exploring what does that future look like? Where does that the pioneering and trustworthy layer of personal computing come from for the next 50 to 100 years?
CF Well, I have to say that this is not something I've thought a lot about, I've just been satisfied with the way things are. But now I'm going to like, research this a little bit more. Because I think this is something that's really interesting.
RD I'm a little curious of how you imagined that working in practice, like, do you imagine, you know, any application opening up an IO stream, that you would be able to control where that IO stream goes?
AO So largely, what I've explored in my lab notes is kind of, I've called it an itemized OS, the idea is that your system is made up of many distinct items, each of which has its own type. And the items can come into your system, either, you know, you might create them, or a service might bring an item in, and items can reference other items. So you can imagine there might be an item for a podcast show, which would reference a bunch of items for each episode. And so services can bring items into your system. And then you as a user can pick any applicable view, any view applicable to that item type, to render it either visually, or through, you know, through another means. And so by separating the software that brings items into your system or services, from the software that renders the items in your system, you get that by having that distinction, that separation, you win that new fundamental principle.
RD I'm always curious what draws people to creating their own OS? Because it feels like it's either like somebody, you know, creating a Linux distribution, or doing some eccentric personal project, like Temple OS. You've heard of that?
CF I haven't. I would love to hear more about it, though.
RD So I've heard little bits about it. Cassidy, maybe you can help me on this. It's somebody I believe creating an operating system to get them closer to God. Is that right?
CW Yeah? It's like, I thought it was a video game for a very long time because of the art style. And then I learned that that is not what it was at all. Truly based on just hearing about it and stuff. But yeah, it was someone who at least thought that he could make an operating system that was like, biblically based.
AO Is that in active development?
RD I think it's been in development for 15, 20 years.
CW The main developer has passed away. So I don't think that's in active development anymore, at least.
AO I'm gonna read up on it more now.
RD So what spurred you to kind of tackle this at an OS level?
AO I definitely like to spread myself thin. I've learned that about myself, a bad habit I have, I definitely like to bite off more than I can chew. That's for sure. Really, it is just if you want to deploy kind of a new paradigm for the fundamentals of personal computing, I think that's the layer where it begins. Right? And for the record, what I'm exploring is the user environment of an operating system of the future. So I guess I'm saying that's the layer where it begins, not kind of the kernels and drivers sort of layer of the operating system if you will.
RD So that the user interface part of it? Not like the hardware?
AO Essentially. And so like when I put demos together, they are apps that would run on full screen on your existing computer or, you know, iPad. And so that you've got this new user experience application running on your current device. And so that's how I kind of play with the prototypes and see what's working. And what needs more thinking.
CF It's so funny that we're talking about, like user interfaces and how to make things like more intuitive, because like I said, I've just started thinking about this recently about how like, we do build a lot of things that aren't necessarily user friendly. I think sometimes when you like, for instance, when you use an app or website that's not user friendly, obviously, as developers, we kind of are like, who codes this? Who did this? But I think the the typical, like, you know, non developer person will be like, something must be wrong with me, I hear so many people who say, like, I'm just bad at technology, like, I don't know how to use things. And a lot of times, it's not necessarily that you're bad at it, it's just that the application wasn't built with the user in mind. So I really love this idea of like, looking at the way things are, and saying, like, we can do better, we can make this experience better across the board. I just think that's like such an interesting thing. And not like just saying we can do better just because like, there's so much more we can do with software. But saying we can do better to make the experience better for the people using the software. I think that's really cool.
AO Yeah, I totally agree. And, you know, that's definitely where where I got started with with my first product. Like, when I was looking at email clients, it was clear that they were largely designed to reflect how the protocol or underlying database worked. You know, there was kind of a one to one mapping between the protocol and the interface. And so I wanted to figure out, okay, all the way down at the other end of the spectrum is how email exists in our minds, right. And I wanted to move the applications interface way down the spectrum closer to how we think about it, rather than how the computer thinks about it, which would mean there's gonna have to be a bunch of glue code in the middle in between the interface and the protocol. But yeah, so I've always loved doing exactly that.
CF Yeah. And I'm just thinking, like, if we take that concept of like, how it works on the computer side, versus how we think about whatever the software is, and we try to like bridge that gap. I'm like, how much better would software be? I don't know. That's just so—that's mind boggling.
AO Yeah, thanks for asking that. That's been a kind of a fun thing. So the way that works is something that I had designed maybe a year ago for my, you know, operating system of the future design challenge. And at some point a couple of weeks ago, I realized, shoot, if I completely, if I kind of pivot the thinking around this, to base it around tags, I could build this today in Obsidian. So the way it works is, you know, you use tags in Obsidian. And then when you pull up this view from this plugin, and it works, it's just it's not in the community director yet, I need to finalize a few things. It is on GitHub though. When you pull up this view, it looks at all of your notes, grouped by tags. And then it looks at the common cross references of tags within tags. So for example, if you have a tag called Next Up, and a bunch of nodes tagged Next Up are tagged Book, then in this view, you'll see Next Up and you can click that everything that's Next Up, but right under that you're gonna see, you know, Next Up plus Book, and so you could click that just to see all the Books that you have that you want to read next. And if you just click for example, Next Up, or if you have a tag labelled To Review or Important and you just click that, it'll show you in there, all of your notes that are tagged Next Up or Important, but then grouped by their other common tags. And so what happens is, just by you kind of going through your notes, and just using tags in a relatively normal way, not putting forward a bunch more effort. It constructs these views that give you a wonderful way to overview and browse your kind of notes directory. For me the graph view as visually stimulating as it is, I've never really had a use for it.
CW It does nothing but it looks amazing.
AO It looks so cool. But yeah, I have no use for it. And so but kind of this this tag cloud view of cross references accomplishes like everything I would have thought I wanted from that graph view.
CW Yeah, no, it seems like I've been attempting to do something like that. But with backlinks that I've never quite hit it where I've done like Data View trying to pull in different notes. And yeah, this type of grouping notes in a smart way like that, I feel like that's such a great way for kind of discovery of concepts that you might have thought of at one point written down, but then forgotten it amongst all of your other notes and everything. So I think it's a great idea, and I can't wait for you to add it to the community plugins.
CW We have gotten to the portion of the show where we talk about other things. This week, we have a lifeboat that we'd like to award and a lifeboat is an answer score of 20 or more to a question score of negative three or less. And then the question goes on to receive a score of three or more. And this badge can be a word multiple times and this badge was awarded to Ole. And the question was, "what is the curl -S option?" and Ole answered it themselves. So go check it out.
AO Self safe, that's good.
RD Self save, yeah.
CW And with that, I have been Cassidy Williams, you can find me on the internet @cassidoo on most things, and we'll see you next time.
RD I've been Ryan Donovan, content marketer here at Stack Overflow. Still am, but I have been also. You can find me at Twitter, @RThorDonovan. If you have a great idea for a blog article, you can email me at firstname.lastname@example.org.
CF And I'll keep it going. I've been Ceora Ford. I'm a developer advocate at Apollo GraphQL. And you can mostly find me on Twitter @ceeoreo_. Like I said earlier, I spend way too much time there so you can definitely find me talking about all kinds of things there if you're interested.
AO And I'm Alexander Obenauer, you can find me on Twitter @AlexanderObenauer. If you feel like you've written too many vowels in a row, you've gotten it right. And my website AlexanderObenauer.com
RD Well, thank you very much for tuning in. We will talk to you next time!