Laurel 0:00 Welcome to the HTML energy podcast. So today we have Omar Rizwan, who currently works as a researcher at dynamic land, a research lab founded by Brett Victor, which is located in the Bay Area. Omar is interested in programming as user interface, subway maps, computers, systems, low latency and fast feedback, provenance, unstructured spaces, qualitative methods and the future. You can visit Omar's website at rsnous.com. [~15 second musical intro jingle composed by Madalyn Merkey] Well, yeah, thanks for being on the podcast Omar. Could you tell us just to begin about your bell avatar? Omar 1:10 I feel like the explanation I give is always kind of ad hoc and different every time. I'm not wearing the necklace now. But, um, so I grew up in New Jersey, not too far from the lab, from Bell Labs, and I had a lot of friends growing up whose parents had like originally moved there to work for the lab, and it was just like this kind of weird presence growing up and I feel like it stands for a certain kind of like corporate order and a certain kind of way of doing research that doesn't really exist anymore. This sort of very, like mid century, like, monopoly modernist logo. And so I've just kind of stuck with it over time and it's not being used which is a shame. It's just like really super resonant symbol and you only see it on like manhole covers and on the side of payphones these days. Laurel 2:08 So you're kind of giving it new life? Omar 2:10 Yeah, I kind of think of it that way. Laurel 2:13 What does HTML energy mean to you and how do you harness it? Omar 2:19 I just To me, I associate HTML energy with this kind of freshness and rawness of just HTML. It's sort of like fresh vegetables or fresh meat or something where you're only working with the purest form of the thing and you're not bringing in a bunch of complicated tools, you're just kind of working with the raw material. I guess, like part of the reason that HTML energy resonates I think is because it kind of sits in contrast to a lot of the trend in making websites. So there's something kind of fresh and new and revitalizing about HTML energy. Laurel 3:05 Cool. Yeah. And do you harness that rawness yourself? Omar 3:10 Kind of on and off. Every time I go back to updating my website, my personal website, I kind of try to rip more and more dependencies out of it. I actually haven't updated it in a few months. But every time I go back, I'm like, this is much too complicated. It needs to be simpler, it needs to like be as much pure HTML as possible. Because every time I go back to it, there's always all these tools that I used the last time I worked with that I don't know how to use, but I still know HTML and if it were just HTML then it would be a lot easier for me to change this things. I want it to be as easy for me to do things as possible. And for a personal website, that kind of means it should just be HTML. And I think like that it's if I were making like a big web app or something and working on it every day maybe that deserves all these fancy tools, but for my personal website that I only look at every few weeks, it feels like HTML is just so much more more appropriate tool. Elliott 4:12 Can you tell us a little bit about your work at Dynamic Land? And how you think HTML energy works there? Omar 4:23 Yeah. So, Dynamic Land for those who aren't familiar–it's this research lab where I work and we're building this big physical computing system. So the idea is that the computer takes up this whole room. So I don't want to go like all the way into it but you know, there's a lot about it online. I think there's there are a number of like interesting intersections with HTML energy, in terms of the philosophy, but also in terms of more concrete things that I've been playing around with. Like I think one of the ideas that's really core to what we do is that all the programs in this big computer we've made are editable. So the idea is if you come in, you're not just using the system, you're also reprogramming the system whenever you're using it. So we have all these pieces of paper everywhere. And they all have the source code on them. And you can point the keyboard to one of them and change them. And it's very much like, you know, the old school kind of view source that you could do in your web browser where like, if you went to a webpage, you could always view the source and change it and it wasn't just that you're going around and consuming these really complicated apps you could also learn from them to make your own webpage. And more concretely, I was showing Laurel when I was talking to her a few months ago, I've been playing with making some tools in Dynamic Land to make webpages that then you can take outside Dynamic Land and show people but you can use all these physical tools we have and kind of layout a webpage on your table and then turn it into a real webpage and put that online. Part of the thesis of the research group is that we lost a lot when we moved from laying things out physically on tables to being on screens with keyboards and mice and we want to bring back some of that. Laurel 6:18 Yeah and could you explain just for people who don't know, like, literally how that works? I've Googled and seen your videos of like a big table in the room with paper on it and then there's some kind of video that's capturing what's going on when you move around the paper. Is that right? Omar 6:42 Yeah, so there's a conceptual model, and then there's like the way that it actually works. So the conceptual model is that like, there's this computer and it's made up of these little objects that are on the table, like pieces of paper or keyboards or whatever, and so you can interact with a computer by moving them around and I'm pointing them at each other and things like that. And the way that works is, we have a bunch of tables in the room and then the tables all have the programs on them and stuff and then suspended above each table there's a projector and a camera and you know, a server and some other stuff and then those point down at the table and see what you're doing. So those kind of carry out whatever you're trying to do on the table. So the camera can see like what you're moving around and the projector can display things on the on the table based on what you're doing. So instead of a mouse and keyboard, you have this kind of camera and projector hardware setup. Elliott 7:41 Yeah, the low barrier to entry to becoming a programmer is really interesting to me. At Dynamic Land, it seems like you know, you're just moving around these like objects or stickers or whatever, on a table, and that's like you programming. Omar 8:09 Yeah. I mean, there's like different levels of programming. So there's also like a level where, you know, you take out a keyboard and you're actually editing code. But yeah, you can do a lot kind of just by taking these pieces that are already out there and just combining them in different ways, which is kind of what you're describing. Laurel 8:25 Yeah, I guess I'm curious. Like what you lose when you don't have that, obviously, like the physical realm to play around in. I know, you've spoken about the difference between unstructured space and structured space and obviously, HTML is a very semantic language that's all about meaning and structure. But yeah, what are those relationships like for you? I guess when thinking about physical versus online or HTML space? Omar 9:05 Yeah, I actually think that HTML is a relatively more open place to play around in than Squarespace or even a Tumblr blog or something like that. I think HTML is almost as open as you can get while still being online. That's kind of the way I think about HTML. One thing that working with the Dynamic Land system has made me realize is that when you do things in the physical world, you're a lot less dependent on the software to do stuff. So like, you know, if I have a program in front of me, and I want to like write a comment on it, or take notes about what it's doing, or like, give people instructions about how to use it, I can just write those down and stick them to the program because it's just a piece of paper. Whereas in the computer, you know, there have to be some like annotation feature in the software or whatever. And so you just get a lot of those kinds of things for free, because the software builds on top of this existing unstructured face of the real world. I think that there was this whole agenda with HTML of like, separating presentation from content and like, you know, slicing up your content really finely in the HTML, and then styling it separately. And I kind of think that was a mistake. I think that your presentation and your content are not really separable in that way. And this is sort of a misguided quest from the beginning. Laurel 10:40 You mean, like with the advent of like CMS's, and things like that? or Omar 10:48 I would say even going further back to the idea of like separating HTML and CSS. There used to be like the font tag, bold tag, and the italic tag and things like that, and they took them out said you're not supposed to use them. Elliott 11:07 Yeah, there's some part of me that really loves writing inline CSS. So I think, I don't know if that's what you're talking about. Omar 11:17 Yeah, I think the part of you that likes that–there's a lot to learn from that–like the idea of just having everything in one place and working on it as a whole instead of building this weird structure and then putting everything in the structure and then styling the structure separately. Elliott 11:40 There's also something like kind of physical about having everything self contained within one document or like one space. Omar 11:49 Yeah, it's suits this like personal approach of–I'm just making this one thing and every part of it is special way of writing webpages really well. I think CSS makes more sense if you're like, Okay, I'm a big organization making this big app and I want to style like, all these parts of it the same because they're all just components. Whereas if I'm just writing my personal website, I don't need to file like 50 things to be the same, because I am making each part special. Laurel 12:22 That's cool. That sounds like a really fluid way of working, maybe similar to like writing itself. So I recently saw you were tweeting about your love of web inspector. Is that right? Omar 12:38 Yeah, it's great. Laurel 12:40 Yeah. What do you like so much about it? Omar 12:43 Yeah, I just use it a lot for like really mundane stuff. Since I've been home. I've been printing a lot, just like recipes, but also papers and things like blog posts. When I have to print something, it just doesn't come out properly. And I have to go into the web inspector just fix things up. And so it's this really just useful tool to have, like, I don't know what I would do if I didn't have the web inspector and I wanted to print one of these forum posts where they never thought about somebody printing it out. It's like a cool application of knowing HTML that actually doesn't have that much to do with making webpages. It's more like all this other stuff is made in HTML but by knowing HTML, I can like clean it up and fix it up, to print out or like to take a screenshot of it to send somebody or whatever. Knowing HTML is not just about making webpages. It's also about fixing up web pages that you're looking at that other people made for your own purposes. Elliott 13:53 Yeah, that's really nice. Is there a website that you would bring back from the dead? Omar 14:02 Yeah, my answer to this is kind of this very personal. So when I was in middle school, me and a bunch of online friends made this Pokemon game. It was just like an online MMO game. It was written in Java. We had this forum and we had this whole community around the game and that that would be what I would want to bring back because there's just something really cool about having this whole culture on this on this forum. It was some you know, free web form that we got and there was this whole culture that had grown up there around something we created. We would announce new versions of the game and people would get super excited and make guilds and stuff. So I kind of miss those days of like, hanging out with people online, who I have no relationship with in real life. I don't think any of us knew each others real names or where each other were or anything like that. Elliott 15:04 There seems to be maybe like a resurgence of developers and designers wanting to make online communities like right now, I guess beacuse we're all inside. I wonder like, what kind of online communities you would like to see? Omar 15:29 I feel like a lot of the online communities I've been in at least on the surface, there was like some common interest and it might be that like, you didn't that frequently talk about what the common interest was–oh, we're all into this pokemon fan game, or we're all into, you know, Visual Basic or something, we're all into like Harry Potter fanfiction. And this is kind of a pretense for people to get together and like you can always fall back to talking about that. Elliott 16:12 So maybe like very specific communities? It implies a shared culture. And then you know, you make friends with people, and then that kind of friendship can persist even after the community is gone but I always felt like that was often the way that those things built up. Omar 16:17 But do you think that's like the old way? I mean, I guess I'm just curious, are you part of anything like that now? I don't think so. I mean, I think like the main online, kind of social community that I'm on now is just Twitter which is made up of a lot of different sub-things. But you're right, that that does feel it feels different in some ways. I think it feels similar in other ways, like, you know, one comment I've made before is that I think people think that, the replacement for online forums was Reddit, because Reddit has this kind of thread structure. And, you know, you can make posts. It feels like a forum in some ways on the surface. But I actually think that Twitter is almost more like these old old online forums than Reddit is because it focuses much more on like people's profiles and people's personalities. I think it's much better at relationship building, and then Reddit is. Elliott 17:35 Could we ask you to describe your energy and just one word? Omar 17:40 Yeah, someone described me last year as having a gentle energy and I can't get that out of my head now. So I guess I'll go with that. Laurel 17:48 Do you agree with it? Omar 17:49 Yeah, I think so. Laurel 17:51 I guess while we're talking about things shifting because of being in quarantine, I'm curious how Dynamic Land has shifted as being a mostly physical project. Have you as a team like learned anything surprising about yourselves or your project? By moving to remote work? Omar 18:16 Yeah, it's a really interesting question. There's there's a lot of different answers. So we all have these lamps at home that are basically like a mini versions of Dynamic Land. So there's just four of us right now. And each of us has one of these lamps in her house that covers basically the desk. And so there's a lot of just on on the project level, like on the object level, just like organizing my desk is a very different task than organizing, you know, this big office space where we normally work. And you know, it's like much more geared toward convenience and having everything at hand and I'm a lot more comfortable just changing things around because there's not other people who are sharing the space with me. So we're learning a lot about how we work with the same system, but in this very different different context. I mean, we've been trying to figure out different ways to coordinate with each other. Like, you know, do we do calls? Do we email each other reports? Do we take video of what we're doing? Do we narrate the video? How do we stay synchronized? And, you know, obviously, since everything's physical, we're generally pretty reliant on like, taking recordings of what we're doing in the world, since with a normal programming project, everything's on the laptop screen anyway, so it's a little bit easier. But yeah, and I think, at the high level, you know, it's also just difficult since the current situation with the virus is at odds with a lot of the goals we have of people being together in the same space and working together. So it's it's definitely tough to not actually be able to do that and to kind of be cut off from each other. Laurel 20:20 That makes sense. I guess I have like a few specific questions about your own website. Uh huh. I mean, maybe not that specific, but I'm wondering with your own website, like, how you made it because you've talked about ripping out dependencies. Could you just run us through like, why you created it and the kind of iterations and then literally how you update it these days? Omar 20:53 Yeah, so I think I originally made it probably like eight or nine years ago. It was I think at first because I wanted to do some of those very early blog posts that you see on there, which are kind of somewhere between blog posts and essays. And I just needed a website to put them on. Back then I used this like Haskell static site generator, sort of like Jekyll. And then a few years later, I was like, I can't even compile this thing anymore. So I ripped it out and replaced it with Hugo, which is this Go static site generator. And so now when I want to update it, I have this folder on my computer with all the markdown files and the configuration. I change the stuff I run the static site generator, and then I have a script that like re uploads the whole website to Amazon Cloud Storage where it's hosted. That works well enough but it's like annoying enough that I don't update my website, all that often, like every few months, basically. So I really want to get to a point where updating my website is more on the order of like, seconds or minutes of work instead of this whole process that I dread. And so don't do that often. Laurel 22:29 Yeah, and why does your website look the way it does? Or did you find any inspiration anywhere? I mean, I guess if I were to try to answer that question, I would say your website kind of reminds me of your Bell avatar is in someways. Omar 22:46 Yeah, I think that that that was part of it. I think originally there was a bootstrap thing in the kind of first phase of website and then I kind of broke that out, but I kept some of the things that have been based on it. I think the things that were really conscious choices were having those thumbnails for all the projects. I think I'd seen a couple people with websites like that and that felt like the right choice to me just like having these visual markers for the projects instead of just having like blocks of text or links. Yeah, I think I think that that was the main thing and then also making it responsive so that there was these columns, but when you open it on your phone, it compresses down to one. I don't think I was trying to be super ambitious with the website. And also, just like working backward from what I wanted the blog posts to look like the blog posts are kind of very simple, but they have side notes on the side and things like that. So I wanted a homepage that matched the blog posts look basically. Elliott 24:15 What I like about it is it feels like a document and it has a directness to it that feels like it's been edited. Omar 24:26 Oh, cool. I'm glad to hear that. Elliott 24:35 HTML is 27 years old. I never did that math until now. That's pretty amazing. Where do you think HTML is going in the future? Omar 24:48 Yeah, it I feel like there should be multiple HTMLs. Like I think there's the HTML of like Google or Facebook where it's like this concrete that they're using as part of this huge system to make, you know, the Facebook homepage, or the Twitter homepage or Facebook messenger dot com. And it's like, you know, if you look at the source code for those things, they're like monstrosities, and there's all these divs everywhere. It doesn't make any sense. But I think that works for what they're trying to do. But I hope that we'll have, you know, different HTML for, you know, me making my my homepage or people writing essays where they want to do really fancy custom stuff. Because it feels like those are just very different ways of working. And, you know, there shouldn't be one set of tools or one language, or like one set of best practices to cover all those. Elliott 25:51 Yeah, it makes me think of like these different protocols like IPFS and even talking about like Gopher things like that. Omar 26:05 Yeah, I think like one of the, like, one thing they talked about there is like, you know, sometimes you want to have things that'll be archived forever, like you're writing something, publishing and sometimes ephemeral things. Yeah, I think HTML was originally made in the 90s for these purposes of like scientific publishing and creating personal home pages and things like that and it's been stretched and distorted to cover all these other things. I think it'll be nice to have HTML, go back to those roots a little bit. [~2 minute musical outro composed by Madalyn Merkey] Laurel 27:14 How could you write an HTML page that was kind of like a letter to your future self? Omar 27:18 I have a friend who does these online like interactive guides for game programming. Like how do you make your agents in the game do pathfinding to figure out where to go, things like that. And so, you know, he writes one of these guides and puts it online. And basically, it'll be good for years, right? Because that idea is not going to change over time. And so he has a really interesting practice where he designs them to not have dependencies at all because he's like, if I want to change this thing in 10 years or 20 years I don't want to have to run all these weird programs that I was using 20 years ago. So he just tries to stick to the raw HTML and just have it be a self contained page because he's going to change it, you know, once every few years, not every day. Laurel 27:47 That's really interesting. Who is that? Omar 28:18 I could send you the link. This is Amit Patel at red blob games dot com. Laurel 28:29 It's interesting to build for longevity. It's kind of a challenge. Recently I was thinking about myself in like 20 years and I was thinking it would be cool to have the same website. I'm trying to build a new website, but it's like kind of it's like quite a challenge, actually, but I think a fruitful one. But it makes me wonder if HTML is still going to be the same when I'm 50. Omar 29:01 Yeah, well, let's I mean, some of it has been around for 27 years apparently. One other thing that I was thinking about earlier is, like different ways of editing HTML. Like, I think part of the appeal of editing raw HTML Is that all you need is a text editor like Notepad or something like that, then you hit save, and you refresh your web browser. And so you're talking about like, you know, a second or two basically see what you've done. And like notepad is really fast and it's a really simple program, whereas I think with a lot of these CMS's or even online, like webpage editing tools it's just a lot clunkier and slower, because the whole thing is running in your web browser and it depends on the internet and all this other stuff. So it just doesn't have that satisfaction of like everything's on your computer and you can change it really quickly. Elliott 29:55 What's your favorite HTML element? Omar 29:59 Yeah, so I really like, description lists, I don't know, if you all are familiar with them, there's like a, there's like a few different elements into like description lists world–there's like
and
and
. They are kind of what you would use if you were making a webpage that was like supposed to be a dictionary. So you can see a description list is made up of a bunch of description items. And then each item, there's like, you can have a term and then you can have a definition. And there's literally like tag a tag where you put the term inside and the tag where you put the definition inside. And usually the browsers will like bold the term and like make the definition italic or whatever, but I like it because it's actually pretty useful and it's like really specific. A lot of HTML elements like divs or even like header and footer and stuff like that are basically just a box where you put things inside of it. But here I feel like these elements kinda reach into the content, and they're like, this is the slot where you put what the term is and this is the slot where you put what the definition is. So it's like very specific, but it's still general enough to be useful in a lot of different contexts.