1) letting Javascript initiate network connections without explicit user interaction with a narrow set of elements (say, a submit button) was a mistake.
2) not having a browser-provided summary of the data a form is about to submit before it's transmitted was a mistake.
Basically letting Javascript escape from a little box of tightly-scoped input validation handling and maybe defining sort functions for tables was a mistake.
And something would replace them, and the same problems would happen because the fundamental problem is not caused by some technological decisions, but stems from human nature.
That a cross-platform application distribution platform might have arisen anyway is beside the point. It'd have been nice to keep that separate from the locked-down hypertext platform that keeps the user in control. We've lost the latter in gaining the former, rather than having both.
[EDIT] I'm with you on humans being the problem over technology in general, but in this particular case I think there were technical reasons that Web 1.0 was destroyed in the creation of Web 2.0 and we were left with one crappy platform that constantly betrays and tricks its users rather than two, at least one of which isn't capable of betraying its users the way this one does. We're where we are because no-one treated Javascript (or anything else with its capabilities and liberties in the browser) as the fundamentally terrible idea and permanent trust-ruiner that it was. It's inherently and unavoidably a security disaster for the Web, not in terms of secure communication between client and server or whatever, but in terms of practical personal security for the users and their data.
You assume that HTML would have survived in the same world as this hypothetical cross-platform app ecosystem. I think you are mistaken and you can ask Gopher fans how well it works out when your platform's capabilities are completely subsumed by a more powerful platform.
If the W3C and the major browser vendors had announced an intention to stagnate and never move beyond basic hypertext documents, either another set of people would have forked and moved on without them or a full replacement would have sprung up.
I also don't think HTML has actually stagnated, though. HTML+CSS+JS is a solution, and it's changed a lot over the years. The HTML piece has experienced the smallest set of core changes, but that's because it already does what it needs to. Adding a modern file upload element might be nice, but it's not necessary. (Also the behavior of upload on the client side is really a browser choice. Browsers could make this a lot prettier without changing HTML at all.)
Like x86 assembly is, sure. Though way less well-suited to its modern purpose than that is. It's alive by accident and momentum, purely.
If it did what we needed it to do we wouldn't have burned who knows how many (tens of?) thousands of person-hours creating half-complete solutions to its various plain-as-day shortcomings. Input wrappers, table sorters, sequential image viewers, and so on. We did finally get video but it's still usually wrapped in custom UI driven by JS. It's not complete and featureful enough to exist as a good rich document format without JS (due to its long stagnation) but is also really far from being a good choice for laying out and describing applications (because it was never meant to be).
Agree that browser vendors are the ones who'd have to fix all this. The time for that passed a long time ago, of course. I just think it'd be nice to have a hypertext document network that doesn't have on-client spying as a first-class, built-in feature that you have to go way out of your way to even partially avoid. Creating Javascript and giving it such wide access was what killed any hope of that. I consider that the original sin of the modern web, that the platform itself is fundamentally and irreparably insecure (from the end user's perspective).
Heck, even if browsers always showed you the data they were about to send, split out by field, just base64 encode what you don't want them to know you know and give it an innocuous field name like, "session_id". Even better, piggyback off of legitimate fields with zero-width-character encoded data. Where there is any signal at all, there is a way to hide extra information.
- Connected people from all around the world
- Empowered small businesses
- Is very pro-charity (e.g. "birthday" charity donations)
- Allowed people to organize themselves online (groups)I just think the world would be very different without Facebook and the other social networks.
Moreover, he's right. JS would have to be fundamentally crippled (no network activity at all) to enforce this. And if you did that, someone would have built equivalent functionality because people wanted it. In fact someone did build an equivalent, actually multiple: ActiveX, Flash, Java Applets.
They had a really great public mission about “responsible gaming” but during one meeting with some execs they let slip that it was all just a joke for them and they didn’t care as long as they got the ticket sales.
It made me feel sick, and I started being a bit uncoorporative on the project until my manager switched me into another project.
So I regret the time I worked in that, and also for being a bit of an asshole on the project instead of just telling my manager I had a problem with that client.
An actual example is of Oskar Schindler (if I recall correctly) whose munition factories in Germany produced faulty munitions during World War II.
These letters potentially cast the standard history of the German bomb in a very different light, suggesting that Heisenberg and his colleagues found a silent way to make a moral decision, not that they were spared one.5
In the thirty years that remained to him, whenever Heisenberg was asked to explain the German “failure” to build a bomb, his answer was what he had written to Elisabeth in letters before, during, and just after the war—that he had stayed in Germany because it needed him, and he had been spared the difficult moral decision of whether to build a bomb by the impossible immensity of the task—exactly what you might expect to hear from a man who didn’t want to do it, and found a way to say no.
I for one tend to agree with the conclusion that Heisenberg could have initiated a German Manhattan project had he desired.
The movie implies that he did so:
"Stern, if this factory ever produces a shell that can actually be fired... I'll be very unhappy."
The Lives of Others, another serious and moving film, shows the protagonist solo-monitoring a dissident in order to not report the latter's dissidence. The Stasi required its spies to work in pairs to plug that specific vulnerability. This was crucial to the plot and gave people a false idea of what resistance to a then-modern tyranny is like. (Disclaimer: actual East German dissidents have approved of the movie, while I'm just a guy with an opinion.)
It's amazing to see the length these companies will go through to present their product as just an innocent entertainment community where responsibility and morals are held in high esteem, and at the same time using every possible psychological trick in the book to hook their users.
[1] https://www.theguardian.com/business/2018/nov/21/bet365-deni...
People entering the industry need to be thinking about the consequences of the products we make, and I feel like that's something that can be led in part by the visible example of experienced engineers like yourself - ones who have experienced being used for a harmful end and now are willing to both speak up and stand against it happening to them again. I know I needed this very same wake up call when I was a much younger engineer. I feel shame every time I speak about my involvement in harmful products and my cowardice in the moment, but that shame also reminds me of how important it is to talk about it, to try and make sure other engineers think about these duties that are so easily overlooked. And to remind myself that I don't ever want to be in that situation again.
I'm from Quebec and here it's Loto-Québec that operate the lottery. They have games on their online platform too, I had some fun on there a few time, but once I read the actual rule and learned that the dice doesn't follow the real probability... that's just freaking wrong. It's a thing to hide probabilities, it's a whole other ballgame to fake them.
When I was working as a permanent employee for an agency, I created two games for the UK's lottery operator. They both had quite intricate rules to snare and addict the people playing them (let's just say that these games are anything but a game of chance). I felt a constant sense of disgust as I was doing it, though it was a moderately interesting technical challenge.
However, I have had the opportunity as a consultant several times to do work for gambling companies (and also for Camelot again!), and I have turned all of these down and made it extremely clear I was doing so for ethical reasons.
I was once asked by a client if we could capture people's email addresses in a sign-up form even if they didn't hit submit, so we could email them later. I am still quite proud of my response, which was, "Yes, we absolutely can! No, we absolutely won't help you do that!"