I sat reading the tips for a good fifteen minutes.
Did you know...
Clouds are passing by all the time.
Did you know...
You can go outside right now if you like.
Did you know...
Every single grass of the loam is casting shadows individually when it is sunny.
Blocked is the wrong word. It implies that Apple had to take some action to stop Flash from working, which would otherwise be the natural way of things.
I think it's fair to say that Apple blocked flash.
They didn't implement flash in Safari, which is where you're right.
But they also disallowed any interpreter on iOS, so even if Adobe wanted to make a flash player on iOS (there was a rumored prototype), it wouldn't be allowed in the app store anyway.
I understand why stuff like this had to be made in Flash in 1999, but in 2014, client-side web development is in a much better place. When Apple blocked Flash on iPhones, we were forced to adopt and improve open standards instead of relying on proprietary software.
Now we are doomed to use idea-monopolic closed ecosystem of legacy languages (HTML, JS, CSS). I miss the truly open web of the past, the one where I could choose my client-side technology and my client-side programming language. I hope Google NaCl will save us.
I understand why stuff like this had to be made in Flash in 1999, but in 2014, client-side web development is in a much better place.
Client-side web development (meaning HTML/CSS/JS) in 2014 is in a much better place than client-side web development in say 2009 or 2004.
Whether it is in a better place than what could be achieved with the main plug-ins in 2009 or even 2004 is more debatable.
HTML/CSS/JS has won, but I'm not sure that victory had much to do with the technical capabilities of the development platform or the quality of its surrounding ecosystem. If the browser+plug-in model hadn't been such a security disaster and if Apple hadn't forced the issue for iOS devices, things might have been very different today.
In particular, we might by now have evolved a safe, fast, flexible plug-in system to add rich content to web pages and control how everything interacts. Instead, we rely on underpowered HTML5-based alternatives like canvas, SVG, and HTML5 media elements, all controlled with only a single, far from ideal programming language.
How is it that having to code in three different languages, all designed by committee, is "a much better place" than designing the graphical aspects of a website in an integrated environment that uses intuitive vector concepts that can be picked up by anyone?
Maybe you're only considering one aspect of it, namely if it runs everywhere or drains certain batteries faster? I certainly had a lot more fun coding GUI on Flash than I've ever had with the three donkeyman of the apocalypse. It was a much higher level of abstraction than what can be provided by current tools.
Viewed from the outside, webdev looks really funny. I'm doing web for a living, but I don't consider myself a web developer[0]. I'm not emotionally attached to any of the tools of the trade. For me, many web developers are the biggest cases of Stockholm syndrome I have ever seen in my life. Tools we use are ugly and broken.
CSS is the worst offender for me; doing layout work with it is soul-sucking. It's an embodiment of the idea "make hard things one-liners, and the simple things half a screen long and not portable" (it's getting better now, but not that much). I'm really starting to doubt that switching from tables to div+styles was a good idea. We didn't gain any real content/form separation (I doubt the concept makes real sense in terms of publishing), and we replaced a tool that worked as layout engine somewhat with a kludge that can do anything but that.
So what did the kids do? "Oh no, our tools are fine, but those annoying problems? Hey, let's bolt on more tools, like various flavours of compile-to-CSS languages, client-side frameworks, framework generators, package managers, test frameworks, test framework generators, etc. etd.". I'm learning about a new tool that is "absolutely needed by any self-respecting JavaScript developer" literally every week.
The web nowdays is run by fashion designers and fashionistas.
[0] - and I hope I'll be able to find something more interesting to do soon, but for now, one has to eat and pay the bills.
It could simply be that front-end web development is predominantly done by a new, younger generation of programmers, many of whom perhaps didn't come from programming backgrounds but rather a design background.
This generation is only just starting to learn important lessons that the wider programming community learned decades ago about maintainability, portability, the pros and cons of standardisation and of rapid prototyping/evolutionary development, how to design systems of non-trivial scale that can remain useful for extended periods, how to balance the overheads of introducing external dependencies with the benefits of using ready-made, tried-and-tested code and tools, and many other similar issues.
Consequently, that new generation is also only just learning how limited and unfit for modern purposes a lot of the foundations of front-end web development really are. As a direct result, we're now seeing a vast wave of tools, plug-ins, libraries and frameworks designed to paper over the cracks that should never have been there. And because there is little co-ordination or standardisation in the industry, there is also unfortunately a huge amount of wasted work, both for developers of those tools and libraries who are doing the same things repeatedly for no great benefit, and for the potential users who have permanent analysis paralysis.
That much will improve as the industry matures and consolidates, though I fear we are now stuck with HTML/CSS/JS as our foundation, at least until the successor to the Web comes along with things like interactive sites and security-by-default as primary design goals.
Not enough people are brave enough to speak out like you do. I agree with the Stockholm Syndrome argument. There's also an argument to be made about the fact that those who defend the broken web think it can be fixed with more technology and complexity, instead of less (ie. stepping back, coming up with a foundational model of computation, and so on, as functional programming has been doing).
If you live in NYC, let me buy coffee/beer/whatever sometime - I don't know anyone personally that agrees with me on those things.
Thanks for invitation, I'd love to talk this through over a beer :). Unfortunately, I live on the other side of the world. I'll let you know if I happen to be in NYC; shoot me a message if you find yourself in Poland :).
* Because I can use any editor I like - free, open-source, paid, whatever.
* Because I can build and use tools which are themselves built on top of the standards, and choose which tools I want (SASS, LESS, CoffeeScript, etc).
* Because I can build responsive websites that work on screen sizes from watches to 60" TV screens.
As IT support:
* Because my users don't have to frequently upgrade a bit of software which most of the time offered little benefit, but big security risks.
As a user:
* Because I can use just about any browser I like, and (usually, at least) get at least some experience of the website more than "Sorry, you don't have Flash installed, so bugger off."
* Because the user experience has become a lot more consistent. Weird navigation controls have become outliers rather than standard.
I have no ideological opposition to Flash, more to the way it was used. While Flash was popular, the progress of open standards was slow because it was less urgent.
>* Because I can use any editor I like - free, open-source, paid, whatever.
You can write .as files in any editor and compile via the command line...
>* Because I can build and use tools which are themselves built on top of the standards, and choose which tools I want (SASS, LESS, >CoffeeScript, etc).
There was a very active OS community, lots of frameworks, tools and libs.
>* Because I can build responsive websites that work on screen sizes from watches to 60" TV screens.
I'll give you watches, but responsive design is a concept that can be carried out in any language. Flash apps actually responded quite well to screen resizing, more so than the table layout HTML that was the alternative for most of it's life.
>As IT support:
* Because my users don't have to frequently upgrade a bit of software which most of the time offered little benefit, but big security risks.
Could make the same argument for most software at the time, even now most browser and OS updates are security based.
>As a user:
* Because I can use just about any browser I like, and (usually, at least) get at least some experience of the website more than "Sorry, you don't have Flash installed, so bugger off."
This is a good point, but these days people are only developing for <your browser> version x and above. So no real change.
>* Because the user experience has become a lot more consistent. Weird navigation controls have become outliers rather than standard.
The same people that designed flash websites are now designing HTML ones, the technology hasn't dictated that change, I expect it is down to the prevalence of UX.
>I have no ideological opposition to Flash, more to the way it was used. While Flash was popular, the progress of open standards was slow because it was less urgent.
Indeed, but the progress of Flash was very fast as it didn't need a commity, without it the web would likley be very far behind.
Along those lines, here's a description of the project from the commissioning organization, e-2.org:
> As word processing software becomes ever more advanced, correcting syntax and spelling errors, these familiar programmes begin to impose a standardised corporate language onto our writing.
> Takahashi has produced her own fully functioning online version which undermines this dehumanising process. Reclaiming the initiative back from the software, Word Perhect presents an idiosyncratic hand-drawn interface leading to a set of functioning but strangely altered tools.
What OS are you using? It runs fine on my Fedora Linux machine. Admittedly, I did just install the latest Flash yesterday because I got tired of Facebook videos not working (I kept wanting to watch videos friends had posted about the cop murdering an unarmed kid in Ferguson).
I don't like or trust Flash very much, but it does work pretty well on Linux these days.
> I don't like or trust Flash very much, but it does work pretty well on Linux these days.
I'm on Gentoo, and technically I could view this in Firefox, so I suppose it works. However, I'm in Chrome at the moment, and in a recent version of Chrome they decided to drop NPAPI support, so plugins (including Flash) no longer function. Technically, they replaced the NPAPI Flash with Pepper Flash (Pepper being a new plugin API, I think); when I upgraded to the version of Chrome that did all this, it was still masked in Gentoo, so it wouldn't install without me specifically unmasking it… which I didn't. This could just be my distro, of course, though Gentoo is quite wonderful for other reasons. It does appear they've unmasked it, so whenever I next upgrade, I can get it.
Even on non-Gentoo, I still feel like there are some hoops to jump through to get it. Distros typically can't offer it in their package repos, due to the license, right? (It's the same with proprietary music/video codecs last I checked.)
Point being, it requires work just to make it work. HTML doesn't require that. It has made me use Firefox more recently, however.
I also prefer HTML5, and would hope that nobody is building new products for Flash today. I waited months from my last OS install to add Flash to this system...partly because I distrust Adobe, and partly because I didn't want the hassle of dealing with upgrades. Also, it used to be ornery to use Flash on a 64 bit system, requiring installation of 32 bit libraries (which yum/RPM handles fine, except during OS upgrades)...and I was afraid that was still the case. But, that issue is gone, and they provide a 64 bit build.
That is certainly a feat, but I think the more impressive part of this project is funding the web domain and server for 15 years!
In another recent HN article concerning the "screenshot all the things" guy, someone mentioned that they continually run across bookmarks they've saved from interesting sites only two or three years old that now 404--not to mention links from blog posts more than a year or two old.
[Which brings to mind StackExchange. (Socially) enforcing that users copy an answer's text from an external website for future posterity is brilliant.]
>In a 2003 experiment, Fetterly et al. discovered that about one link out of every 200 disappeared each week from the Internet. McCown et al. (2005) discovered that half of the URLs cited in D-Lib Magazine articles were no longer accessible 10 years after publication [the irony!], and other studies have shown link rot in academic literature to be even worse (Spinellis, 2003, Lawrence et al., 2001). Nelson and Allen (2002) examined link rot in digital libraries and found that about 3% of the objects were no longer accessible after one year.
>Bruce Schneier remarks that one friend experienced 50% linkrot in one of his pages over less than 9 years (not that the situation was any better in 1998), and that his own blog posts link to news articles that go dead in days; the Internet Archive has estimated the average lifespan of a Web page at 100 days. A Science study looked at articles in prestigious journals; they didn’t use many Internet links, but when they did, 2 years later ~13% were dead. The French company Linterweb studied external links on the French Wikipedia before setting up their cache of French external links, and found - back in 2008 - already 5% were dead. (The English Wikipedia has seen a 2010-2011 spike from a few thousand dead links to ~110,000 out of ~17.5m live links.) The dismal studies just go on and on and on (and on). Even in a highly stable, funded, curated environment, link rot happens anyway. For example, about 11% of Arab Spring-related tweets were gone within a year (even though Twitter is - currently - still around).
What Adobe got right with Flash (and Blender unfortunately failed to do for 3D) was entire self-contained production pipeline within a single product. You get to fire up Flash IDE, draw in it, layout in it, add scripts to it, debug there, test, publish, and voila - game done. This led to huge productivity/creativity boosts and single-man chop shops.
I had my little hybrid Tablet PC back in 2008 where I'd fire up Adobe Flash IDE, get to draw on it with a pen with pressure sensitivity and custom brushes, swivel to PC mode, get to some coding, attach scripts, debug some, and get my game prototype up in few hours with decent hand-drawn art. Hell, I remember fully completing (to production binary, with zero or very little tweaks afterwards) some adver-games in under 3 hours.
Imagine that - you need just a single application to do absolutely _everything_ in order to publish a successful game. Fast.
I'm still waiting for anything even remotely close to that in terms of both quality and features, on _any_ other technological platform for game development, lest one that was immediately deployable to >99% of potential customers.
You have a very good point there, though to be fair Macromedia got that right and then Adobe proceeded to screw it up. Adobe never liked the idea of using a single application, they like to sell people a range.
There's a lot of "dead" languages that have specialized use and continue to feed people. However, the world where Flash was supposed to be an ubiquitous business platform is much different than developing games.
It's sort of a re-imagined word processor (implemented in Flash). It lets you select an from an array of things to write on (masking tape, back of a phone bill, a lighter, etc.) and what size and level of messiness you want to write with.
Some standard word processing functions are implemented in surprising ways. "Deleting" just scribbles out a word. "Cut" suggests that you print the document first and then cut it up.
Other buttons in the editor window are more playful in nature. A "bored" button suggests that you go outside and play, for example.
It's a parody of a word processor that lets you "handwrite" on scraps of paper and such, with lots of semi-useless buttons like a spell check that tells you to look words up in a dictionary.
There's a world of difference between "could" and "can", which is why I use Emacs and do things, instead of using something else and wondering what could have been ;).