When SVG almost got network support for raw sockets

297 points
1/20/1970
a year ago
by sgerenser

Comments


hadlock

You have to remember the background for this era. Shockwave (not yet even Adobe), Shockwave Flash was the overwhelming interactive media on the internet. Kids in middle school and high school watched episodes of .flv videos of South park, we played "stick figure skiing" or "stick figure fighting" games, there were stick figure sledding games, all sorts of "multimedia" apps existed inside the "flash" container/spec. Some of them (multiplayer) also had network support of some sort, if only for supporting ads. A big part of flash was that it was not bitmap, it was... scalable vectors, which allowed it to shrink traditionally "large" (500kb+, easily 10 minutes on dialup) spritemap heavy games, down into 45-100kb (less than 7 minute download) packages that could be played on nearly any desktop

SVG had the same base layer functionality but network support would have been a big step towards making an open standard version of Flash. The iPhone was famously one of the last devices to drop support for Flash (due to both wild and regular security holes), and when they did, Flash (the predominant consumer web technology of the early-mid 2000s) finally died. It was a big deal. Had SVG gotten flash-like capability, it could have been a real game changer (although with giant security holes). Security back then was "somebody elses' problem" so while raw sockets seems wholly irresponsible by modern standards, back then it was the norm, partly because less than 10 million people worldwide really had any kind of risk exposure, plus the fact that the internet was still mostly decentralized, AOL was still considered a major force back then. Facebook and others with billions of users didn't exist yet.

a year ago

Gigachad

Good summary, only thing I'd add is that the iPhone didn't drop support for flash, they never had it to begin with and made it clear they never would. Android vendors at the time used to use flash support as selling point until they too dropped it.

Being the first to call the death on something seems to be an ongoing trend with Apple.

a year ago

nntwozz

Flashback to Steve Jobs' famous "Thoughts on Flash" https://newslang.ch/wp-content/uploads/2022/06/Thoughts-on-F...

It was not well received at the time. Oh how things have changed.

a year ago

lmm

Have they? I would say the subsequent ~10 years of the web have vindicated Flash. HTML5 video hasn't made websites lighter or less annoying - quite the opposite (indeed video ads are a worse problem than Flash ads ever were). Meanwhile creativity and innovation on the web have taken a hit. 10+ years on there's still nothing that allows a lone auteur to produce a web experience as easily and effectively as you could with Flash (it seems to be possible to match Flash, a la the NYT's Snow Fall or the previous Madogatari intro, but not at a level that's accessible to an individual creator), and we're all worse off for it.

a year ago

vlovich123

As someone that helped a little bit in bringing Flash to WebOS, it was a battery stuck because there was no HW acceleration. Additionally, the software was very very bad. Used a crapton of memory, was really slow, and horribly insecure. Adobe was caught really off guard by mobile and never prioritized flash. If little else, the modern web is infinitely more secure than the flash player and Adobe would never have prioritized it. We also have ~3 major open source browser engines that independently implement the web compared with one closed source vendor. So structurally things are also infinitely healthier. That the web is a cesspool in turns of content is an orthogonal problem that would have always been the case (but also a flash laden website are up way more RAM and CPU than the equivalent html)

a year ago

lmm

> it was a battery stuck because there was no HW acceleration. Additionally, the software was very very bad. Used a crapton of memory, was really slow, and horribly insecure.

Surely lack of hardware acceleration and poor implementation are incidental, not fundamental issues. Just as browsers eventually got their own PDF implementations because Adobe's sucked, I expect the same would have happened for Flash eventually.

> We also have ~3 major open source browser engines that independently implement the web compared with one closed source vendor.

We have WebKit and Gecko, and the latter barely exists on mobile. I'm not convinced we're a lot better off in practice.

a year ago

geocar

> Surely lack of hardware acceleration and poor implementation are incidental, not fundamental issues.

Of course not. These are just some of the many many needles of crap that broke Flash.

> I expect the same would have happened for Flash eventually.

Perhaps you underestimate just how complicated "Flash" is: It's 2023 and despite everything you can do in a modern Web browser with HTML5, SVG, JavaScript, Video and so on, we still don't have a second full reimplementation of Flash. No emulator or converter that preserves all of the authors intentions, not even with a server-side-helper to cover the differences in networking policies between the web and Flash. I still think it would take serious cash/time to do this.

And for a large company to do it would risk being sued by Adobe. They promised. I think if Adobe couldn't fix the crap-needles for whatever reason, nobody else could either. Adobe made sure of that. And nobody wants to pay the Adobe tax when Flash hurts users so bad.

PDF on the other hand, is easy enough to implement on screens in a month or less, spec-in-hand. Users who use Adobe's PDF reader deserve what they get.

> We have WebKit and Gecko, and the latter barely exists on mobile. I'm not convinced we're a lot better off in practice.

I do feel a little better off. I remember a time when every flash bug was an opportunity to airdrop malware, just buy an ad and get on every desktop PC in the world for chump change. I had to browse the Web in a VM, back when VM's on workstation PC's were still painfully slow, because I needed the ability to rewind state so often. I really don't miss that.

A small number of players working (largely) openly (i.e. we have webkit and gecko's source code!) allowed features to the Web be deployed relatively quickly, and problems fixed fast and usually with the smallest-possible harm. And I think people are sufficiently suspicious of closed-source infrastructure that people (mainly purchasing VPs at big enterprises) will be able to resist any attempts to change that.

a year ago

carefish

Lovely points you bring to the table, agreed on all fronts. Just wanted to add that there is definitely a decent attempt at creating that implementation though: https://ruffle.rs/

a year ago

geocar

I'll watch out for ruffle (60% of AVM2 sounds promising!). Thanks for that.

a year ago

Lex-2008

Thanks for a nice writeup! Regarding "for a large company to do it would risk being sued by Adobe" - what do you know about "Pepper flash plugin", which was shipped with Chrome at some time? Back then I had an impression that it was an alternative implementation of flash player, but developed by Google.

a year ago

geocar

I think Pepper was just the name of Google's extension API, and so Pepper Flash was just a (re)packaging of the flashplayer artefacts from Adobe. My memory of this was that it was pitched (to users) as a "safer" flash, since it could take advantage of Google's isolation/sandboxing features, but I don't have any special knowledge here: I just made a shittonne of flash stuff back in the day.

a year ago

gpvos

How far have Blink and Webkit diverged? Do they still take patches from each other?

a year ago

hnlmorg

We also have iOS, Android, ChromeBooks, Tizen, macOS, GNU/Linux, games consoles, TVs, tablets, home assistants like Echo Show, and a dozen other platforms I’ve not thought of.

Whereas back in the flash days there was basically just x86 desktop Windows and the few other web enabled devices were niche and didn’t properly support Flash.

The Dreamcast had a browser (based on IE) but suffered from an ancient version of flash. PDAs were uncommon, also had a browser based on IE, and also suffered from a crippled version of Flash. Smartphones were a few years off and when they did arrive also had a crippled version of Flash (or no support at all).

Flash was a format for a different era. An era when Microsoft had suffocated the tech industry. The fact that we can now view basically any website on any hardware is a massive step forward.

I agree that the modern era of the web has its problems too (I’m looking at you Google, Facebook, etc) but having been a developer and early adopter of the web, I’d still take modern web technologies over Flash any day of the week.

a year ago

lmm

> Whereas back in the flash days there was basically just x86 desktop Windows and the few other web enabled devices were niche and didn’t properly support Flash.

It wasn't quite that bad. I was running FreeBSD at the time and Flash was fine there. In fact I remember for a few years it was easier to have working Flash than working "web video".

a year ago

hnlmorg

I ran FreeBSD too but FreeBSD didn’t have the official Flash plug-in. In fact for a long time Flash didn’t support anything aside IE. Not even Firefox nor Opera (remember that?). And even when Flash did eventually get ported to more platforms, half the time it still required a bunch of jacks to get working (like Firefox using Chome’s Flash plugin)

And as good as the 3rd party hacks were, they didn’t work all of the time. I remember a few sites I needed for work which required me jumping onto a Windows VM just to use.

There also wasn’t really such thing as “web video”. Flash was the closest we had. There were some other clients supported like Real Player but it was the same problem about having to install their software too.

a year ago

lmm

> And even when Flash did eventually get ported to more platforms, half the time it still required a bunch of jacks to get working (like Firefox using Chome’s Flash plugin)

I had to put some kind of wrapper in, and I think it was actually using the Linux version of the plugin, but it all worked pretty reliably once it was there.

> There also wasn’t really such thing as “web video”. Flash was the closest we had. There were some other clients supported like Real Player but it was the same problem about having to install their software too.

I'm talking about slightly later, when people were pushing "web video" as a replacement for Flash for e.g. YouTube. Flash was more reliable and better supported on FreeBSD for some time, is my recollection. Although honestly straight-up <embed> also worked fine and I never felt that the move away from that was really justified.

a year ago

hnlmorg

I seem to recall the Linux plugin used to ramp up the CPU load. Which wasn’t so much of an issue on desktops but was extremely annoying on laptops where battery life was dependent on heavy CPU throttling and most laptop fans spinning up sounded like jet engines.

As for the early days of web video, I think half the problem was that nobody could agree on what video format to support. Some wanted patented formats while others (namely Firefox) wanted open source formats.

I’m not sure what the end outcome was of all that but it does feel a resolution has at least now been found.

a year ago

eyelidlessness

Blink (Chrome/Chromium-derived browsers) is a fork of WebKit but has diverged for many years. To treat them as the same, you should call them KHTML as that’s their common lineage. But that would be obviously absurd.

WebKit and Blink are not the same browser engine.

a year ago

dontlaugh

Sure, although Blink and WebKit are still much closer than WebKit and KHTML.

a year ago

egberts1

We have four major technologies within web browsers.

JavaScript is one.

That too in turn also covers six types of JavaScript engine.

* Mozilla * Microsoft * WebKit * Adobe * Opera

https://egbert.net/blog/articles/javascript-jit-engines-time...

a year ago

conradev

It did happen eventually: https://github.com/ruffle-rs/ruffle

a year ago

cyberax

Apparently, the x86 version of Flash was extremely well-optimized and as a result very spaghettified. So even porting to 64 bits took Adobe years of effort.

Additionally, the SWF format itself was way ahead of SVG. It still is to some extent: https://open-flash.github.io/mirrors/swf-spec-19.pdf - look at the part that describes shapes, and compare it to SVG.

One thing that helped was ability to have shapes with fill on each side of the edge, allowing smoothly joined scenes that can be animated at real-time. All without the use of high-precision math, Flash used integers only with some fixed-point data!

a year ago

nly

Ah, yes. I remember the days of using b nspluginwrapper to load the 32 bit flash plugin in a 64 bit browser on Linux...

a year ago

tinus_hn

There was also bug for bug compatibility with every old version ever released. Hard to support and impossible to port.

a year ago

scrame

> it was a battery stuck because there was no HW acceleration. Additionally, the software was very very bad. Used a crapton of memory, was really slow, and horribly insecure.

You're describing javascript in that era.

a year ago

grishka

That's the problem with the particular proprietary implementation of flash player. There's nothing inherently bad about the swf format itself.

a year ago

acdha

That’s like saying there’s nothing wrong with Word because you could just build your own version. Adobe controlled the format and since they didn’t care about quality, performance, security, or tool quality that doomed it.

The other big thing which hit Flash was mobile. Rearchitecting it to support the equivalent of the web’s responsiveness was a huge problem which got lost in the “Steve Jobs killed Flash” narrative. Battery life wasn’t the only thing which made it unpopular on mobile – that could have been improved even though some aspects of the platform made that hard – but also the fact that Flash was based around mice and fixed-size displays. Very little of the existing content worked well (often at all) on the mobile devices which did have Flash.

a year ago

butlerm

Vector graphics designed for a desktop display or a printed page generally do not work well on small displays unless scaling to fit or scrolling is acceptable. I can hardly imagine what one would do to make something like SVG reflow in a sensible way. Line of business (web) applications often have the same problem, i.e. there is often a display size below which they simply are not usable, and that should be no surprise to anyone.

a year ago

numpad0

Weren’t there tons of devices that use Flash Lite for UI up to that era, in mp3 players and flip phone markets?

a year ago

giantrobot

Flash Lite was not really "Flash". It didn't support older ActionScript, it had extremely limited codec support (relying on a device's hardware support), and was missing a lot of the network features the desktop plugin had. Generally it wouldn't be able to load arbitrary SWFs off the web. Even to run a SWF the developer needed to write to the Flash Lite profile, like targeting a MIDP profile in J2ME.

Flash Lite was usually used on the devices you mention as the "app" environment instead of J2ME, BREW, or whatever.

a year ago

Evidlo

> it was a battery stuck

Is this an idiom? What does it mean?

a year ago

jjtheblunt

I think it's a typo, the person meant "battery suck" as in drains the battery.

a year ago

rektide

This keeps coming up, but it keeps seeming hogwash & backwards.

There are dozens & dozens of really really good html/svg animation products that give Flash like capabilities. But there's vastly less interest in this stuff today. Fun/simple/quirky Flash-like stuff isn't nearly as unique or novel, now that we have much more upscale products & experiences. It was a magical time & Flash helped, but we've changed & these rose-colored glasses views on Flash never point out all the myriad of ways it was awful, choppy, poorly integrated, quirky to work with, & otherwise difficult.

If you want higher there are hundreds of web-dev targeting game dev systems which can be put to use. Many of these actually do have popularity. In spite of their being good Flash-ish animation toolkits, it doesn't feel like there's a ton of demand or clear winners. It's hard to imagine what we'd want it for today.

a year ago

EamonnMR

The loss of the mouse and keyboard as primary input devices is an underrated part of why everything feels worse now compared to the flash era. Web is a very different target now than it was. Also, the flash game ecosystem was intertwined with the animation ecosystem and the advent of streaming full motion video devalued animation skills.

Anyway nowdays we have Godot and Unity which are both very nice. But there were definitely lost years where amateur gamedev was less accessable.

a year ago

grishka

> The loss of the mouse and keyboard as primary input devices is an underrated part of why everything feels worse now compared to the flash era.

It's okay to say "please visit this from your computer" when someone opens something that requires a keyboard from a phone.

> Anyway nowdays we have Godot and Unity which are both very nice. But there were definitely lost years where amateur gamedev was less accessable.

The barrier to entry is considerably higher with these things. They require programming from the beginning. The coolest part about Flash was that you could get started without writing a single line of code. Then you could build up your understanding of the thing iteratively. You could build a simple quest-type game with just one line of code that you copy-pasted from somewhere, `goToAndStop(frameNumber)`. And then you go from there — variables, flow control, all that. Flash got a sizable number of people interested in programming. This ease of use is extremely important and it's still unmatched by any purported modern replacements.

a year ago

yathaid

>> It's okay to say "please visit this from your computer" when someone opens something that requires a keyboard from a phone.

Unless you have a captive audience, like forced to use enterprise users, this is not a winning strategy for any internet based product.

Also, the assumption that everyone will have devices in two form factors is, and I am being charitable here, naive.

a year ago

lmm

I think the demand is there, but you underestimate how much difference the tiny inconveniences make. Like, maybe there's stuff out there that can do the same thing, but the people who are just starting out don't know where it is (hell, I'm an experienced programmer and I don't know where it is) or what to pick up. A lot of those great Flash works were made by literal schoolkids, or more often by young adults who'd got their start as schoolkids and gradually refined their craft, because you could just pick up Flash and start doing things, and kids did. From what I hear maybe Roblox is filling the same niche now, but that's only happened in the last few years, and for all that Flash was notionally proprietary and poorly-integrated with the open web, having it right there in your browser was still a win.

a year ago

thrashh

I wouldn’t touch any of those game systems with 10-ft pole. Their user bases are too small to be worth using. They also don’t at all compare to the Flash IDE.

Flash was great because it was popular and supported with the weight of a big company that loved its own child. Their love translated to great tooling.

Whereas the web is “community-owned” and community/committee-designed things rarely get super cool and fleshed out things like well-integrated for-everyone tooling. Instead, you mostly get self-serving projects that serve the creator’s own need primarily. Usually half-baked. And it’s not interoperable with anything else.

a year ago

JoeyJoJoJr

I was a Flash developer and have searched everywhere for a comparable tool. None exists. Recently I have worked on interfaces for touch screen kiosks, and digital signage. Flash was excellent for these kinds of projects and 10 years later nothing compares.

a year ago

stuaxo

The authoring tool was a big part of why so much flash stuff got made.

a year ago

illiarian

> There are dozens & dozens of really really good html/svg animation products that give Flash like capabilities.

And those are?

> now that we have much more upscale products & experiences.

And those are?!!

a year ago

kitsunesoba

Flash games and animations were cool, but it seemed like for every cool thing made with flash there was also a terrible SWF-as-a-website that didn't play nice with browser window resizing and was more frustrating to use than even the worst modern JS-mudball monstrosities. At least content blocker extensions and reader mode can somewhat salvage bad sites… with flash pages you got the whole thing or nothing.

a year ago

philsnow

Oddly enough your comment made me think of electron apps vs native apps, because they are usually impenetrable to accessibility APIs so they appear as completely opaque apps with no a11y affordances.

a year ago

kitsunesoba

To me that highlights how important it is for UI frameworks of all types to have accessibility affordances not only built in, but as one of the pillars of their designs. That makes it so even apps developed without any regard to accessibility are reasonably accessible by default.

This doesn't gel well with the bring-your-own-everything nature of the web, unfortunately. Even if you look just at React there's 50 ways to build the same thing, which I'm sure makes rolling in accessibility that "just works" across all React apps without additional effort from the developer extremely difficult. It's much more practical with UI frameworks that are strongly opinionated with only a single well-supported "happy path" for most things.

a year ago

Earw0rm

Seems like a solvable problem in the medium term - Electron apps are, in effect, a web page; build an accessible page, the Electron runtime _should_ be able to join the dots same as a full browser does.

a year ago

giantrobot

It seems like a lot of frameworks used with Electron are the "reinvent every HTML tag as a component with divs" variety. So unless a developer hangs a bunch of event handlers off some widget they don't have default handlers for a lot of accessibility. If they used a real tag they'd get a bunch of free accessibility/functionality but instead they use components.

a year ago

paultopia

This brings back memories. 20 years ago, I was managing a band in New Orleans (by an amazing coincidence I'm in New Orleans for a 2 day trip now), and I decided to make them a website. It being 2003, I did the website in flash, and with my zero coding skills at the time ... it still came out pretty awesome. Wish that still existed.

a year ago

Pulcinella

I don’t get the love for Flash on Hacker News. It’s very odd to me to see people say they prefer Adobe’s proprietary format and software to the open web.

a year ago

lmm

I'm all for open source but I don't let that blind me to product quality. Same thing with Discord - yes, I'd definitely prefer an open system, but if this specific proprietary thing has a better UX then we should be honest about that.

a year ago

wink

Technically it's not the fault of the videos that web standards now allow easy embedding, it's still the people abusing it to show you video ads. Just saying it's worse than Flash... it's like saying browsers should not show non-animated images because you can have ad banners.

a year ago

lmm

Sure, but that was an argument used by anti-flash people at the time. (And if anything it was a lot easier to block flash on some pages than block web video on some pages - indeed I remember some browsers started to be click-to-start-flash by default).

a year ago

Groxx

It was divisive, but I wouldn't say "not well received". The "Flash deserves death" camp was very large and very, very happy that someone with power was finally calling them out on their horrific security record.

Losing the high-quality authoring environment, without anyone producing something competitive, was a pretty big blow. But for the rest, I'm quite glad to see invasive browser plugins disappear.

a year ago

gumby

Well it wasn't received well by Adobe, who had by then bought Macromedia, nor by people who had tied their wagon to Flash. But Flash was pretty horrible even on most laptops and even many desktops of the day, and was a security nightmare.

The complainers were loud, but I think the majority of people who cared (99% of humanity didn't even notice, of course) were muttering "amen brother!"

a year ago

exsf0859

Besides animation and games, Flash was also used for streaming video and video conferencing.

iPhone customers were so desirable that, over time, the video streaming sites had to support Apple's video streaming format. They would have also supported Apple's video conferencing app, but I think Apple was unable to open-source the protocols for the video conferencing format, due to patent issues.

a year ago

duskwuff

> had to support Apple's video streaming format

It's a little weird to call an open standard (like H264) "Apple's format".

a year ago

lultimouomo

H264 is not a streaming format. HLS is, and it is pretty much "Apple's format". It's pretty backwards, and everyone was forced to support it because it was the one streaming format you could use in iStuff.

a year ago

geocar

> It's pretty backwards

I think it's pretty clever.

There are a lot of usability issues with firewalls and proxies that make implementing other streaming protocols very difficult, and the HLS design basically causes the implementer to adopt a pattern that is resilient to those problems.

Networks got a lot better after Covid had everyone work from home so IT had to sort the hot-path out for videoconferencing. Nowadays I think WebRTC would be fine, but in 2009 I think HLS was pretty smart.

a year ago

lultimouomo

I am comparing HLS with other HTTP-based streaming formats - DASH and SmoothStreaming. They definitely have their issues (DASH in particular is the epitome of the second system syndrome) but they fix the two most glaring issues with HLS: separate manifests and non-aligned segments.

Source: I write an HTTP streaming client library for a living.

a year ago

geocar

How can HLS be a move backwards if it came out before DASH and SS?

Why do you think users care about “separate manifests and non-aligned segments” more than the video playing and not stalling and having to refresh?

a year ago

lultimouomo

SS came out in 2008, HLS in 2009.

Separate manifests and non aligned segments have a real impact on the ability of the client to switch qualities in responsabilità to bandwith change, and this to avoid stalling.

BTW, when I say "HLS is pretty backwards" I mean designed unergonomically and without clear requirements in mind, not a step back from what existed before. I would guess this is because the original specification was something like "whatever Major League Baseball can easily stream from their existing setup" (see the various Pantos drafts that ultimately became RFC8216)

a year ago

geocar

> SS came out in 2008, HLS in 2009.

Oh you're quite right! I was definitely mis-remembering silverlight.

> Separate manifests and non aligned segments have a real impact on the ability of the client to switch qualities in responsabilità to bandwith change, and this to avoid stalling.

I don't know if that's actually true. I sell ads, so I'm collecting delivery data on billions of devices, but only over the crappy internet that has a lot of ads on it, and at least for short videos, and the long videos after the places those short videos are, HLS stalls less than Dash and silverlight: HLS publishers make more money.

I would be interested in learning more.

> I mean designed unergonomically and without clear requirements in mind

I can easily agree with that. I misinterpreted what you meant by "backwards" as referring to the progress of the experience.

a year ago

giantrobot

Back when streaming meant RTP/RTSP the MPEG-4 file format, and the way bitstreams were packaged, definitely supported streaming. Not only does the format have a sample mapping table but it supports streaming hint tracks to give a server packetizing hints.

Scaling RTSP was difficult because it required two way signaling with the server and for the server to maintain client state. Using HTTP instead allowed for stateless servers in a CDN to easily scale and pushed stream negotiation onto the client. Besides simplifying the server side of streaming it made it much easier for clients switching from cellular to WiFi to maintain a stream, RTSP (and protocols like it) can't really handle clients switching addresses mid-stream.

a year ago

mikeryan

HLS was a significant improvement over other options for live (rtmp) and adaptive bitrate solutions.

I mean it could be delivered via HTTP and was was built off of open standards for the manifest files. (HLS just breaks down mp4 files into smaller chunks and lists them in a text manifest file based on the mp3 playlist spec) *

It significantly moved the needle forward on how video was delivered and did so in a standards based way until DASH came along.

Not sure why the hate here for their “proprietary standard” it wasn't proprietary - just no one was using it and it eventually became a defacto standard because it “just works”.

* I know I’m simplifying this.

a year ago

duskwuff

In particular, HLS allows existing HTTP load balancers and content distribution networks to be reused for video streaming -- you don't need to build or buy application-specific infrastructure to use it, as you would have with previous streaming protocols.

a year ago

Evidlo

H264 isn't open though, depending on your definition of open

a year ago

duskwuff

Fine, pretend I said "industry standard" then. Either way it wasn't something Apple made.

a year ago

wlesieutre

Maybe not well received from Windows users?

It had some fun games but on the Mac side it was always an unstable dumpster fire. Having the iPhone browser start to push people away from making entire Flash-based websites so they could play music and crash my browser was a godsend.

a year ago

dutzi

There was also the Adobe Loves Apple campaign

https://www.fastcompany.com/1646594/adobe-launches-hearts-an...

a year ago

twelvedogs

It was incredibly well received by web devs

a year ago

kristopolous

They're often the ones holding the gun.

Example: if they didn't remove the 3.5mm headphone jack, almost nobody else would have.

a year ago

gopalv

> They're often the ones holding the gun.

Apple customers historically are often the most accepting of new things, even if that means change that involves spending more money, because Apple will cover the other end of change well (& expand a little that way).

The 3.5mm jack loss is tolerated because of airpods.

I'm old enough to remember the furor caused by Apple taking the 3.5 floppy drive when every publisher used Apple hardware for QuarkExpress & everything Adobe, replaced with this new-fangled usb thing.

The crucial thing over there was that Apple didn't bring in their own USB drive thing, but instead let IOMega try to deliver it & it went poorly for Apple customers who had big data swaps between them & others (DTP shops, magazine layouts, Photoshop artwork etc).

a year ago

toastal

Bluetooth earbuds are just not a substitute for wired heaphones. They could have supported both without compromising either but instead they started a trend of “we too have expensive-for-the-sound-quality branded earbuds” trend who’s two-year lifespan with little-to-no repairability will just be e-waste in the landfill. Thanks Apple.

a year ago

avianlyric

> They could have supported both without compromising either

I find this a little hard to believe. If there really are no compromises to continuing to support the 3.5mm jack, then I would expect other phone manufacturers to continue support on their flagship devices, and hammer Apple for removing it.

I think in reality, mobile devices are so small, that having a single purpose port just doesn’t make sense. The 3.5mm port is larger in volume than a USB-C port, and USB-C is quite capable of carrying analog audio. I don’t see why any manufacturer would continue paying the cost of a 3.5mm port, when it’s so trivially rolled into other existing ports on the device.

I also suspect that the current domination of wireless headphone would have occurred even if the 3.5mm jack had stayed. After all it’s trivially easy to adapt a pair of wired headphones for a USB-C port or lightning port, and yet people still choose wireless headphones.

a year ago

toastal

3.5mm audio jack is ubiquitous and universal--just like USB--and is audio is a very common, if not the most common, peripheral. Manufactures use port loss opportunity to try to push to you buy wireless new earbuds or a new wireless charging setup (that doesn't compete on wired charging speed or ubiquity). Consumers are probably choosing wireless earbuds though because the dongle adds weight and inconvenience to what would otherwise be a standard audio port popular for decades--and many low-to-mid-end and feature phones still have the port because the target demographics aren't ones that are going to just go out and buy all new gear just to support the lifestyle a phone is pushing on them; consumers certainly aren't choosing wireless for their price, sound quality, or build quality, or repairability in comparison to wired options.

I could get on board with the idea iff, phone manufactures had dual USB-C jacks (ideally one at the bottom and one at the side and this could make it easier to consume landscape content like movies/games). Right now you have to choose between audio or power delivery with one port (or have a massive dongle that's half the size of the phone).

a year ago

enragedcacti

I don't disagree with your arguments but its hard not to point out the obvious conflict of interest with companies dropping the headphone jack while selling their own wireless headphones as the solution, both to the lack of headphone jack and to the fear of technical issues that BT headphones had at the time. I don't think we can really use the removal as evidence on its own when Apple, Samsung, Google, Xiaomi, Oppo, etc. all got a jump on a multi-billion dollar market because of their position as a device OEM.

The only real exceptions are Asus and Sony who are both targeting niche buyers with most of their phone offerings.

a year ago

toastal

And if I can't find a feature phone soon that actually meets my needs, I'll be looking at picking up a last gen Asus or Sony phone when a new one drops to replace my aging/security-updates-no-longer-coming device. KaiOS 3.x phones are only in the US and aren't developer-friendly models. I'd love to see Linux phones take off, but having toyed around with Ubuntu Touch and postmarketOS, it's not really daily-drivable stuff that you could rely on. Luckily it seems OmniROM are consistently pumping out microG-supported options for Zenfones--whereas Sony the custom ROM scene appears weak likely due to the cost of the devices.

a year ago

toastal

Hilariously, this includes the everyone's favorite Fairphone 4 which did away with the 3.5mm jack marketed with sustainability despite the waste these earbuds produce compared to a good pair of wired IEMs with detachable cable that can last a decade. Likely users had a pair of fine headphones and felt compelled to consume and buy a new pair of earbuds just to overcome the hassle of losing dongles or having to choose between charging or audio.

a year ago

BeFlatXIII

If nothing else, they should return the headphone jack on their plus-size phones (& iPads, if they've also dropped it). I can buy needing the room for the battery on the normal-size and mini phones, but not the plus models.

a year ago

laurencerowe

1.44 MB 3.5" floppy drives were becoming problematically small in the early 1990s, long before apple dropped the floppy drive from the iMac in 1998.

Iomega's Zip and Jaz drives came out in the 1994 and 1995 and were pretty popular for a while until CD-R and CD-RW drives became cheap and reliable enough in the late 1990s.

Perhaps the DTP shops were complaining about the iMac dropping the SCSI port which all Macs had had up to that point for USB, obsoleting their existing external SCSI peripherals - scanners as well as various external drives.

a year ago

KerrAvon

You have to remember that this was pre-iPod — Apple did not have infinite money at that time; it had been not quite two years since it was nearly bankrupt. They really had to be careful with resources. Having third parties provide all of the interesting external peripherals might have been a simple necessity.

a year ago

kristopolous

Nah, Steve was smarter than that. First, removing the floppy bought Apple millions of dollars worth of publicity - it seemed scandalous and people still remember it 25 years later just like he somehow got away with using public domain images of Ghandi and Martin Luther King to hawk consumer electronics. It was as if Albert Einstein personally thought you should really buy an iPod.

Second, as with all of Apple products, aesthetics concerns were more important than functionality. If you've ever dealt with that original iMac, it's a tight fit. The design ratios would be off with a floppy so it had to go.

Now I wish it didn't also have a bios battery that would freaking explode at about the 10 year mark, splattering battery acid everywhere and destroying the hardware but that's part of the long tradition of Apple's occasional exploding devices.

a year ago

geraldhh

btw, what was the rationale behind that?

i mean, there's clearly enough space for it, so was it really just to make way for the (very profitable) earbud trend?

a year ago

illiarian

Apple bet on the wireless future across the board, and has been betting on it for a while. The results are a mixed bag to say the least.

As for headphones/earphones, IIRC there was a marked trend in adoption of bluetooth headphones, so Apple bet on that. Funnily enough, the competitors that derided Apple for removing the jack, and building some of their marketing campaigns around that, would remove the jack a year later.

a year ago

dontlaugh

There is no longer enough space for it on recent iPhones, it has been used for other things.

Personally I think you could still make a small phone with a jack, but ultimately it doesn't matter much either way. Adapters work fine and bluetooth works even better.

a year ago

derbOac

FWIW, I disagree. The best Bluetooth earbuds don't compare to 3.5mm in sound quality, and wireless just adds another charging dilemma, which is usually fine but can become an issue in certain situations. The adapters are fine in theory but often are clunky or incompatible across platforms. USBC would probably be fine but almost no one uses them and when they increasingly double as charging ports, you have the charging problem again.

3.5mm is a standard that just works and works everywhere. I hate the pressure to get rid of it. It seemed nothing but self serving on the part of phone manufacturers to do so and driven partly by DRM concerns and a desire to either sell accessories (airpods) or ride a minimalism trend to shave design and manufacturing costs.

a year ago

kristopolous

bluetooth has latency and it re-encodes audio to a lossy bluetooth audio standard (and yes I know there's at least two and the high-fidelity one isn't bad - it's still lossy) . Unless that is, Apple has "special bluetooth" that avoids this. I wouldn't put that past them. Link me to a doc if they do.

a year ago

geraldhh

> 3.5mm is a standard that just works and works everywhere

absolutely everywhere, anytime!

a year ago

BeFlatXIII

"Bluetooth works even better"

Than what?

a year ago

dontlaugh

Than wires with a jack at the end, in my personal opinion.

No analog unpredictability or crackling, clean digital all the way to the DAC matched to the speakers, no wires to tangle or damage, reliable controls.

a year ago

tshaddox

That seems like the exact opposite of “holding the gun.” Like they literally didn’t force anyone to do anything and as far as I know didn’t even try to use their influence to persuade any other company to remove the jack from their devices.

a year ago

kristopolous

So it's all been a purely stochastic random coincidence of cosmic entropy and Apple has been some prescient fortuneteller?

The removal of physical keyboards from phones, lack of a serviceable battery, notch, death of the floppy, removal of ports from laptops, 3.5mm jack, these all would have completely happened, exactly like they did, exactly in the way they did, without Apple?

Instead I believe we live in a dysfunctional era of "designer as absolute dictator" and it turns out copying Apple is a safer choice then wandering through the wilderness and claiming your own path.

Investors, the board, senior management, very few have that courage and the path of Apple knockoff feels less risky.

I hate the monoculture through risk aversion, especially spearheaded by a company that seems hell-bent on turning everything into a locked down consumer-grade appliance but I get why it's that.

Why low contrast hairline grey fonts on grey backgrounds was the design trend until Apple stopped and why flat design where you can't tell if something was interactive or not was extremely popular until Apple decided it wasn't.

a year ago

tshaddox

> So it's all been a purely stochastic random coincidence of cosmic entropy and Apple has been some prescient fortuneteller?

No, the options are not limited to “being a fortune teller” and “holding a gun.”

a year ago

illiarian

> Instead I believe we live in a dysfunctional era of "designer as absolute dictator" and it turns out copying Apple is a safer choice then wandering through the wilderness and claiming your own path.

Ironically you try to refute "Apple is prescient" and "Apple is holding the gun" with... "Apple is omnipotent, and all their decisions turn out right and are slavishly copied by others".

> I hate the monoculture through risk aversion, especially spearheaded by a company that seems hell-bent on turning everything into a locked down consumer-grade appliance but I get why it's that.

It's amazing that you call Apple risk-averse when they, to quote you, did all these things, often against considerable backlash: "The removal of physical keyboards from phones, lack of a serviceable battery, notch, death of the floppy, removal of ports from laptops, 3.5mm jack"

Don't forget that also it wasn't just "removal of physical keyboards from phones". It was launching a completely new product for a company that never made such a product in a highly competitive market with lost of entrenched players.

Risk-averse my ass.

a year ago

kristopolous

I didn't call apple risk-averse. Maybe you were tired. I called the designers of phones at companies like say Oppo, Xiaomi or Asus to be risk averse. This creates a monoculture because they heed to the Apple design patterns as a defensible position to their bosses and superiors. So if the product doesn't sell well they can point the finger at "well we cloned apple" as opposed to "well I insisted on this novel design" which would be a bad move.

It's the antithesis lesson of the Edsel. It made (at that time) the big 4 recalcitrant, overly conservative, and weary of change. Everything that GM acquired ended up looking like a giant amorphous indistinguishable blob.

People just want to do well and they get spooked by failures so patterns and histories create cultures of design. Nobody knows truly what the future is so they end up doing "best practice" which is a euphemism for cultural conformity.

Apple was not this under Steve. He was pattern breaking change in both Steve I and Steve II incarnations. And he had a superhero batting average. Why that is is a huge conversation outside the scope here but yeah I agree with you.

Please reread my comment. Thanks

a year ago

tetris11

Anecdotally, it was the reason why I went for Nokia N900 as my first smartphone, because I didn't want to give up my beloved Newgrounds. Flash turned out to not run super well on the device, but by then it was too late and I'd already deep-doved into the Linux and on-device programming rabbit hole.

a year ago

bick_nyers

Anecdote #2: As a kid/preteen I never cared much about the iPhone or iPod Touch because I couldn't play Age of War and other games on either AddictingGames or Kongregate. Fruit Ninja etc. was cool but didn't feel complete enough of a game for me. I still had dial-up for a few years after the first iPhone released, so I would often save the webpage for a flash game, and then I could play it whenever (but not wherever).

a year ago

londons_explore

Flash probably wouldn't have died had it not been for Apple's refusal to support it.

One could totally imagine a rewritten and modernized version of flash that became the dominant web experience (perhaps replacing HTML and javascript, which in many ways are inferior).

a year ago

macintux

That’s like saying one could imagine a modern U.S. rail infrastructure that allows pleasant passenger rail travel everywhere you want to go.

Of course it’s possible with enough time and money, but from all accounts Adobe could not have achieved it.

a year ago

mejutoco

I think they were more part of the reason Flash died, than predicted it.

Also interesting that at the time Jobs did not want native apps on the iPhone, only web apps.

a year ago

stuaxo

I'm pretty sure Adobe did build a version even if it wasn't released.

a year ago

STRML

Your comment is mostly on point, but the download speeds are way off. By the time Flash was really getting big, everyone was on 56k, (rarely) ISDN, or ~1mbps broadband of one type or another. But even with 56k, you're getting 5kBps. So a 45-100kB download was 20sec at most, and 500kB was about 2 minutes.

That said vector graphics and extreme sound compression was just how shit got done. In those days gaming and entertainment online was all about CD deployment, extreme delta patching, low bit rate audio (Teamspeak et al) and vector graphics when possible.

I miss those days. On top of it not yet being spoiled by billion dollar businesses, the extreme constraints meant that creative minds could excel far above and beyond corporate types. And that's why the internet had the reputation it did. The ones who were making waves were individuals and small development houses that were founder-driven. It's nothing like today.

a year ago

dspillett

> By the time Flash was really getting big, everyone was on 56k, (rarely) ISDN, or ~1mbps broadband of one type or another.

From my memory¹ the big flash days in terms of my interaction with stuff created with it, started as I was upgrading from 36k6 to 56k at home (though I had faster access at University sites) and ended around the time I bumped up from 512kbit to 2mbit downstream.

*> But even with 56k, you're getting 5kBps.

Usually less. It was rare to connect faster than 45k on most lines, 42k on some.

Of course once upgraded (first from ~56k modem to 512kbit ADSL), and before upgrading at home but using faster connections at uni/work, there were other issues: often the sites we were getting the flash content from would not deliver nearly as fast as the new line could receive²³ so a ½Mbyte+ flash app could still take a noticeable time to arrive.

----

[1] UK here, landline internet tech rollout progress varied a lot between territories

[2] again, UK: some other-end bandwidth issues (and latency issues) might have been experienced differently where you are due to differences in [inter]national peering arrangements

[3] or if they did, there was enough latency to mask a chunk of the bandwidth benefit

a year ago

hadlock

I remember getting 3.5-4.5kBps. Usually on the lower end of that scale. 5 was an exceptionally lucky day.

a year ago

goto11

Another important piece of context:

HTML was basically frozen at the time, since this was when Internet Explorer had absolute domination of the browser space and Microsoft had decided not the develop it further. But innovation could still happen in Flash which Microsoft did not control, but what still popular enough that IE has to support the plug-in.

So W3C was trying to move the web forward through specs which were independent of HTML. SVG 1.2 was not just for logos, it was intended to be viable as a stand-alone application format (which required network communication). Another attempt was XHTML 2 which was not backwards compatible with HTML, but considered a fresh start.

Firefox changed that by creating competition in the browser space, which made innovation in HTML possible again.

a year ago

tannhaeuser

Don't know if I'd characterize the situation like that. HTML has changed very, very little over time: there were the new HTML 5 semantic sectioning elements article, main, header, footer, section, and very few additional elements with ever-changing semantics such as summary/details, dialog and menu/menuitem (oddly, a Firefox contribution that took a long time to find its way into other browsers, unlike Chrome's). Note the so-called "HTML5 outlining algorithm" for inferring sections and interpreting heading levels was only removed last year from the spec. In contrast, many more additional elements came in via the foreign vocabularies that were specified using XML ie SVG and MathML.

What utterly changed was CSS and JS, though; you could say CSS was expanded to this absurd extend because HTML was bound to stay the same during W3C and then WHATWG's organizational lock on HTML.

a year ago

goto11

This is true. It was really the whole browser HTML/CSS/DOM/JavaScript platform which was considered locked and frozen by IE. Flash supported JavaScript but through its own independent engine, which meant it could evolve independently of IE. Something similar was envisioned for SVG, which is why it needed its own networking API independent of what the browser provided.

Of course things turned out differently, and SVG became integrated in the HTML rendering engine and browser environment.

a year ago

thrdbndndn

> The iPhone was famously one of the last devices to drop support for Flash

Isn't it the opposite? iOS never supported Flash, which helped kill it once iOS gained popularity.

a year ago

Klonoar

It is exactly the opposite, yes.

a year ago

leonidasv

Author here.

I saw people saying basically the same in Twitter and almost mentioned that SVG with networking was going be positioned as a Flash competitor (and sure it makes sense!), but found no reliable source on this.

Do you have any source/link/PDF from that time mentioning this goal for SVG? I would happily update the article if you could link it here. Thanks!

a year ago

shellac

I wasn't involved in SVG, but knew quite a few of the people involved around the working group. Seeing socket support mentioned certainly raised a smile: one of the team was quite keen on writing a pure-svg IRC client, I think.

It wasn't an explicit goal of SVG 1.2 to replace Flash. You should be able to dig out the working group charter to check that. However the way these groups worked was that there were various communities ('stakeholders' if you must) who contributed thoughts and ideas. At least one of the companies implementing SVG certainly did want a Flash competitor, and so was keen on sockets.

I think they all knew it wouldn't fly, but they get excited. You see the same with Chrome and stuff like USB and Bluetooth access.

a year ago

Marazan

Everything was being positioned as a Flash killer.

It was so all pervasive you didn't have to explicitly say it.

HTML5 was flash killer. The way the Javascript standard developed was a Flash killer. Everything was aiming to kill Flash and take down Adobe.

a year ago

hadlock

It just seems like the logical outcome. This is like suggesting asking for adding wireless transmitters and receivers on car keys and cars, then asking for concrete documentation that they are intended to be used for locking and unlocking your car. If there were other applications for this technology, I'd be curious to hear about it.

a year ago

om2

The iPhone was one of the _first_ devices to drop support for Flash, not one of the last (well, “dropped” in the sense that it literally never had Flash). Arguably the first mainstream device to have full powered browsing and no Flash, since the introduction of Flash. It was only because of this that desktop browsers were eventually able to drop Flash a decade later.

a year ago

grishka

Flash did have raw TCP sockets support. It did have some security built in though. When you opened a socket, the flash player itself would first connect to the address and port you specified, send the string `<policy-file-request/>` and expect the server to respond with the contents of the crossdomain.xml file (the same kind used for HTTP requests from flash) allowing the app to connect. It would then close the connection, and, if it's satisfied with the cross-domain policy, reconnect again and hand this socket over to the app.

a year ago

ivanhoe

Just a note for a younger generations that Flash (re-branded by Macromedia as Shockwave Flash) and Macromedia Shockwave were actually two different products - Shockwave being a more advanced multimedia platform inspired by Flash, which was primarily the svg animation tool. Still, Flash was a far more popular format and it was what the most of people used everyday as it was available by default as a plugin on every new browser.

a year ago

nogridbag

And the user experience was incredibly different. For me personally, when I went to a website that used Shockwave I would reach for the back button because it rarely worked on my machine, similar to RealMedia player and Java applets. Regarding Java applets, I was tasked with fixing one Windows machine in a university computer lab that simply would not load a Java applet. All the machines in the lab were cloned from the same image and I was the resident Java expert. For the life of me I could not get that machine to load the Java applet - I spent an entire day on it.

Flash always seemed to work and load fast which likely had some role in it getting mass adoption.

a year ago

LinAGKar

The distinction I remember from the time is that Shockwave player allowed 3D games (a use case that was later also filled by Unity Web Player) while Flash Player was just for 2D stuff. Also, Shockwave and Unity weren't available on Linux, unlike Flash.

a year ago

1970-01-01

This was the time when things were truly awesome in terms of content. Flash, Shockwave, SVG, and Java Applets meant there were no longer restrictions to animation on websites. Security just wasn't a big problem. It was a golden age.

a year ago

johannes1234321

An important thing to Flash's success was the development tool by Macromedia.

Designing interactive animations (even games) without any programming knowledge was really easy.

I haven't seen anything as intuitive since.

a year ago

coldpie

> I haven't seen anything as intuitive since.

A handful of folks in yesterday's Scratch thread were saying it could be a modern version of what Flash was. I haven't used it myself. https://news.ycombinator.com/item?id=35373052

a year ago

johannes1234321

Need to check that out. My impression was that it wasn't aimed at standalone use. Thanks for the pointer.

For non-interactive things I use synfig https://www.synfig.org/ after learning some of the UI quirks it is okay for pure animation work without interaction.

a year ago

justinclift

Nicely, the Ruffle project (flash player written in Rust), seems like it has legs and plays a substantial amount of Flash content:

https://github.com/ruffle-rs/ruffle

They released their first "progress report" a few weeks ago:

https://ruffle.rs/blog/2023/03/12/progress-report.html

Seems like good news. :)

a year ago

mananaysiempre

Not the first attempted Flash reimplementation[1,2,3]. The GNU one didn’t work all that well back in the day as far as I remember, but then Flash was a moving target at the time.

[1]: https://www.gnu.org/software/gnash/

[2]: http://lightspark.github.io/

[3]: https://github.com/mozilla/shumway

a year ago

justinclift

Thanks. I'm aware of some of the earlier ones, as I was (ages ago) involved in a swf generation project called libming. Far before Adobe started open sourcing its swf generation code.

So, kept an eye on some of the other attempted players, but they didn't really seem to gain enough traction/adoption to really go places.

That's why I think this Ruffle thing has legs (eg "is going places"), as it's showing the right signs of actually getting adoption and traction. :)

a year ago

morkalork

Playing games like slime volleyball in grade 9 got me and probably thousands of other kids interested in programming.

a year ago

yafbum

It did not die for real until much later.

As one data point, YouTube was still using flash as the default player on some old browsers and embedded players in 2015 [1]; it dropped support only in 2017 [2].

[1] https://www.theverge.com/2015/1/27/7926001/youtube-drops-fla...

[2] https://old.reddit.com/r/youtube/comments/6puoc2/did_youtube...

a year ago

Waterluvian

For me Flash was fully in the broadband era. We watched and played (and I even made some for class credit) at high school and at home. Whenever they took more than 10 seconds to load you knew you were in for a treat. But 7-10 mins? I don’t recall it being that order of magnitude.

a year ago

[deleted]
a year ago

mmaunder

Came here to say this. It was also coming out of a Java applet world which was along the same lines.

a year ago

billfruit

Is there any modern stack out there for making games with vector graphics?

a year ago

scaramanga

For anyone familiar with sockets being very confused. When they say "raw sockets" they just mean like TCP or UDP sockets as opposed to eg. "websockets".

Actual raw (PF_INET, SOCK_RAW) sockets would allow you to do all kinds of additional crazy things beyond merely establishing a TCP connection or sending a UDP datagram.

https://man7.org/linux/man-pages/man7/raw.7.html

a year ago

junon

Thank you for clarifying. Actual raw sockets for SVG would have been absolutely insane.

a year ago

barneygale

It's a shame we never got to see a DHCP server implemented in SVG!

a year ago

myself248

nmap.svg could be its own GUI!

a year ago

chrisweekly

Every time SVG comes up I'm reminded of this awesome preso by the inimitable Sarah Drasner; it's 6 years old but still relevant and -- I'd wager -- still eye-opening for many, even in this crowd. Enjoy!

https://slides.com/sdrasner/svg-can-do-that

a year ago

illiarian

I'm also reminded of how rocky SVG's road was, and is: Me and SVG by Amelia Bellamy-Royds: https://codepen.io/AmeliaBR/post/me-and-svg

a year ago

chrisweekly

Wow, quite a story. Thanks for sharing. IMHO SVG has such tremendous untapped potential, there must be some way to fund and unstick the standards process....

a year ago

macintux

That’s great, thanks for sharing it.

I had the pleasure of working with Sarah at Basho long ago, one of the rare people who are as talented creatively as they are technically.

a year ago

mamcx

My question is if SVG could be viable to make GUI, and if is possible to use it cross-platform without a web view?

a year ago

pimlottc

Man, this deck really brings back feelings of the flash-filled internet of old...

a year ago

justinator

All the interaction is broken for me (in Firefox)

a year ago

chatmasta

SVG is crazy. Here's an SVG in a GitHub readme, animated with CSS: https://github.com/sindresorhus/css-in-readme-like-wat

a year ago

sgerenser

Imagine how much crazier it would be with socket support!

a year ago

hoofhearted

What do you mean by socket support?

a year ago

IncRnd

a year ago

Evidlo

SVGs can also have buttons/sliders and be interactive.

a year ago

iliane5

SVG also supports <script> tags, which is even wilder

a year ago

justinator

What we lost with SWF was an easy enough use authoring tool. Sockets or not, whatever SVG can do, is there an authoring tool for it like there was for Flash?

I LOVED Flash - it probably is one of the first software products I actually bought at the student price in highschool. Flash 5 was just magic, I thought.

a year ago

halo

I mentally group Flash, Visual Basic and Visual FoxPro together as dying because they were unfashionable in tech circles despite being highly productive and practical. They never got effectively replaced and we will very slowly end up with modern equivalents.

a year ago

giantrobot

> I mentally group Flash, Visual Basic and Visual FoxPro together as dying because they were unfashionable in tech circles despite being highly productive and practical.

I don't think any of those died because they were unfashionable. They died because the world/environment they were designed for changed or left them behind.

Flash was built for the world of desktop computers with a mouse, keyboard, and relatively large amounts of RAM. It was optimized for Windows/x86 but could also be made to run on other platforms and architectures. Even on Windows it was unstable and extremely insecure. On mobile its performance was atrocious and all on onMouseDown() events (the typical click event people used) just went nowhere. Flash as written also didn't tend to handle portrait aspect ratios nor window dimension change events well if at all. Adobe was also a terrible steward of the plug-in. They did not want to put the resources into making it good, they barely kept it up with security updates.

VB was similar in that it was designed for the unconnected 32-bit desktop world. Microsoft wanted to drop the VB6 runtime and just make the VB language hosted on top of the .NET runtime. It wasn't that the language was out of fashion, lots of LOB apps were written in VB in many companies, Microsoft was just uninterested in continuing development and had a new hotness they were pushing. VB.NET was an imperfect upgrade path for VB6 developers.

a year ago

crazygringo

Maybe they were unfashionable but that's not why they died at all.

Flash died because the iPhone killed it because Adobe refused to work with Apple to make it more secure and more power-efficient. Ultimately it was Adobe's own-goal.

And Visual Basic was similarly a self-inflicted death, when Microsoft decided to make VB.NET incompatible with the previous VB6. But what was bad for Microsoft was good for the internet, as HTML+JS ultimately replaced VB6 for enterprise apps.

FoxPro I don't know about, though. Never approached Flash/VB in terms of popularity.

Flash videos and apps got easily replaced, and animations with HTML/CSS/JS, and those bite-sized Flash games basically got replaced with mobile gaming as apps.

a year ago

JasonFruit

Add Microsoft Access to that list — it was crazy, both good and bad, what semi-tech people did with it.

a year ago

toastal

SVGs performance is poorly optimized in every rendering engine. Flash had better performance with animations.

a year ago

pupppet

I wish they would have split the format into multiple filetypes, SVG for static vector imagery and SVGX or whatever for all the other bullshit. I shouldn't need to worry about logo.svg being some attack vector.

a year ago

bawolff

I mean, if you include it as an <img> tag that is already the case.

Although i guess you still have the problem of serving the actual svg file. There are some http headers that can help with that (csp)

a year ago

mikeytown2

An alternative to adobe flash was the idea behind sockets I'd imagine

a year ago

olliej

The big reason for this iirc from various meetings was a number of maps systems that wanted to be able to say they were purely standards based, so they needed to be able do everything from within purely SVG. Recall that at the time XHR was just part of the general html spec - so there was no separate networking API that could be used _directly_ from svg.

At this time of history SVG also was running on a belief that the correct solution to differing performance constraints was to have profiles. The high and low power profiles were not compatible such that you could easily end up in a position where you had content that could not display correctly in both at the same time.

a year ago

kylejrp

I once helped someone create a monstrosity of an SVG - they exported a flowchart SVG from Visio that would show the current state of different steps of a project. The status of each step was stored in a SQL database. I helped write some JavaScript inside the SVG that would create an ActiveX object that would open up a ODBC connection and execute a SQL query to get the latest states, which would update the colors on the flowchart every time you loaded the SVG. It would obviously only work in IE11. Plaintext credentials stored right inside the SVG!

a year ago

Rodeoclash

Such an exciting time to be a programmer. Although I'd picked Director / Lingo as the horse to back instead of Flash. At the time, circa 2002 or so, Director had much more capability than Flash did but I don't remember it having a very good pathway to the web.

a year ago

sgerenser

Wasn’t it possible to put Director projects on the web with the “Shockwave” plugin? I recall it actually being fairly popular for a brief time until Flash completely took over.

a year ago

sirspacey

Yep! Built my first startup with it. The install process was painful & opaque to users, so it was a big deal when Flash launched because it solved the problem & killed Shockwave fast.

a year ago

dekhn

Ah yes- I remember the predecessor to this was VRML, which started out as mostly-static and then gained a number of scriptability nodes. at the time, it was still unclear how interactive, graphical web applications would be made, and it seemed like markup languages could gain scriptability (https://www.bitmanagement.de/developer/spec/vrmlscript/vrmls... so around 1996!)

SVG is a wonderful standard but it seemed pretty clear that all the scripting should be done in javascript, with SVG as an web element tag or document type.

a year ago

hoofhearted

I have been just recently been getting into creating React SVG components that pass props to the inlined SVG code.

It’s pretty cool what you can do dynamically. I have been playing with dynamic css inside of the SVG, but animations are my next step.

a year ago

sirspacey

Would love to see this, that sounds really cool!

a year ago

hoofhearted

I’m currently building out Wordpress for developers.

Our logo in an upcoming release uses inlined SVG, and it’s taking a class name property to change the text color dynamically.

https://github.com/elegantframework/elegant/blob/v2.0-alpha/...

a year ago

NelsonMinar

I think what's astonishing about SVG is it was implemented in the early 2000s, then nearly forgotten. But it still worked in browsers and had a resurgence in the early 2010s. Partly because of the end of Flash, partly because of D3.js. That fallow period between 2003-2011 is remarkable to me, I'm surprised it survived it.

One history of this era: https://medium.com/siliconpublishing/the-fall-and-rise-of-sv...

a year ago

egberts1

I got an even bigger guide from this article on discontinued WG for Full (networked) SVG: libphonenumber library by Google, ported in many programming languages.

Covers a the general gotchas on phone number parsing (by convention, countries, and telco eccentricities).

And started using it. Thanks, Hacker News.

Oh, it’s a good thing that Full (networked) SVG didn’t get formalized.

https://leonidasv.com/til-parsing-phone-numbers-is-a-nightma...

a year ago

legec

> I’m still pissed I can’t use Inkscape as my IDE.

You can always fall back to MS Paint: https://ms-paint-i.de/

a year ago

lxgr

Maybe I‘m lacking the imagination for truly nefarious things, but what would be the problem with raw socket access in the browser?

Modern browsers can already communicate peer to peer (via WebRTC) and DDoS other web servers (via CORS failures or good old embedding).

Is the main concern the increased attack opportunity of non-web servers?

a year ago

kevingadd

You can use raw sockets to exploit vulnerabilities in arbitrary devices on the user's local network, like routers and IoT devices, which frequently have fixed default IPs

a year ago

bawolff

You can already do that with svgs (in many cases not all).

Although recently browsers changed rules for connecting to internal ips

a year ago

Matheus28

Yes but also web servers. You could make requests to them (although you wouldn’t have access to the user cookies) and bypass CORS.

There’s some more details in the WebSocket RFC for why it’s a bad idea to give access to tcp/udp sockets to untrusted code unless the receiving server is willing to receive them.

a year ago

lxgr

Without cookies, is that really a problem though?

You can already cause OPTION requests, if the concern is denial of service (although these are presumably much easier to filter out at a load balancer or similar than arbitrary unauthenticated requests).

a year ago

ec109685

Browser can’t mediate raw socket connections.

a year ago

justinclift

The ad industry would surely figure out some way to load stuff for fingerprinting / user tracking with it. :(

a year ago

alixanderwang

we embed some CSS in SVG outputs to make animated diagrams for our text-to-diagram language: https://github.com/terrastruct/d2/releases/tag/v0.3.0

a year ago

jsdeveloper

I personally think svg had so much potential for the web, only if they had flexbox kind of dom model. the gap between UX design and final product would have been significantly reduced. one would simply design apps in inkscape and add funtionality later to it.

a year ago

bawolff

Well now svgs support web sockets and webrtc, so.... not that crazy.

a year ago

pol_osei

NSO Group still figured this out and built Pegasus in any case.

a year ago

animesh

Every time I read about SVG, I remember those glorious 3 months I spent making a custom chart wrangling d3 and SVG. Nothing has ever come close in 6 years after that.

a year ago

mgaunard

That is not what "raw socket" means. Those are TCP sockets.

And yes, it would have made more sense to have TCP support rather than to force HTTP onto everything.

a year ago

sgerenser

Technically correct (the best kind of correct). But in the context of a browser, it’s obviously just referring to actual TCP/UDP sockets, as used by native applications, rather than being intermediated by the browser and limited only to certain application level protocols like HTTPS.

a year ago

qwerty456127

This is sad. I feel like they should have actually added it. Developing a full application in a .svg file sounds really great to me.

a year ago

IncRnd

> it’s mostly assumed that you’re talking about static vector graphics images

SVG stands for "scalable vector graphics" not for "static vector graphics". Scalable files, but not static or pixel oriented files can be scaled to a higher resolution without losing fidelity. You lose fidelity, when increasing the display size of a bitmap. Think of how your company logo appears, when zooming-in on a 16x16 icon version.

a year ago

est

From the looks, I assume SVG was trying to compete with .SWF, which added network support around that time.

Which is OK I guess.

a year ago

dboreham

Ok if you are a DDoS'er

a year ago

est

IIRC many Flash objects was indeeded abused as a DDoS tool.

a year ago

cenriqueortiz

scalable, not static (vector graphics)

a year ago

vrglvrglvrgl

[dead]

a year ago

ManiAbod

[dead]

a year ago