Fifth and current version of hypertext markup language
POPULARITY
Categories
The 16:9 PODCAST IS SPONSORED BY SCREENFEED – DIGITAL SIGNAGE CONTENT Digichief has been helping digital signage and DOOH network operators feed the so-called content beast for a bunch of years. While the Kentucky-based company started up in 2007, its roots go back another decade to a tech start-up that did similar graphics-driven content work for broadcast TV. I've known co-founder Gene Hamm forever, but this podcast was the first time we had a detailed chat about what Digichief does and offers. We get into a bunch of things, including what's widely used and what seems like perfect contextual content, but hasn't caught on. We talk in detail, as well, about more customized content, and about a new service called Mercury that Digichief spent more than a year developing and recently rolled out. If you hear thumping sounds in the background on my end, that's the roofers. It wasn't until the morning we recorded this that I remembered about the racket they'd be making. Big job. Big bill. Subscribe from wherever you pick up new podcasts. TRANSCRIPT Gene Hamm, thank you for joining me. For those people who don't know much about Digichief, could you gimme the elevator pitch on what you guys do? Gene Hamm: Absolutely. Thanks Dave. Long-time listener, first-time caller. Am I the first one to say that? Probably not, among the first. Gene Hamm: My kids always say I've got a lot of dad jokes, so I oh, no, I won't bore with that. But thanks for having me today. I'm Gene Hamm, one of the founders of Digichief. In a nutshell we're a content solutions provider. Basically, a one-source solution for all things content. We work in a number of capacities. We have a white labeled solution for data feeds for those clients who want to control the designs themselves. Or we can provide an integrated solution with HTML5, our widgets for clients that don't want to do the heavy lifting on the design. We already have it baked into our APIs, and so we've built up a library of content over the years. All the staples, weather news, sports info, that sort of thing. We also have some short-form, video series, and some other products that we work as distribution partners, with digital art, things like that. But in a nutshell, we aggregate, we curate, and we create content for you, and we provide it in a consistent manner. We take care of the licensing, and we keep up with the inevitable changes in the source, data feeds, and put it out in a highly scalable, cloud infrastructure. So I would say in the early days or earlier days of digital signage, a lot of companies, I shouldn't say a lot because there weren't many, and there still aren't that many, but the companies that were doing the sort of work that you do, I would describe as aggregators that they were collecting and harmonizing data feeds from news gathering organizations, government organizations like National Weather Service and so on, and getting in a format that's structured, reliable and all those sorts of things so that CMS companies or end users could tap into your feeds and have something that's reliable, organized, and curated to some degree. Is that a fair way of describing things? Gene Hamm: That is a fair assessment, and I think it's evolved over time. I think early on, it was basically, just kind of an aggregation model. We actually started the company, it's an offshoot of another company we'd started back in the 90s where we worked in the broadcast television space, where we were doing lower third tickers, turnkey systems. So kinda like Chiron? Gene Hamm: Yeah, we were third-party developers for Chiron. So we worked a lot with Chiron early on, but a lot of the stuff you saw on the lower thirds and newscasts around the country was our stuff. The dreaded tickers. Gene Hamm: The dreaded tickers that kind of blew up in the 90s, yeah. We did news headlines, we were doing integrations with AP Weather. We actually ended up doing elections, school closings, and internet chat. We were all over the board on that. So that's how we got our feet wet on integrating and aggregating content. In the mid 2000s, we saw the digital signage kind of take off, and we said, look, we've already got these connections with these sources, so why don't we just license these and license this vertical? So that's kind of how it started, but it's evolved over time. We certainly still do that and provide those in a consistent format, but then it's also moved into kind of bespoke projects where people will say, we've got this data, we've got, we want this, maybe we have to go out and do research on specific topics for “Cold weather starting tips for Automotive Dealerships”, things like that. So there's really a research arm to it that we can go out and create stuff for custom projects. So if you had to give a percentage of from a third party versus what you guys are developing internally, what roughly would that be? Gene Hamm: I would say about 60 to 70% of it is aggregating. All the staples, traffic, transit, flight data, news headlines, sports scores, the stuff that people want to display most often. So yeah, I would say roughly 60 to 70% of it, and then the other stuff is, a lot of stuff on the infotainment route is data-based that we've created over time and this could be for like “This day in history” trivia, fun facts, jokes, clean jokes of the day, holidays, whimsical, eye-catching things to get eyeballs up on the screen. The challenge I've always seen with using third-party sources for things like tickers and full-screen presentations, whether it's from the AP, Canadian Press, or Reuters, is that they typically don't write headlines for digital signage or digital at home or anything else, and they don't even really do it in a lot of cases online. So what you end up with are headlines that don't really say anything. It'll say, “This week's top news is this…” and that'll show up on screens. I see it on broadcast still, and I'm going, why are you even using this? Why don't you curate stuff that you know has fully formed thoughts and says in a headline what you need to know versus kind of a teaser? Have you guys struggled with that, or has it gotten better? Gene Hamm: We've absolutely run into that. You're speaking to the choir here. We've knocked our head against the wall so many times, and I just think that for these news organizations, digital signage is an afterthought. Believe me, over the last 20 years, we've seen so many stories come out that we just scratch our heads, and I've had conversations with the editors to try to plead my case, and it just goes on deaf ears. So basically what we have to do with our news, we have two formats. We have one that's filtered, and we've got lookups and intelligence written in where if something comes out misformed or certain key phrases, we just kick them out. And then we have basically a curated version where we actually go in and manually approve and post. We look at the image, we look at the images is another problem with it, but we look at the story, and we say, this doesn't make sense, or maybe we change a few words around to make it flow better and fit into a kind of concise title and description. So yeah, it's been a big problem and honestly it hasn't gotten any better in my viewpoint. Does AI present an opportunity to clean things up? Because I will take the odd story that I write and dump it into Claude and just say, “Give me 10 suggested headlines” and it'll knock out ten headline headlines in 15 seconds, and I'll look at it and go, oh, that one's pretty good and I'll take that one and maybe massage it a little bit. But it does a pretty good job with that sort of thing. Gene Hamm: It absolutely will be a tool that we can utilize, and we're certainly looking into it right now to try to inject on our backend tools that you can request a specific, character-limited title that makes sense. One of the nuances to AI, which I know you're aware of, is that it's all in the phrasing of how you ask the question for the format that you wanted back in. Prompt engineering. Gene Hamm: Yeah. It's an art in itself, and what we see is that we think that AI can help this curation service to look at the headlines that we're getting and spit them out in more of a usable, readable, concise form. But it's not gonna be autonomous anytime soon. Gene Hamm: We'll see. Yeah, not reliably autonomous, it's still gonna give you some weird headlines and all that, but then again, you could hire somebody and they'll give you weird headlines. Gene Hamm: That's true. That's absolutely true. We try to say that our Soft News, which is our curated version, and we try to bill it as G-rated content that's not going to tick somebody off, but that's next to impossible these days because whatever you think is G-rated and is not going to satisfy everyone. We try to stay away from the political end of it, but there's always gonna be somebody that's offended. Yeah. I've talked to a few people who just said, you know what, we don't even do politics on our feeds anymore, or what we show on our screens, because somebody's gonna be irritated, somebody's gonna complain, and it's just not worth it. Gene Hamm: Oh, the stories I can tell. It's funny. We have a custom bad word filter for stuff that we don't want to come across in the AP and so we've built that over time, and I could never let that see the light of day that the things that we've seen come across the wire that we now omit. Even the images as well. There are a lot of times we'll get images that don't really explain the story, it doesn't make sense, maybe they aren't centered on the right focal point of the image, and we think maybe AI could definitely benefit, maybe being able to zone in on what the main cue is of the image that we get with the AP stories or any of the news images. Have the demands and the uses, usage trends evolved through the years, like when I got into digital, more than 25 years ago now, there weren't really even smartphones, and the internet was still fairly new-ish, and you could have public screens in elevators or walkways or shopping malls or whatever that were running news and weather on there, and those would be a primary source for that information, you fast forward to now, and you can't get away from news, you can't get away from weather data, that sort of thing. I've always wondered, do those things need to be on screens anymore? Gene Hamm: That's definitely a good debatable topic. There are so many of these black screens in our hands that fight for attention. We work in the automotive space in dealer showrooms and you walk into the showroom there and people are in the waiting area, and they've got screens up with content on it, news headlines, weather, things like that, and everybody is looking at their phone. So you're always thinking how do we compete with getting eyeballs up on the screen to get the messaging and whatnot for the client, as opposed to the ubiquitous news headlines and things like that. So yeah, it's something that our clients definitely have to deal with. Is that something you coach to, to tell both your resellers and your end users, that it's important to really think through what you're using in terms of content feeds or your content mix so that it's hyper relevant and contextual to where you are versus just “We need stuff to run on this lower third” or “We need stuff to run in between our dealer promotional messages” or whatever it may be, whatever the venue is. Gene Hamm: Absolutely. As you said, it's all in the content mix. If you're trying to get eyeballs up there on the screen, you gotta have relevant hyper-local content, whether that be local traffic maps or local sports scores or things like that for the market. But yeah, the dwell time and how long the content is on the screen, you want to get the eyeballs up there and then move on to what your marketing message is. So it's definitely a delicate balance between, you can't just inundate someone with all the news, all weather. You definitely have to make it in short, concise forms because people's attention spans go elsewhere. They go back to their phone or something else. A few months ago, you announced a partnership with a company called Stream, and I've done a podcast with those folks and laid out what they do and all that. How do you work with them, and could you kinda run down what they do and how that's resonating with your user base? Gene Hamm: Yeah, so we met Anthony Nerantzis at one of the trade shows, and he came by and explained his interest. He's kind of a broadcaster, newsroom journalist. So basically, what it is they do is a presenter-led, concise, short-form video of bespoke custom news, right? And it can be catered to the industry. So if it's medical, financial, or automotive, or what have you. They can go back, write the scripts, and of course, Anthony can describe this company better than I can, so hopefully he's not gonna be mad at me for giving this kind of dissertation. But yeah, I just thought it brought to the table something that we could really customize for our clients, and it's very professional, the workflow is great, you can provide some of the background, what you know the company's looking to do, what type of information they're trying to get across, their team can go back and write a script that's engaging and they can automate the product to put it out on whatever the interval you need, whether it be weekly or monthly. Originally, when they came out, it was a closed caption type thing with lower third supers on the bottom of the screen and I had mentioned to them, “Hey, there are too many graphics on the screen. Maybe, you might wanna streamline that a little bit.” They did that because they're very good about taking feedback, and now they've moved in. It was more of a no-volume type environment product, and now they've, they're able to do audio voiceover as well from the on-air talent actually speaking and you can actually hear it. Now they're getting into kind of the marketing communication end of it where, let's say it's a pharmaceutical company or something that wants to talk about things that like the president or the CEO wants to talk about certain things to their employees that they have going on, his team's able to go out and produce that and deliver that information and they can get eyeballs up on the screen, educate and inform the client. It's been very well received and we're also looking to work with them on some of our feeds, whether it's health-related type content, maybe we can work in some of the real, day-to-day, hyper-local information on the tail end of the video segment. Say if it's a medical facility and they're talking about medical health tips, things like that, maybe it comes in and we can integrate with one of our APIs and follow the levels of the flu levels there are for the specific area, so we can really hyper-localize it. So in a lot of respects, it's a variation on the sort of work that you've been doing, particularly on the custom side of it. But instead of it just being text and visuals, they can do a full video with on-air talent and they do that by green screening, on-air hosts, and then mashing that up with AI so that it's a human talking to you and doing a custom presentation as opposed to an anime avatar look that I think looks ghastly in most cases? Gene Hamm: Absolutely. I think going to the presenter-led approach is advantageous and some of the early ones, like you said, that we've seen are just creepy. But I think what they're doing with their technology is amazing. I think it looks spot on. Yeah, I've looked at it a couple of times for extended periods, just paying attention to see if it's glitchy at all, and it's very smooth, and if you didn't know, you'd be hard pressed to know, this is AI-generated, but it's absolutely human. But the movements and lips and all that stuff are being massaged through AI. Gene Hamm: Yeah, and the neat thing about it, too, is just it's so scalable and they can automate it, and they can really like its bespoke content, so they can create the script, have it produce it in very short order. So more recently, you've announced something else called Mercury. Can you walk through what that is? Gene Hamm: Mercury was created basically to give our users a more robust way to onboard our HTML content. We were getting requests for more of a web portal that gives more granular design choices such as colors, backgrounds, logos, the transitions. They can go in and micromanage the news they wanna see, or the sports they want to see, the duration that it's on the screen, and then, they can compile that into a playlist and then output it to a URL and that URL can be scheduled. It's quite a long time coming. We certainly had HTML55 widgets before, but this just gives people a little bit more granular decisions and a web portal, and then we also thought it was a good way to showcase our widget library. We built up these designs over time. Many of the products that we have, there's multiple designs, and so for, we think it might be a growth area for new prospects, that it lowers the barrier of entry to go out and actually, sign up for a free trial, take a look at, it's an all you can eat type model where we've got all the staples, the news, the weather, the sports, the stocks, the infotainment and we're adding new designs and widgets all the time. I think it's intuitive where we spent well over a year designing the system, and I think it really gives people a way to sample our products and see how it works with their systems. Could you give an example of how a typical client would use it and what they do? Gene Hamm: Yeah, so they sign up for the product. It's a subscription service, with volume discounts that they can go in, and we've got a kind of smorgasbord of content, a widget library and it's all categorized by, like I said, news, weather, things like that, and they can pick and choose what content they wanna build into a playlist? Now that could be just a single piece of content, whether, say, weather, and they've got a bunch of different designs, whether they wanna do a 5K five-day forecast, if they wanna do a full-screen weather map, they can choose their locations, and then they can output it as a URL that URL can be a plugged into a playlist and that pluglist can have their content or they can massage their own local content, through their own platform, so it just gives them the ability to do this kind of infotainment type stuff in between their other messaging. But yeah, they can build a playlist with a single asset, or they can build a playlist with 30 and build a longer duration, say, a 20-minute loop if they want. So yeah, that's the typical workflow. So more normally or in the past, if I were a corporate entity and I had a corporate campus in three cities in South Carolina. If I were buying that from a typical subscription content service or weather provider, it's going to have a certain look and color schemes, everything else, and you can't really deviate from that, versus with Mercury, you can choose your fonts, choose your background, colors, everything else, and tweak it so it fits the way you want, maybe has the company's corporate colors and or just fits in with the overall look of the network. Is that a clear way of saying this? Gene Hamm: Yeah. To make it very granular, the layout of, let's say, a five-day forecast, the data itself is set on the screen, but all the other elements around it like if they wanted to upload their own. company logo, if they wanna match their corporate colors, they can choose certain fonts that may match what you know they're using. So yeah, they can make different transitions to it, so they can really make granular choices with it to fall in line with what they're looking for, but be on the same thing across the same board. We have stocks, if they wanna put their own company stock up there, they can do that. If they wanna do infotainment like trivia or whatnot, we have a number of different trivia categories that they can choose. So yeah, they can really hyper-localize. Do you put guardrails in terms of design choices that can be made? Like thinking particularly of font choices and Lord knows we've all seen online, particularly, and less so on digital signage, here somebody decides I'm going to use this font, and it's just the wrong choice. Gene Hamm: We have chosen a list of fonts that we have in a dropdown box that they can choose from. As you can imagine, this was our initial decision when we debuted this release system a few months ago, and our thought is that we wanna give them these options to an extent, right? So we have several fonts that we think we deem look good, and we certainly can add additional fonts as we go. But yes, I agree there's some god awful fonts up there that we don't think would at the end of the day look great on particular design. Is this the way to deal with the demand that can scale up so that if you were just doing this through managed services, where you would have companies come to you and say, “Hey, we would like a live custom feed that presents ou weather and other information in these fonts, this background and everything else.” That's hard to do and hard to charge because if it's a one-off, you gotta charge a lot more for it, versus a service where you log in and you do it yourself, by and large, that makes it possible to do more. Gene Hamm: Yeah, I think so. I think with the pricing model, how we have it, they can use everything. It's all you can eat, in terms of all these different designs and content categories that they can go in and it's not gonna cost them anymore if they put the news or the weather up there. I think the value proposition to Mercury is that we're doing the heavy lifting on the backend, and that these local networks don't have to go out and find different sources, and like you mentioned, the National Weather Service. Early on, we were integrating with the National Weather Service and that got to be just an overwhelming task because of stages and formats, and changes in the designs and things like that. It just made more sense for us to go out and get an aggregated list. Actually, we have a couple of different aggregated services. So, like a lot of our staples, we have a primary source and a backup source. So if one goes inevitably, these sources have issues, and if one goes down. It really streamlines the whole process. Has the whole business of getting data from different sources improved? Have they started to, or maybe not started, but long since understood that you can't keep changing the structure. You've gotta stick to something. Gene Hamm: Yes and no. With sports specifically, they're good about giving us a heads up when things are gonna change. In the olden days, we would find out about it after it happened. So I think a lot of the source APIs that we have do a good job of giving us kind of a change. But there's repercussions. If they do a full change of their structure, we have to integrate that, and if it has any changes to how we do content, we have to let our clients know, and we have to make sure the widgets are changed. We have to make sure they know that the structure's changed. During the pandemic, we really moved our cloud infrastructure from one cloud service to another. We added a lot of data points to our structure, and so that was really an uphill battle in terms of having to communicate to our current client base that had already done the design work and had already integrated with our APIs to let them know that's coming. So we don't take these things lightly and we've communicated to our sources over time about the repercussions to this. You can't just pull the trigger and give us a two-week notice. What about social media? If I go back 10-15 years, there were a lot of subscription content providers and CMS companies developing widgets so that you could display Twitter (now X) or Facebook post or whatever maybe on screens and I think over time people realize, oh boy, that's a dangerous thing to do unless you've got somebody sitting right on top of it all the time. Gene Hamm: It's absolutely the case. In fact, we were one of the ones early on that were doing native integrations with the APIs from Twitter and Facebook and whatnot, and it got to be a full-time job for our developers, changing not only the licensing, but the structure, and we finally threw in the towel on it and outsourced it to a company where that's all they do, and so we work with this particular company, and they take care of it. They've got a team of developers that don't do anything else, and they keep up on all the backend changes, the licensing, and so we're able to not only provide Facebook, Instagram, Twitter or X, LinkedIn, all this as a concise data feed with different data points and assets, and then we also have an HTML version that integrates with it. So yeah, we've definitely gone the route of outsourcing that to someone who could keep up with it. Is there a most popular resource and one that you thought would have traction and that just never worked out, and you've since dropped or rarely see sold? Gene Hamm: About a year ago, we started with a health API, so seasonal and patient level data, and by seasonal, we mean pollen which is a big one and we have multiple sources for that. But, RSV levels, COVID-19 numbers, cold and cough, and flu. And then we can even get granular with patients. We can go and say a zip code in the United States, and say, what are the ten highest levels of obesity? And they can customize a message or an ad campaign towards that. Those particular zip codes we thought would take off at least the patient-level stuff and it was just really slow out of the gate. We've had a lot of interest and we've made a lot of presentations, but I think there are a lot of these companies that are still trying to figure out how they might use it. Flight data is one that we work with, and we have some clients using it. There are certain sources that are very expensive to keep up with. That's something that we thought would be selling more than it does. A lot of times, the people that you know that put the flight data up are probably going directly to the source as opposed to going through somebody like us. Is there one that everybody uses, or almost everybody? Gene Hamm: Everybody uses weather, of course, that's the big one. Everybody uses sports scores, and everybody uses news. That's news, weather, sports are the big dogs. Just a couple of final questions. Where are you guys based, and how big is your company? I'm thinking you don't have that big of a headcount because you don't need to, because you're using external resources. Gene Hamm: Yeah, so we're based in Lexington, Kentucky. We also have partners spread across the world. But I got a partner in California. There are a few of us here, and then we've got a couple in Ukraine. So we've been working with a couple of developers who are now employees in Ukraine, well before the war. So it's been interesting seeing that side of it from an employee. It gives you a perspective on a drone flying over, and bombings and things like that. So there are five of us. We run a small operation, but like you said, we don't really need an extensive team. We certainly have worked with or contracted out some design work in terms of the graphical design. We've worked with the same designers for well over a decade. All right, so thank you. If people wanna find out more, it's just Digichief.com, right? Gene Hamm: Yeah, Digichief.com, and then if someone wants to sample Mercury for a free trial, there's a Mercury link on there that they can go and sign up for, and give it a whirl. Gene, thank you. Gene Hamm: Thank you, Dave. I appreciate your time.
Werewolf films arguably began with 1935's Werewolf of London, but Roger and Nick choose to begin our werewolf mini-season a little later, with The Wolf Man (1941) and Cat People (1942). Your browser isn't showing you an HTML5 audio player. Download
¡Hemos vuelto! Al principio de este episodio os damos algunas explicaciones sobre las circunstancias detrás de este largo hiato. Pero ya volvemos a estar en marcha, y por ahora nuestro plan es publicar un episodio cada tres semanas, que creemos que es un ritmo sostenible. Los episodios aparecerán los martes por la mañana. Yendo ya al tema de este episodio, hoy hablamos de situaciones de aprendizaje centradas en un concepto: la indeterminación. Esta palabra se usa con significados ligeramente diferentes en física y en matemáticas, pero en ambos casos se refiere a algo a lo que no se puede otorgar un valor numérico. En física tenemos el famoso Principio de Indeterminación, una de las piedras angulares de la teoría cuántica, que dice que ciertas magnitudes físicas no pueden tener un valor numérico asociado. En matemáticas tenemos ciertas expresiones, como 1/0, que a pesar de construirse con números no tienen un valor numérico. En el programa de hoy os hablamos de ambas indeterminaciones y os proponemos varias situaciones de aprendizaje para trabajarlas en clase. También reflexionamos sobre cuán transversales podemos hacer esas situaciones. En la parte de física, Javier menciona dos simuladores online que se pueden usar para trabajar el Principio de Indeterminación. El primero permite simular paquetes de ondas y ver cómo en ellos es totalmente natural la indeterminación: https://phet.colorado.edu/es/simulations/fourier-making-waves/about El segundo es el que, lamentablemente, no funciona en estos momentos. Está escrito en Flash, y a no ser que lo adapten a HTML5 no se puede reproducir en los navegadores modernos. Lo tenéis aquí, por si algún día liberan una versión compatible: https://phet.colorado.edu/es/simulations/stern-gerlach Este capítulo ha sido producido por los ignorantenautas habituales. Alberto Aparici es físico y divulgador científico, sobre todo en podcasts y en la radio; podéis encontrarle en La Brújula de la Ciencia, Aparici en Órbita, Oscilador Armónico, Coffee Break y Mochila al Pasado, entre otros. Víctor Marco es físico, músico y profesor de matemáticas en el IES El Grao de Valencia. Javier Vargas es físico y profesor de Física y Química en el IES Playa de San Juan de Alicante, y además divulga sobre la educación para estudiantes con altas capacidades en la cuenta de Instagram @enriquecetuaula También os recordamos que tenemos un correo en el que podéis poneros en contacto con nosotros y contarnos vuestras sugerencias, críticas o dudas. Es deignoranciapodcast@gmail.com
It was intended as a tax write-off, but ended up winning four Academy Awards and the first ever Palme d'Or. Nick and Rger look at Ernest Borgnine's big break in Marty (1955). Your browser isn't showing you an HTML5 audio player. Download The story about the tax write-off isn't well documented, and we relied heavily on the "Lights, Camera, Tax Break" epispde of Tim Harford's Cautionary Tales audio production.
Time to don our red-silk-lined capes and listen to the creatures of the night ("meow") as Roger and Nick take a look at the 1980s vampire boom, in particular The Lost Boys (1987) and Near Dark (1987). Your browser isn't showing you an HTML5 audio player. Download
In part two of this double episode, Nick and Rger look at more parodies of Hitler on film, with Look Who's Back (2015) and Jojo Rabbit (2019). Your browser isn't showing you an HTML5 audio player. Download
In part one of a double episode, Roger and Nick look at parodies of Hitler on film, with The Great Dictator (1940) and The Producers (1967). Your browser isn't showing you an HTML5 audio player. Download
Nick and Roger are glad to be out, er, back, as we drive headlong into The Italian Job (1963) with a brief mention of its not-as-bad-as-expected remake The Italian Job (20033) Your browser isn't showing you an HTML5 audio player. Download
Kacper "prefetcher" Staroń created the PinkSea oekaki BBS on top of the AT Protocol. He also made the online multiplayer game MicroWorks with Noam "noam 2000" Rubin. He's currently studying Computer Science at the Lublin University of Technology. We discuss the appeal of oekaki BBSs, why and how PinkSea was created, web design of the early 2000s, flash animations, and building an application on top of the AT Protocol. Prefetcher Bluesky Github Personal site Microworks (Free multiplayer game) PinkSea and Harbor PinkSea PinkSea Bluesky Account PinkSea repository Harbor image proxy repository Harbor post from bnewbold.net imgproxy (Image proxy used by Bluesky) Early web design Web Design Museum Pixel Art in Web Design Kaliber10000 Eboy Assembler 2advanced epuls.pl (Polish social networking site) Wipeout 3 aesthetic Restorativland (Geocities archive) Flash sites and animations My Flash Archive (Run by prefetcher) dagobah Z0r Juicy Panic - Otarie IOSYS - Marisa Stole the Precious Thing Geocities style web hosts Neocities Nekoweb AT Protocol / Bluesky PDS Relay AppViews PLC directory Decentralized Identifier lexicon Jetstream XRPC ATProto scraping (List of custom PDS and did:web) Tools to view PDS data PDSls atp.tools ATProto browser Posters mentioned vertigris (Artist that promoted PinkSea) Mary (AT Protocol enthusiast) Brian Newbold (Bluesky employee) Oekaki drawing applets Tegaki chickenpaint Group drawing canvas Drawpile Aggie Other links Bringing Geocities back with Kyle Drake (Interview with creator of Neocities) firesky.tv (View all bluesky posts) ATFile (Use PDS as a file store) PinkSky (Instagram clone) front page (Hacker news clone) Smoke Signal (Meetup clone) -- Transcript You can help correct transcripts on GitHub. Intro [00:00:00] Jeremy: Today I am talking to Kacper Staroń. He created an oekaki BBS called PinkSea built on top of the AT protocol, and he's currently studying computer science at the Lublin University of Technology. We are gonna discuss the appeal of oekaki BBS, the web design of the early 2000s, flash animations, and building an application on top of the AT protocol. Kacper, thanks for talking with me today. [00:00:16] Prefetcher: Hello. Thank you for having me on. I'm Kacper Staroń also probably you know me as Prefetcher online. And as Jeremy's mentioned, PinkSea is an oekaki drawing bulletin board. You log in with your Bluesky account and you can draw and post images. It's styled like a mid to late 2000s website to keep it in the spirit. What's an oekaki BBS? [00:00:43] Jeremy: For someone who isn't familiar with oekaki BBSs what is different about them as opposed to say, a photo sharing website? [00:00:53] Prefetcher: The difference is that a photo sharing website you have the image already premade be it a photo or a drawing made in a separate application. And you basically log in and you upload that image. For example on Instagram or pixiv for artists even Flickr. But in the case of an oekaki BBS the thing that sets it apart is that oekaki BBSes already have the drawing tools built in. You cannot upload an already pre-made image with there being some caveats. Some different oekaki boards allow you to upload your already pre-made work. But Pinksea restricts you to a tool called Tegaki. Tegaki being a drawing applet that was built for one of the other BBSes and all of the drawing tools are inside of it. So you draw from within PinkSea and you upload it to the atmosphere. Every image that's on PinkSea is basically drawn right on it by the artists. No one can technically upload any images from elsewhere. How PinkSea got started and grew [00:01:56] Jeremy: You released this to the world. How did people find it and how many people are using it? [00:02:02] Prefetcher: I'll actually begin with how I've made it 'cause it kind of ties into how PinkSea got semi-popular. One day I was just browsing through Bluesky somewhere in the late 2024s. I was really interested in the AT Protocol and while browsing, one of the artists that I follow vertigris posted a post basically saying they'd really want to see something a drawing canvas like Drawpile or Aggie on AT Protocol or something like an oekaki board. And considering that I was really looking forward to make something on the AT Protocol. I'm like, that sounds fun. I used to be a member of some oekaki boards. I don't draw well but it's an activity that I was thinking this sounds like a fun thing to do. I'm absolutely down for it. From like, the initial idea to what I'd say was the first time I was proud to let someone else use it. I think it was like two weeks. I was posting progress on Bluesky and people seemed eager to use it. That kept me motivated. And yeah. Right as I approached the finish I posted about it as a response to vertigris' posts and people seemed to like it. I sent the early version to a bunch of artists. I basically just made a post calling for them. Got really positive feedback, things to fix, and I released it. And thanks to vertigris the post went semi-viral. The launch I got a lot of people which I would also tie to the fact that it was right after one of the user waves that came to Bluesky from other platforms. The website also seemed really popular in Japan. I remember going to sleep, waking up the next day, and I saw like a Japanese post about PinkSea and it had 2000 reposts and 3000 likes and I was just unable to believe it. Within I think the first week we got like 1000 posts overall which to me is just insane. For a week straight I just kept looking at my phone and clicking, refresh, refresh, refresh, just seeing the new posts flow in. There was a bunch of like really insane talented artists just posting their works. And I just could not believe it. PinkSea got I'd say fairly popular as an alternative AppView. People seem to really want oekaki boards back and I saw people going, oh look, it's like one of those 2000s oekaki boards! Oh, that's so cool! I haven't seen them in forever! The art stands out because it's human made [00:04:58] Prefetcher: And it made me so happy every single time seeing it. It's been since November, like four months, give or take. And today alone we got five posts. That doesn't sound seem like a lot but given that every single post is hand drawn it's still insane. People go on there and spend their time to produce their own original artworks. [00:05:26] Jeremy: This is especially relevant now when you have so much image generation stuff and they're making images that look polished but you're kind of like well... did you draw it? [00:05:39] Prefetcher: Yeah. [00:05:40] Jeremy: And when you see people draw with these oekaki boards using the tools that are there I think there's something very human and very nostalgic about oh... This came from you. [00:05:53] Prefetcher: Honestly, yeah. To me seeing even beginner artists 'cause PinkSea has a lot of really, really talented and popular people (and) also beginner artists that do it as a hobby. Ones that haven't been drawing for a long time. And no matter what you look at you just get like that homely feeling that, oh, that's someone that just spent time. That's someone that just wanted to draw for fun. And at least to me, with generative AI like images it really lacks that human aspect to it. You generate an image, you go, oh, that's cool. And it just fades away. But in this case you see people that spent their time drawing it spent their own personal time. And no matter if it's a masterpiece or not it's still incredibly nice to see people just do it for fun. [00:06:54] Jeremy: Yeah. I think whether it's drawing or writing or anything now more than ever people wanna see something that you made yourself right? They wanna know that a human did this. [00:07:09] Prefetcher: Yeah. absolutely. [00:07:11] Jeremy: So it sounds like, in terms of getting the initial users and the ones that are there now, it really all came out of a single Bluesky posts that an existing artist (vertigris) noticed and boosted. And like you said, you were lucky enough to go viral and that carried you all the way to now and then it just keeps going from there, [00:07:36] Prefetcher: Basically if not for vertigris PinkSea (would) just not exist because I honestly did not think about it. My initial idea on making something on ATProto and maybe in the future I'll do something like that would be a platform like StumbleUpon -- Something that would just allow you to go on a website, press a button, and it gets uploaded to your repo and your friends would be able to see oh -- you visited that website and there would be an AppView that would just recommend you sites based on those categories. I really liked that idea and I was dead set on making it but then like I noticed that post (from vertigris) and I'm like, no, that's better. I really wanna make that. And yeah. So right here I want to give a massive shout out to vertigris 'cause they've been incredibly nice to me. They've even contributed the German translation of PinkSea which was just insane to me. And yeah, massive shout out to every single other artist that, Reposted it, liked it, used it because, it's all just snowballed from there and even recently I've had another wave of new users from the PinkSea account. So there are periods where it goes up and it like goes chill -- and then popular again. Old internet and flash [00:08:59] Jeremy: Yeah. And so something that you mentioned is that some people who came across it they mentioned how it was nostalgic or it looked like the old oekaki BBSs from the early internet. And I noticed that that was something that you posted on your own website that you have an interest in that specifically. I wonder what about that part of the internet interests you? [00:09:26] Prefetcher: That is a really good question. Like, to me, even before PinkSea my interests lie in the early internet. I run on Twitter and also on Bluesky now an account called My Flash Archive, which was an archive of very random, like flash animations. And I still do that just not as much anymore 'cause I have a lot of other things to do. I used to on Google just type in Flash and look through the oldest archived random folders just having flash videos. And I would just go over them save all of that or go on like the dagobah or Z0r or swfchan. 'cause the early internet to me, it was really like more explorative. 'cause like now you have, people just concentrated in those big platforms like Twitter, Instagram, Facebook, whatever. And back then at least to me you had more websites that you would just go on, you would find cool stuff. And the designs were like sometimes very minimal, aesthetically pleasing. I'd named here one of my favorite sites, Kaliber10000 which had just fantastic web design. Like, I, I also spend a lot of time on like the web design museum just like looking at old web design and just in awe. My flash archive on Twitter at least got very popular. I kind of abandoned that account, but I think it was sitting at 12,000 followers if not more? And showed that people also yearn for that early internet vibe. And to me it feels really warm. Really different from the internet nowadays. Even with the death of flash you don't really have interactive experiences like it anymore. 'cause flash was supposed to be replaced by HTML5 and JavaScript and whatever but you don't really make interactive experiences that just come packaged in a single file like flash. You need a website and everything. In flash, it just had a single file. It could be shared on multiple sites and just experienced. That kind of propelled my interest. Plus I, I dunno, I just really like the old internet design aesthetics it really warms me (and really close..?) Flash loops [00:12:01] Jeremy: The flash one specifically. Were they animations or games or was there a specific type of a flash project that spoke to you? [00:12:15] Prefetcher: Something we call loops. Basically, it's sometimes animations. 'cause, surprisingly while I like flash games they weren't my main collection. What spoke to me more were loops. Basically someone would take a song, find a gif they liked, and they would just pair it together. Something like YTMND did. At least from loops I found some of my favorite musical artists, some of my favorite songs, a lot of interesting series, be it anime or TV or whatever. And you basically saw people make stuff about their favorite series and they would just share it online. I would go over those. For example, a good website as an example is z0r.de, which is surprisingly still active and updated to this day. And you would see people making loops about members of that community or whatever they like. And you would for example see like 10 posts about the same thing. So you would know someone decided to make 10 loops and just upload them at once. And yeah, to me, loops basically were like, I mean, they weren't always the highest quality or the most unique thing, but you would see someone liked something enough that they decided to make something about it. And I always found that really cool. I would late at night just browse for loops and I'm like, oh, oh, this series, I remember it. I liked it (laughs)! But of course flash games as well. I mean, I used to play a lot when I was younger, but specifically loops, even animations and especially like when someone took like their time to animate something like really in depth. My favorite example is, the music video to a song by the band Juicy Panic called Otari. Someone liked that song enough that they made an entire flash animated music video, which was basically vectorized art of various series like Azumanga Daioh or Neon Genesis Evangelion as well, and other things. And it was so cool, at least to me, like a lot of these loops just basically have an intense, like immense feeling on me (laughs). I just really liked collecting them. [00:14:38] Jeremy: And in that last example, it sounded more like it was a complete music video, not just a brief loop? [00:14:45] Prefetcher: No, it was like a five minute long music video that someone else made. [00:14:48] Jeremy: Five. Oh my gosh. [00:14:49] Prefetcher: Yeah. You would really see people's creativity shine through on just making those weird things that not a lot of people have seen, but you look at it and it's like, wow. It's different than YouTube (Sharable single file, vectorized) [00:15:01] Jeremy: It's interesting because you can technically do and see a lot of these things on, say, YouTube today, but I think it does feel a little different for some reason. [00:15:16] Prefetcher: It really is. Of course I'm not denying on YouTube you see a lot of creative things and whatever. But first and foremost, the fact that Flash is scalable. You don't lose the quality. So be able to open, I don't know, any of the IOSYS flash music videos for like their Touhou songs and the thing would just scale and you would see like in 4K and it's like, wow. And yeah, the fact that on YouTube you have like a central place where you just like put something and it just stays there. Of course not counting reuploads, but with Flash you just had like this one animation file that you would just be able to share everywhere and I don't know, like the aspect of sharing, just like having those massive collections, you would see this flash right here on this website and on that website and also on this website. And also seeing people's personal collections of flash videos and jrandomly online and you would also see this file and this file that you haven't seen it -- it really gives it, it's like explorative to me and that's what I like. You put in the effort to like go over all those websites and you just like find new and new cool stuff. [00:16:32] Jeremy: Yeah, that's a good point too that I hadn't thought about. You can open these files and you have basically the primitives of how it was made and since, like you said, it's vector based, there's no, oh, can you please upload it in 1080 p or 4K? You can make it as big as you want. [00:16:53] Prefetcher: Yeah. Web design differences, pixel art, non-responsive [00:16:55] Jeremy: I think web design as well it was very distinct. Maybe because the tools just weren't there, so a lot of people were building things more from scratch rather than pulling a template or using a framework. A lot of people were just making the design theirs I think rather than putting words on a page and filling into some template. [00:17:21] Prefetcher: Honestly, you raise a good point here that I did not think much about. 'cause like nowadays we have all of this tooling to make web design easier and you have design languages and whatnot. And you see people make really, in my opinion, still pretty websites, very usable websites on top of that. But all of them have like the same vibes to them. All of them have like a unified design language and all of them look very similar. And you kind of lose that creativity that some people had. Of course, you still find pretty websites that were made from scratch. But you don't really get the same vibes that you did get like back then. Like my favorite, for example, trend that used to be back on like the old internet is pixel art in web design. For example, Kaliber10000, or going off the top of my head, you had the Eboy or all the sites and then Poland, for example, ... (polish website) those websites use minimal graphics, like pixel graphics and everything to build really interesting looking websites. They had their own very massive charm to them that, I don't know, I don't see a lot in more modern internet. And it's also because back then you were limited by screen size, so you didn't have to worry about someone being on a Mac with high DPI or on a 32x9 monitor like I am right now. And just having to scale it up. So you would see people go more for images, like UI elements, images instead of just like building everything from scratch and CSS and whatnot. So, yeah, internet design had to accommodate the change. So we couldn't stay how it was forever 'cause technology changed. Design language has changed, but to me it's really lost its charm. Every single website was different, specific, the web design had like this weird form, at least on websites where it was like. I like to call it futuristic minimalism. They looked very modern and also very minimal and sort of dated. And I dunno, I just really like it. I absolutely recommend checking, on the web design museum fantastic website. I love them and the pixel art in web design sub page. Like those websites to me they just look fantastic. [00:19:52] Jeremy: Yeah, and that's a good point you brought up about the screen sizes where now you have to make sure your website looks good on a phone, on a tablet, on any number of monitor sizes. Back then in the late 90s, early 2000s, I think most people were looking at these websites on their 4x3 small CRT monitors. [00:20:20] Prefetcher: My favorite this website is best viewed with an 800 by 600 monitor. It's like ... what? [00:20:28] Jeremy: Exactly. Even if you open your personal site now the design is very reminiscent of those times and it looks really cool but at the same time on a lot of monitors it's a small box in the middle of the monitor, so it's like -- [00:20:49] Prefetcher: I saw that issue, 'cause I was making it on a 1080p monitor and now I have a 32x9 monitor and it does not scale. I've been working on reworking that website, but, also on the topic of my website, I, I wanna shout out a website from the 2000s that still exists today. 'cause, my website was really inspired by a website called Assembler. And Assembler, from what I could gather, was like a net art or like internet design collective. And the website still works to this day. You still had like, all of their projects, including the website that my website was based off of. [00:21:28] Jeremy: Yeah, I mean there, there definitely was an aesthetic to that time. And it's probably, like you said, it's probably people seeing someone else's site in this case, what, what did you call it? Assem? Assembler? [00:21:42] Prefetcher: Assembler. [00:21:42] Jeremy: Yeah. You see someone else's website and then maybe you try to copy some of the design language or you look at the HTML and the CSS and I mean, really at the time, these websites weren't being made with a ton of JavaScript. There weren't the minifiers, so you really could view source and just pull whatever you wanted from there. [00:22:06] Prefetcher: We also had those design studios, design agencies, notably 2advanced which check in now, their website still works, and their website is still in the same aesthetic as it was those 20 so years ago just dictating this futuristic design style that people really like. 'cause a lot of people nowadays also really like this old futurism minimalism for example a lot of people still love the Wipeout 3 aesthetic that was designed by one of my favorite studios overall the designers republic. And yeah, it's just hard for me to explain, but it feels so soulful in a way. [00:22:53] Jeremy: I think there are some trade offs. There's what we were talking about earlier with the flexibility of screen size. But there used to be with a lot of websites that used Flash, there used to be these very elaborate intros where the site is loading and there's these really neat animations. But at the same time, it's sort of like, well, to actually get to the content, it's a bit much, but, everything is a trade off. [00:23:25] Prefetcher: People had flash at their disposal and they just wanted to make, I have the tooling, I'm going to use all of the tooling and all of it. [00:23:33] Jeremy: Yeah. Yeah. but yeah, I definitely get what you're saying where when I went to make my own website I made it very utilitarian and in some ways boring, right? I think we do kind of miss some of what we used to have. [00:23:54] Prefetcher: I mean, in my opinion, utilitarian websites are just as fine. Like in some cases you don't really need a lot of flashy things and a lot of very modern very CPU intensive or whatever animations. Sometimes it is better to go on a website and just like, see, oh, there's the play button and that's it. [00:24:17] Jeremy: Yeah. Well definitely the animations and the intro and all that stuff. I guess more in terms of the aesthetics or the designs. It's tricky because there's definitely people making very cool things now things that weren't even possible back then. But it does feel like maybe the default is I'll pick this existing style sheet or this existing framework and just go with that. [00:24:47] Prefetcher: A lot of modern websites just go for similar aesthetics, similar designs, which they aren't bad, but they are also very just bland. They, they are futuristic, they are very well designed. But when you see the same website. The same -- five websites have the same feel. And this is especially, at least in my opinion, visible with websites built on top of NextJS or other frameworks. And it just feels corporate kind of dead. Like someone just makes a website that they want to sell something to you and not for fun. [00:25:26] Jeremy: With landing pages especially it's like, wow, this looks the same as every other site, but I guess it must work. [00:25:38] Prefetcher: It works. And it really cuts down on development time. You don't need to think much about it. You just already have a lot of well-established design rules that you just follow and you get a cohesive and responsive design system. Designing the PinkSea look and feel [00:25:56] Jeremy: Let's talk about that in connection with PinkSea. What was your thinking when you designed how PinkSea would look and feel? [00:26:06] Prefetcher: Honestly, at first I have to admit I looked at other websites. I looked at Bluesky first and foremost. I looked at, front page. I looked at Smoke Signal, and I thought that I might also build something that's modern and sleek and I sketched it out in an application and I showed it to some friends. One of them suggested I go for more like a 2000 aesthetic. I'm like, yeah, okay. I like that. As the website was built, I just saw more and more of how much I feel this could sit with others. Especially with the fact that it's an oekaki page an oekaki BBS and as you scroll through oekaki has a very distinct style to it. And as you scroll and you see all of those, pixel shaded, all those dithered images, non anti-aliased pens and whatnot. It feels really really cohesive somehow with the design aesthetic. But of course, PinkSea in itself is a modern website. Like if you were to go to my PinkSea repository. It's a modern website built up on top of Vue3, which talks via like XRPC API calls in real time and it's a single page app and whatever. That's kind of the thing I merged the modern way of making sites with a very oldish design language. And I feel, in my opinion, it somehow just really works. And especially it sets PinkSea apart from the other websites. It gives it that really weird aesthetic. You would go on it and you would not be like, oh, this is a modern site that connects with a modern protocol on top of a big decentralized network. This is just someone's weird BBS stuck in the 2000s that they forgot to shut down. (laughs) [00:28:00] Jeremy: Yeah. And I think that's a good reminder too, that when people are intentional about design, the tools we have now are so much better than what we used to have. There's nothing stopping us from making websites that when people go to them they really feel like something's different. I know I did not just land on Instagram. [00:28:27] Prefetcher: Yeah. And making PinkSea taught me that it's really easy to fall into that full string of thought that every site has to look modern. Because I was like, oh yeah, this is a modern protocol, a modern everything, and it has to look the part. It has to look interesting to people and everything. And after talking with a bunch of friends and other people and just going, huh, that's maybe like the 2000s isn't as bad as I thought. And yeah, the website especially it's design people seem to just really like it. Me too. I, I just absolutely love how PinkSea turned out it is really a reminder that you don't need modernness in web design always. And people really appreciate quirky looking pages, so to say, quirky like interesting. [00:29:23] Jeremy: I interviewed the, the creator of Neocities which is like kind of a modern version of GeoCities and yeah, that's really what one of the aspects that I think makes things so interesting to people from that era is, is that it really felt like you're creating your own thing, and not just everything looks the same. The term I think he used is homesteading. You're taking care of your place and it can match your sensibilities, your style, your likes, rather than having to, like you said, try to force everything to be this, this sort of base modern, look. The old spirit of the internet is coming back [00:30:08] Prefetcher: I mean Neocities and by extension also Nekoweb are websites that I often when I don't have much to do -- I like just going through them because you see a bunch of people just make their own places. And you see that even in 2025 when we have those big social media sites. You have platforms where you can get a ton of followers. You can get a ton of attention and everything. People to some extent still want that aspect of self-expression. They want to be able to make something that's uniquely theirs and you see people just make just really amazing websites build insane things on those old Geocities-like platforms using nothing but a code editor. You see them basically just wanting thing to express, oh, that's mine and no one else has it. So to say that's why. Yeah. I feel like to some extent the old school train of thought when it comes to the internet is slowly coming back. Especially with the advent of protocols like ATProto. And you'll experience more websites that just allow people to make their own homes on the internet. Cause in my opinion, one of the biggest problems is that people do not really want to register on a lot of platforms. 'cause you already have this place where you get all of your followers, you have all of your connections, and then you want to move and then you'll lose all of your connections and everything. But with something like ATProto, you can use the social graph of, for example, Bluesky. I want to add followers on PinkSea. So for example, you have an artist that has like 30,000 followers for example, I can just click import my following from Bluesky. And just like that they would already get all of the artists that they follow on Bluesky already added as followers on PinkSea. And for example, someone else joins and they followed that big artist and they instantly followed them on PinkSea as well. I think that we are slowly coming back to the advent of people owning their place online. PinkSea and ATProto (PDS) [00:32:24] Jeremy: Yeah. So let's talk a little bit more about how PinkSea fits into ATProto. For people who aren't super familiar with ATProto, maybe you could talk about how it's split up. You've got the PDS, the relays, the AppView. What are those and how do those fit into what PinkSea is? [00:32:48] Prefetcher: My favorite analogy, ATProto is a massive network, and at least me, when I saw the initial graph I was just very confused. I absolutely did not know what I'm looking at. But let's start with the base building block, something that ATProto wouldn't exist with. And it's the PDS. Think of the PDS as like a filing cabinet. You have a bunch of folders in which you have files, so to say. So you have a filing cabinet with your ID, this is the DID part that sometimes shows up and scares people. It's what we call a decentralized identifier. Basically that identifier is not really tied to the PDS, it just exists somewhere. And the end goal is that every user controls their DID. So for example, if your PDS shuts down, you can always move to somewhere else. Still keep like, for example, that you are prefetcher.miku.place. But in that filing cabinet the PDS going back to it you have your own little zone, your own cabinets, and that has your identifier, it's uniquely yours. Every single application on the AT protocol creates data. They create data and they store the data in a structured format called a record. A record is basically just a bunch of data that explains what that thing is, be it a like, a post on Bluesky an oekaki on PinkSea and an upvote on front page, or even a pixel on place.blue. And all of those records are organized into folders in your cabinet. And that folder is named with something we call a collection id. So for example, a like is, if I remember correctly, it's app.bsky.feed.like, so you see that it belongs to Bluesky. The app.bsky part. it's a feed thing, and the same way, PinkSea, for example, the oekaki and PinkSea uses com.shinolabs.pinksea.oekaki with com.shinolabs being the the collective that I use as a, pen name, so to say. PinkSea being, well, PinkSea and oekaki just being the name. It's an oekaki. If you want to see that there are a lot of tools, for example, PDSls or atp.tools or ATProto browser, if you had to go into one of those and you would type in for example, prefetcher.miku.place, you would see all of your records, the things that, you've created on the AT protocol network. Relay [00:35:19] Prefetcher: So you have a PDS, you have your data, but for example, imagine you have a PDS that you made yourself, you hosted yourself. How will, for example, Bluesky know that you exist? 'cause it won't, it's just a server in the middle of nowhere. That's where we have a relay. A relay is an application that listens to every single server. So every time you create something or you delete something, or for example, you edit a post, you delete an oekaki. You create a new, like -- Your PDS, your filing cabinet generates a record of that. It generates an event, something we call a commit. So, anytime you do something, your PDS goes, Hey, I did that thing. And relays function as big servers that a PDS can connect to. And it's a massive shout box. The PDS goes, Hey, I made this. Then the relay aggregates all of those PDSs into one and creates a massive stream of every single event that's going on the network at once. That's also where the name firehose comes from. 'cause the, the end result, the stream is like a firehose. It just shoots a lot of data directly at anyone who can connect to it. And the thing that makes AT Protocol open and able to be built on is that anyone can just go, I want to connect to jetstream1.west.bluesky.network. They just make a connection to it and boom they just get everything that's happening. You can, for example, see that via firesky.tv. If you go to it, you would open it in your browser. Every single Bluesky post being made in real time right directly in your computer. So you have the PDSs that store data, you have the relay that aggregates every, like, builds a stream of every single event on the network. AppViews [00:37:26] Prefetcher: You just get records. You can't interact with it. You can see that someone made a new record with that name, but to a human, you won't really understand what a cid is or what property something else is. That's why you have what we call AppViews. An AppView, or in full an application view is an application that runs on the AT protocol network. It connects to the relay and it transforms the network into a state that it can be used by people. That's why it's called an application view. 'cause it's a, a specialized view into the whole network. So, for example, PinkSea connects, and then it goes, hey, I want to listen on every single thing that's happening to com.shinolabs.pinksea.oekaki, and it sees all of those, new records coming in and PinkSea understands, oh, I can turn it into this, and then I can take this thing, store it in the database, and then someone can connect with a PinkSea front end. And then it can like, transform those things, those records into something that the front end understands. And then the front end can just display, for example, the timeline, the same way Bluesky, for example -- Bluesky gets every single event, every single new file, new record coming in from the network. And it goes. Okay, so this will translate into one more like on this post. And this post is a reply to that post. So I should chain it together. Oh. And this is a new feed, so I should probably display it to the user if they ask for feeds. And it basically just gets a lot of those disjoint records and it makes sense of them all. The end user has a different API to the Bluesky AppView. And then they can get a more specialized view into Bluesky. PinkSea does not store the original images, the PDS does [00:39:26] Jeremy: And so in that example, the PDSs, they can be hosted by Bluesky the company, or they could be hosted by any person. And so PinkSea itself, when somebody posts a new oekaki, a new image, they're actually telling PinkSea to go create the image in the user's PDS, right? PinkSea is itself not the the source of truth I guess you could say. [00:40:00] Prefetcher: PinkSea in itself. I don't remember which Bluesky team member said it, but I like the analogy that AppViews are like Google. So in Google, when you search something, Google doesn't have those websites. Google just knows that this thing is on that website. In the same vein, PinkSea, when you create a new oekaki, you tell PinkSea, Hey, go to my PDS and create that record for me. And then the person owns the PDS. So for example, let's say that in a year, of course I won't do it, but hypothetically here, I just go rogue and I shut down PinkSea, I delete the database. You still own the things. So for example, if someone else would clone the PinkSea repository and go here, there's PinkSea 2. They can still use all of those images that were already on the network. So, AppViews in a way basically just work as a search engine for the network. PinkSea doesn't store anything. PinkSea just indexes that a user made a thing on that server. And here I can show you how to get to it somehow. Those images aren't stored by PinkSea, but instead, I know that the image itself is stored, for example, on pds.example.com, and of course to reduce the load, we have a proxy. PinkSea asks the proxy to go to pds.example.com and fetch the image, and then it just returns it to the user. [00:41:37] Jeremy: And so what it sounds like then is if someone were to create oekaki on their own PDS completely independently of Pink Sea the fact that they had created that image would be sent to one of the relays, and then PinkSea would receive an event that says oh, this person created a new image then at that point your index could see, oh, somebody created a new image and they didn't even have to go through the PinkSea website or call the PinkSea APIs. Is that right? Sharing PDS records with other applications [00:42:14] Prefetcher: Yep. That is exactly right. For example, someone could now go, Hey, I'm making my own PinkSea-like application. And then they would go, I want to be compatible with PinkSea. So I'm using the same record. Or what we call a lexicon, basically describe how records look like. I forgot to mention that, but every single record has an attached lexicon. And lexicons serve as a blueprint. So a lexicon specifies, oh, this has an image, this has a for example, the tags attached to it, a description of the image. Validate that the record is correct, that you don't get someone just making up random stuff. But yeah, someone could just go, Hey, I'm making another website. Let's call it GreenForest for example. And GreenForest is also an oekaki website, but it uses, for example, chickenpaint instead of tegaki but I want to be able to interoperate with PinkSea. so I'm also gonna use com.shinolabs.pinksea.oekaki the collection, the same record, the same lexicon. And for example, they have their own servers and the servers just create regular oekaki records. So for example, GreenForest gets a new user, they log in, create, draw their beautiful image, and then they click upload it. So GreenForest goes to that person's PDS and tells the PDS, Hey, I want to make a new. com.shinolabs.pinksea.oekaki record. The PDS goes okay, I've done it for you. Let me just inform the relay that I did so, relay gets the notification that someone made that new PinkSea oekaki record. And so the main PinkSea instance, pinksea.art, which is listening in on the relay, gets a notification from the relay going, Hey, there is this new oekaki record. And PinkSea goes, sure, I'll index it. And so PinkSea just gets that GreenForest image directly in itself. And in the same vein, someone at PinkSea could draw something in tegaki -- their own beautiful character. And the same thing would happen with GreenForest. GreenForest would get that PinkSea image, that PinkSea record, and index it locally. So the two platforms, despite being completely different, doing completely different things, they would still be able to share images with each other. Bluesky PDS stores other AppView's data but they could stop at anytime [00:44:38] Jeremy: And these images, since they're stored in the PDS, what that would mean is that anybody building an application on ATProto, they can basically use Bluesky's PDS or the user's PDS as their storage. They could put any number of images in there and they could get into gigabytes of images. And that's the responsibility of the PDS and not yourself to keep track of. [00:45:12] Prefetcher: Yes, that can be the case. Of course, there is a hard limit on how big a single upload can be, which is, if I remember correctly, I don't wanna lie, I think it's 50 megabytes, I don't recall there being a hard cap on how big a single repository can be. I know of some people whose repositories are in the single gigabyte digits but this kind of is a thing scares app developers. 'cause you never know when Bluesky the company -- 'cause most people registering, are registering on Bluesky. We don't really know whether Bluesky, the company will want to keep it for free. Forever allow us to do something like that. You already have projects like, for example, ATFile, which just allow you to upload any arbitrary data just to store it, on their servers and they are paying for you. So we'll never know whether Bluesky will decide, okay, our services are only for Bluesky if you want to use PinkSea you have to deal with it. Or whether they go, okay, if you want to use alternative AppViews you have to pay us in order to host them. So, that also leads me to the fact that decentralization is an important part of AT protocol as Bluesky themselves say that they are a potential adversary. You cannot trust them in the long term. Right now they are benign right now, they're very nice, but, we never know how Bluesky will end up in a year or two. So if you want to be in the full control of your data, you need to sadly host it by yourself. And it's honestly really easy in order to do so. There is a ton of really useful online content blogs and whatever. I think I've set up my PDS in 10 minutes on a break between classes and university. But to a person that's non-technical that doesn't know much I'd say around an hour to two hours The liability and potential abuse from running a PDS [00:47:14] Jeremy: Yeah, I think the scary thing for a lot of people is technical or not, is even if it's easy to set up, you gotta make sure it keeps running. You gotta have backups. And so it could be a lot. [00:47:30] Prefetcher: Yeah. This is to be expected by the fact that you're in control of your data. Keeping it secure the same way, for your personal photos or your documents, for example, your master's diploma or whatever. And it's on you to keep your Bluesky interaction secure. On one hand, it's easier to get someone to do it, and I expect in the future we'll get people that are hosting public PDSes I sometimes thought of doing that for PinkSea, just like allowing people to register by PinkSea. But, doing so as a person, you also have to be constantly on call for abuse. So if someone decides to register via PinkSea and do some illicit activities, you are solely responsible for it. PDS and AppView moderation liability [00:48:17] Jeremy: So if they were to upload content that's illegal, for example, it's hosted on your servers so then it's your problem. [00:48:27] Prefetcher: Yeah, it is my problem. [00:48:29] Jeremy: At least the way that it works now, the majority of the people, their PDS is gonna be hosted by Bluesky. So if they upload content that's breaks the law, then that's the Bluesky company's problem at least currently. [00:48:44] Prefetcher: Yeah. That is something that Bluesky has to deal with. But I do believe that in the future we are going to have, more like independent entities just building infrastructure for ATProto, not even the relay it's just like PDSs for people to be able to join the atmosphere, but not directly via Bluesky. [00:49:06] Jeremy: I'm kind of curious also with the current PDSs, if it's hosted by Bluesky, are they, are they moderating what people upload to their PDSs? [00:49:16] Prefetcher: Good question. Honestly, I don't think they're moderating everything 'cause, it's infeasible for them to, for example, other than moderate Bluesky to also moderate PinkSea and moderate front page and whatnot. So it's the obvious responsibility to moderate itself and to report abuse. I'd say that if someone started uploading illicit material, I do not think, and this is not legal advice, I do not think that they would catch on until some point let's say. [00:49:52] Jeremy: I mean, from what you were describing too, it seems like the AppViews would also, have issues with this because if, let's say someone created a PinkSea record in their PDS directly and the image they put in was not an oekaki image, it's instead something pretty illegal in the country that your AppView is hosted then, Wouldn't that go straight to the PinkSea users viewing the website? [00:50:20] Prefetcher: Yes, sadly, this is something that you have to sign up as you're making an AppView and especially one with images. Sooner or later you are going to get material that you have to moderate and it's entirely on you. That's why, you have to think of moderation while you're working on an AppView. Bluesky has an insanely complicated, at least in my opinion, moderation system, which is composable and everything, which I like. But for smaller AppViews, I think it's too much to build the same level of tooling. So you have to rely more on manual work. Thankfully so far the user base on PinkSea has been nothing but stellar. I didn't have to deal with any law breaking stuff, but I am absolutely ready for one day where I'll have to sadly make some drastic moderation issues. [00:51:18] Jeremy: Yeah. I think to me that's the most terrifying thing about making any application that's open to user content. [00:51:29] Prefetcher: I get it, sadly. I'm no stranger to having issues with people, abusing my websites. Because since 2016, my, first major project was a text board based off of, a text board in a video game called DANGER/U/. It was semi-popular, during the biggest spike in activity in like 2017 and 2016, it had in the tens of thousands of monthly visitors. And sadly, yeah, even though it was only text, I've had to deal with a lot of annoying issues. So to say the worst I think was I remember waking up and people are telling me that DANGER/U/ is down. So I log in the activity logs and someone hit me with two terabytes of traffic in a day. There was a really dedicated person that just hated my website and just either spam me with posts or just with traffic. So, yeah, sadly I have experience with that. I know what to expect that's something that you sadly have to sign up for making a website that allows user content. Pinksea is a single server [00:52:42] Jeremy: To my understanding so far, PinkSea is just a single server. Is that right? [00:52:47] Prefetcher: It is a single server. Yeah. [00:52:48] Jeremy: That's kind of interesting in that, I think a lot of people when they make a project, they worry about scaling and things like that. But, was it a case where you just had a existing VPS and you're like, well hopefully this is, this is good enough? [00:53:03] Prefetcher: I actually ordered a new one even though it's not really powerful, but my train of thought was that I didn't expect it to blow up. I didn't expect it to require more than a single VPS with 8 gigabytes of RAM and whatnot. And so far it's handling it pretty well. I do not expect ever to reach the amounts of traffic that Bluesky does, so I do not really have to worry about insane scalability and whatever. But yeah. I thought of it always as a toy project until the day I released it and realized that it's a bit more than a toy project at this point. To this day, I just kind of think that that website even if it were popular, I would never expect it to have -- And in the best, most amazing case scenario, like a hundred posts a day. I do not have to deal with the amount of traffic that Bluesky does. So one VPS it is. [00:53:59] Jeremy: Yeah, that makes a lot of sense. I mean the application is also mostly reads, right? Most people are coming to see the posts and like you said, you get a few submissions a day, but all the read stuff can probably be cached. Harbor image proxy [00:54:15] Prefetcher: Yeah. The heaviest, thing that PinkSea requires is the image proxy harbor, and that's something that right now only runs on that server. It's in Luxembourg. I think that's where my coprovider hosts it but yeah, that gets the most reads. 'cause in most cases, PinkSea, all it does, all you get is reads from a database, which is just, it's a solved problem. It's really lightweight. But with something like image proxying, you have this whole new problem. 'cause it's a lot of data, and you somehow have to send it -- it's enough for me to just host it locally on that PinkSea server and just direct people to it. But sooner or later, I can always just put it behind something like Bunny CDN or whatnot to have it be worldwide. [00:55:09] Jeremy: So Harbor is something I think you added recently. How did the images work before and what is Harbor doing in its place? [00:55:18] Prefetcher: Before I did what a lot of us currently do and I just freeload atop of Bluesky CDN 'cause Bluesky CDN is just open so far. But it's something that personally irked me. 'cause, I want PinkSea to be completely independent of Bluesky Corporation. I, I wanted to persevere even if Bluesky just decides to randomly, for example, close, the CDN to others or the relay to others or the PLC directory in the worst case scenario. So I wanted to make my own CDN more like proxy. You can't really call it a CDN because it's not worldwide. It's just a single server but let's just say image proxy. So Harbor whenever a person goes to PinkSea, they start loading in all of the images and every single image instead of going to, for example, the PDS or to cdn.bluesky.app. They go to harbor.pinksea.art, you get attached the identifier of the user and what we call a content identifier. Every single, thing uploaded to a PDS has an attached content identifier, which identifies it in a secure way so to say. So Harbor does in reality a really simple set of things. First and foremost, if the user has not seen it, like, not loaded it before first Harbor asks the local cache, do I have this file? If they do, if Harbor does, it just sends the file and it tells the browser, Hey, by the way, please don't ask me about this file for the next day. And in most cases, after one refresh, the user, all of the images load instantly because the web browser just goes, of those files were already sent. And Harbor asked me not to like, ask it more about the same file. So in the case of the image isn't in harbor's local cache, Harbor, first does a lot of those steps to resolve, the users identifier through their PDS, basically resolving that identifier, the DID to a DID document, which is a document basically explaining how that user, what is their, alias, what is their handle and where can we find them, which PDS. So we find the PDS and we then ask the PDS, Hey, send us this file for this user. The PDS sends it or doesn't, in which case we just throw an error and, Harbor just saves it locally and it sends it to the client. It basically just that. But to my knowledge, it's the first non Bluesky image proxy that's deployed for any AppView. Which also caught the attention of Brian Newbold one of the Bluesky employees and made me really happy. DID PLC Lookup [00:58:14] Jeremy: The lookup when you have the user's, DID and you wanna find out where their PDS is that's talking to something called, I think it's the PLC directory? [00:58:25] Prefetcher: Actually there are two different ways. First is PLC directory, PLC originally standed for a placeholder, and then Bluesky realized that it's not a placeholder anymore, and they stealthily changed it to public ledger of credentials. So we have PLC and we have web, the most common version is PLC. The document, the DID document is stored on Bluesky controlled servers under the moniker of PLC directory. They expose a web API that basically just allows you to say, Hey, give me the document for did:plc, whatever. And, the directory goes, have it. And this is the less decentralized version. You can host your own PLC directory and you can basically ask (their) PLC directory to just send you every single document and just you can have your local copy, which some people already do, you kind of sacrifice the fact that you are not in control of the document. It's still on a centralized server, even if you control the keys. 'cause every single DID document also has a key. And that key is used to sign changes to the document. So technically, if you define your own set of keys, you can prevent anyone else from modifying your document, even Bluesky. 'cause every single document is verifiable back and forth. You can see the previous document and its key is used to sign the next document and the chain of trust is visible and no one can just make random changes to your identity, but yeah, it's still on Bluesky to control service and it's a point of contention. Bluesky eventually wants to move it to a nonprofit standards organization, but we have yet to see anything come out of it, sadly. DID WEB lookup The next method is web. And web instead of -- 'cause in did:plc, you have did:plc, and a random string of characters. [01:00:30] Prefetcher: Web relies on domains. So for example, the domain would already like be the sole authority of where the file is. So for example, if I had did:web:example.com, I would parse the DID and I would see it's hosted at example.com. So I go to example.com, I go to /.wellknown/did.json which is the well-known location for the file. And I would have the same DID document as I would have if I used, for example, a PLC DID resolved via the PLC directory. the web method, you are in control of the document entirely. It's on your server under your domain. While it's the more decentralized version, it's just kind of hard for non-technical people to make them. 'cause it relies on a bunch of things. And also the problem is that if you lose your domain, you also lose your identity. [01:01:23] Jeremy: Yeah. So unlike the PLC where it's not really tied to a specific domain, you can change domains. With the web way, you have to always keep the same domain 'cause it's a part of the DID and yeah, like you said, you can't let your renewal lapse or your credit card not work. 'cause then you just lose everything. [01:01:49] Prefetcher: Yeah. You would still be able to change handles, but you would be tied for that domain to forever send your DID otherwise you would just lose it forever. [01:01:57] Jeremy: Yeah, I had mostly only seen the PLC and I wasn't too familiar with the web, form of identification, but yeah that makes sense. [01:02:06] Prefetcher: I think the web if I remember correctly, there is slightly over 300 accounts total on the entire network that use it. Mary who is a person on Bluesky that does a lot of like, ATProto related things, has a GitHub repository that basically gives insight into the network. And on her GitHub repository, you can find the list of every single custom PDS and also how many DID webs there are in existence. And I think it was slightly over 300. [01:02:38] Jeremy: So are you on that list? [01:02:40] Prefetcher: My PDS Yeah. If you were to scroll down. I don't use a web DID 'cause I registered my account before when I was brand new to ATProto, so I didn't know anything. But if you had to scroll down, you would see pds.ata.moe, which is my custom PDS just running. [01:02:55] Jeremy: Cool. [01:02:57] Prefetcher: Yeah. Harbor image proxy can cache any image blob [01:02:58] Jeremy: So something I noticed about harbor, you take the, I believe you take the DID and then you take the CID, the content identifier. I noticed if you take any of those pairs from the ATProto network, like I go find a image somebody posted on Bluesky, I pass that post DID and CID for the image into harbor. Harbor downloads it and caches it. So it's like, does that mean anybody could technically use you as a ATProto CDN? [01:03:38] Prefetcher: Yes, the same way anyone could use like the Bluesky CDN to for example, run PinkSea like I did. cause I do not know if there is a good way to check if a CID of an image or a blob basically. 'cause files on ATProto are called blobs. I do not think there is a nice way to check if that blob is directly tied to a specific record. But that also allows you to make cool, interesting things. Crossposting to Bluesky talks directly to the PDS [01:04:06] Prefetcher: 'cause for example, PinkSea has that, cross post to Bluesky thing. So when you create an image, You already have an option to cross post it to Bluesky, which a lot of people liked. And it was a suggestion from one of the early users of PinkSea. And the way it works is that when we create a PinkSea record, we upload that image, right? And then PinkSea goes, okay, I'm gonna use that same image, the same content identifier, and just create a Bluesky post. So Bluesky and PinkSea all share the same image. I don't upload it twice, I just upload it once. use it in PinkSea and I also use it in Bluesky. And the same way Bluesky its CDN, can just fetch the image. I can also fetch the image from mine, 'cause blobs aren't tied to specific records. They just exist outside of that realm. And you could just query anything. Not even images. You could probably query a video or even a text file. [01:05:04] Jeremy: So when you cross post to Bluesky, you're creating a record directly in the person's PDS, not going through bluesky's API. [01:05:14] Prefetcher: No, I sidestep Bluesky's API completely. And, I basically directly talk to the PDS at all times. I just tell them, Hey, please, for me, create a app.bsky.feed.post record. And you have the image, the text, which also required me to manually parse text into rich text. 'cause like, Bluesky doesn't automatically detect for example, links or tags And you basically get -- like PinkSea creates a record directly with the link to the image. And all of those tags, like the PinkSea tag and whatever, And I completely sidestep. Bluesky's API. If Bluesky, the AppView would cease to exist, PinkSea would still happily create Bluesky crossposts for you. Other applications put metadata into Bluesky posts so they can treat them differently [01:06:02] Jeremy: And since you're creating the records yourself, then you can include additional metadata or fields where you know that this was a PinkSea post, or originally came from PinkSea. [01:06:13] Prefetcher: I could do that. I don't really do that right now 'cause I don't really have much of a reason other than adding a PinkSea hashtag to every single oekaki. But I, noticed, for example, I think it was PinkSky, interesting name, PinkSky, which is like (a) Bluesky Instagram client. Any single time you make a post via PinkSky it uses the Bluesky APIs. It's Bluesky, but it attaches a hidden hashtag like PinkSky underscore some random letters. In its feed building algorithm, it basically detects posts with that hashtag, that specific hashtag, and it builds a PinkSky only timeline. 'cause it's still a Bluesky post, but it has hidden additional metadata that identifies, Hey, it came from PinkSky. [01:07:02] Jeremy: It's pretty interesting how much control you have over what to put in the PDS. So, I'm sure there's a lot of interesting use cases that people are gonna come up with. [01:07:14] Prefetcher: Yeah, of course. You still lose some of the data when you go through the Bluesky API. 'cause of course it stores the record and it's all in formats and whatnot. But you can attach a lot of metadata that can identify posts and build micro networks within Bluesky itself. I see it like that. Bluesky CDN compression [01:07:37] Jeremy: And I think, this might have been a post from you. I think I saw somebody saying that when you view an image from the CDN that the Bluesky CDN specifically, there's some kind of compression going on that that messes with certain types of art. [01:07:55] Prefetcher: It's especially noticeable artists are complaining about it all the time, left and right. Bluesky is very happy with jpeg compression, by default, their CDN, -- like to every single image it applies a really not good amount of jpeg compression which is especially not small. If you compare an image that's uploaded via PinkSea, view an image on PinkSea, and view the same image, which is, it's the same content id. It's the same blob. And you view it on Bluesky, it loses so much fidelity, it loses so much of that aliasing on the pen. You just see everything become really blurry. And on top of that, when you upload an image via Bluesky itself, if I remember correctly, I don't wanna lie here, but they also downscale the image to 1024 pixels by default. So every single image, not only big ones, and artists usually work with really big canvases, they get, downscaled and also additionally they get jpegified. So for example, PinkSea directly uploads PNG files to the PDS. And for example, Harbor gives back the original file. It does no transformations on it, but Bluesky transforms all of them into JPEG compressed images and for photos, it's fine sometimes. 'cause I've also seen people just compare directly, downloaded images of the PDS versus images viewed on Bluesky. But for art it's especially noticible. And people really (do) not like that. [01:09:31] Jeremy: Yeah, that's kind of odd. 'cause if, if I understand correctly, then if you post directly to your PDS and Bluesky pulls it in you'll avoid that, that 1024 resizing. So your images will be higher quality? [01:09:47] Prefetcher: I actually do not know. That's an interesting question. Cause I know that the maybe their CDN also does that 'cause that's what I've heard from others, that on upload the image gets processed and squashed down. So I don't know if doing it via an alternative AppView would change it or would Bluesky just directly reject this post? Because for example, PinkSea, I have built-in which I think I might change in the future -- PinkSea will reject your post if it's bigger than 800x800. 'cause then it'll notice that something is off. This could not have been made with PinkSea. [01:10:26] Jeremy: Yeah, that's a good point I suppose we know at the very least, they have some third party and internal moderation tools that they feed the images through to, so they, they can do some automatic content tagging. But yeah, I, I don't know, like you said, whether, the resizing and all that stuff is at the CDN level [01:10:50] Prefetcher: The jpegification is definitely at the CDN level. 'cause, Bluesky is actually running an open source image proxy. It's called imgproxy. Brian Newbold talked about it a bit on that harbor post. And, yeah, so a lot of the compression, the end user things are done via image proxy, but that, downscaling, I don't know, you'd have to ask someone who's a bit more intimate with Bluesky's internals. [01:11:19] Jeremy: Cool. yeah, I think we've, we've covered a lot. Is there, is there anything else, you wanted to mention or thought we should have talked about? [01:11:26] Prefetcher: Regarding PinkSea I think I've mentioned a ton both the behind the scenes things and, the user things, the design principles. What I'd want to absolutely say, and it will sound cheesy, and, is that I'm eternally grateful to anyone who's actually visited PinkSea. It's definitely grown outta all of my like dreams for the platform, to the point where I'm sitting here just talking about it. I definitely hope that the future will bring us more applications (in) ATProto. I definitely have ideas on how to expand PinkSea, a lot of ideas, a lot of things I want to do, and I'm also a very busy person, so I never get around them. But yeah, think that's it, at least regarding PinkSea. [01:12:15] Jeremy: Cool. Well, if people want to check out PinkSea or see what you're up to, where can they find you? [01:12:22] Prefetcher: So PinkSea is at pinksea.art. That's the website and Bluesky Handle is at pinksea.art and me, well, search prefetcher on Bluesky, you'll probably find me. My tag is at prefetcher.miku.place. all of my socials are probably there. I'm Prefetcher pretty much every single platform except for the platforms that already had someone called Prefetcher. GitHub, github.com/purifetchi because Prefetcher was taken. And, yeah, hit me up. I'm always eager to talk. I don't bite. [01:13:00] Jeremy: Very cool. Well, Kacper thanks. Thanks for taking the time. This was fun. [01:13:04] Prefetcher: Thank you so much, Jeremy, for having me over. It was a pleasure.
Roger and Nick look at the state of the art in big-budget SF in the years just before Star Wars, with the serious doom-mongering of Silent Running (1972) Soylent Green (1973) and Logan's Run (1976). Your browser isn't showing you an HTML5 audio player. Download
What is happening with Musk and DOGE and government, who does the USA owe money to, o3-mini vs Google Flash vs avante thoughts, what does Dax watch instead of sports, Adam makes a case for why sports matter, and should Adam trust Marc Andreessen or Ben Horowitz?Links:OpenAI o3-mini | OpenAIClaudeGemini Flash - Google DeepMindGitHub - yetone/avante.nvim: Use your Neovim like using Cursor AI IDE!Can I use... Support tables for HTML5, CSS3, etcWes Bos on X: "this website is nuts! I downloaded the entire codebase and was surprised to find out it's built with web components, Vanilla.js, Shopify and Tailwind! Full vid diving into the stack up nowThe Last DanceBelow Deck - WikipediaMarc Andreessen - WikipediaBen Horowitz - WikipediaAndreessen Horowitz | Software Is Eating the WorldThe Hard Thing About Hard Things | Andreessen HorowitzSponsor: Terminal now offers a monthly box called Cron.Want to carry on the conversation? Join us in Discord. Or send us an email at sliceoffalittlepieceofbacon@tomorrow.fm.Topics:(00:00) - We're so prepared (00:35) - Will the real time zone please stand up? (02:09) - DOGE, debt, and democracy (16:11) - o3-mini, Google Flash 2, avante thoughts (27:38) - Manic and bipolar (29:58) - Superbowl, NBA, and watching sports (37:55) - Reality tv and real life (45:52) - Sponsor: Terminal.shop (46:26) - Should Adam trust Marc Andreessen or Ben Horowtiz? ★ Support this podcast ★
Chris Coyier, co-founder of CodePen, talks about the evolving landscape of HTML heading into 2025. He delves into topics like the slow evolution of HTML compared to CSS and JavaScript, the importance of backwards compatibility, new HTML elements and pseudo-elements, and the potential of declarative shadow DOM for server-side rendering in web components. Links https://chriscoyier.net https://codepen.io/chriscoyier https://front-end.social/@chriscoyier https://github.com/chriscoyier https://www.threads.net/@chriscoyier https://bsky.app/profile/chriscoyier.net We want to hear from you! How did you find us? Did you see us on Twitter? In a newsletter? Or maybe we were recommended by a friend? Let us know by sending an email to our producer, Emily, at emily.kochanekketner@logrocket.com (mailto:emily.kochanekketner@logrocket.com), or tweet at us at PodRocketPod (https://twitter.com/PodRocketpod). Follow us. Get free stickers. Follow us on Apple Podcasts, fill out this form (https://podrocket.logrocket.com/get-podrocket-stickers), and we'll send you free PodRocket stickers! What does LogRocket do? LogRocket provides AI-first session replay and analytics that surfaces the UX and technical issues impacting user experiences. Start understand where your users are struggling by trying it for free at [LogRocket.com]. Try LogRocket for free today.(https://logrocket.com/signup/?pdr) Special Guest: Chris Coyier.
Nick and Roger fire up the old ukuleles and wonder if this will finally be the comedy Roger likes, with 1959's Some Like It Hot. Your browser isn't showing you an HTML5 audio player. Download
Roger and Nick watch that classic of misdirection Rashomon⦠or do we? Your browser isn't showing you an HTML5 audio player. Download
In this episode, our friend John Wright discusses his predictions for the gaming industry in 2025, covering a range of topics from the rise of anime games to the impact of AI on game development. He emphasizes the importance of direct-to-consumer models and alternative stores while also addressing the challenges of privacy and user acquisition. He highlights the evolving gaming landscape and the strategies developers will need to adopt to succeed in the coming years. This is no BS gaming podcast 2.5 gamers session. Sharing actionable insights, dropping knowledge from our day-to-day User Acquisition, Game Design, and Ad monetization jobs. We are definitely not discussing the latest industry news, but having so much fun! Let's not forget this is a 4 a.m. conference discussion vibe, so let's not take it too seriously. Panelist: John Wright Youtube: https://youtu.be/UHDcP1jdYIk Join our slack channel here: https://join.slack.com/t/two-and-half-gamers/shared_invite/zt-2um8eguhf-c~H9idcxM271mnPzdWbipg Chapters 00:00 Introduction to Gaming Trends and Predictions 02:44 The Rise of Anime Games 05:11 Big Publishers vs. Small Studios 08:59 The Evolution of Hybrid Casual Games 11:53 Transmedia and Intellectual Property in Gaming 16:08 The Impact of AI on Game Development 20:43 The Future of Walled Gardens in Gaming 23:25 Privacy Challenges in User Acquisition 25:51 Direct-to-Consumer and Web Stores 28:10 The Emergence of Alternative Stores 31:31 The Potential of HTML5 Games --------------------------------------- Matej Lancaric User Acquisition & Creatives Consultant https://lancaric.me Felix Braberg Ad monetization consultant https://www.felixbraberg.com Jakub Remiar Game design consultant https://www.linkedin.com/in/jakubremiar --------------------------------------- Takeaways Anime games are experiencing a cultural shift and growing popularity. Big publishers are likely to dominate the market, pushing small studios to adapt. Hybrid casual games are evolving towards a more casual model. Transmedia and IP integration are becoming crucial for game success. AI is set to revolutionize game development processes. Walled gardens in gaming are becoming more prevalent and successful. Privacy concerns will continue to impact user acquisition strategies. Direct-to-consumer models are essential for profitability in gaming. Alternative app stores are gaining traction and offering new opportunities. HTML5 games present a significant opportunity for developers to reach new audiences. --------------------------------------- Please share the podcast with your industry friends, dogs & cats. Especially cats! They love it! Hit the Subscribe button on YouTube, Spotify, and Apple! Please share feedback and comments - matej@lancaric.me --------------------------------------- If you are interested in getting UA tips every week on Monday, visit lancaric.substack.com & sign up for the Brutally Honest newsletter by Matej Lancaric Latest article - https://open.substack.com/pub/lancaric/p/match-3d-ua-playbook-real-data-inside?r=7qqaf&utm_campaign=post&utm_medium=web&showWelcomeOnShare=true Do you have UA questions nobody can answer? Ask Matej AI - the First UA AI in the gaming industry! https://lancaric.me/matej-ai Felix Latest Article - https://www.felixbraberg.com/post/the-end-of-gam-and-admob-placement-refreshes
Nick and Roger get our leather and spikes back on to look at the latest Mad Max film, 2024's Furiosa. Your browser isn't showing you an HTML5 audio player. Download
In the final episode of 2024, Bill and Anna take the helm for a hilarious and heartfelt year-end review. From their favorite marketing trends and pop culture moments to bold predictions for 2025, this episode is packed with insights, laughs, and a touch of nostalgia.
PocketGamer.biz head of content Craig Chapple, deputy editor Paige Cook and news editor Aaron Astle discuss the big games industry trends of the year for 2024. In this festive episode, we look at AI, regulation, layoffs, the state of games media, HTML5, the year's top games and much more! ** Let's Connect **
Redwood is a state-of-the-art graphical interface that defines the look and feel of the new Oracle Cloud Redwood Applications. In this episode, hosts Lois Houston and Nikita Abraham, along with Senior Principal OCI Instructor Joe Greenwald, take a closer look at the intent behind the design and development aspects of the new Redwood experience. They also explore Redwood page templates and components. Survey: https://customersurveys.oracle.com/ords/surveys/t/oracle-university-gtm/survey?k=focus-group-2-link-share-5 Developing Redwood Applications with Visual Builder: https://mylearn.oracle.com/ou/learning-path/developing-redwood-applications-with-visual-builder/112791 Oracle University Learning Community: https://education.oracle.com/ou-community LinkedIn: https://www.linkedin.com/showcase/oracle-university/ X (formerly Twitter): https://twitter.com/Oracle_Edu Special thanks to Arijit Ghosh, David Wright, and the OU Studio Team for helping us create this episode. --------------------------------------------------------- Episode Transcript: 00:00 Welcome to the Oracle University Podcast, the first stop on your cloud journey. During this series of informative podcasts, we'll bring you foundational training on the most popular Oracle technologies. Let's get started. 00:26 Nikita: Hello and welcome to the Oracle University Podcast! I'm Nikita Abraham, Team Lead: Editorial Services with Oracle University, and with me is Lois Houston, Director of Innovation Programs. Lois: Hi everyone! Thanks for joining us for this Best of 2024 series, where we're playing for you our four most popular episodes of the year. Nikita: Today's episode is #3 of 4 and is a throwback to another conversation with Joe Greenwald, our Senior Principal OCI Instructor. We asked Joe about Oracle's Redwood design system and how it helps us create stunning, world-class enterprise applications and user experiences. 01:04 Lois: Yeah, Redwood is the basis for all the new Oracle Cloud Applications being re-designed, developed, and delivered. Joe is the best person to ask about all of this because he's been working with our Oracle software development tools since the early 90s and is responsible for OU's Visual Builder Studio and Redwood course content. So, let's dive right in! Joe: Hi Lois. Hi Niki. I am excited to join you on this episode because with the release of 24A Fusion applications, we are encouraging all our customers to adopt the new Redwood design system and components, and take advantage of the world-class look and feel of the new Redwood user experience. Redwood represents a new approach and direction for us at Oracle, and we're excited to have our customers benefit from it. 01:49 Nikita: Joe, you've been working with Oracle user interface development tools and frameworks for a long time. How and why is Redwood different? Joe: I joined Oracle in 1992, and the first Oracle user interface I experienced was Oracle Forms. And that was the character mode. I came from a background of Smalltalk and its amazing, pioneering graphical user interface (GUI) design capabilities. I worked at Apple and I developed my own GUIs for a few years on PCs and Macs. So, Character Mode Forms, what we used to call DMV (Department of Motor Vehicles) screens, was a shock, to say the least. Since then, I've worked with almost every user interface and development platform Oracle has created: Character Mode Forms, GUI Forms, Power Objects, HyperCard on the Macintosh, that was pre-OS X by the way, Sedona, written in native C++ and ActiveX and OLE, which didn't make it to a product but appeared in other things later, ADF Faces, which uses Java to generate HTML pages, and APEX, which uses PL/SQL to generate HTML pages. And I've worked with and wrote training classes for Java Swing, an excellent GUI framework for event-driven desktop and enterprise applications, but it wasn't designed for the web. So, it's with pleasure that I introduce you to the Redwood design system, easily the best effort I've ever seen, from the look and feel of holistic user-goal-centered design philosophy and approach to the cutting-edge WYSIWYG design tools. 03:16 Lois: Joe, is Redwood just another set of styles, colors, and fonts, albeit very nice-looking ones? Joe: The Redwood platform is new for Oracle, and it represents a significant change, not just in the look and feel, colors, fonts, and styles, I mean that too, but it's also a fundamental change in how Oracle is creating, designing, and imagining user interfaces. As you may be aware, all Oracle Cloud Applications are being re-designed, re-engineered, and re-rebuilt from the ground up, with significant changes to both back-end and front-end architectures. The front end is being redesigned, re-developed, and re-created in pure HTML5, CSS3, and JavaScript using Visual Builder Studio and its design-time browser-based Integrated Development Environment. The back end is being re-architected, re-designed, and implemented in a modern microservice architecture for Oracle Cloud using Kubernetes and other modern technologies that improve performance and work better in the cloud than our current legacy architecture. The new Oracle Cloud Applications platform uses Redwood for its design system—its tools, its patterns, its components, and page templates. Redwood is a richer and more productive platform to create solutions while still being cost-effective for Oracle. It encourages a transformation of the fundamental user experience, emphasizing identifying, meeting, and understanding end users' goals and how the applications are used. 04:39 Nikita: Joe, do you think Oracle's user interface has been improved with Redwood? In what ways has the UI changed? Joe: Yes, absolutely. Redwood has changed a lot of things. When I joined Oracle back in the '90s, there was effectively no user interface division or UI team. Everybody just did their own thing. There was no user interface lab—and that was started in the mid-‘90s—and I was asked to give product usability feedback and participate in UI tests and experiments in those labs. I also helped test the products I was teaching at the time. I actually distinctly remember having to take a week to train users on Oracle's Designer CASE tool product just to prep the participants enough to perform usability testing. I can still hear the UI lab manager shaking her head and saying any product that requires a week of training to do usability testing has usability issues! And if you're like me and you've been around Oracle long enough, you know that Oracle's not always been known for its user interfaces and been known to release products that look like they were designed by two or more different companies. All that has changed with Redwood. With Redwood, there's a new internal design group that oversees the design choices of all development teams that develop products. This includes a design system review and an ongoing audit process to ensure that all the products being released, whether Fusion apps or something else, all look and feel similar so it looks like it's designed by a single company with a single thought in mind. Which it is. There's a deeper, consistent commitment in identifying user needs, understanding how the applications are being used, and how they meet those user needs through things like telemetry: gathering metrics from the actual components and the Redwood system itself to see how the applications are being used, what's working well, and what isn't. This telemetry is available to us here at Oracle, and we use it to fine tune the applications' usability and purpose. 06:29 Lois: That's really interesting, Joe. So, it's a fundamental change in the way we're doing things. What about the GUI components themselves? Are these more sophisticated than simple GUI components like buttons and text fields? Joe: The graphical components themselves are at a much higher level, more comprehensive, and work better together. And in Redwood, everything is a component. And I'm not just talking about things like input text fields and buttons, though it applies to these more fine-grained components as well. Leveraging Oracle's deep experience in building enterprise applications, we've incorporated that knowledge into creating page templates so that the structure and look and feel of the page is fixed based on our internal design standards. The developer has control over certain portions of it, but the overall look and feel of the page is controlled by Oracle. So there is consistency of look and feel within and across applications. These page templates come with predefined functionalities: headers, titles, properties, and variables to manipulate content and settings, slots for other components to hold like search fields, collections, contextual information, badges, and images, as well as primary and secondary actions, and variables for events and event handling through Visual Builder action chains, which handle the various actions and processing of the request on the page. And all these page templates and components are responsive, meaning they respond to the change in the size of the page and the orientation. So, when you move from a desktop to a handheld mobile device or a tablet, they respond appropriately and consistently to deliver a clean, easy-to-use interface and experience. 08:03 Nikita: You mentioned WYSIWYG design tools and their integration with Visual Builder Studio's integrated development environment. How does Redwood work with Visual Builder Studio? Joe: This is easily one of my most favorite aspects about Redwood and the integration with Visual Builder Studio Designer. The components and page templates are responsive at runtime as well as responsive at design time! In over 30 years of working with Oracle software development products, this is the first development system and integrated development environment I've seen Oracle produce where what you see is what you get at design time. Now, with products such as Designer and JDeveloper ADF Faces and even APEX—all those page-generation types of products—you have to generate the page, deploy it, and only then can you view the final page to see whether it meets the needs of your user interface. For example, with Designer, there were literally hundreds of configuration parameters that you could set to control how forms and reports looked when they were generated —down to how many buttons on a row or how many rows to a page, that sort of thing, all done in text mode. Then you'd generate and run the page to see what the result was and then go back and modify things until you got what you wanted. I remember hearing the product managers for Oracle ADF Faces being asked…well, a customer asked, “What happens if I put this component here and this component here? What will the page look like?” and they'd say, “I don't know. Render the page and let's see.” That's just crazy talk. With Redwood and its integration with Visual Builder Studio Designer, what you see on the page at design time is literally what you get. And if I make the page narrower or I even convert it to a mobile display while in the Designer itself, I immediately see what the page looks like in that new mode. Everything just moves accordingly, at design time. For example, when changing to a mobile UI, everything stacks up nicely; the components adjust to the page size and change right there in the design environment. Again, I can't emphasize enough the simple luxury of being able to see exactly what the user is going to see on my page and having the ability to change the resolution, orientation, and screen size, and it changes right there immediately in my design environment. 10:06 Lois: I'm intrigued by the idea of page templates that are managed by Oracle but still leave room for the developer to customize aspects of the look and feel and functionality. How does that work? Joe: Well, the page templates themselves represent the typical pages you would most likely use in an enterprise application. Things like a welcome page, a search page, and edit and create pages, and a couple of different ways to display summary information, including foldout pages, though this is not an exhaustive list of course. Not only do they provide a logical and complete starting point for the layout of the page itself, but they also include built-in functionality. These templates include functionality for buttons, primary and secondary actions, and areas for holding contextual information, badges, avatars, and images. And this is all built right into the page, and all of them use variables to describe the contents for the various parts, so the contents can change programmatically as the variables' contents change, if necessary. 11:04 Do you have an idea for a new course or learning opportunity? We'd love to hear it! Visit the Oracle University Learning Community and share your thoughts with us on the Idea Incubator. Your suggestion could find a place in future development projects. Visit mylearn.oracle.com to get started. 11:24 Nikita: Welcome back! So, Joe, let's say I'm a developer. How do I get started working with Redwood? Joe: One of the easiest ways to do it is to use Visual Builder Studio Designer and create a new visual application. If you're creating a standalone, bespoke custom application, you can choose a Redwood starter template, which will include all the Redwood components and page templates automatically. Or, if you're extending and customizing an Oracle Fusion application, Redwood is already included. Either way, when you create a new page, you have a choice of different page templates—welcome page templates, edit pages, search pages, etc. —and all you have to do is choose a page that you want and begin configuring it. And actually if you make a mistake, it's easy to switch page templates. All the components, page templates, and so on have documentation right there inside Visual Builder Studio Designer, and we do recommend that you read through the documentation first to get an understanding of what the use case for that template is and how to use it. And some components are more granular, like a collection container which holds a collection of rows of a list or a table and provides capabilities like toolbars and other actions that are already built and defined. You decide what actions you want and then use predefined event listeners that are triggered when an event occurs in the application—like a button being clicked or a row being selected—which kicks off a series of actions to be performed. 12:42 Lois: That sounds easy enough if you know what you're doing. Joe, what are some of the more common pages and what are they used for? Joe: Redwood page templates can be broken down into categories. There are overview templates like the welcome page template, which has a nice banner, colors, and illustrations that can be used for a welcoming page—like for entering a new application or a new logical section of the application. The dashboard landing page template displays key information values and their charts and graphs, which can come from Oracle Analytics, and automatically switches the display depending on which set of data is selected. The detail templates include a general overview, which presents read-only information related to a single record or resource. The item overview gives you a small panel to view summary information (for example, information on a customer) and in the main section, you can view details like all the orders for that customer. And you can even navigate through a set of customers, clicking arrows for next-previous navigation. And that's all built in. There's no programming required. The fold-out page template folds out horizontally to show you individual panels with more detail that can be displayed about the subject being retrieved as well as overflow and drill-down areas. And there's a collection detail template that will display a list with additional details about the selected item (for example, an order and its order line items). The smart search page does exactly what it says. It has a search component that you use to filter or search the data coming back from the REST data sources and then display the results in a list or a table. You define the filter yourself and apply it using different kinds of comparators, so you can look for strings that start with certain values or contain values, or numerical values that are equal to or less than, depending on what you're filtering for. And then there are the transactional templates, which are meant to make changes. This includes both the simple create and edit and advanced create and edit templates. The simple create and edit page template edits a single record or creates a single record. And the advanced page template works well if you're working with master-detail, parent-child type relationships. Let's say you want to view the parent and create children for it or even create a parent and the children at the same time. And there's a Gantt chart page for project management–type tracking and a guided process page for multiple-step processes and there's a data management page template specifically for viewing and editing data collections like Excel spreadsheets. 14:55 Nikita: You mentioned that there's a design system behind all this. How is this used, and how does the customer benefit from it? Joe: Redwood comprises both a design system and a development system. The design system has a series of steps that we follow here at Oracle and can suggest that you, our customers and partners, can follow as well. This includes understanding the problem, articulating the vision for the page and the application (what it should do), identifying the proper Redwood page templates to use, adding detail and refining the design and then using a number of different mechanisms, including PowerPoint or Figma design tools to specify the design for development, and then monitor engagement in the real world. These are the steps that we follow here at Oracle. The Redwood development process starts with learning how to use Redwood components and templates using the documentation and other content from redwood.oracle.com and Visual Builder Studio. Then it's about understanding the design created by the design team, learning more about components and templates for your application, specifically the ones you're going to use, how they work, and how they work together. Then developing your application using Visual Builder Studio Designer, and finally improving and refining your application. Now, right now, as I mentioned, telemetry is available to us here at Oracle so we can get a sense of the feedback on the pages of how components are being used and where time is being spent, and we use that to tune the designs and components being used. That telemetry data may be available to customers in the future. Now, when you go to redwood.oracle.com, you can access the Redwood pattern book that shows you in detail all the different page templates that are available: smart search page, data grid, welcome page, dashboard landing page, and so on, and you can select these and read more about them as well as the actual design specifications that were used to build the pages—defining what they do and what they respond to. They provide a lot of detailed information about the templates and components, how they work and how they're intended to be used. 16:50 Lois: That's a lot of great resources available. But what if I don't have access to Visual Builder Studio Designer? Can I still see how Redwood looks and behaves? Joe: Well, if you go to redwood.oracle.com, you can log in and work with the Redwood reference application, which is a live application working with live data. It was created to show off the various page templates and components, their look and feel and functionality from the Redwood design and development systems. This is an order management application, so you can do things like view filtered pending orders, create new orders, manage orders, and view information about customers and inventory. It uses the different page templates to show you how the application can perform. 17:29 Nikita: I assume there are common aspects to how these page templates are designed, built, and intended to be used. Is that a good way to begin understanding how to work with them? Becoming familiar with their common properties and functionality? Joe: Absolutely! Good point! All pages have titles, and most have primary and secondary actions that can be triggered through a variety of GUI events, like clicking a button or a link or selecting something in a list or a table. The transactional page templates include validation groups that validate whether the data is correct before it is submitted, as well as a message dialog that can pop up if there are unsaved changes and someone tries to leave the page. All the pages can use variables to display information or set properties and can easily display specific contextual information about records that have been retrieved, like adding the Order Number or Customer Name and Number to the page title or section headers. 18:18 Lois: If I were a developer, I'd be really excited to get started! So, let's say I'm a developer. What's the best way to begin learning about Redwood, Joe? Joe: A great place to start learning about the Redwood design and development system is at the redwood.oracle.com page I mentioned. We have many different pages that describe the philosophy and fundamental basis for Redwood, the ideas and intent behind it, and how we're using it here at Oracle. It also has a list of all the different page templates and components you can use and a link to the Redwood reference application where you can sign in and try it yourself. In addition, we at Oracle University offer a course called Design and Develop Redwood Applications, and in there, we have both lecture content as well as hands-on practices where you build a lightweight version of the Redwood reference application using data from the Fusion apps application, as well as the pages that I talked about: the welcome page, detail pages, transactional pages, and the dashboard landing page. And you'll see how those pages are designed and constructed while building them yourself. It's very important though to take one of the free Visual Builder Developer courses first: either Build Visual Applications Using Visual Builder Studio and/or Develop Fusion Applications Using Visual Builder Studio before you try to work through the practices in the Redwood course because it uses a lot of Visual Builder Designer technology. You'll get a lot more out of the Redwood practices if you understand the basics of Visual Builder Studio first. The Build Visual Applications Using Visual Builder Studio course is probably a better place to start unless you know for a fact you will be focusing on extending Oracle Fusion Applications using Visual Builder Studio. Now, a lot of the content is the same between the two courses as they share much of the same technology and architectures. 19:58 Lois: Ok, so Build Visual Applications Using Visual Builder Studio and Develop Fusion Applications Using Visual Builder Studio…all on mylearn.oracle.com and all free for anyone who wants to take them, right? Joe: Yes, exactly. And the free Redwood learning path leads to an Associate certification. While our courses are a great place to start in preparing for your certification exam, they are not, of course, by themselves sufficient to pass and you will want to study and be familiar with the redwood.oracle.com content as well. The learning path is free, but you do have to pay for the certification exam. Nikita: We hope you enjoyed that conversation. A quick reminder about the short survey we've created to gather your insights and suggestions for the podcast. It's really quick. Just click the link in the show notes to complete the survey. Thank you so much for helping us make the show better. Join us next week for another throwback episode. Until then, this is Nikita Abraham... Lois: And Lois Houston, signing off! 20:58 That's all for this episode of the Oracle University Podcast. If you enjoyed listening, please click Subscribe to get all the latest episodes. We'd also love it if you would take a moment to rate and review us on your podcast app. See you again on the next episode of the Oracle University Podcast.
The next generation of front-end user interfaces for Oracle Fusion Applications is being built using Visual Builder Studio and Oracle JavaScript Extension Toolkit. However, many of the terms associated with these tools can be confusing. In this episode, Lois Houston and Nikita Abraham are joined by Senior Principal OCI Instructor Joe Greenwald. Together, they take you through the different terminologies, how they relate to each other, and how they can be used to deliver the new Oracle Fusion Applications as well as stand-alone, bespoke visual web applications. Survey: https://customersurveys.oracle.com/ords/surveys/t/oracle-university-gtm/survey?k=focus-group-2-link-share-5 Develop Fusion Applications Using Visual Builder Studio: https://mylearn.oracle.com/ou/course/develop-fusion-applications-using-visual-builder-studio/138392/ Build Visual Applications Using Oracle Visual Builder Studio: https://mylearn.oracle.com/ou/course/build-visual-applications-using-oracle-visual-builder-studio/137749/ Oracle University Learning Community: https://education.oracle.com/ou-community LinkedIn: https://www.linkedin.com/showcase/oracle-university/ X (formerly Twitter): https://twitter.com/Oracle_Edu Special thanks to Arijit Ghosh, David Wright, and the OU Studio Team for helping us create this episode. -------------------------------------------------------- Episode Transcript: 00:00 Welcome to the Oracle University Podcast, the first stop on your cloud journey. During this series of informative podcasts, we'll bring you foundational training on the most popular Oracle technologies. Let's get started. 00:26 Nikita: Hello and welcome to the Oracle University Podcast! I'm Nikita Abraham, Team Lead of Editorial Services with Oracle University, and with me is Lois Houston, Director of Innovation Programs. Lois: Hi there! If you've been following along with us, you'll know that we've had some really interesting seasons this year. We covered Autonomous Database, Artificial Intelligence, Visual Builder Studio and Redwood, OCI Container Engine for Kubernetes, and Oracle Database 23ai New Features. Nikita: And we've had some pretty awesome special guests. Do go back and check out those episodes if any of those topics interest you. 01:04 Lois: As we close out the year, we thought this would be a good time to revisit some of our best episodes. Over the next few weeks, you'll be able to listen to four of our most popular episodes of the year. Nikita: Right, this is the best of the best–according to you–our listeners. Lois: Today's episode is #1 of 4 and is a throwback to a discussion with Senior Principal OCI Instructor Joe Greenwald on Visual Builder Studio. Nikita: We asked Joe about Visual Builder Studio and Oracle JavaScript Extension Toolkit, also known as JET. Together, they form the basis of the technology for the next generation of front-end user interfaces for Oracle Fusion Applications, as well as many other Oracle applications, including most Oracle Cloud Infrastructure (OCI) interfaces. 01:48 Lois: We looked at the different terminologies and technologies, how they relate to each other, and how they deliver the new Oracle Fusion Applications and stand-alone, bespoke visual web applications. So, let's dive right in. Nikita: Joe, I'm somewhat thrown by the terminology around Visual Builder, Visual Studio, and JET. Can you help streamline that for us? Lois: Yeah, things that are named the same sometimes refer to different things, and sometimes things with a different name refer to the same thing. 02:18 Joe: Yeah, I know where you're coming from. So, let's start with Visual Builder Studio. It's abbreviated as VBS and can go by a number of different names. Some of the most well-known ones are Visual Builder Studio, VBS, Visual Builder, Visual Builder Stand-Alone, and Visual Builder Cloud Service. Clearly, this can be very confusing. For the purposes of these episodes as well as the training courses I create, I use certain definitions. 02:42 Lois: Can you take us through those? Joe: Absolutely, Lois. Visual Builder Studio refers to a product that comes free with an OCI account and allows you to manage your project-related assets. This includes the project itself, which is a container for all of its assets. You can assign teams to your projects, as well as secure the project and declare roles for the different team members. You manage GIT repositories with full graphical and command-line GIT support, define package, build, and deploy jobs, and create and run continuous integration/continuous deployment graphical and code-managed pipelines for your applications. These can be visual applications, created using the Visual Builder Integrated Development Environment, the IDE, or non-visual apps, such as Java microservices, docker builds, NPM apps, and things like that. And you can define environments, which determine where your build jobs can be deployed. You can also define issues, which allow you to identify, track, and manage things like bugs, defects, and enhancements. And these can be tracked in code review merge requests and build jobs, and be mapped to agile sprints and scrum boards. There's also support for wikis for team collaboration, code snippets, and the management of the repository and the project itself. So, VBS supports code reviews before code is merged into GIT branches for package, build, and deploy jobs using merge requests. 04:00 Nikita: OK, what exactly do you mean by that? Joe: Great. So, for example, you could have developers working in one GIT branch and when they're done, they would push their private code changes into that remote branch. Then, they'd submit a merge request and their changes would be reviewed. Once the changes are approved, their code branch is merged into the main branch and then automatically runs a CI/CD package (continuous integration/continuous deployment) package, build, and deploy job on the code. Also, the CI/CD package, build, and deploy jobs can run against any branches, not just the main branch. So Visual Builder Studio is intended for managing the project and all of its assets. 04:37 Lois: So Joe, what are the different tools used in developing web applications? Joe: Well, Visual Builder, Visual Builder Studio Designer, Visual Builder Designer, Visual Builder Design-Time, Visual Builder Cloud Service, Visual Builder Stand-Alone all kind of get lumped together. You can kinda see why. What I'm referring to here are the tools that we use to build a visual web application composed of HTML5, CSS3, JavaScript, and JSON (JavaScript Object Notation) for metadata. I call this Visual Builder Designer. This is an Integrated Development Environment, it's the “IDE” which runs in your browser. You use a combination of drag and drop, setting properties, and writing and modifying custom and generated code to develop your web applications. You work within a workspace, which is your own private copy of a remote Git branch. When you're ready to start development work, you open an existing workspace or create a new one based on a clone of the remote branch you want to work on. Typically, a new branch would be created for the development work or you would join an existing branch. 05:38 Nikita: What's a workspace, Joe? Is it like my personal laptop and drive? Joe: A workspace is your own private code area that stores any changes you make on the Oracle servers, so your code changes are never lost—even when working in a browser-based, network-based tool. A good analogy is, say I was working at home on my own machine. And I would make a copy of a remote GIT branch and then copy that code down to my local machine, make my code changes, do my testing, etc. and then commit my work—create a logical save point periodically—and then when I'm ready, I'd push that code up into the remote branch so it can be reviewed and merged with the main branch. My local machine is my workspace. However, since this code is hosted up by Oracle on our servers, and the code and the IDE are all running in your browser, the workspace is a simulation of a local work area on your own computer. So, the workspace is a hosted allocation of resources for you that's private. Other people can't see what's going on in your workspace. Your workspace has a clone of the remote branch that you're working with and the changes you make are isolated to your cloned code in your workspace. 06:41 Lois: Ok… the code is actually hosted on the server, so each time you make a change in the browser, the change is written back to the server? Is it possible that you might lose your edits if there's a networking interruption? Joe: I want to emphasize that while I started out not personally being a fan of web-based integrated development environments, I have been using these tools for over three years and in all that time, while I have lost a connection at times—networks are still subject to interruptions—I've never lost any changes that I've made. Ever. 07:11 Nikita: Is there a way to save where you are in your work so that you could go back to it later if you need to? Joe: Yes, Niki, you're asking about commits and savepoints, like in a Git repository or a Git branch. When you reach a logical stopping or development point in your work, you would create a commit or a savepoint. And when you're ready, you would push that committed code in your workspace up to the remote branch where it can be reviewed and then eventually merged, usually with the main Git branch, and then continuous integration/continuous package and deployment build jobs are run. Now, I'm only giving you a high-level overview, but we cover all this and much more in detail with hands-on practices in our Visual Builder developer courses. Right now, I'm just trying to give you a sense of how these different tools are used. 07:52 Lois: Yeah, that makes sense, Joe. It's a lot to cover in a short amount of time. Now, we've discussed the Visual Builder Designer IDE and workspace. But can you tell us more about Visual Builder Cloud Service and stand-alone environments? What are they used for? What features do they provide? Are they the same or different things? Joe: Visual Builder Cloud Service or Visual Builder Stand-Alone, as it's sometimes called, is a service that Oracle hosts on its servers. It provides hosting for the deployed web application source code as well as database tables for business objects that we build and maintain to store your customer data. This data can come from XLS or CSV files, or even your own Oracle database customer table data. A custom REST proxy makes calls to external third-party REST services on your behalf and supports several popular authentication mechanisms. There is also integration with the Identity Cloud Service (IDCS) to manage users and their access to your web apps. Visual Builder Cloud Service is a for-fee product. You pay licensing fees for how much you use because it's a hosted service. Visual Builder Studio, the project asset management aspect I discussed earlier, is free with a standard OCI license. Now, keep in mind these are separate from something like Visual Builder Design Time and the service that's running in Fusion application environments. What I'm talking about now is creating stand-alone, bespoke, custom visual applications. These are applications that are built using industry-standard HTML5, CSS3, JavaScript, and JSON for metadata and are hosted on the Oracle servers. 09:30 Are you looking for practical use cases to help you plan and apply configurations that solve real-world challenges? With the new Applied Learning courses for Cloud Applications, you'll be able to practically apply the concepts learned in our implementation courses and work through case studies featuring key decisions and configurations encountered during a typical Oracle Cloud Applications implementation. Applied learning scenarios are currently available for General Ledger, Payables, Receivables, Accounting Hub, Global Human Resources, Talent Management, Inventory, and Procurement, with many more to come! Visit mylearn.oracle.com to get started. 10:12 Nikita: Welcome back! Joe, you said Visual Builder Cloud Service or Stand-Alone is a for-fee service. Is there a way I can learn about using Visual Builder Designer to build bespoke visual applications without a fee? Joe: Yes. Actually, we've added an option where you can run the Visual Builder Designer and learn how to create web apps without using the app hosting or the business object database that stores your customer data or the REST proxy for authentication or the Identity Cloud Service. So you don't get those features, but you can still learn the fundamentals of developing with Visual Builder Designer. You can call third-party APIs, you can download the source, and run it locally, for example, in a Tomcat server. This is a great and free way to learn how to develop with the Visual Builder Designer. 10:55 Lois: Joe, I want to know more about the kinds of apps you can build in VB Designer and the capabilities that VB Cloud Service provides. Joe: Visual Builder Designer allows you to build custom, bespoke web applications made of interactive webpages; flows of pages for navigation; events that respond when things happen in the app, for example, GUI events like a button is clicked or values are entered into a text field; variables to store the state of the application and the ability to make REST calls, all from your browser. These applications have full access to the Oracle Fusion Applications APIs, given that you have the right security permissions and credentials of course. They can access your customer business data as business objects in our internally hosted database tables or your own customer database tables. They can access third-party APIs, and all these different data sources can appear in the same visual application, on the same page, at the same time. They use the Identity Cloud Service to identify which users can log in and authenticate against the application. And they all use the new Redwood graphical user interface components and page templates, so they have the same look and feel of all Oracle applications. 12:02 Nikita: But what if you're building or extending Oracle Fusion Applications? Don't things change a little bit? Joe: Good point, Niki. Yes. While you still work within Visual Builder Studio, that doesn't change, VBS maintains your project and all your project-related assets, that is still the same. However, in this case, there is no separate hosted Visual Builder Cloud Service or Stand-Alone instance. In this case, Visual Builder is hosted inside of Fusion apps itself as part of the installation. I won't go into the details of how the architecture works, but the Visual Builder instance that you're running your code against is part of Fusion applications and is included in the architecture as well as the billing. All your code changes are maintained and stored within a single container called an extension. And this extension is a Git repository that is created for you, or you can create it yourself, depending on how you choose to work within Visual Builder Studio. You create an extension to hold the source code changes that provide a customization or configuration. This means making a change to an existing page or a set of pages or even adding new pages and flows to your Oracle Fusion Applications. You use Visual Builder Studio and Visual Builder Designer in a similar way as to how you would use them for bespoke stand-alone visual applications. 13:12 Lois: I'm trying to envision how this workflow is used. How is it different from bespoke VB app development? Or is it different at all? Joe: So, recall that the Visual Builder Designer is effectively the Integrated Development Environment, the IDE, where you make your code changes by working with both the raw HTML5, CSS3, and JavaScript code, if need be, or the Page Designer for drag and drop, and setting properties and then Live mode to test your work. You use a version of VB Designer to view and modify your customizations, and the code is stored in a Git repository called an extension. So, in that sense, the work of developing pages and flows and such is the same. You still start by creating or, more typically, joining a project and then either create a new extension from scratch or base it on an existing application, or go directly to the page that you want to edit and, on that page, select from your profile menu to edit in Visual Builder Studio. Now, this is a different lifecycle path from bespoke visual applications. With them, you're not extending an app or modifying individual pages in the same way. You get a choice of which project you want to add your extension to when you're working with Fusion apps and potentially which repository to store your customizations, unless one already exists and then it's assigned automatically to hold your code changes. So you make your changes and edits to the portions of the application that have been opened for extensibility by the development team. This is another difference. Once you make your code changes, the workflow is pretty much the same as for a bespoke visual application: do your development work, commit your changes, push your changes to the remote branch. And then typically, your code is reviewed and if the code passes and is approved, it's merged with the main branch. Then, the package and deploy jobs run to deploy the main code to the production environment or whatever environment you're targeting. And once the package and deploy jobs complete, the code base is updated and users who log in see the changes that you've made. 15:03 Nikita: You mentioned creating apps that combine data from Fusion cloud, applications, customer data, and third-party APIs into one page. Why is it necessary? Why can't you just do all that in one Fusion Applications extension? Joe: When you create extensions, you are working within the Oracle Fusion Applications ecosystem, that's what they actually call it, which includes a defined a set of users who have been predefined and are, therefore, known to Fusion Applications. So, if you're a user and you're not part of that Fusion Apps ecosystem, you can't access the pages. Period. That's how Fusion Apps works to maintain its security and integrity. Secondly, you're working pretty much solely with the Fusion Applications APIs data sources coming directly from Fusion Applications, which are also available to you when you're creating bespoke visual apps. When you're working with Fusion Applications in Visual Builder, you don't have access to these business objects that give you access to your own customer database data through Visual Builder-generated REST APIs. Business objects are available only to bespoke visual applications in the hosted VB Cloud Service instance. So, your data sources are restricted to the Oracle Fusion Applications APIs and some third-party APIs that work within a narrow set of authentication mechanisms currently, although there are plans to expand this in the future. A mashup app that allows you now to access all these data sources while creating apps that leverage the Redwood Component System, so they look and work like Fusion Apps. They're a highly popular option for our partners and customers. 16:28 Lois: So, to review, we have two different approaches. You can create a visual application using the for-fee, hosted Visual Builder Cloud Service/Stand-Alone or the one that comes with Oracle Integration Cloud, or you can use the extension architecture for Fusion applications, where you use the designer and create your extensions, and the code is delivered and deployed to Fusion applications code. You haven't talked about JET yet though, Joe. What is that? Joe: So, JET is an abbreviation. It stands for Oracle JavaScript Extension Toolkit and JET is the underlying technology that makes Visual Builder, visual applications, and Visual Builder Extensions for Fusion Applications possible. Oracle JavaScript Extension Toolkit provides a module-based, open-source toolkit that leverages modern JavaScript, TypeScript, CSS3, and HTML5 to deliver web applications. It's targeted at JavaScript developers working on client-side applications. It is not for backend development. It's a collection of popular, powerful JavaScript libraries and a set of Oracle-contributed JavaScript libraries that make it very simple, easy, and efficient to build front-end applications that can consume and interact with Oracle products and services, especially Oracle Cloud services, but of course it can work with any type of third-party API. 17:44 Nikita: How are JET applications architected, Joe, and how does that relate to Visual Builder pages and flows? Joe: The architecture of JET applications is what's called a single page architecture. We've all seen these. These are where you have a single webpage—think of your index page that provides the header and footer for your webpage—and then the middle portion or the middle content of the page, represented by modules, allow you to navigate from one page or module to another. It also provides the data mapping so that the data elements in the variables and the state of the application, as well as the graphical user interface elements that provide the fields and functionality for the interface for the application, these are all maintained on the client side. If you're working in pure JET, then you work with these modules at the raw JavaScript code level. And there are a lot of JavaScript developers who want to work like this and create their custom applications from the code up, so to speak. However, it also provides the basis for Visual Builder visual applications and Fusion Apps visual extensions in Visual Builder. 18:41 Lois: How does JET support VB Apps? You didn't talk much about having to write a bunch of JavaScript and HTML5, so I got the impression that this is all done for you by VB Designer? Joe: Visual Builder applications are composed of HTML5, CSS3, and JavaScript code that is usually generated by the developer when she drags and drops components on to the page designer canvas or sets properties or creates action chains to respond to events. But there's also a lot of JavaScript object notation (JSON) metadata created at the time that describes the pages, the flows, the navigation, the REST services, the variables, their data types, and other assets needed for the app to function. This JSON metadata is translated at runtime using a large JavaScript extension toolkit library called the Visual Builder Runtime that runs in the browser and real time translates the metadata and other assets in the Visual Builder source code into JET code and assets, which are actually executed at runtime. And it's very quick, very fast, very efficient, and provides a layer of abstraction between the raw JET code and the Visual Builder architecture of pages, flows, action chains for executing code and events to handle things that occur in the user interface, including saving the state in variables that are mapped to GUI components. For example, if you have an Input text component, you need to have a variable to store the value that was entered into that Input text component between page refreshes. The data can move from the Input text component to the variable, and from the variable to that Input text component if it's changed programmatically, for example. So, JET manages binding these data values to variables and the UI components on the page. So, a change to a variable value or a change to the contents of the component causes the others to change automatically. Now, this is only a small part of what JET and the frameworks and libraries it uses do for the applications. JET also provides more complex GUI components like lists and tables, and selection lists, and check boxes, and all the sorts of things you would expect in a modern GUI application. 20:37 Nikita: You mentioned a layer of abstraction between Visual Builder Studio Designer and JET. What's the benefit of working in Visual Builder Designer versus JET itself? Joe: The benefit of Visual Builder is that you work at a higher level of abstraction than having to get down into the more detailed levels of deep JavaScript code, working with modules, data mappings, HTML code, single page architecture navigation, and the related functionalities. You can work at a higher level, a graphical level, where you can drag and drop things onto a design canvas and set properties. The VB architecture insulates you from the more technical bits of JET. Now, this frees the developer to concentrate more on application and page design, implementing logic and business rules, and creating a pleasing workflow and look and feel for the user. This keeps them from having to get caught up in the details of getting this working at the code level. Now if needed, you can write custom JavaScript, HTML5, and CSS3 code, though much less than in a JET app, and all that is part of the VB application source, which becomes part of the code used by JET to execute the application itself. And yet it all works seamlessly together. 21:38 Lois: Joe, I know we have courses in JavaScript, HTML, and CSS. But does a developer getting ready to work in Visual Builder Designer have to go take those courses first or can they start working in VB Designer right away? Joe: Yeah, that question does often comes up: Do I need to learn JET to work with Visual Builder? No, you don't. That's all taken care for you in the products themselves. I don't really think it helps that much to learn JET if you are going to be a VB developer. In some ways, it could even be a bit distracting since some of things you learn to do in JET, you would have to unlearn or not do so much because of what VB does it for you. The things you would have to do manually in code in JET are done for you. This is why we call VB a low code development tool. I mean, you certainly can if you want to, but I would spend more time learning about the different GUI components, page templates, the Visual Builder architecture — events, action chains, and the data provider variables and types. Now, I know JET myself. I started with that before learning Visual Builder, but I use very little of my JET knowledge as a VB developer. Visual Builder Designer provides a nice, abstracted, clean layer of modern visual development on top of JET, while leveraging the power and flexibility of JET and keeping the lower-level details out of my way. 22:49 Nikita: Joe, where can I go to get started with Visual Builder? Joe: Well, for more information, I recommend you take a look at our Develop Fusion Applications course if you're working with Fusion Applications and Visual Builder Studio. The other course is Develop Visual Applications with Visual Builder Studio and that's if you're creating stand-alone bespoke applications. Both these courses are free. We also have a comprehensive course that covers JavaScript, HTML5, and CSS3, and while it's not required that you take that to be successful, it can be helpful down the road. I would also say that some basic knowledge of HTML5, CSS3, and JavaScript will certainly support you and serve you well when working with Visual Builder. You learn more as you go along and you find that you need to create more sophisticated applications. I would also mention that a lot of the look and feel of the applications in Visual Builder visual applications and Fusion apps extensions and customizations come through JET components, JET styles, and JET variables, and CSS variables, so that's something that you would want to pursue at some point. There's a JET cookbook out there. You can search for Oracle JET and look for the JET cookbook and that's a good introduction to all of that. 23:50 Nikita: We hope you enjoyed that conversation. To learn about some of the courses Joe mentioned, visit mylearn.oracle.com to get started. Lois: Before we wrap up, we've got a favor to ask. We've created a short survey to capture your thoughts on the podcast. It'll only take a few minutes of your time. Just click the link in the show notes and share your feedback. We want to make sure we're delivering the best experience possible so don't hesitate to let us know what's on your mind! Thanks for your support. Join us next week for another throwback episode. Until then, this is Lois Houston… Nikita: And Nikita Abraham, signing off! 24:30 That's all for this episode of the Oracle University Podcast. If you enjoyed listening, please click Subscribe to get all the latest episodes. We'd also love it if you would take a moment to rate and review us on your podcast app. See you again on the next episode of the Oracle University Podcast.
Introduction: In this episode, Greg Posner welcomes Jennifer Javornik, the Chief Partnerships Officer at Filament Games, to discuss the impact of educational gaming and the thriving Midwest game development community. Jennifer shares insights into how Filament creates games that go beyond entertainment by transforming players and shaping the future of education through immersive, meaningful experiences. This conversation also highlights the Midwest as an emerging hub for game development, and the key role the Wisconsin Games Alliance plays in that growth.Key Takeaways: The Mission of Filament GamesJennifer emphasizes that Filament Games is a mission-driven, for-profit studio that focuses on creating playful experiences that improve people's lives. Their goal is to make learning fun and engaging, with players emerging from their games transformed in some way—whether it's learning new concepts, developing confidence, or making behavior changes. Transformative Power of GamesResearch backs the effectiveness of well-designed games in education. Games provide an interactive problem space where players can experiment, explore, and gain deeper, longer-lasting understanding compared to traditional learning methods. Jennifer explains how Filament Games integrates this approach into their educational products to encourage players to engage with and retain the material. Impact of COVID on Game DesignThe pandemic led to a shift in educational needs, as many students struggled with virtual learning. Jennifer shares how Filament Games adapted by exploring how their games could support students and teachers during this time. The focus has increasingly been on building multiplayer or collaborative experiences to enhance the learning environment. Innovative Platforms for Learning GamesFilament Games develops across a variety of platforms, from standard tools like Unity and Unreal to HTML5 and mobile devices. Jennifer highlights their work on more unconventional platforms, such as Roblox, and even details their creation of a unique game for pediatric MRI machines to help children remain calm during scans. Building the Midwest Game Development CommunityJennifer discusses her work with the Wisconsin Games Alliance and how the Midwest is becoming a hub for game development. She notes the growing number of indie and AAA studios in the region and the importance of initiatives like MDev to unite the game development community and showcase the talent and innovation coming out of the Midwest.Timestamps: [01:10] – Introduction to Filament Games and its mission-driven approach to game development [03:33] – How games can provide better learning experiences through interactive problem-solving [05:23] – The impact of COVID on education and game design at Filament Games [07:32] – Filament's work on multiple platforms, including Unity, Unreal, Roblox, and even MRI machines [13:18] – Jennifer discusses the growing game development scene in the Midwest and the role of the Wisconsin Games Alliance
The Broken Plane Podcast Rookie Review Saints @ Cowboys NFL Offensive Leaders Week 3 Preview HTML5 Audio Player
The Broken Plane Podcast Rookie Review Chiefs Ravens Seahawks Broncos Other Notes HTML5 Audio Player
The Broken Plane Podcast AFC South Houston Texans Indianapolis Colts Jacksonville Jaguars Tennessee Titans HTML5 Audio Player
The Broken Plane Podcast AFC East New England Patriots Buffalo Bills New York Jets Miami Dolphins HTML5 Audio Player
The Broken Plane Podcast AFC North Baltimore Ravens Cincinnati Bengals Cleveland Browns Pittsburgh Steelers HTML5 Audio Player
The Broken Plane Podcast AFC West Los Diegos San Angeles Chargers Denver Broncos Kansas City Chiefs Las Vegas Raiders HTML5 Audio Player
The Broken Plane Podcast NFC North Chicago Bears Minnesota Vikings Detroit Lions Green Bay Packers HTML5 Audio Player
In this episode of Syntax, Wes and Scott talk about HTML fundamentals — from basic structure and semantics to practical tips for better accessibility and SEO. They also discuss the difference between block and inline elements, form functionalities, HTML5 elements like dialog and canvas, and more. Show Notes 00:00 Welcome to Syntax! 02:33 Brought to you by Sentry.io 03:25 Why HTML is important 06:52 Semantic vs non-semantic 07:58 The basic structure of an HTML page HTML elements reference The Main element 08:45 Doctype 15:24 Nav 18:47 Section 20:41 Aside 22:09 Article 22:54 Span 27:18 Why use a span when you have a div and a paragraph tag? 29:29 Figure and Caption 31:16 Fieldset 31:53 UL vs OL 32:44 DFN The Definition element 34:16 Form 36:56 Button vs Anchor 38:22 Headings 674 - A11y Treats - Heading Design 40:21 Output The Output element 41:46 Dialog 42:04 Tables 44:03 Media media-chrome 45:06 Canvas https://githubuniverse.com/ https://maximeheckel.com/ 46:07 On graphics programming 47:38 Search 354 - The Surprisingly Exciting World of HTML Elements 48:27 Sick Picks + Shameless Plugs Sick Picks Scott: 2Pack Traditional Natural Bamboo Wok Brushes Wes: Logitech MX Master 3S Shameless Plugs Syntax YouTube Channel The Easiest Way to Infinite Scroll with React | Full Example Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads Randy: X Instagram YouTube Threads
The Broken Plane Podcast NFC West Seattle Seahawks San Francisco 49ers Los Angeles Rams Arizona Cardinals HTML5 Audio Player
The Broken Plane Podcast NFC South Atlanta Falcons Carolina Panthers Tampa Bay Buccaneers New Orleans Saints HTML5 Audio Player
The Broken Plane Podcast NFC East Washington Commanders - DCFC Dallas Cowboys Philadelphia Eagles New York Giants HTML5 Audio Player
The Broken Plane Podcast Minshew Mania! Season 7 Coming Soon HTML5 Audio Player
The Broken Plane Podcast Run This Back Season 7 Teaser HTML5 Audio Player
The 16:9 PODCAST IS SPONSORED BY SCREENFEED – DIGITAL SIGNAGE CONTENT Feeding the content beast is an endless challenge for most companies who have invested in digital signage technology for their venues, particularly when the messaging mission is not data and pricing, but material that informs, educates and generally occupies the time of viewers. There are a few companies out there with suites of free streaming content channels, curated and sorted by interest areas. But free means ad-supported. So the action channel a bar owner might have up on screens has digital OOH ads, just like linear TV. A start-up called Stream is coming at this from a different angle, producing custom content that looks like cable TV news channels and is sorted by interest areas, like channels for medical and dental offices. The big differences are no ads and low-cost monthly subscription fees. The service puts people on screens, but AI is also used to what Stream calls augment the videos. Started just a year ago and just coming out of side hustle/stealth mode, the founders are going after what they say is a gap in the market for this type and style of content. But in meeting with prospective customers, they've also uncovered hidden demand for private label TV channels for larger clients. I chatted recently with co-founder Anthony Nerantzis. Subscribe from wherever you pick up new podcasts. TRANSCRIPT Anthony, thank you for joining me. I knew nothing about your company, Stream, until the other day I got an email, I looked at it and I thought, this is interesting, who are these guys? And I asked a couple of questions and concluded that perhaps we should have a chat. Can you give me a rundown of what you do? Anthony Nerantzis: Yeah, absolutely. First of all, thank you so much for having me on your program. A big fan. My name is Anthony Nerantzis, and I'm the CEO and co-founder of Stream. Stream is in a unique space and we think of a new space in the digital signage industry. What we're doing is producing really premium, but low-cost and customized content solutions for CMSs, network operators, and so on to put what is a premium content product and deliver premium content product to their end users. Our whole content model is based around on unique streaming channels. So we have both plug and play, but also these white-label custom channels that we produce for brands and organizations that want to get their messages out in a contextual way to drive engagement with their customers and their viewers and we're really excited about it. So if I'm looking at one of your content channels, what does it look like? Anthony Nerantzis: Yeah. So what we did is the founders of Stream come from media and comms backgrounds. So what we're the best at is telling stories, visual storytelling, narrative storytelling, audience engagement, and what we identified is that a broadcast news look and feel with a host, with that graphic representation of messages, people are drawn to that. People want to engage with that sort of content. It's a premium, high-level content, think ESPN or CNN. So all of our content is based around that broadcast news style, look and feel. What we do is for different, contextual environments, different venues, we create content that's relevant to those venues. Think of a broadcast news channel for a doctor's office. Think of a broadcast news channel for the C-Store. It's really contextually relevant content for those different environments, and it's delivered in that nice look and feel of a news broadcast. So it's audio-driven? Anthony Nerantzis: We do offer audio solutions, but what we've found for the digital out-of-home environment, typically, there is no audio, and that's for a few reasons. First, our file sizes, just as far as the handshake and the transfer, with our partners, a smaller file size, easier to transfer, easier to upload. But second of all, a lot of the end users that we've worked with, especially on the white-label channel side, don't want noise pollution in their environments. They're just looking for that visual component. So that's where our focus is. We obviously do audio, but our bread and butter is, that visual aspect, brilliant visuals, that draw people in. So if it looks like broadcast news, is there a reporter or a host or whatever you want to call it, on-air talent, talking, but you subtitle it or is it more visuals with supporting, titles or captions? Anthony Nerantzis: It's a great combo of both. So we do have our lineup of Stream hosts that we utilize for our production and our development and then they do appear on the screens, and yes, with a subtitle delivery of those messages, but we have graphics of messages, headlines, subheads. You wouldn't turn our broadcast stations on your TV after a long day and sit down on the couch, but if you were to do that, it does appear as if it were a CNN, ESPN, or Fox News sort of broadcast look and feel. That sounds expensive. I mean with on-air talent and everything else and the news resources that you need for that, having some experience in that in my old newspaper days and everything else, and there's a little bit of rxperience with broadcasting. On-air talent and everything else costs real money. How do you get around that? Anthony Nerantzis: Absolutely. So, as I said, we come from the media and the comms space. So we do have that production value, that know-how of the space. What we've done is we've integrated some neat, really revolutionary, AI augmentation, to our displays and the content. So not only does that accelerate. our production process but it also helps us keep our costs, you know in check And allows us to provide what is really low-cost content to our end customers. Obviously right now we're priced to scale. it's not cheap but we're excited, you know comparatively to a lot of the other options content out there. We're able to come in comparably, if not in a lot of cases lower, but still delivering a premium product. Are these AI avatars, are they generated hosts as opposed to real on-air talent? Anthony Nerantzis: So not generated. So we call it augmented because they are our host, they're on payroll and we work with them for a number of different creative, creative situations and use cases. But yeah, so one of the ways that we're really able to within our tech stack drive our costs down is through the rendering process. Again, augmenting our hosts rather than it's not what we're doing is not fake or avatar generated in that capacity, but we are using our, real life host talent and then using them as AI generated through and to deliver them across our streaming channels. It sounds like there's two ways to go at this, the standard sorts of channels that you already have, and there are custom channels. If it's a standard channel that's going into a doctor's office, what am I subscribing to? What roughly am I going to pay? I'm sure there's and it depends on there, but, also just what's the refresh cycle? Is this something that's refreshed daily, weekly, monthly? Anthony Nerantzis: Yeah, absolutely. That's a great question. So I think a doctor's office is a really great example of where we show up in a way that current content options aren't quite there. What we're doing, I would say on the plug and play side, we have several channels. We have Med One, which is a catch all healthcare sort of channel of healthcare infotainment, and then we also have a dentistry channel, and then we also have a dermatology channel and we're looking at other avenues for other use cases within the medical field. But what these are doing is they're showing really interesting infotainment content that's relevant to those spaces. We like to say contextually relevant. They're sharing news from around the industry, news from across the health landscape across the US. It's all G-rated. We use the four year old test. If you're a mom in a waiting room, what would you be comfortable with your four year old seeing? So it's not gory. It's just health tips and interesting stuff. That's going on studies hey a new study came out that lifting weights after 60 is good for bone density, things like that, and then our custom channels, if you are a bigger network and you own a network of, several hundred screens across, dentists office, we can really get really custom on that white label space with corporate branding, corporate messaging, and really for those brands, taking the exact messages that they want to deliver to their customers in that really unique five to ten minute waiting room experience, and getting them off their phones and having them focus on the screens, with relevant content. As far as pricing goes, that's where we're really excited and probably most proud. So for our venue channels, that's our kind of our second tier. Those really environment specific channels such as healthcare, those can MSRP run anywhere from $10 at the high-end and $5 at the low end. So compared to what it would cost for a CNN Health with through a cable subscription, it's really nice, it's obviously a fraction of that. But it's also a step above rotating PowerPoint slides, with messages that say, “Go get your flu shot”, which after the third or fourth flip, people are tuning out. From a cost perspective, it's extremely competitive. And then the white label channels, that's also really exciting for us because we're able to deliver those brand specific channels at a really affordable cost. I suspect that's definitely a “it depends” thing on how much they want and everything else. But if you had a typical, private label channel, would that be like a hundred bucks a month a thousand bucks a month? Anthony Nerantzis: That's a great question So it depends on the end point and you got me with “it depends.” It does depend but for now, i'll give you an example. We have a network with a hundred end points and that they ask for a white label channel and you know with regular updates, it's not daily updates, but with regular updates, we're able to deliver that at 50 bucks an end point so considering the value that you're getting, the brand itself is getting their very own broadcast news channel. When our CMS partners put us in front of these folks, and they say, hey, this is something new, this is something exciting and you can have your own broadcast news channel. The end users are thrilled. Going from rotating powerpoint slides to something like this is such a value add as far as customer engagement. We've really found an enthusiasm for that sort of new age content. Are there personalization options out of those private label ones? In other words, can the dental office in Cincinnati versus the one in Cleveland inject their own kind of messaging like, “Please welcome our new hygienist, Sarah” or whatever? Anthony Nerantzis: Absolutely, and it's actually funny you say that because the network that I just mentioned previously, they have a network of doctor's offices across the state of North Carolina, and each one of those offices has their own little, news, notes, updates, awards that they want to highlight that maybe might not be appropriate to share across. Someone in Winston, Salem might not care about what's going on in Carova, so we can make it really specific based on the location, obviously at scale, but yeah, we can get really granular as far as how tailored we can make it to each specific location. This is different from the streaming channels that companies that I see out there like Atmosphere and Loop and that. Those exist for the purposes of having content supported by advertising. You're not doing advertising at all, are you? Anthony Nerantzis: That's a really great point, and no, you're right. We are not doing advertising. We are all about content forward, grabbing that audience's attention and giving them the content rather than diluting it with ads. I think that we're different, from that fast TV space in a few ways, very low cost subscription model, not ads. We're not necessarily a walled garden. We work with CMSs and we work with operators and distributors as a puzzle piece to what they're doing and really being allies to them so they can go in to their partners and their end users and say, we have this really cool puzzle pieces that we can fit within our system. So we're trying to be allies in that way. We don't have a player we're not a walled garden and then I would just say third of all we are at the end of the day, we're producing that premium content. We're not licensing it from other folks so we can control that messaging. We can control what's showing up on the screens, make sure it's G-rated, make sure what these brands want in their locations and environments and venues is really tailored to them, not a lowest common denominator loop-based sort of system. So you've got a content team that's paying attention to the news wires and just the general run of news out there as well as press releases and everything else, industry reports and so on to pull together your stuff? Anthony Nerantzis: Absolutely, and that's really our strength. Our team, the founders specifically, we come from some of the biggest media and comms companies in the world. So we understand that space. That's where we think our biggest value is, yes, tracking the news, but also identifying these brands and organizations. What are the best messages to connect with your core audiences? How do we drive this forward? Especially infotainment, but also in a retail media space where it's about conversions, driving action. That's our specialty and that's where we've been really able to flex our value with our current client book. You mentioned, you work with CMS companies as opposed to them. How does your stuff plug in? Anthony Nerantzis: CMSs are our best friends. If there's a North star for us, it's really being partners with the CMS is because they're so powerful in the sense that they have the distribution, they have these relationships and they know what their customers want. So when we talk about integration, we are coming to them in two ways. First, a simple integration of our plug and play apps within their app store. So when a customer has their interface template up, they can plop us in, and then our content is really seamless. The handshake is very seamless between us, and then our content can show up on their screens. Is it streamed straight from your servers or the host that you use for streaming or are the CMS getting a file and it's stored locally on the player? Anthony Nerantzis: That's a great question. How it typically works is that HTML5 is our best friend. We provide the content feeds through that, they plug into the CMSs, and then the CMS from there distributes that URL through their app store. So when someone selects us out of their app store, it plugs in basically they're given access to the license through the URL. We can get as simple as we've had clients come to us. End users specifically if we're working right with the end user and they're like, we just want an mp4 file, so we'll just drop an mp4 file in there in their Dropbox and they plug it into their CMS template and they're off and running. We pride ourselves on universal connectivity. We'll meet you where the customer is So if you have an end user who says I don't want a CMS. I don't want that additional monthly cost or whatever. Can I work just directly with you? Can they do that? Anthony Nerantzis: As I said, our most important ally in the space are these CMSs. So we respect that relationship. So if we're working with a CMS and there would never be a situation where the client would be like, see you later, CMS, we're just going to plug in the stream. We value our long term relationships more than any sort of, short term gain of an individual network. And then beyond that, and this came up the other day, we're working with the CMS and their client has a few dozen screens and there might be a few hundred other screens on the horizon in the next few months. We make very clear, we were brought onto the project by the CMS. We're not going to expand past the boundaries of where their players are plugged in. We respect those relationships and I think that's really the key to our success. Yeah, and I think the end user community, if you want to call it that, is also more knowledgeable than they were for a good long time, where they understand that having a proper content management system with device management, monitoring, all those other things, the ability to scale and all that are really important versus just, finding some server player that can call a URL. Anthony Nerantzis: A hundred percent and I think that's what we're recognizing, and we really can only go as far as our CMS partners, media players. We're not going to give individual URL feeds to a thousand screens. We rely on them for that distribution. Maybe my mind blanked or something, but did you talk about the typical frequency of content changes? Anthony Nerantzis: That's a great question. So for our flagships, our news and sports, obviously that's quick hitting news and that needs to be updated throughout the day, which it is. For our venue channels, those are mostly environments, for example, a doctor's office, you might really only be in a doctor's office once every six months, and you'd think that we'd say, we just need to update those channels every six months. What we really go for is, perception is everything. So if that venue owner isn't seeing it updated that often, they're going to think they're not connecting those dots. We're there to connect those dots for them. We're there to consistently fresh content. So when they're walking into their place of business, they're not like, wow, this is the same thing that was playing two weeks ago. So for our venue channels, we do updates at least two or three times a week to keep that content fresh, relevant. Our biggest fear is stale content. That's what we want to get rid of. That's what we want to move past and we want to show up well for our CMS partners that their end users are happy with the content that's being displayed. Obviously with white label, it really depends on what the client wants, but again for us it's all about going above and beyond and being proactive in that sense to provide fresh content so that's kind of part of our bread and butter. When you were developing the business plan for this, were you thinking white label was a big part of the business or is that something that you landed on as you started talking to customers or potential customers? Anthony Nerantzis: White label was not part of the plan at all whatsoever. That was born out of really, I would say a listening ot users. So pre launch, we were meeting with a lot of folks, and they were thrilled about and saying, hey, these plug and play options are great, compared to our rotating PowerPoint slides. Let's get this going. But what we noticed was there was incredible demand, really desperation for tailored content. Obviously now everything's going to be tailored, customizable, and contextual. Not only in the infotainment space, but in the retail media space. So we're ideating, Hey, what if we make these custom channels? What if we can go to a brand and say, Hey, whether you're just trying to entertain your customers, let's entertain them with news and updates about the company? And then if you're trying to sell a customer on something, why don't we drive action through content and messages, that will achieve those goals. What we did was, we obviously went through a pretty big development phase on what we did is we put these samples in these productions in front of folks and the reaction that we got was incredible, and it really showed us that this tailored content and this white label content is really where things are moving away from the lowest common denominator and really going towards contextually relevant brand centric content. I assume that was a pretty happy discovery because you're able to, in rough terms, 10x the monthly subscription fee from an endpoint. Anthony Nerantzis: We were very fortunate to be in a position where we were already tracking towards it. So yes, it was a “whoa” sort of moment, which was cool. I don't think we could have imagined the reaction that we've received from it, and transparently, we really used InfoComm as our major kind of launch point to get our name out there, and we were expecting to show up, shake hands, get to know people, meet people. We brought, obviously, a little tablet. We were showing people what we were doing, and the reaction, specifically for these white labels… We were on our flight home, from Vegas, with huge smiles on our faces, I don't think we could have imagined how much these white labels, channel offerings, how much interest that would have generated. So you were at Infocomm and I walked right by, apparently. Anthony Nerantzis: I guess so. I'll have to catch you at the next one. I think it's in Orlando next year, right? Yeah. It's starting to ring a bell now that when I walk around, I take photos of stands thinking, I don't know anything about them, I don't have time to stop right now, but I'll look this up later. If I go through my photos, I bet you there's one in there like that and my apologies for not stopping, but, I get swarmed that week. Anthony Nerantzis: I'm going to let you off the hook. We did not have a booth. We were just walking around. Maybe a booth next year. Maybe you can take a picture of a booth next year. But we were just on the ground getting to know folks, trying to make the most of it. And you're able to do that just by having chats with people? Anthony Nerantzis: Yeah, we're really fortunate. Obviously, the founders are from outside the digital signage space and someone who's been a huge mentor to us is Bob Ratcliffe. I don't know if you're familiar, but he runs, really, what we found to be an incredibly consultancy and, he's really been our mentor and also guided us around the show floor, and introduced us to who we needed to know. So we're fortunate for Bob and he's obviously a great partner with us. Yeah, subject matter, knowledge and contacts and all that are invaluable. So how long ago did this start? Anthony Nerantzis: As I said, we usde Infocomm to put our name out there. Transparently though, I would say since June of 2023 is when the idea was first born. Oh, so this is like real new? Anthony Nerantzis: Yes. I think I mentioned earlier, but we thought we had an idea, we thought we had something, but what we did was we did a lot of listening. We met with partners even before we really put our name out there publicly. I can't tell you how many Zoom meetings, in person conversations that we had with people in the space, CMS operators. What are you looking for from a content perspective? What are you missing? What's your current situation? The production and development process, obviously, of our software stack, took a long time, to optimize it and get it up and running to what we wanted it to be, to show up in a way that we were proud of. So I'd say, yeah, about a year and a little before our one year anniversary, we came out to the world and timed up perfectly with Infocomm. So what's the state of the company at the moment? Is it like a full time company or is it a side hustle for you guys? Anthony Nerantzis: So we are just breaking out of our side hustle, which is amazing. The last month and a half have been an absolute whirlwind. We are in a full growth stage right now. We're incredibly proud of that. So We're going full on and we're fortunate that we were able to get so much excitement right from the jump that we're able to make this decision. So we're definitely in the growth phase. I think the next three, six, twelve months are going to be extremely exciting. We have a lot of really cool stuff coming down the pipeline, not only with product development, but with partnerships. So we're excited about where we're at. Actually, just last week, we were accepted into NVIDIA's Inception program for early stage startups. So that gives us a whole suite of tools that are going to propel us, even further forward with our capabilities. So we're really excited about that. Yeah, that's how I got wind of this and I, admittedly, didn't know a darn thing about NVIDIA's inception program. What does that do for you? Is it funding or is it just support or connections? Anthony Nerantzis: I think a lot about the last one. So it really integrates us directly within their partner network of VCs of developer support. So I would say just from apartner in a network standpoint, that's going to be the biggest value add. The second really huge boon for us is going to be access to some advanced features within their software suite. Obviously we're always looking for ways to level up and optimize our production processes. And with Nvidia, with their help, and being part of this network, we're going to have access to a lot of the really cool things that they're doing behind the scenes. So we're really excited about that and hopefully over the next month or two here, we're going to be able to roll out some things that are a direct result of that, being within that network, so a huge opportunity for us for sure. So that gives you access to a whole bunch of computing power, particularly on the graphics side, which I'm sure it is intriguing. Anthony Nerantzis: Absolutely. That's the name of the game right now. We need it and just to have a partner like that is pretty awesome. If people want to know more about your company, where do they find you? Anthony Nerantzis: So we're a few places. I think our channel of choice is for sure LinkedIn. go ahead and follow us on LinkedIn. We're Stream, and then our website is streammedia.news. So we kicked .com to the side because we want to really show that we're news, we're content forward. We're not streammedia.ads. We're focused on that content with the news. With the news portion. So I encourage everyone to check us out. I suspect streammedia.com was also gone many years ago. Anthony Nerantzis: Dave, you're exposing me. As was the stream.com, probably gone in 2003 or something. Anthony Nerantzis: I would imagine, yes. Or 1993, I don't know. Alright, Anthony, that was great. Thank you. Happy to learn more about your company and best wishes with all this, and I guess I'll see you in Orlando next year. Anthony Nerantzis: Absolutely, Can't wait. Thank you so much. We really appreciate the opportunity. Thank you to all your listeners and we really had a lot of fun.
RRWeb is based on a simple idea: If you capture all the DOM events in a browser session, and when they happened, you could play it back later. Play it back for diagnosing error conditions, for understanding your user's journey, or for creating demo videos that can be edited element-by-element instead of frame-by-frame.Unfortunately, the simple idea gets tricky when you try to implement, for a whole host of browser specific glitches, differences, and places where the HTML5 spec ran out. It's exactly the kind of project where might want to use it, but you want someone else to maintain it!Joining us this week is Justin Halsall—a chief contributor to rrweb—to teach us about some of the more barren corners of the browser spec, how he's fought through them, and what the benefits are on the other side…–RRWeb homepage: https://www.rrweb.io/RRWeb on Github: https://github.com/rrweb-io/rrwebRecordOnce: https://recordonce.com/Support Developer Voices on Patreon: https://patreon.com/DeveloperVoicesSupport Developer Voices on YouTube: https://www.youtube.com/@developervoices/joinJustin on Twitter: https://x.com/juice10Kris on Mastodon: http://mastodon.social/@krisajenkinsKris on LinkedIn: https://www.linkedin.com/in/krisjenkins/Kris on Twitter: https://twitter.com/krisajenkins–0:00 Intro3:10 What is rrweb Doing?6:12 Beginning With A Naive Implementation9:49 Supporting Canvas Tags13:05 Exotic HTML 5 Tags Like Midi14:31 The Internal Data Format17:39 How Reliable Can This Be In Practice?23:04 Cross-Browser Support24:32 Exploring The Use Cases30:17 Privacy Issues33:46 Analyzing User Interactions En-Masse36:40 Is The Spec Greater Than The Tool?38:20 The Practical Benefits Of Contributing To Open Source44:45 Updating Recordings After The Website Changes49:55 Playing Well (Or Badly) With Popular Frameworks53:21 The Runtime Burden54:17 What's Coming In The Future?1:01:02 Outro
The 16:9 PODCAST IS SPONSORED BY SCREENFEED – DIGITAL SIGNAGE CONTENT Motion graphics designers tend to enjoy the creative side of their jobs, but there can be aspects of their work, like editing and rendering slight variations of the same spot, that are best described as soul-sucking. Neb Savicic has lived that as a motion graphics designer, and with a couple of friends in Serbia, concluded there had to be a better way. So they put their heads together and, after testing interest, started Plainly - which automates video creation and produces finished spots at scale. Like 1,000s of videos in a matter of minutes. This is not a library of pre-made templates that end-users can then tweak. It's a SaaS tool used mainly by creatives in agencies and studios to take what's developed in a professional toolset - Adobe's AfterEffects - and plug it into Plainly's cloud platform. The net result is that a creative team that is charged with producing, let's say, 500 videos for a QSR chain can do that with one template and a spreadsheet file that has all the differences itemized per location. What might take weeks to accurately produce, instead takes one click and a few minutes to get rendered, ready-to-use videos. Subscribe from wherever you pick up new podcasts. TRANSCRIPT Neb, thank you for joining me. It's nice to chat with you. We met in Munich a couple of months ago. I didn't know a lot about Plainly. I wrote a piece when you did some sort of a partnership with SignageLive, but for those who don't know who you are, can you tell me about the company, what it does, and how and why it was started? Neb Savicic: First of all, thank you so much for having me. So Plainly is a product that helps creative teams automate and scale up video output while keeping the quality of their videos high. What that means, in a nutshell, is we have a platform that allows users to automatically render variations of their After Effects videos just by providing data that's going to be in those variations. So the benefit of automation is you can produce videos at scale. You can produce a lot of videos quickly without all the monkey work to do each of them, right? Neb Savicic: Yes, so the key benefit, and that's the problem we're solving, is that in many use cases, creatives have to spend their time changing text, changing images, and creating variations of the same templatized video they created a month ago for different markets, screens, and products. My background is actually in video. I was a motion designer before planning, and I always hated those kinds of projects, and that's where the inception story came from, and, I was like, there has to be some better way. So we created a platform where you can create one template, and one After Effects project, and then our platform will automatically create all of the different variations you need. At the same time, you can focus on different, more creative, and more important tasks. So I understand that for a lot of social media things, even for things like utility company bills, if they want to do a video summary, customer by customer, how would this be used in the context of digital signage or digital out of home? Neb Savicic: When I first came into this industry, and I was looking at the content that the companies were putting out, and I said this on another podcast, the one thing that always bugged me is that these companies invest so much money into their systems into their digital signage systems and the content doesn't look that good. You invest so much money to have this great system running in the background, and the thing that's actually displayed and the thing that your customers see is the thing that's getting the least amount of effort. So using a tool like ours, you can actually make sure that you have relevant content, personalized content, and updated content all the time on all of the screens. So you can imagine… This is the easiest example, but like a QSR where they have the same content on every screen in every restaurant across all the locations, and that's just because they have a limitation of human resources, they just don't have enough employees to create different content. So they're satisfied with the same stuff. With a tool like Plainly and the power we give you, you can actually create individualized content for each screen. So, let's say it's raining in London. You can make different content when it's raining compared to Manchester, where it's sunny, and you're going to sell different stuff, it's that ability to automatically create different individualized relevant personalized content on a large scale that's what we give to the digital sign, to our users from the digital signage industry. Do you have companies that are actively using this? I know I mentioned that a partnership was announced with SignageLive. SignageLive is always good about working with emerging companies doing interesting things, so it's not surprising they're one of the first to do that. But how are these company's customers using it? Neb Savicic: We work with many agencies, some of the biggest agencies, especially in the advertising and creative industries. These agencies are using it for digital signage for their clients and the way they're using it is exactly how I described it. They were spending so much time creating different variations of the same content and they realized they needed to offload this to machines and open up some of that time for our creative team to actually do something more, they paid these people a lot of money because they're great and spend time moving the pixels around, their users, agencies, and in-house creative teams all use Plainly in the same fashion, where you can just drop in a big CSV, a big Google sheet with all of the different video variations and in a click of a button you can get a hundred or a thousand different video variations. To be clear, this is not a template system like a lot of digital signage CMS companies have. I think they are sometimes called composer systems where you just open it up and you use templates that exist there, and you can adjust what's on them. This is developing templates within Adobe After Effects, usually, templates designed by motion graphics designers who know their way around AE. Then, that's where you plug in, right? Neb Savicic: Yes, exactly. One of our key selling points is that we are a native After Effects solution. So our users have to be After Effects users. That's why I'm saying they're in-house creative teams and agencies. So what this means is that we are not offering you boilerplate templates that are the same for everybody. You can actually create your own custom-branded bespoke templates that look awesome and then use our platform to increase the output of those templatized videos. So, what would the workflow be for? Let's use that example you had about QSR chains and wanting to have different menus based on weather conditions, geography, and that sort of thing. How does that work in the real world? Neb Savicic: Okay, so there are two ways you can achieve this. First of all, you can do what's called a batch renderer, which is very nicely demonstrated in a video we did for the SignageLive integration. Basically, what you do is upload your After Effects template into Plainly. You say, okay, we want to change the product's price, the product's name, and the product's image with every video. You create a big Google Sheet that's gonna have all of the different variations. You drop in that Google Sheet or a CSV into Plainly, click Render, and Plainly renders all of the different variations. That's the simple, no-code-needed way. The second way, which is a bit more advanced, is using our API. With our API, you can actually create any kind of workflow, and this is where we can also talk about programmatic. You can programmatically create video variations on demand. So let's say you have a system that detects it's rainy in New York, let's create a new content piece, that just pings our API and says create a new video, and we send you back the video so there are a couple of ways you can achieve the workflow, depending on the technical abilities. What's the timing and everything of that? If you hit “Batch render” or whatever the button is, you click it, does that take 10 seconds, 10 hours, or 10 days? Neb Savicic: You can see this on our YouTube channel. We actually made a video in which we rendered 1000 videos in 17 minutes so it's quite a fast system. Obviously, it depends on how complex the video template is, but it's quite fast, and it's quite capable of producing like we have customers doing tens of thousands of videos, like fifty thousand, a hundred thousand, so the core of our product is the scalable infrastructure that can output any number of videos. Are you using big, cloud-based compute systems, like AWS or whatever to do that, or is this your own iron? Neb Savicic: No, of course, we use Google for the rendering. So that gives you all the scalability you need. Neb Savicic: Yeah, of course. It's scalable on demand, and we don't have to worry about them shutting down. No, they're not anytime soon, at least. So what is the output file? Neb Savicic: It's a video, first of all, that's the big thing for digital signage. It's not an HTML5, it's a video. Neb Savicic: No. It's an actual video, MP4 or MOV. So that also has some benefits in terms of being able to play it on older screens and any kind of screen so that also has some benefits. So any media player, unless it's a complete piece of junk, supports playing out the video, whereas it might not play out HTML5. Neb Savicic: That's one of the benefits, yeah. Are there settings? If I say, “I want 720p, 1080p, 4K,” and “Here's the format: it's portrait or it's landscape,” can you munch on those things? Neb Savicic: Of course. So all of those things are actually handled in After Effects. So the customer decides what's the duration going to be, what's the dimension of the video going to be, what's the design, but then also some of the agencies we work with, they actually do stuff for broadcast. In those cases, they require very specific output parameters. Because of that, we have a feature where you can define these specific outputs, such as, if you want to change the bitrate, the FPS, or any of those more technical parameters. That's also possible after the video is rendered. If you do, use your example, a thousand videos in 17 minutes. For each of those videos, where do they go, and how do you distinguish which one is which? Can you give them names based on metadata so know this is Spanish, Escondido in California, postal code, and that sort of stuff? Neb Savicic: Yeah, of course. There are a couple of ways you can achieve this. One is naming the files. You can use the data parameters from the video. If you have a product name, and then you want also to add Spanish, you can name them. But in the case of the API usage, you can include the metadata in that API call, which will be how you distinguish those videos. But specifically for digital signage, and this is one of the things we did with SignageLive, so let's say in the spreadsheet you also have a column that says, where is this piece of content going to go? In SignageLive, it's called tags. You can actually use those tags and automatically distribute the videos to the screens with SignageLive because of their integration and the way we did it. But generally speaking, you can achieve that level of automation where you're dropping a CSV or filling out a Google sheet, the videos are read automatically, and they are distributed automatically to all of the screens where they need to be. I assume there are guardrails and checks and balances on this stuff. Automation is awesome, but it can work both ways. If somebody makes a mistake or something goes hairy and the rendered videos are incorrect in some way. How do you make sure that doesn't happen? Neb Savicic: So that's up to the user. We don't alter the data in any way. So what we get is what we put into the video, and then it's up to the user to introduce some checks and balances and security measures to make sure that the content looks right. So if there's an approval gateway of some kind that you want to look at each piece of video and go, okay, yeah, that looks right. That's up to the customer. That's not something inherent in your system? Neb Savicic: Yeah, of course, and we do it also for security reasons. Of course, we don't want to be liable for approving something and then making a mistake. So we leave that up to the user and ensure they have the flexibility to do it in the way they want. I think I saw in one of the demo videos that you do have or offer users the ability, at least at the creative stage, to do a draft render, look at it, and then go in and change some of the things, right? Neb Savicic: Yeah, of course. If you see a video that may be in, the data was incorrect. You can easily re-render that video, or, as you mentioned, use a draft version to make sure that it actually looks good before it's published. You're starting to work with AI, as everybody says they're working with AI, but how are you using it? Neb Savicic: So we are introducing AI into our tool to help our users do the tasks they always do with the assets outside of Plainly. So I'll give you an example. Let's say you have a product image. Those product images, in a lot of cases, have backgrounds, and in the video, you want to have an image without a background. So we are introducing features that will help you - we call it pre-processing - remove the background or denoise your audio, and do those things that really help make the lives of our users a bit easier. So they don't have to do things outside of Plainly. They can do everything in one place. It's very much what I hear from people talking about the coding side and using AI to remove or take away a lot of the grunt work. Neb Savicic: Exactly, and I think that's the right use case for AI. It's just that there are tons of tasks that people just don't want to do, and it's the same as with Plainly like nobody wants to change the text layer or the product name 10 times like you should use machines for that, and I think you should also use AI for those kinds of tasks where. It's so obvious that it's useful in that regard. So what about the idea of putting in a chat GPT prompt that says, “Make me a video for hamburgers that are $2.99. Sundays only”? Neb Savicic: That's a good idea, but it's not what we're trying to build, unfortunately. What's really interesting about Plainly, is that given that we are an API-first solution, we are very modular. We have clients that are actually doing a bunch of AI stuff before the assets go into Plainly. For example, we have one customer, at this point, multiple customers who are using AI avatars. So Plainly doesn't really add AI avatars. Still, since we have an API, they can quite easily bring our solutions together and have a solution that's creating an AI avatar. Then that video goes into plain to be included in the final video. If you want a ChatGPT prompt, you can just introduce ChatGPT before Plainly stringing them in a workflow and making any kind of workflow you want. I have some history with content automation and using After Effects templates, going back 10 years. The struggle I had was where it was a partnership. The big challenge I had was people didn't get it. They didn't understand the idea of templates and automation and making their lives easier. I'm guessing that it's much easier with this because you're not going to end users. You're not going to resellers or solutions providers. You're talking directly to the agencies by and large. Neb Savicic: Yeah, it's quite an obvious thing for them because it might seem tricky from the outside because, you could say oh, you are making Motion Designers obsolete. You're taking somebody's job that somebody changed names of the product there all day. But being a motion designer before Plainly, I don't look at it from that angle, I look from the angle of, you can have that Motion Designer to do a lot more work, different work, different creative work and use his or her time a lot more efficiently. Why do that menial work in that manner that's soul-sucking, when you can create different templates and different projects and that's what the agencies see. They see an opportunity for new revenue. Basically, they can take in more clients because they now have this tool that's going to help them output ten times more content than with the same amount of staff. Yeah. I was curious about that. I suspect there's a huge problem, it depends on its qualifier, but I'm curious how much time and money this can save. Neb Savicic: Depends... I'm kidding. I did some calculations, I was looking at some templates that are with our customers, and I was like, realistically, how much does it take to create ten videos from this template? And even if you have a fully templated project, you have all of the data ready to go, it can take anywhere between 10 and 30 minutes per video, depending on how complex it is. If you need to create ten videos, a hundred videos, thousand videos, you can see how that easily adds up where we clean with just literally one click. You add the CSV and can do thousands of these in 17 minutes. So the time savings are massive, but not easily counted. You cannot easily calculate it. At least some of it is owed to, it's the old phrase around garbage in, garbage out. If you don't tag everything properly in the After Effects file, automation is not as easy, right? Neb Savicic: Yes, of course. But it's not like you have to do some special work to prepare a template for Plainly. You just have to name your layers and things. Neb Savicic: Of course, every good Motion Designer or Video Editor will name their layers properly because otherwise, they won't find a way around their project if they return to it a month or six months later. Believe me, I've fallen into that trap. It's very hard. So you just have to be organized. You have to name this name stuff properly, and everything is going to work like with some other solutions on the markets they all say they're After Effects supported, but the reality is that yes, they support After Effects, but it's not natively. First of all, you must alter your creative process a lot, meaning you have to work with a plugin or some special effect to import After Effects into their platform. With Plainly, you're just working with After Effects. You put After Effects into Plainly, and it's going to work. So we don't alter your creative process in any way. We just empower you to create more videos. The other thing is that if you're not an After Effects native, that means that with a lot of solutions, you're actually turning After Effects into some intermediary format, which means that you cannot use all the effects or there is some quality loss that happens in that transition. So that's what our users love about Plainly. I would imagine this opens up the opportunity for a “boutique level” agency or creative shop to take on very large jobs at a scale that, in the past, they would go, “We would love to have this work, but it would kill us.” If they have this tool now, they can compete with the larger agencies, right? Neb Savicic: Exactly. Yes, and that's what I meant when I said it opens up new revenue opportunities because you can now take on more work, be a huge company, you can be outputting hundreds and hundreds of videos, even though it's… coming out of your spare bedroom. Neb Savicic: Yeah, out of the basement. How does pricing work? Neb Savicic: Oh, so it's a SaaS, which means you pay either monthly or annually for a subscription and that all depends on the number of minutes you export. It starts as low as $59 per month, but it can go higher if you need more minutes. So classic pricing tiers are based on the amount of work you do and the amount of output. Neb Savicic: Which makes sense. You charge on finished rendered videos, not on the draft, in terms of time? Neb Savicic: Yeah. We just look at the output, not what you're doing to plan on, just the output. You started this a couple of years ago, or three, four years ago? Neb Savicic: 2019. Okay. So five years ago, there were already some companies in the market doing maybe not the same work, but similar kinds of things. I did a podcast a few years back with Dataclay and I'm aware of SundaySky and some other ones out there. How do you compare to them, and when people say, okay, why would I use you versus brand X, what do you tell them? Neb Savicic: So there are a couple of things. First, if you compare Plainly to some other solutions, obviously being cloud-based, there is a difference to some of the other tools, like you don't have to worry about your rendering infrastructure because that's us. If something doesn't work, that's our fault. That's the core of our product. We ensure you can render as many videos as you want, as many videos as long as you have money. That's one thing, and then, of course, there are things like being After Effects native, where you can literally add any kind of template. We have had clients with amazing 3D-based templates that wouldn't be possible in other solutions, and then they were API-based. So a lot of our customers are actually building internal tools. They're actually integrating Plainly into their apps or internal tools for creative teams. So those three things are what separates us from the market. So for the big agencies with internal software developers, who would use the API, this is great. But for the smaller agencies or the purely creative agencies, they can go at it using the no-code side of it and not have to worry about APIs and things. Neb Savicic: Exactly. Yeah, that's it. Where are you guys at as a company? I saw that you got some seed funding from, what, the Serbian incubator fund or something? Neb Savicic: That was the first thing. That was in 2020, and then we got accepted into a very prestigious US accelerator called Tiny Seed. We were the first company from the Balkans to get in there. So they obviously saw something in us, but we were growing as a team, growing the customer base. We are so lucky to be working with some of the largest agencies and names that you would recognize from both Europe and the US, and we're just trying to make them happy and create a product that makes their lives better. I realized you're serving a whole bunch of different vertical markets and use cases, digital signage, just being one of them is, that a substantial noticeable or a friend of mine uses the term consequential part of your business or kind of an interesting sort of side aspect to what you do. Neb Savicic: I'm not sure how big digital signage is with our agency customers. I would imagine that a good portion of the content they do is for digital signage, but as for us working directly with digital signage companies, we're just getting into that industry. With the SignageLive integration, we might announce more integrations soon. That's a new industry for us. We see that there are a lot of benefits for the users in the digital signage industry we're just trying to get into. We chatted at the digital signage summit in Munich. So, obviously, you were there to network and meet some people, and I had some beers. Would you also be at ISE? Neb Savicic: Yes, of course, and then Munich next year and possibly Intelcom. I assume this product will always evolve. Over the next year, are there new wrinkles you'll be rolling out that you can tell me about without alerting your competitors? Neb Savicic: Honestly, the good thing is that I'm so happy to have a technical team that's really fast, and the product improvement cycle is insane. We are putting out new features on a bi-monthly basis. So I don't know. One year from here, who knows what will be added? Definitely, the AI features are greater than everybody. So all the normal stuff: faster, better, easier. Neb Savicic: Exactly. The stuff that doesn't change. Yes. All right, Neb. That was great. Very interesting. Thank you. Neb Savicic: Yeah. Thank you too, Dave.
Today, my guest is Julieta Rubio. She's a frontend developer based in Argentina, and combines her love for technology with her passion for art and design.She's got an interesting background - she was a tour guide for a wine company in mendoza before retraining as a Growth Engineer for Embeddables building websites and embeddable tools using Webflow, Javascript, HTML5 and CSS3.While she was working at Embeddables, she was learning, growing and developing and starting to get some freelance work.Now get this, after 4 years at Embeddables, she's just quit to strike out on her own as a freelancer.She recently obtained her Webflow's Partnership certification and now she's ready to rumble
Guest: Marissa Mayer, CEO and Founder of Sunshine and former CEO of YahooWhen Marissa Mayer was first hired as the CEO of Yahoo, the company had lost nearly a quarter of its workforce in the preceding six months. Early on, she was chatting with employees in the cafeteria and one of them got her attention by smacking her tray. “Is it go time?” he asked. He was asking if the board and C-suite were ready to lead the company forward, but Marissa thought he had one foot out the door. “I had just come out of this meeting where they were like, ‘Everyone's leaving!'” she recalled. “And I was like, ‘Oh no, please don't go, I've only been here for four days!'”In this episode, Marissa and Joubin discuss the number 12, contacts and photo sharing, fear of AI, soccer moms, maternity as a “disability,” mothers' rooms, Jim Citrin, Project Cardinal, HTML5 vs. native apps, Ross Levinsohn, Lori Puccinelli Stern, Joe Montana, David Karp, Mark Zuckerberg, Taylor Swift, hiring at Google, Amit Patel, Hamilton, John Doerr, and the Google APM program.Chapters:(00:52) - Reading your own press (04:55) - Marissa's lucky number (07:19) - Her latest startup, Sunshine (15:03) - Burnout, resentment, and rhythm (21:46) - The opportunity to become CEO of Yahoo (27:00) - Inverting maternity leave (31:14) - The big interview (36:44) - An epic dinner party (42:51) - The voicemail (47:18) - Farzad “Zod” Nazem and David Philo (50:25) - Last day at Google (53:52) - “Is it go time?” (59:03) - Buying Tumblr (01:04:46) - Alibaba and Verizon (01:06:24) - Larry and Sergey bucks (01:11:05) - Eric Schmidt's advice (01:12:59) - In the room at Google (01:18:36) - Teaching and identifying talent (01:24:32) - Who Sunshine is hiring Links:Connect with MarissaTwitterLinkedInConnect with JoubinTwitterLinkedInEmail: grit@kleinerperkins.com Learn more about Kleiner PerkinsThis episode was edited by Eric Johnson from LightningPod.fm
Welcome to IoT Coffee Talk #211 where we have a chat about all things #IoT over a cup of coffee or two with some of the industry's leading business minds, thought leaders and technologists in a totally unscripted, organic format. Thanks for joining us. Sit back with a cup of Joe and enjoy the morning banter.This week, Rob, Debbie, Pete, Leonard, and Marc jump on Web3 to talk about:* BAD KARAOKE: "Round and Round", Ratt* Taming naughty AI by teaching it values* Do AI agents need managers?* How do we know if an author is actually the author and does it matter?* Teaching IoT to the next generation,... with generative AI?* The key to IoT monetization - write a college textbook!!* The new business model for college textbooks on IoT - TBaaS (Textbook as a Service)!!!* IoT business model innovation: (HaaS) Hole as a Service!* Leonard's Taipei snooze alarm snafu and first time in Taiwan* What does 250 percent humidity feel like?* All AI PC insanity will converge at Computex 2024* Windows on Arm at thing with Snapdragon X Series* Why zero-clients solutions are always dead on arrival* HTML5 is not dead!* The $2 piece of digital paper powered by body heat!It's a great episode. Grab an extraordinarily expensive latte at your local coffee shop and check out the whole thing. You will get all you need to survive another week in the world of IoT and greater tech!Thanks for listening to us! Watch episodes at http://iotcoffeetalk.com/. We support Elevate Our Kids to bridge the digital divide by bringing K-12 computing devices and connectivity to support kids' education in under-resourced communities. Please donate.
Con Matías desaparecido en aguas caribeñas, me acompaña José Sáez-Merino para que nos sumerjamos de nuevo en las Vision Pro. Ya casi ha pasado un mes de uso, y las experiencias buenas y malas van quedando más claras. Hablamos de las polémicas declaraciones de Mark Zuckerberg al respecto, de las nuevas apps que están saliendo, de VisionOS 1.1 y sus cambios, y del análisis de iFixit y las fascinantes mediciones técnicas de los visores de estos cascos. - Por qué Tim Cook se lo juega todo al Apple Vision Pro | Vanity Fair - Zuckerberg y las Vision Pro - Entrevista a Eddy Cue en español - Apple Vision Pro: Returning $3,500 Device Over Comfort, Lack of Apps and Price - Bloomberg - Apple Vision Pro return rate appears low - Apple fans are starting to return their Vision Pros - The Verge - Apple announces more than 600 new apps built for Apple Vision Pro - Apple - Apple Vision Pro Persona Update (1.0 vs 1.1) - YouTube - visionOS 1.1 Beta 1 is Out! - What's New? - YouTube - Meet Safari for spatial computing - WWDC23 - Videos - Apple Developer - "WebXR" | Can I use... Support tables for HTML5, CSS3, etc - TikTok's native app arrives for the Vision Pro - The Verge - YouTube says a Vision Pro app is ‘on the roadmap' - The Verge - Vision Pro Parte 2: ¿Cuál es la resolución de la pantalla? | Noticias iFixit - Apple Vision Pro (Part 5B) – More on Monitor Replacement is Ridiculous. – KGOnTech - Puedes ponerte en contacto con nosotros por correo en: alex@barredo.es - Suscríbete al boletín de información diario en https://newsletter.mixx.io - Escucha el podcast diario de información tecnológica en https://podcast.mixx.io - Nuestro grupo de Telegram: https://t.me/mixxiocomunidad
Episode 57: In this episode of Critical Thinking - Bug Bounty Podcast, Justin and Joel are live from Miami, and recap their experience and share takeaways from the live hacking event. They highlight the importance of paying attention to client-side routing and the growing bug class of client-side path traversal. They also discuss the challenges of knowing when to cut your losses and the value of tracking time and setting goals. Follow us on twitter at: @ctbbpodcastWe're new to this podcasting thing, so feel free to send us any feedback here: info@criticalthinkingpodcast.ioShoutout to YTCracker for the awesome intro music!------ Links ------Follow your hosts Rhynorater & Teknogeek on twitter:https://twitter.com/0xteknogeekhttps://twitter.com/rhynorater------ Ways to Support CTBBPodcast ------Sign up for Caido using the referral code CTBBPODCAST for a 10% discount. Hop on the CTBB Discord at https://ctbb.show/discord!We also do Discord subs at $25, $10, $5 - premium subscribers get access to private masterclasses, exploits, tools, scripts, un-redacted bug reports, etc. Timestamps:(00:00:00) Introduction(00:03:50) Miami LHE Recap and Takeaways(00:05:57) Keeping time and cutting losses.(00:19:07) Roles and Goals(00:23:33) OAuth(00:28:52) HTML5 image to img Tip
Show DescriptionJen Simmons, Apple Evangelist on the Web Developer Experience team for Safari & WebKit, stops by to talk about what Interop is, and a look ahead at new CSS features in Webkit and Safari such as JPEG XL, masks, a round function, JavaScript improvements, styling form controls, content unblocks, masonry, and more! Listen on Website →GuestsJen SimmonsGuest's Main URL • Guest's Twitter Apple Evangelist on the Web Developer Experience team for Safari & @webkit. Member of CSS Working Group. Links Can I use... Support tables for HTML5, CSS3, etc Apple Developer JPEG - JPEG XL WebKit Bugzilla Main Page SponsorsJam.devYou've probably heard of Jam.dev, it's used by more than 60,000 people. It's a free tool that saves developers a ton of frustration. It forces your teammates to make the perfect bug report. They can't do it wrong because it automatically includes a video of the bug, console logs, network requests, everything you need to debug. It automatically lists out the steps to reproduce. It's so easy to get your teammates to use. It's just a Chrome extension. When they see a bug, they click a button and right away it creates a ticket. So it saves time for them.
Today we are talking about Drupal in 2024, What we are looking forward to with Drupal 11, and the Drupal Advent Calendar with James Shields. We'll also cover Drupal 10.2 as our module of the week. For show notes visit: www.talkingDrupal.com/430 Topics Advent calendar Selection process Popularity Next year Drupal features in 2024 Drupal 11 Project browser Recipes / Starter templates Automated updates Gitlab Smaller core Predictions Resources Drupal Advent Calendar A Plan for Drupal 11 Drupal 10.2 announcement Change Records for 10.2.0 https://www.drupal.org/node/3395582 https://www.drupal.org/node/3395575 https://www.drupal.org/node/3369935 Dev Days Guests James Shields - lostcarpark.com lostcarpark Hosts Nic Laflin - nLighteneddevelopment.com nicxvan John Picozzi - epam.com johnpicozzi Martin Anderson-Clutz - mandclu Ron Northcutt - community.appsmith.com rlnorthcutt MOTW Correspondent Martin Anderson-Clutz - mandclu Drupal 10.2 Improvements include Technology Updates PHP 8.3 Includes capabilities that previously required contrib projects File name sanitization A search filter on the permissions page End Users Performance enhancements and improved caching APIs Support for PHP Fibers to accelerate handling things like asynchronous remote calls Content Creators Revision UI for media Wider editing area in Claro on large screens The return of “Show blocks” in CKEditor 5, missing until now Site Builders Field creation UI has a new, more visual interface, and an updated workflow Block visibility can now be based on the HTTP response status, for example to make it visible or invisible on 404 or 403 responses Tour module is no longer enabled by default for the Standard and Umami profiles New “negated regular expression” operator for views filters (string/integer), to exclude results matching a provided pattern Site Owners Announcements Feed is now stable and included in the Standard profile The functionality in the experimental Help Topics module has been merged into the main Help module, so the Help Topics module is now deprecated New permission: Use help pages Developers A fairly sizable change is a move to use native PHP attributes instead of doctrine annotations to declare metadata for plugin classes. Work is already underway to get core code converted, and an issue has been opened to have rector do this conversion for contrib projects A new DeprecationHelper::backwardsCompatibleCall() method to help write Drupal extensions that support multiple versions of core A PerformanceTestBase is now in core, to support automated testing of performance metrics A new #config_target property in ConfigFormBase to simplify creating configuration forms Symfony mailer is now a composer dependency of core New decimal primitive data type Expanded configuration validation, Symfony autowiring support, HTML5 output from the HTML utility class is now default, and more In addition to these and the features highlighted in the official announcement, there are three pages of change records for the 10.2.0 release, and we'll include a link to those in the show notes
In this episode of Syntax, Wes and Scott talk about the process they are using for extending the Syntax website with themes, including a dark mode and secret custom themes. They also talk about issues encountered with theming and CSS, including flashes of un-themed content. Show Notes 00:00 Syntax + Sentry Announcement! 01:35 Welcome 02:23 Syntax Brought to you by Sentry 03:16 How to implement a theme 10:27 Writing the CSS 11:38 Glasses wearers protip 13:02 Class on the body and server side rendering issue 14:02 CSS Variables 15:05 Color variables in CSS 21:07 Working in half pixel sizes 22:40 Variable usage 25:23 Naming variables after what they style 30:42 Component level variables 33:27 Using zones 38:41 Themes should be defined as light or dark 39:20 Issues: Moving from light to dark 42:29 Issues: Drop shadow in dark mode 44:00 Issues: Flash of unthemed content 44:40 Issues: Opacity values 49:45 Issues: SVG need change color 55:56 Help is on the way! 59:57 SIIIIICK ××× PIIIICKS ××× website/src/styles/themes/level-up.css at v2 The 2023 State of CSS Survey Part 2 × CSS Frameworks × Tooling × Browser Usage “color-contrast” | Can I use… Support tables for HTML5, CSS3, etc The Future of CSS: Easy Light-Dark Mode Color Switching with light-dark() – Bram.us ××× SIIIIICK ××× PIIIICKS ××× Scott: Kala (@engineer.everything) Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials Hit us up on Socials! Syntax: X Instagram Tiktok LinkedIn Threads Wes: X Instagram Tiktok LinkedIn Threads Scott: X Instagram Tiktok LinkedIn Threads
In this episode of Syntax, Wes and Scott go over some of the results the State of CSS survey for 2023, including drop-shadow, subgrid, logical properties, media range, and more! Show Notes 00:25:21 Welcome 01:31:22 Soccer update 03:52:05 Syntax Brought to you by Sentry 04:03:18 StateOfCSS.com State of CSS 2023 04:21:11 Top 5 Most Used Features 09:13:09 Drop-shadow 13:00:11 Subgrid 18:31:21 Logical properties 20:11:20 Media range 20:52:11 Object view box 23:10:14 Anchor positioning 28:21:09 Intrinsic sizing keywords 29:32:00 View Transitions API Can I use… Support tables for HTML5, CSS3, etc Astro Supper Club × Astro 2.0 with Fred Schott — Syntax Podcast 580 31:43:18 Updates to colors in CSS 35:07:05 Accent color, current color 36:36:11 Scroll snap and overscroll behaviour 39:04:22 Touch action 40:16:01 Line clamp or variable font Variable Fonts 45:28:11 Accessibility features 48:33:12 :Has has jumped 49:32:11 @Property 53:52:13 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Kodiak Cakes Strawberries & Cream Oatmeal Packets (Pack of 6) Wes: Food Storage Containers, Baby Food Storage Containers with Lid, Baby Food and Toddler Snack Containers Shameless Plugs Scott: Syntax Podcast (@syntaxfm) | TikTok Wes: Web Unleashed 2023 - FITC Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this Hasty Treat, Scott and Wes talk about toast messages for validation, errors, confirmations, and more. Show Notes 00:24 Welcome 01:04 Why use these types of notifications 03:34 Old school checking stories 05:35 What kinds of toast messages are there? 10:02 Why toast? 11:38 Best practices for toast messages 17:09 Timeouts and manual close auto close 19:38 Multiple messages stacking on top of each other 22:56 Using a toast library Building a toast component react-hot-toast - The Best React Notifications in Town Real-time notification system for products | MagicBell 28:29 Form validation Form validation with HTML5 and JavaScript 33:36 HTML inputs Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this episode of Syntax, Wes and Scott try to stump each other with questions about JavaScript, HTTP status error codes, memory safety, and a bit of web history thrown in. Show Notes 00:11:07 Welcome Displaced Gamers 00:46:00 In which year was JavaScript introduced? 02:59:16 What status code is returned by server when a resource isn't found? 03:32:00 Which http status code indicates the client must authenticate itself? 04:34:17 What is a pseudo class and give an example? 05:15:11 What JavaScript function allows you to delay the execution of a function? 06:02:06 Who first proposed using separate style sheet language for the web? 08:08:14 Which of the following statements about JavaScript strict are true? 08:50:11 What is event driven programming in Node.js? 10:26:08 In GraphQL, how do you mark a field as deprecated? 10:47:24 How does xHTML differ from HTML? 11:48:21 Which of the following statements is true about objects in JavaScript? 13:20:19 What is a type erase in TypeScript? 14:21:23 In TypeScript which syntax can be used to define a user defined type guard? 16:02:12 What is a closure in JavaScript? 17:40:00 Which node.js module provides asynchronus file I/O? 18:54:08 What does memory safety mean? 21:57:11 What does http2 introduce to improve speed? 23:58:05 What are strategies for optimizing HTML5 video? 26:28:11 Which of the following is not a correct way to create a new object? 28:13:20 What is the difference between function declaration and function expression? 30:49:11 What is the value of this inside an arrow function defined in a non-arrow function? 31:22:11 What is a type guard? 33:03:11 What is the order of execution in JavaScript? 35:11:01 Which version of ecmascript was scrapped? 39:41:00 What is the result of the following comparison in JavaScript? 41:37:21 What were the major criticisms of CSS in it's early days? 46:48:10 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Scott: Projector Wes: USB plug Shameless Plugs Scott: Sentry Wes: Wes Bos Tutorials Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky
In this supper club episode of Syntax, Wes and Scott talk with Adam Argyle about a ton of new CSS features that have arrived or are coming soon, as well as his new site Gradient.style. Show Notes 00:34 Welcome 01:05 Guest introduction Adam on Bluesky Adam on Twitter 01:48 CSS buckets New CSS Relative Units · January 6, 2023 03:16 rex rch ric rlh 08:06 Gradient.style CSS HD Gradients Open Props: sub-atomic styles 13:49 What are style queries vs container queries vs state queries? una.im | Style Queries Getting Started with Style Queries - Chrome Developers CSS Container Style Queries | Can I use… Support tables for HTML5, CSS3, etc 18:09 Trig functions Trigonometric functions in CSS CSS Trigonometric Functions: cos() and sin(): dots on a circle 19:57 Live transitions Understand Disney's 12 principles of animation | Creative Bloq 25:08 View transitions View Transitions Demo View Transitions API - Web APIs | MDN 26:01 Text-wrap balance CSS text-wrap: balance - Chrome Developers 26:45 Text-wrap pretty 27:44 What's the future of the browser landscape? 31:44 nth-child(An+B [of S]) 33:06 Cascade layers 34:40 CSS Nesting 38:03 Animate discrete properties 39:42 Linear function Linear easing generator 41:33 Media query range syntax 42:04 Subgrid everywhere 44:41 Media query range and variables? UI Elements - Basics, Best Practice, and Built Ins — Syntax Podcast 612 45:32 env variables Hasty Treat - CSS Nesting 1 — Syntax Podcast 343 46:59 Animation composition 49:50 Select menu HTML element 52:16 SIIIIICK ××× PIIIICKS ××× ××× SIIIIICK ××× PIIIICKS ××× Shameless Plugs Onewheel // Future Motion Adam Argyle Tweet us your tasty treats Scott's Instagram LevelUpTutorials Instagram Wes' Instagram Wes' Twitter Wes' Facebook Scott's Twitter Make sure to include @SyntaxFM in your tweets Wes Bos on Bluesky Scott on Bluesky Syntax on Bluesky