[HN Gopher] When SVG almost got network support for raw sockets
       ___________________________________________________________________
        
       When SVG almost got network support for raw sockets
        
       Author : sgerenser
       Score  : 265 points
       Date   : 2023-03-31 02:35 UTC (20 hours ago)
        
 (HTM) web link (leonidasv.com)
 (TXT) w3m dump (leonidasv.com)
        
       | alixanderwang wrote:
       | 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
        
       | olliej wrote:
       | 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.
        
       | hoofhearted wrote:
       | 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.
        
         | sirspacey wrote:
         | Would love to see this, that sounds really cool!
        
           | hoofhearted wrote:
           | 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/.
           | ..
        
       | kylejrp wrote:
       | 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!
        
       | legec wrote:
       | > 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/
        
       | mikeytown2 wrote:
       | An alternative to adobe flash was the idea behind sockets I'd
       | imagine
        
       | scaramanga wrote:
       | 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
        
         | junon wrote:
         | Thank you for clarifying. Actual raw sockets for SVG would have
         | been absolutely insane.
        
           | barneygale wrote:
           | It's a shame we never got to see a DHCP server implemented in
           | SVG!
        
       | mgaunard wrote:
       | 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.
        
         | sgerenser wrote:
         | 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.
        
       | chatmasta wrote:
       | SVG is crazy. Here's an SVG in a GitHub readme, animated with
       | CSS: https://github.com/sindresorhus/css-in-readme-like-wat
        
         | Evidlo wrote:
         | SVGs can also have buttons/sliders and be interactive.
        
         | sgerenser wrote:
         | Imagine how much crazier it would be with socket support!
        
           | hoofhearted wrote:
           | What do you mean by socket support?
        
             | IncRnd wrote:
             | It's explained in a blog post located at
             | https://leonidasv.com/til-svg-specs-almost-got-raw-socket-
             | su...
        
         | iliane5 wrote:
         | SVG also supports <script> tags, which is even wilder
        
       | justinator wrote:
       | 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.
        
         | toastal wrote:
         | SVGs performance is poorly optimized in every rendering engine.
         | Flash had better performance with animations.
        
         | halo wrote:
         | 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.
        
           | JasonFruit wrote:
           | Add Microsoft Access to that list -- it was crazy, both good
           | and bad, what semi-tech people did with it.
        
           | crazygringo wrote:
           | 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.
        
           | giantrobot wrote:
           | > 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.
        
       | est wrote:
       | From the looks, I assume SVG was trying to compete with .SWF,
       | which added network support around that time.
       | 
       | Which is OK I guess.
        
         | dboreham wrote:
         | Ok if you are a DDoS'er
        
           | est wrote:
           | IIRC many Flash objects was indeeded abused as a DDoS tool.
        
       | egberts1 wrote:
       | 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...
        
       | qwerty456127 wrote:
       | 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.
        
       | hadlock wrote:
       | 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.
        
         | Waterluvian wrote:
         | 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.
        
         | ivanhoe wrote:
         | 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.
        
           | LinAGKar wrote:
           | 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.
        
           | nogridbag wrote:
           | 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.
        
         | morkalork wrote:
         | Playing games like slime volleyball in grade 9 got me and
         | probably thousands of other kids interested in programming.
        
         | billfruit wrote:
         | Is there any modern stack out there for making games with
         | vector graphics?
        
         | leonidasv wrote:
         | 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!
        
           | Marazan wrote:
           | 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.
        
           | hadlock wrote:
           | 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.
        
           | shellac wrote:
           | 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.
        
         | 1970-01-01 wrote:
         | 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.
        
         | mmaunder wrote:
         | Came here to say this. It was also coming out of a Java applet
         | world which was along the same lines.
        
         | thrdbndndn wrote:
         | > 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.
        
           | Klonoar wrote:
           | It is exactly the opposite, yes.
        
         | Gigachad wrote:
         | 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.
        
           | nntwozz wrote:
           | 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.
        
             | gumby wrote:
             | 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!"
        
               | exsf0859 wrote:
               | 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.
        
               | duskwuff wrote:
               | > had to support Apple's video streaming format
               | 
               | It's a little weird to call an open standard (like H264)
               | "Apple's format".
        
               | lultimouomo wrote:
               | 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.
        
               | giantrobot wrote:
               | 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.
        
               | mikeryan wrote:
               | 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.
        
               | duskwuff wrote:
               | 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.
        
               | geocar wrote:
               | > 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.
        
               | lultimouomo wrote:
               | 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.
        
               | Evidlo wrote:
               | H264 isn't open though, depending on your definition of
               | open
        
               | duskwuff wrote:
               | Fine, pretend I said "industry standard" then. Either way
               | it wasn't something Apple made.
        
             | lmm wrote:
             | 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.
        
               | paultopia wrote:
               | 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.
        
               | wink wrote:
               | 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.
        
               | kitsunesoba wrote:
               | 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.
        
               | philsnow wrote:
               | 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.
        
               | Earw0rm wrote:
               | 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.
        
               | giantrobot wrote:
               | 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.
        
               | kitsunesoba wrote:
               | 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.
        
               | rektide wrote:
               | 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.
        
               | JoeyJoJoJr wrote:
               | 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.
        
               | illiarian wrote:
               | > 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?!!
        
               | lmm wrote:
               | 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.
        
               | EamonnMR wrote:
               | 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.
        
               | grishka wrote:
               | > 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.
        
               | yathaid wrote:
               | >> 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.
        
               | thrashh wrote:
               | 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.
        
               | stuaxo wrote:
               | The authoring tool was a big part of why so much flash
               | stuff got made.
        
               | Pulcinella wrote:
               | 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.
        
               | vlovich123 wrote:
               | 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)
        
               | grishka wrote:
               | That's the problem with the particular proprietary
               | implementation of flash player. There's nothing
               | inherently bad about the swf format itself.
        
               | acdha wrote:
               | 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.
        
               | butlerm wrote:
               | 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.
        
               | cyberax wrote:
               | 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!
        
               | tinus_hn wrote:
               | There was also bug for bug compatibility with every old
               | version ever released. Hard to support and impossible to
               | port.
        
               | nly wrote:
               | Ah, yes. I remember the days of using b nspluginwrapper
               | to load the 32 bit flash plugin in a 64 bit browser on
               | Linux...
        
               | scrame wrote:
               | > 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.
        
               | numpad0 wrote:
               | Weren't there tons of devices that use Flash Lite for UI
               | up to that era, in mp3 players and flip phone markets?
        
               | giantrobot wrote:
               | 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.
        
               | Evidlo wrote:
               | > it was a battery stuck
               | 
               | Is this an idiom? What does it mean?
        
               | jjtheblunt wrote:
               | I think it's a typo, the person meant "battery suck" as
               | in drains the battery.
        
               | lmm wrote:
               | > 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.
        
               | geocar wrote:
               | > 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.
        
               | carefish wrote:
               | 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/
        
               | geocar wrote:
               | I'll watch out for ruffle (60% of AVM2 sounds
               | promising!). Thanks for that.
        
               | gpvos wrote:
               | How far have Blink and Webkit diverged? Do they still
               | take patches from each other?
        
               | Lex-2008 wrote:
               | 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.
        
               | geocar wrote:
               | 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.
        
               | hnlmorg wrote:
               | 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.
        
               | lmm wrote:
               | > 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".
        
               | eyelidlessness wrote:
               | 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.
        
               | dontlaugh wrote:
               | Sure, although Blink and WebKit are still much closer
               | than WebKit and KHTML.
        
               | egberts1 wrote:
               | 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...
        
               | conradev wrote:
               | It did happen eventually: https://github.com/ruffle-
               | rs/ruffle
        
             | wlesieutre wrote:
             | 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.
        
             | Groxx wrote:
             | 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.
        
             | dutzi wrote:
             | There was also the Adobe Loves Apple campaign
             | 
             | https://www.fastcompany.com/1646594/adobe-launches-hearts-
             | an...
        
           | kristopolous wrote:
           | They're often the ones holding the gun.
           | 
           | Example: if they didn't remove the 3.5mm headphone jack,
           | almost nobody else would have.
        
             | geraldhh wrote:
             | 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?
        
               | illiarian wrote:
               | 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.
        
               | dontlaugh wrote:
               | 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.
        
               | derbOac wrote:
               | 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.
        
               | geraldhh wrote:
               | > 3.5mm is a standard that just works and works
               | everywhere
               | 
               | absolutely everywhere, anytime!
        
               | kristopolous wrote:
               | 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.
        
             | gopalv wrote:
             | > 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).
        
               | KerrAvon wrote:
               | 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.
        
               | kristopolous wrote:
               | 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.
        
               | toastal wrote:
               | 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.
        
               | avianlyric wrote:
               | > 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.
        
               | enragedcacti wrote:
               | 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.
        
               | toastal wrote:
               | 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.
        
               | laurencerowe wrote:
               | 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.
        
             | tshaddox wrote:
             | 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.
        
               | kristopolous wrote:
               | 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.
        
               | tshaddox wrote:
               | > 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."
        
               | illiarian wrote:
               | > 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.
        
               | kristopolous wrote:
               | 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
        
           | mejutoco wrote:
           | 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.
        
           | stuaxo wrote:
           | I'm pretty sure Adobe did build a version even if it wasn't
           | released.
        
           | londons_explore wrote:
           | 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).
        
             | macintux wrote:
             | 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.
        
           | tetris11 wrote:
           | 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.
        
             | bick_nyers wrote:
             | 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).
        
         | johannes1234321 wrote:
         | 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.
        
           | coldpie wrote:
           | > 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
        
             | johannes1234321 wrote:
             | 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.
        
         | goto11 wrote:
         | 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.
        
           | tannhaeuser wrote:
           | 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.
        
         | yafbum wrote:
         | 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...
        
         | om2 wrote:
         | 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.
        
         | [deleted]
        
         | STRML wrote:
         | 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.
        
           | dspillett wrote:
           | _> By the time Flash was really getting big, everyone was on
           | 56k, (rarely) ISDN, or ~1mbps broadband of one type or
           | another._
           | 
           | From my memory1 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 receive23 so a
           | 1/2Mbyte+ 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
        
             | hadlock wrote:
             | I remember getting 3.5-4.5kBps. Usually on the lower end of
             | that scale. 5 was an exceptionally lucky day.
        
         | grishka wrote:
         | 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.
        
         | justinclift wrote:
         | 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. :)
        
           | mananaysiempre wrote:
           | 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
        
             | justinclift wrote:
             | 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. :)
        
       | pol_osei wrote:
       | NSO Group still figured this out and built Pegasus in any case.
        
       | bawolff wrote:
       | Well now svgs support web sockets and webrtc, so.... not that
       | crazy.
        
       | cenriqueortiz wrote:
       | scalable, not static (vector graphics)
        
       | jsdeveloper wrote:
       | 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.
        
       | NelsonMinar wrote:
       | 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...
        
       | vrglvrglvrgl wrote:
       | [dead]
        
       | animesh wrote:
       | 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.
        
       | Rodeoclash wrote:
       | 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.
        
         | sgerenser wrote:
         | 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.
        
           | sirspacey wrote:
           | 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.
        
       | pupppet wrote:
       | 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.
        
         | bawolff wrote:
         | 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)
        
       | ManiAbod wrote:
       | [dead]
        
       | IncRnd wrote:
       | > 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.
        
       | chrisweekly wrote:
       | 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
        
         | macintux wrote:
         | 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.
        
         | pimlottc wrote:
         | Man, this deck really brings back feelings of the flash-filled
         | internet of old...
        
         | justinator wrote:
         | All the interaction is broken for me (in Firefox)
        
         | illiarian wrote:
         | 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
        
         | mamcx wrote:
         | My question is if SVG could be viable to make GUI, and if is
         | possible to use it cross-platform without a web view?
        
       | dekhn wrote:
       | 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.
        
       | lxgr wrote:
       | 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?
        
         | justinclift wrote:
         | The ad industry would surely figure out some way to load stuff
         | for fingerprinting / user tracking with it. :(
        
         | ec109685 wrote:
         | Browser can't mediate raw socket connections.
        
         | Matheus28 wrote:
         | 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.
        
           | lxgr wrote:
           | 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).
        
         | kevingadd wrote:
         | 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
        
           | bawolff wrote:
           | You can already do that with svgs (in many cases not all).
           | 
           | Although recently browsers changed rules for connecting to
           | internal ips
        
       ___________________________________________________________________
       (page generated 2023-03-31 23:02 UTC)