https://leonidasv.com/til-svg-specs-almost-got-raw-socket-support/ |Skip to main content leonidasv.com * Archive * Categories * Tags * About * 1. / 2. Posts/ 3. That time when SVG almost got network support for raw sockets/ That time when SVG almost got network support for raw sockets 21 March 2023 Today I Learned SVG W3C Apps 2000s If you think C++ or PDF specs are bloated, wait until you find about the old W3C Drafts for SVG... Nowadays, when you talk about SVG, it's mostly assumed that you're talking about static vector graphics images for embedding in the webpages or apps (logos, icons, illustrations). Occasionally, SVGs are animated - and that would be called an "advanced" use of the format. So why would raw network sockets ever got considered for SVG? Well, back in 2001, W3C introduced the first SVG specification. It was mostly about displaying vector graphics that could be made interactive via scripting, pretty much what you think of SVG these days. In 2003, however, they added two new "profiles": SVG Tiny and SVG Basic, aimed at mobile devices. SVG Tiny was a very restricted subset of SVG "Full" and SVG Basic was a middle-ground, aimed at the smartphones of that time (PDAs). SVG Basic also supported some scripting, although not to the full extent of SVG Full. And from here you can see where we are heading into: a W3C spec that supports vectors, animations, rich media and scripting, and that's getting first-class support for mobile devices. What (besides the common sense) prevents us from developing a full application in a .svg file in the future? That's it: networking support. So, in 2004, a new working draft on SVG 1.2 Full was presented and that was the time when SVG got (a draft of) networking support for the "Full" spec (aimed at desktops). But it's 2004, things are not that standardized yet and just HTTP support is not enough. So there was also raw socket support for SVG, so our computers (maybe PDAs too, in the future?) will be able to finally talk to any proprietary protocol or non-HTTP endpoint and, why not, even introduce their own communication protocols, because the world surely needs more of them. But at least it will be secure to use. Right? Riiiight? Well, although the draft warned about security implications of the proposed networking stack for SVGs, it never intended to address those issues, instead saying web browsers should provide the security, without going into much detail. Given that 2004 got known as the "Internet Explorer Year of Shame", after successive remote code executions flaws were discovered in the Microsoft's browser, it's not a surprise that the proposal went nowhere. The SVG 1.2 Full specification draft ended up being retired in 2005 - along with the network proposal - and the SVG 2.0 Full spec that followed didn't touch on raw socket networking ever again. [DEL:I'm still pissed I can't use Inkscape as my IDE.:DEL] --------------------------------------------------------------------- Notice: this was my first time searching through historical W3C documents. If I missed something or just got something wrong, feel free to write me, and I'll happily update this article. --------------------------------------------------------------------- More like this [thumbnail_] When Google paid websites to promote Firefox 29 March 2023 Today I Learned Browsers 2000s Having grown up in the 2000s, I love when I discover that something I presumed was banal back then was, in fact, part of some untold history. ZX Spectrum's CPU couldn't do multiplication 26 February 2023 Today I Learned Processors 80s Math A look into clever multiplication tricks from the 80s. Some ARM processors to this day can't do division 26 February 2023 Today I Learned Processors ARM Math Some ARM Cortex processors, more specifically the Cortex M0, M0+ and M1 don't have divide instructions. --------------------------------------------------------------------- Leonidas Villeneuve Author Leonidas Villeneuve Software Engineer, Flight Simulation enthusiast, [infrequent] open-source contributor. --------------------------------------------------------------------- - - ZX Spectrum's CPU couldn't do multiplication 26 February 2023 When Google paid websites to promote Firefox 29 March 2023 - - | (c) 2023 Leonidas Villeneuve Powered by Hugo & Congo [ ]