Button.lol and Watchfaces.world with w1nt3r and Tyler Angert
18 May 2022Summary
In this episode, I’m joined by solidity devs w1nt3r and Tyler Angert to talk about button.lol, watchfaces.world, and onchain SVG.
Button.lol is a website with a single button that holders on the optimism network can click once every 6 hours to collect points.
watchfaces.world is an on-chain SVG time piece NFT collection. Each NFT is customizable at mint time and will forever display the current time through the use of on-chain SVG rendering. While telling the story of watchefaces world, w1nt3r also tells me how he built an on-chain hot reloading SVG which is helping on-chain SVG devs tighten the visualization prototyping loop for new collections.
Hosted by @nnnnicholas
Produced by @0xmatthewb and @0xbrileigh
Topics Discussed
- Loot Rings
- Jeremy Goldberg, designer of Rings
- rainbow.me
- Rings for Loot
- Webeverse
- Watchfaces.world
- Winter Hot chain SVG on Gitbhub
- AMG and Mercedes Benz engine plaque
- Biograph Girl
- SourceCred
- Button.lol
Chapters
0:00:00 Intro
0:01:10 Winter and Loot Rings project
00:03:45 The story of watchfaces
00:05:40 Developer Productivity Tooling made for watchfaces
00:06:19 What is watchfaces world
00:08:15 developing tooling on-chain vs using p5.js or other language libraries
00:12:16 Building hot re-loading SVG’s from a solidity contract
00:19:10 Upgrades to the second collection
00:19:32 Re-engraving the watches
00:23:51 High end watches valuation
00:25:25 Tyler’s Watch collecting experience
00:27:00 Craftsmanship under old luxury car engines → link?
00:30:05 Biograph Girl and cinema in North America in 1910’s
00:35:30 SourceCred
00:36:30 Button.lol
Transcript
Nicholas: Welcome to Web3 Galaxy Brain. My name is Nicholas. At the end of each week, I sit down for a casual Friday afternoon conversation with some of the brightest people building Web3. In this episode, I'm joined by Solidity devs, Winter and Tyler Angert, to talk about button.lol, watchfaces.world, and onchain.svg. Button.lol is a website with a single button that wallet holders on the Optimism network can click once every six hours to accumulate points. It's an interesting meditation on the most stripped down form of an onchain game. watchfaces.world is an onchain.svg timepiece collection. Each NFT can be customized at mint time and will forever display the current time, thanks to onchain.svg rendering. In the course of building watchfaces.world, Winter also built an onchain.svg hot reloading repo which is helping onchain.svg devs tighten the visualization prototyping loop for new collections. We discuss these topics and more on today's episode. I hope you enjoy the show. Hey, how's it going?
w1nt3r: Well, hello.
Nicholas: Welcome. So, you go by Winter, correct?
w1nt3r: Yes.
Nicholas: Nice to meet you. I didn't realize actually, I've sort of known about your work for quite a bit longer than I thought. I saw the Loot Rings project whenever it came out, several months ago, right? And I don't think I knew you from Twitter back then.
w1nt3r: Nice, yeah. Yeah, that was me, Jeremy, and Hub.
Nicholas: Cool. So, you were handling the Solidity for that, primarily?
w1nt3r: Solidity and the website. And we also did a ton of code-driven research. And overall, it was like super collaborative project. So I handled most of the coding, but we did a lot of brainstorming and designs and stuff like that.
Nicholas: Very cool. That project, just looking at the website, it's very impressive to have a generative, or I guess not generative, but randomized still, mint on those 3D objects that are so, I don't know, lush or something. The photos are really nice. Actually, did the 3D models come with those, or it's just the rendered export?
w1nt3r: So we actually open sourced everything, the code of the website, the contract, and also the 3D files for the Rings. So if somebody wants to reuse it for the next project, they could totally do that. We actually had another project, Helms, for Loot, reuse a bunch of our stuff on the contract side, but we open sourced the website, the contracts, and the 3D files.
Nicholas: Very cool. So I know one of the friendlier platforms, I guess protocol almost, that was a guest previously was the main dev behind Webiverse, which I think you can just, if the NFT has some sort of standard layout for the metadata so that Webiverse can find the files, you can just immediately have the 3D files. I don't know if you could wear them as a ring. Maybe that's asking a little bit much. You could certainly import the 3D files. It'd be cool to see if that works with the way it's currently set up. Or are the 3D files only on GitHub or wherever now?
w1nt3r: Yeah, they're only on the GitHub as means for the other creators to build on top. The idea that Jeremy had for the Rings is to create these beautiful renders that you could print, use whatever you want. He wanted to contribute his imagination to the Loot universe because when he learned about it, it was mostly text and stories and he wanted to make it super visually appealing. And that was the project was all about.
Nicholas: Cool. I've never spoken with Jeremy, but he's a designer at Rainbow, right?
w1nt3r: Yes, correct. We worked together at Facebook and then he moved on to Rainbow and he's now a director of design there.
Nicholas: Very cool. Hey, Tyler. Welcome.
Tyler Angert: Hey, what's up? Can you hear me all right?
Nicholas: Yeah, sounds all right.
Tyler Angert: All right, cool. There's a lot of noise around me, so hopefully the noise cancellation is working.
Nicholas: Somewhat. Thanks for coming through. I guess we should talk about WatchFace's world too. Actually, what did each of you do on the project? I know Tyler, you told me about the project ages ago. I think you were maybe working alone at that point. What's the story at WatchFace's?
Tyler Angert: Oh, wow. Yeah, we can definitely go very deep here. When we last spoke about it, it must have been like November of last year.
Nicholas: Something like that.
Tyler Angert: Which was eons in the crypto time. Yeah, I think at first I was working on it alone. I had this vision of kind of trying to take better advantage of smart contracts as a medium and trying to make things that were dynamic and were adaptive to whoever owned them. I didn't have this burning desire at first to be like, I'm going to make watches. It actually came from this kind of more abstract goal of. I wanted something that could change over time. I wanted something that would adapt to every owner. And as we all know, PFPs are still the dominant use case for NFTs at large. So I was like, okay, I want something that has faith on it. I was like, what has the faith until the time? Right. I was like, okay. I mean, it helps that I do really like watches and I've kind of been surrounded by parts of the luxury goods industry for a little while. That's my family's passion. So it was kind of like a natural segue. I was sort of a watch nerd when I was younger. So I was like, okay, this is cool. I'm going to go forward on it. I kind of started just with like visual language stuff and like mood boarding. And I was doing a lot of stuff from Figma and then started making more like interactive web-based prototypes. Basically, it was just like a slow progression. So getting to the point where I realized what on-chain art actually was and like what I would need it for and taking it from this thing that I was designing and I knew how I wanted it to look and actually making it into this legitimate thing. So from there, it was basically me working around with validity by myself for a little bit, occasionally getting Winter for help until we just partnered basically full-time on it or not full-time. We still have other work outside of this. We partnered on a lot of the engineering work and Winter was basically fully responsible for me being productive. The only reason I was actually able to get the Solidity Renderer done in the first place was like all the developer productivity tooling that Winter created.
Nicholas: Out of curiosity, what kind of stuff, like a hot reloading SVG thing? We can talk about it a little bit, but is that an example of the tooling?
Tyler Angert: Yeah, exactly. It was the hot reloading. I mainly designed the API for the SVG library at first, but even beyond that, a lot of the build to build process stuff and making the entire prototyping process really smooth. That was basically all Winter and making sure that everything was working properly with hard hat and evaluating trade-offs between like, should we use foundry or not? That was all Winter.
Nicholas: So just to catch people up who maybe don't know about the project, because I know you kind of described it a little bit, but basically on-chain watch faces, it's called watchfaces.world. They have many different aesthetics, but they look like watch faces with little faces on them and they're made of SVG. So this tooling would help you to come up with the different traits, I guess.
Tyler Angert: Sorry, I realized I just kind of went off the deep end.
Nicholas: No, no, it's good. It's good.
Tyler Angert: What you just said was totally correct. For those who don't know, the issue previously with on-chain artwork, or rather not the issue with on-chain artwork, but the standards for traditional web development and traditional generative art are very, very high. Let's say you want to make something with P5 or PostSync, which are JavaScript libraries that let you make interactive artwork. The standards right now are very high to be able to quickly iterate on your work and to see lots of variations of your work very, very quickly.
Nicholas: When you say the standards are high, what does that mean?
Tyler Angert: I mean that, for example, artists who use these tools to create generative artwork have a really high bar for how quick and responsive the tooling should be to be able to quickly create different variations of their work.
Nicholas: So for a generative artist, the first and maybe biggest step is really making this tooling that allows you to figure out what you actually want to make.
Tyler Angert: Exactly. And not only to figure out what you want to make, but just to be able to see what you want to make.
Nicholas: Right. It's your eyes into your algorithm. Right.
Tyler Angert: Yeah, exactly. So just getting the basics out of the way so that getting something out of your head onto the screen as quickly as possible is kind of often the first barrier to doing anything creative. So when you're talking about doing stuff on-chain and you're dealing with a language and a toolkit that first and foremost is made for decentralized transactions, it's not made for vector graphics. So there's all this extra stuff that you have to do on top of it and get it even remotely close to the feeling of traditional web development and generative art development. Right.
Nicholas: So because you're outputting to... Because the function is being executed on-chain, it's... But actually, I didn't quite follow the difference between the experience of doing it on-chain versus doing something with P5. Are you saying that it would be easier to create the tooling in P5 or some stuff already exists that just doesn't exist for Solidity?
Tyler Angert: Well, I guess let's take a step back where P5 JS is just one example of a creative coding library for creating interactive graphics. But even if you look at a tool set for a library like React, I don't know if they were the first library to implement copy loading at scale. For those who don't know, copy loading is basically if you change something in your code and press save, or even if you don't press save, your webpage will basically automatically reflect the changes that you made. So if you want to change the background color of the webpage you're working on, you can just change it in the code and then it'll automatically appear. It sounds kind of obvious as something that might happen, but that's the point is that that's how it should work. And it wasn't like that for a long time where you would have to manually recompile your code to do the changes.
Nicholas: Yeah, totally. I mean, I think the way it really should work is that the browser should be a creator tool even more than like, it's so basic. what we're lacking. that like hot reloading is like still kind of fresh. Yeah, exactly. Or you need it in other forms as well. But like it's crazy that Chrome doesn't let you, I mean, like a beaker browser was like read write for sort of basic HTML pages. I thought that was kind of cool UX for creating. It's still not in the same realm as the React stuff, but yeah, the creator tools are sometimes lacking.
Tyler Angert: There's definitely a can of worms that can be opened here about like the history of browsers and like the emphasis on consumption over creation and like why these things are, well, why the things that seem so basic are like actually kind of rare, but I'll control myself from
Nicholas: getting
Tyler Angert: too deep into a tangent here.
Nicholas: Was it the former CEO of Twitter that was the board who was keeping the editing tools out of the hands of the people?
Tyler Angert: Yeah, clearly. Yeah, the reason we don't have hot reloading is because of speech violations.
Nicholas: Maybe if Elon bought the W3C, we'd have what we need by now.
Tyler Angert: Yeah, that's the long term strategy.
Nicholas: So basically, back to the point of this, Winter helped you build the tooling to let you explore the potential of different setups for the algorithm for generating the visuals for Watch Faces world.
Tyler Angert: Yeah, exactly. I mean, that was sort of the first thing that, you know, when Winter and I started working together, he did, but very quickly it turned into. we were working on the website together. We were brainstorming like marketing ideas and it just ended up in us becoming partners on the project. But it started off very much as like, let's actually try to get this to work and like let's make ourselves productive so that we can make progress as quickly as possible.
Nicholas: Winter, had you done any on-chain? Because you had the 1 million pixels. Was that on-chain?
w1nt3r: That hasn't launched.
Nicholas: Oh, hasn't launched yet. Okay.
w1nt3r: Yeah, yeah. Before that, I did a bunch of generative art, NFT projects, then the rings. So I did, when I started working with Tyler, I already did have a bunch of experience doing stuff in Solidity. And as Tyler mentioned, like industry, the web too, if you will, industry has gone really far in terms of tooling, in terms of development experience, in terms of iteration and stuff like that. And Solidity and on-chain tooling is lagging behind very far. So there is a lot of opportunity to kind of catch up and build a bunch of tooling or iteration creativity, push the limits. And what brought me into this project is that, you know, Tyler was pushing the limits a little bit in some directions. And that's what made the project interesting to me. It's not a traditional NFT that is a static picture, but it's a responsive picture. And then the desire to kind of fit it on-chain so it lasts forever and ever was also pretty cool and really hard. I knew that to be able to do that, we would have to have a bunch of tooling, a bunch of things that support us. Otherwise, it's just really, really hard. And that's the beauty of engineering overall, is that you can build your own tools and use them to build more tools and then use them to build more products. And we ended up with watch faces.
Nicholas: I want to hear about what other tools were required. But since we talked about it, what did you build to allow for hot reloading of SVGs from a Solidity contract?
w1nt3r: Yeah. So the idea of this is that the Solidity code would construct a giant string that has SVG code in it. It's like building an old HTML page back in the day where the PHP code would just concatenate a bunch of strings and then in the end you get HTML file. The same thing in Solidity and SVG. The way we used to test that is that we would deploy the contract to a RinkB or another test network and then we will call the token URI, save it to a file, open the file and then see what kind of what was the output. And initially, Tyler built a very simple dump thing that would automate this a little bit. So he had a HTTP server that was monitoring the file and that it changes it through loads. And then I improved upon that so that the process that watches for the file changes also has an EVM built in. So we don't need to deploy to anywhere like RinkB or other test networks. We deploy in memory inside that process. We'll call the write function, we'll store it to a file and then some additional stuff of like real time so that every time you save, it actually refreshes the page as fast as possible. And I think we, Tyler started with the iteration cycle being on the order of three seconds and with the latest version of the library, we brought it down to around 100 or 200 milliseconds. So basically, he was able to save and see the results almost immediately and that boosted our speed of iteration. So that was the first tool that enabled us to innovate on the designs. And then the second tool was a QA script that would render hundreds and hundreds of watch faces in all sorts of combinations of all sorts of addresses, ENS, languages, emojis, you know, you name it, we tried it all. And that helped us view them at large and find systematic problems, find edge cases and overall polish the experience.
Nicholas: So I'm curious about the first one. How does one write a process that includes an EVM and will deploy in this way? What's the stack for doing something like that?
w1nt3r: Yeah, I mean, you could probably do it in many programming languages. I use Node because that's what I'm most familiar with. So it's basically a JavaScript file that uses JavaScript EVM implementation. It uses FileWatcher that is built in Node. It uses built in HTTP server and then gluing these things together so that when the browser makes a request, instead of serving a static file, we deploy a contract. We read the contract from the file, deploy it to the EVM that is running inside of the process, and then call the appropriate method on that EVM contract instance and then serve it back as a SVG inside HTML. And that all basically takes up to 100 or 200 milliseconds, depends on how complex your serenity code is.
Nicholas: And this is on GitHub right now, right?
w1nt3r: Yeah, we called it HotChainSVG because it's hot reloading, it's on chain, it's SVG. And that name caught on in some private Discord communities and we have HotChainSummer coming up. Yeah, it's called HotChainSVG. It's currently on GitHub. You can find it with all the instructions on how to use it.
Nicholas: Yeah, I'm going to post the link here. It can be a little tricky to find. So that's incredibly cool. I'm curious, are people picking it up in these private discords? People are making projects using it already?
w1nt3r: Oh, absolutely. When I demoed this to some people, they were just, you know, blown away because they experienced all the pain of on-chain development where they had to deploy it somewhere, call it. And it's like really painful. And this tool basically solves it all in such a fast and elegant way. These communities work on a bunch of on-chain projects and those who are actually super deep into that were able to take advantage of that, you know, in a couple of minutes, I guess, set it up, start working, start iterating, seeing the results. It makes a huge difference. I'm a huge believer in tools. So yeah, that was very well received.
Nicholas: It's cool. The GIF in the tweet that you shared when you published the repo shows like modifying, you know, text on one side and immediately seeing results in the browser window on the right. It's a very cool experience. Much more real time than I'm used to with Solidity.
w1nt3r: Yeah, exactly. And hopefully this artifact will push on-chain culture and on-chain projects even further, right? Like people who in the past would got discouraged by the long iteration cycle, you know, now you can actually play with this and make something really fast. And hopefully, as Tyler mentioned, that short iteration cycle kind of sparks your creativity. You think about more things and we get more interesting projects.
Nicholas: And the QA tool that you mentioned is actually really interesting too, because even if QA scripts like that would exist for, I forget, I heard like Kevin Rose talking about the Moonbirds drop. I don't know the process that they followed was doing, I think, eight or 10 full generations of the 10k collection and finding and weeding out ones that wouldn't work for whatever reason. But whatever tools exist for doing that for off-chain art definitely don't exist for calling a contract and doing it fully on-chain. So those are new tools as well. Is that in the same repo or is that in a different repo?
w1nt3r: It is in the same repo. It's the parts of the same thing. And to your point is I had a similar experience with the generative NFT art projects. Instead, if you are doing just a PFP project with a pre-screened images, you know, it's a process, but then at the end of it, you can be 100% confident that you are done, that all the combinations that you have generated, you look at them, they look awesome. And that's what the user is going to get. With the generative projects and projects like watch faces that is ultimately very customizable by the people, we as the creators, we cannot know for sure what's going to end up on the other end. And that's the beauty. And that's the challenge. And that has something really interesting about this is that as a creator, I have no idea what's going to come out. We tried to do our best to make sure that all combinations look good and work well. And, you know, all the edge cases are taken care of. But, you know, breaking a secret here, we actually had to redeploy our renderer twice. We paid north of two ETH extra because we made some, you know, rush decisions and didn't account for some edge cases. But then imagining how many bugs we fixed on the QA stage, we would have to redeploy, I don't know, a million times to solve for all these issues. So it has certainly been super helpful.
Nicholas: I can imagine. So when you say you redeploy, you redeployed before the Mint or the metadata contract is upgradable on the watch faces?
w1nt3r: Yeah, metadata contract is upgradable. And we kind of had this idea that, you know, we might miss something. So we made it in a way that we can deploy a new renderer if we find issues. And we did. So and we had to redeploy.
Nicholas: Yeah, I think upgradable metadata, I mean, especially if you have some way to renounce control for future upgrades of the metadata. But in any case, there's a lot of trust in the devs behind the team. So I don't think immutability of the metadata, even for an on-chain collection is necessary. And actually, I think it would be interesting. I'm curious. I don't imagine there's anything in the contract for sort of append-only metadata changes, something like this. I know you talked about the first collection selling up, but maybe there being subsequent collections. Do those come with the same contract or an upgrade to the metadata or a new contract, most likely?
w1nt3r: So it's going to be the same contract. It's the metadata upgraded to a new one that would support more different styles, more interesting things that we're working on. So it's going to be the same collection as far as OpenSea and your wallet is concerned. But the looks of it can be upgraded. And to your point about locking yourself out of this, totally. We actually have some functionality in the contract that gives us superpower of rewriting somebody's engraving. And the idea was, I guess Tyler maybe can talk about this a little bit. We had a lot of thoughts and ideas about how to moderate what people can write on the watch faces because we're kind of semi-responsible for that text. And we ended up with a system that allows us to change that engraving, but we can lock ourselves out of that functionality once all the watches are minted. And this was kind of a really nice balance between having a hard process of adding an engraving versus us still having a control to kind of disallow people to put terrible things in there. That's another thing about on-chain and Solidity and EVM in general, that we can lock ourselves out of the contract eventually. And the artwork is going to exist on itself without necessarily having an author have any superpowers.
Nicholas: Very cool.
Tyler Angert: Another note on that, to elaborate a little bit more on the moderation challenges. and for those who might not be familiar, if you're minting the watch face, you can write a little bit of text on it. And the idea was just mainly inspired by old iPod engravings where you'd be able to write anything on the back or like Nike ID, that kind of thing. The kind of naive first approach might be like, oh, let's have just a block list of like words that we won't allow. But I think anybody who's dealt with social products before or moderating communities or stuff like that knows that if somebody is determined, they will always find a way around it to do something explicit in one way or another. So we knew that we didn't want to do that, especially with the complexity of doing it on-chain. We kind of just decided to let the floodgates open and say, you know, if you kind of violate the guidelines or write something derogatory, we'll talk to you and ask you to change it to another engraving of your choice. And we'll go and change it for you in the contract ourselves, just based on what you say. So I think on principle, we all are really into this idea of immutability and like ownership over what you buy and being like, oh, well, why do you get to change the engraving? Like, I'm funny about it. But I think it's like easy to forget that there are like people behind these projects that were responsible for how it like appears in the world and we're the ones who brought it out. So it's definitely a huge responsibility, I think, to make sure that we're not actively allowing the spread of hate or anything through trolling on our own art project. And the kind of second main decision we made around moderation, actually, which also was complicated to decide, was the issue of re-engraving. So like, let's say you sell your watch face and it has an engraving on it already. What can the new owner do with it? Can they write a new engraving? Can they not? How much control do they have? And I know that this issue actually came up in kind of a analogous form with OKPC with being able to buy and resell other people's artwork and being able to delegate moderation responsibility to the community. I may have gotten some details wrong, but forgive me if anybody's listening. What we ended up deciding was that if you resell your watch, like let's say I buy your watch and I don't like the engraving, I can either do two things. I can keep it on there or I can just wipe it off completely. And the reason we did this is so that we don't have to handle this long tail of moderation where like, hypothetically, the worst case scenario is that there's 600 watches out in the world and every time they're resold, everybody wants to re-engrave. And it's just like this enormous responsibility to try to make sure that like nothing bad in the world is going on with the engravings. So we want to strike a good balance between giving new owners some sense of control while still rewarding people who minted for being early and being able to put their mark on the watch face, lift the burden of long-term moderation issue.
Nicholas: It's interesting. I might've left the engravings on if it was me. I wonder how it changes how you perceive of picking a secondary purchase. If the engraving is a part of the history of the piece in a permanent way or if it can be wiped clean. Sure, you can't write over it and you could go retrieve what the prior engraving was, but it's interesting to have one mutable trade in a single direction only.
Tyler Angert: Yeah, definitely. I think that was like a concern at first with the secondary market. Like, you know, why would somebody buy something with an engraving on it? That's kind of just been a consistent problem in general with this project is like our emphasis on personal value versus like a very retail value, you know, where it's like somebody writes something that's special to them. That should be enough of a justification to have it on there. I've had people putting like special quotes that they really like from movies or little phrases or like anniversaries of events or even just their ENS or like their mirror URLs as engravings.
Nicholas: What do people normally engrave on watches on like fancy watches?
Tyler Angert: I mean, I don't think people generally do.
Nicholas: Okay. You only engrave something that's not so fancy.
Tyler Angert: I guess so. Yeah. You know, typically kinds of engravings you'll see on really high end watches are usually like on the back or if they're like limited edition, you know, just about the serial number or the number of the collection that they are.
Nicholas: Not like best dad ever or something like this.
Tyler Angert: Yeah, I think that's mainly for the iPod.
Nicholas: Maybe initials. Do people put their initials and shit like that? But I guess in the like high end collector watch game is the idea that you'll never sell it or that its value is ultimately for resale one day.
Tyler Angert: Generally, I think people look at high end watches and like high end luxury bags, for example, as assets, especially now because of all the supply chain issues. Like if you actually go to like a mall or like if you go onto like Fifth Avenue in New York and you like do some window shopping around all the watch stores, you'll notice that they're basically all empty. So especially now there's like a particular shortage of watches. They're going for like two or three X markup secondary markets. So people are looking at them as investment slash being able to resell them. Historically, they've also just been looked at as like highly valuable personal items that can one function as like heirlooms or stuff that belongs to the family or very high end presence. But if you ever do want to make your money back, it's like a very, very liquid luxury market.
Nicholas: But still something you might not want to put your initials on.
Tyler Angert: Yeah.
Nicholas: Although I wonder like. I inherited a couple Leica cameras from my grandfather. They were really beautiful cameras, but I could imagine things from that era potentially still holding value, even if they were marked up with some family specific heirloom engravings still being sort of interesting from like, I don't know, antiques roadshow kind of perspective. Do you have some experience with sort of this watch collecting part of life? I know when Apple came out with their watch, people sort of, to me, the watch collecting game came more on my radar. Do you play in that game? Do you have any nice watches?
Tyler Angert: I have a few. I've only recently started mainly because I'm like kind of young and I don't have too much disposable income to drop on like really expensive watches. You know, it's just been an interest for a while.
Nicholas: Is it about the mechanical complexity of the watches for you or the aesthetics? Significance of the design? The designer?
Tyler Angert: I think it's more so. the first thing that you said, like the mechanical complexity, which kind of that might be an allusion to why I was attracted to on-chain stuff in the first place. It was like what's sticking under the hood.
Nicholas: Solidity movement.
Tyler Angert: Yeah, exactly. Yeah. I think it's the same way that I've also, my dad is like really interested in cars as I guess many dads are. Like if you look at a Ferrari or something or like any high-end car brand, the immediate thing might be the aesthetics and like the craftsmanship and like build quality. But the thing that I always come back to as the most impressive is just like, look at this hunk of machinery that just somehow works together. And you like sit in it and press a button and then you can go places and it like just works in the first place. I guess that's not unique to Ferraris by any means. You know, a Toyota will still do that.
Nicholas: But even a Prius.
Tyler Angert: I think even a Prius will do that. You can sit in it and press a button and go places. But generally, I think when you just start inspecting the details on these really high end goods that people have been idolizing for decades, where you start to think about more from like a first person perspective, like who is the person that actually like stitched these things together? I don't know if you've read at all about how these like engines are built, for example, in these high-end car brands. At least from what I remember, like AMG and Mercedes, there is, I think it's like one person who actually constructs the entire engine from like front to back. And it takes like months to actually get the entire engine assembled. And if you like go and look at the engine inside of the car, there's like a plaque with a person's signature on it. So it's like every time you sit in the car and turn on the engine, like literally one person sat there and got it together so that you can press the button and go places.
Nicholas: This is what's missing from the modern mass industrial supply chain. I had dreamed for a while of creating like a scan a product and get into like a text conversation with someone on the supply chain factory floor, building whatever, you know, refining whatever chips, ingredients go into whatever product you're purchasing. But I guess that's part of the appeal of some of these luxury items that there is a connection with the creator is more pronounced.
Tyler Angert: Yeah, exactly. It's not like the people behind constructing these movements in the case of watches or like engines in the case of cars. It's not like they're necessarily famous. You know, it's not like they're world renowned.
Nicholas: They should be.
Tyler Angert: Yeah, they should be. What I mean is like, it's not like anybody is buying a Lambo because they heard about this like amazing engine constructor. that like contributed to the Lambo that you're about to buy.
Nicholas: It would be cool if they did.
Tyler Angert: I honestly would probably be a very healthy move in the right direction. for like the luxury industry.
Nicholas: Fashion too, right? The tailors and seamstresses, you don't know any of their names.
Tyler Angert: Yeah, exactly. Like all you hear about is like the designer on top or just like the brand name in the first place. Where's the love for the people actually putting the stitches in, you know?
Nicholas: So I feel it's strange that the our culture doesn't give any credit to those people. It doesn't steal from the reputation of the designer to acknowledge the fastest seamstress in the world or whatever, like that enabled the creation of the collection. Seems like. what's the problem?
Tyler Angert: Yeah, there's definitely some undertones of. ironically, this reminds me of capitalism. You know, it's like people on the top are taking all the value. All the people on the ground working are the ones essentially creating the value of the brand and items and stuff. Where are they involved in the process?
Nicholas: Yeah, it would be cool if the seamstresses had equity in LVMH or whatever. Yeah, but crazily enough, you can even share credit with the people creating the project of like lowest pay grade without sharing equity. But it's not. it's not done, I guess, for poaching reasons or something. People don't want to lose their staff or something. I don't know. Like all the Elon companies, for instance. I mean, basically, you don't hear about practically anybody except some very high level people aside from Elon.
Tyler Angert: Yeah, there's definitely a larger conversation around here with I think creators and egos, too. I don't think there's any particular reason why we can't be more like this, especially with the creation of mass market products involves like so many thousands of people. Like, why can't we be a little bit more aware and acknowledge everybody who's involved in the process? I'm sure there are some like practical immediate answers you can get like, oh, it's hard to track, like, you know, maybe they don't want to be blah, blah, blah. But culturally, I feel like that's the place we want to get to, right? Where like everybody involved, no matter how small at the end of a movie, the credits roll, you see the director first, but everybody is still listed.
Nicholas: I think it's almost like. I mean, it's whatever the unions, the Hollywood Screen Actors Guild writers, they enforce the rules around those credits, right?
Tyler Angert: I guess so.
Nicholas: I think that's the case. But I mean, like, I don't think it's out of the goodness of anybody. You know, it's like they fought for representation. I know the history. in the 1910s, like early cinema in America, the actors names were not known to the public. They were not. the actors were not yet like prior to the invention of celebrity, the actors were uncredited. And there was one very famous actress was referred to as the biograph girl because she was in all these pictures by this biograph company around 1910. They I think it's the person who founded MGM, a German filmmaker realized that people were so enamored of the actors that they could cross promote films more effectively by turning them into celebrities and managing their their public lives, much like they created the scenario of the film. So I guess there there is still movement, something happened, I guess, in this case, it was motivated by a market opportunity. But credit for some people in the production, you know, went from not not existing to existing. So maybe in the supply chain for some products, at least, you can certainly imagine products that pride themselves on I mean, probably in the packaging, they already do this, you know, whatever a picture of somebody in the factory floor and their name on the bar of soap or whatever. But you could imagine companies that pride themselves on a equitable supply chain could be giving credit to people involved.
Tyler Angert: Yeah, I mean, I think probably better. The ideal solution is, you know, the credit towards people is not just nominal, but it's like either part of like equity or reward beyond just like salary. It's funny. you mentioned that I didn't. I didn't know about the celebrity thing that you mentioned. And I wasn't even thinking about the like the unionizing part of the film industry and like the screenwriters field. I guess that just goes to show that people fight for representation, they get what they want. And then a few decades later, people don't even realize that the history is there. And they just assume that's part of the culture of the industry.
Nicholas: Yeah, these expectations are funny, they can change. It's interesting, because you're what both of you did with watch faces is not unlike the work of creating the watches like physical watches. Additionally, I guess it's a smaller team, something about technology lets you have a much smaller team that can scale the output to larger number of people. So it's possible to know the names of everybody involved in your project, because I guess two of you maybe a couple more on the side, sort of a manageable thing. There's this great book, I can never remember the name, but it's like pig and then a five digit number like 05431 or something. It's like some art researcher did a like a thesis and put out this project. that's a limited edition book where she traces a single pig where all the parts of a pig go in the supply chain. And it's like 1000s of output products that are raw materials for other products. It's like the body of a single pig just travels every direction around the world multiple times. We have so little visual into that so little insight.
Tyler Angert: Yeah, I don't know if I want the visual on that, to be honest, but it's very interesting. philosophically, we're talking about credit objects and like representation and group efforts, especially with related to software. Luckily, I think that is part of kind of the dominant culture around like open source, especially and like WSO for Ethereum. True centralized projects, pig visual, regardless if I want to see it or not. Reminds me a lot of that meme of look at all these other projects that are like dependent on this like one little package from the 90s. It's like this stack of blocks that are like all ready to fall. There was like a toothpick of a project that was written like 30 years ago. It's like interesting to think that we sort of take it for granted that the software actually is relatively easy to track like, you know, different parts of the project are being used. Granted that dependencies are tracked accurately. That's a whole other conversation.
Nicholas: Is that something you see in Repl.it?
Tyler Angert: In what sense?
Nicholas: Just like code over multiple people using overlapping bits of code they found on the internet or boilerplate stuff. I'm just curious if it comes up in the fact that you see lots of projects.
Tyler Angert: Yeah, I mean, I don't have direct numbers off my head in terms of like how much overlapping code there is. It wasn't directly dependent on each other. There is a lot of like forking that happens. There is a lot of remaking of projects that happen, which is directly traceable. The kind of larger question that I've been thinking about for a while with regard to that is like attribution and ownership of code, especially one. it's like bits and pieces of a project versus like working an entire thing. And what I mean by that is like, let's say you only want 30 lines of code out of a project, right? Or like you find this little bit of a project that's useful to you and you want to use it, but there's no easy way right now to a la carte. take just the pieces of a project that you need. It depends on like the author's organization and like the author's project structure to kind of correctly attribute them. So I wonder if there's like a world where we can get really granular with like making sure that people are credited where credit is due without having to put all of the burden on. like making sure that if you wrote something really useful, you structured it in a way that people can grab it however they want.
Nicholas: Yeah. You mentioned solidity in Ethereum too. And to me, the big X factor is that there's still choices to be made. The financial aspect is immediate to the medium in a way that is not the case in Web 2. You know, like DAO monetization. I think of Juicebox, you know, these open source projects that are Zora or I don't know, all kinds of projects where there's the potential to create some kind of financial machine around open source project that doesn't compromise the open sourceness of the code. And it doesn't require like whatever large corporations to make donations to make the foundation that supports the development of the open source project viable or just the goodness of people's hearts. It's like possible to tie the reputational benefits of being credited with also potentially some financial benefits that can support the work into the future. Actually, NFT mints also are a simpler version, even like what you're doing. No DAO required necessarily.
Tyler Angert: Yeah. Don't quote me on the details because I'm not too sure about the project itself. But from what I understand, source cred, trying to answer a lot of these questions too. Yeah. Are you familiar at all?
Nicholas: I've used it a couple of times for searching, but not beyond that.
Tyler Angert: Yeah. The way I've had it explained to me is that it's like you can get really granular about commits on GitHub to, you know, contributions like a Discord. It can basically just kind of tie like any kind of action you take online, figure small into kind of composite reputation score. And I forget exactly like how ingrained it is into like some kind of financial component, but it does seem like we want like open source software to kind of be the default still, but make it like a viable income source for people to just like contribute to whatever projects interest them. It feels like that needs to be like a part of the kind of protocol. And what I mean by that is like committing to an open source project on GitHub shouldn't require you to be like sponsored first. It should be like obvious, like what kind of rewards you get either contributing or like solving bugs goes beyond just like what the owners of that particular repo project have decided.
Nicholas: It reminds me, I know there's also a project by MetaDreamer called MetaCred that is doing something like source cred, but focused on web three. I know Winter, you've got a run soon. So I wanted to tag you in and ask you all about button.lol. Maybe tell people what it is a little bit first.
w1nt3r: Of course. Yeah. Button.lol is a DAO. It's also a website that you can go to and you can click a button. When you click a button, it kind of shakes frantically and then it disappears and then timer comes up. that gives another six hours until the new button is going to appear. Every time you click it, you get one click coin. It's an ERC20 token that is not transferable. So basically we cannot do anything with it. And that's pretty much all. That's what it is.
Nicholas: Okay. So I have a bone to pick. First of all, you rugged me because I Sybil attacked you like Austin Griffiths suggested yesterday and I have six click tokens and you changed the contract to one where you can't transfer the tokens. So all that optimism Sybil attacking is useless.
w1nt3r: I'm sorry, but not sorry. But I guess this is more fair because now the only way to get this token is to go to the website and click the button. And as all ideas, I did not come up with this original thing. It's basically a combination of ideas that I've seen in the world in the past. Clicking game. There is a paper clips, which was very famous, where you just click a button to create a paper clip and then it goes on from there. Back in the Facebook days, there used to be a game called Cow Clicker and it was a satire, like a joke on the current gaming situation at Facebook at the time. And the idea was that the game was really stupid. You come in and you click a cow and the cow disappears and then it will appear again in like 12 hours or something like that. And then it will also post it to your newsfeed. And using the clicks, you could gain money, which is money with double O. And then you can spend them to upgrade your car so your car could look in the opposite direction or could be some fancy car. And it initially was created as a joke, but it really took off because it used the social dynamics that Facebook was well known for. And yeah, so that's one part. And I also wanted to experiment with L2s. I've been developing mostly on Ethereum. L2s are coming. They are gaining traction. They're gaining better user experience. So I kind of wanted to check out what's the situation there. And I don't know if you followed the updates, but I recently posted that we now have the button.lol on Ethereum mainnet, Arbitrum, Optimism, Polygon. Yes. And Rinkabee. So like even if you have no money in Web3 and you want to participate, you can still get free Rinkabee ETH and participate in button.lol.
Nicholas: It might be harder to get Rinkabee ETH than actual ETH, but in principle, yes, that's great. So you can play on all these different networks. I assume the contract, I haven't taken a look at the contract. I assume it's as simple as I imagine. It's just what's required.
w1nt3r: It's very, very simple. Yes.
Nicholas: I think it's genius. I think a lot of people resonated with it as soon as you tweeted it because it's just fun. These extremely stripped down games just make a lot of sense. So I was very excited about it. I'm curious what the DAO is going to get up to and how long until there's a tool to automatically click for me.
w1nt3r: Yeah, I think some people came up with the tool like this, but then using a tool like this, you deprive yourself from the joy of clicking the button, which is the mission of the DAO. You come in and click the button. But to me, it highlights this awesome thing that I don't think this project could have been possible in my web 2 following, for example. It just doesn't make sense. And we're still in the really nice days of web 3 where the community can kind of get the joke and jump on board and click the button and then maybe do some improvements to the website or create automation, so create some partnerships, etc. Still realizing that it's part of the joke and making fun. That's one of the big reasons why I really love Dubian and web 3, because all these people were kind of on the same wavelength and it's a lot of fun.
Nicholas: It's awesome. I think it reminds me a little bit of a project Blank NFT from a few months ago, which I think didn't really go anywhere. But the idea was that their metadata was upgradable and that they would collectively decide as a DAO once it had minted out what to upgrade the metadata to. If I recall, it's still blank. This one with just enough on-chain mechanics. It's just score. One of the core possibilities for what a game could be. From there, there's so much possibility.
w1nt3r: It's cool. Yep. And it's up to us. Anyways, thanks so much for hosting me. I really got to run. I have another thing to attend to now, but it was really fun. Thanks for organizing this space and feel free to hang out with Tal and others.
Nicholas: Yeah. Thanks for coming through. Thanks for telling us about Button.Lol.
w1nt3r: Thank you.
Tyler Angert: See you on Twitter. Yeah. I also got to get running. I have friends who are engaged on Friday. I'm very excited. Yeah. There's a lot more to unpack here. And thank you for hosting this space.
Nicholas: Yeah, definitely. Thanks for coming through. You should come through next time when there's a new collection of watch faces.
Tyler Angert: Yes, for sure. We're working on it. So if you have ideas on what should be on there, let us know.
Nicholas: Great. Okay. Well, thank you. And thanks for explaining watch faces and talking about the supply chain and stuff.
Tyler Angert: Yeah, for sure.
Nicholas: Cool. All right. See you around, Tyler.
Tyler Angert: All right.
w1nt3r: Peace.
Nicholas: Thank you, everybody, for coming through and see you next week at the same time. Transcribed by https://otter.ai.
Show less