Link: AMP Thoughts

Oh, AMP. You (theoretically) mean well, but you’re an ethical swampland. In that vein, some links to share: First, Jeremy Keith has an article, Ends and Means, that is worth reading, and explores both the quagmire that is AMP, and also the well-meaning mess that Mozilla is currently planning regarding locking all new features (including unrelated things like CSS) to only work if you’re on HTTPS.

Second, Chris Coyler over at CSS Tricks wrote a follow-up, AMP News, which is also worth a read (and links to multiple other writers who are discussing this topic).

It’s pretty obvious where I land on this particular topic (I mean, I even co-signed the AMP Letter). I just don’t think paternalistic behavior jives well with a message of an open internet. A real question I think they (and others) should be asking is: is this technology a management-change away from being unethical? If so, maybe you should reconsider.

Link: Technologies We Forgot to Invent

Over at the Polymath Project, Charles Chu writes Gene Wolfe: A Science Fiction Legend on the Future-Altering Technologies We Forgot to Invent

A worthwhile read (as is Gene Wolfe. Seriously, go read him), talking about how arbitrary it can be when things actually get invented. In some cases, get invented, forgotten, and then re-invented. It’s a fun read, and also encouraging in a “don’t just assume that if it was a good idea it would have been invented already, because that’s bullshit” sort of way.

Many of the greatest discoveries of the 20th century such as the laser and the internet were first made as playthings or for unrelated purposes. Nobody thought they would have the practical application they now do. Many of the great discoveries of the 21st century will be found in the same way—by accident.

The answer, then, may not be to pour more funding into R&D. Rather, we should encourage tinkering—we need to repeat many rounds of random, playful and curious trial-and-error to actually discover the amazing ideas that are sitting, invisible, right in front of our faces.

I’m not entirely sure I agree with the notion of pouring less into R&D (good R&D is a mixture of structure and open tinkering and exploration), but I think the argument is otherwise sound.

Link: Chrome-Only Sites are a Problem

Via the Verge, Chrome is turning into the new Internet Explorer 6. I’ve been saying this for a while, and often get poo-pooed by folks who really like Chrome. Let me expand on that a bit and explain what I mean. (First, go read the article, it lays some good groundwork.)

The big response I hear is “Chrome is standards compliant, so if only Chrome is supported then the others need to catch up!” There are several browsers that claim to be standards-compliant. This is fine, and a good aspiration, but is also a bit of a half-truth: in reality browsers are partially compliant. This is because standards continue to evolve, and it takes time to implement those standards, and literally no browser is actually 100% compliant with current standards. Further, different developers are going to prioritize different parts of the standard, so while Chrome might have one feature implemented, Firefox implemented one Chrome doesn’t have, and Safari might have a different feature than either of them. Each of those features are standards compliant.

Part of the issue, and why articles like the one linked above are starting to crop up, is developers look at the new shiny in Chrome specifically, and develop around that, ignoring all other users and browsers. While there’s room for experimentation and trying out new features, putting sites into production without considering the impact on users that don’t have the features Chrome chose to implement first is bad for the web (and frankly bad for business). This isn’t specifically Chrome’s fault, mind you — the same could be said for sites using features only Firefox or Edge or Safari support, without including a fallback. However, since Chrome has the marketshare, the issue becomes much more prevalent with Chrome.

The other response that comes up is “if it works in Chrome then it’s the others that are broken.” Sometimes that’s the case, I’ll happily concede, but frankly not as often as people make it out to be. There are no shortage of bugs in all browsers, and Chrome is no exception (just in the Chromium public bug tracker, bug IDs are about to crest 800k, of which 57k are still open and active). This means you are going to work around quirks and issues in their implementation of a particular feature, even longstanding parts of CSS or HTML. This is an unfortunate but unavoidable part of web development. The issue (again) is when you only fix the issues around Chrome, or assume Chrome’s incorrect behavior is what should be expected, and leave a broken experience for all other users.

This all leads to a result of sites saying “Best used in Chrome!” or having broken functionality in other browsers without even a note, or even just blocking use with other browsers. That is what people are talking about with Chrome becoming the new IE6. It isn’t really Chrome’s fault it’s turning into IE6, but it doesn’t change the fact that as long as developers treat it as the gold standard and ignore other browsers, that’s what it will become.

(This, of course, isn’t even getting into the shift at Google to start making their newer services Chrome-ONLY, which is the next phase of IE6-ification. Some have received claims of eventual compatibility with other browsers, but others have not. While as a company they’re entitled to make those sorts of decisions, there’s nothing “standards compliant” about that sort of behavior, and earns them every bit of IE6-comparisons they receive.)

Link: Stop Using Facebook and start using your browser

Via Kottke.org, an article on Mashable about how we should stop relying on Facebook (and Twitter) to feed us content, and should try and go back to actually visiting sites that interest us. Get out of the algorithm for a hot second, for a variety of reasons — not the least of which being that you’ll (hopefully) get more diversity of thought on a wider variety of topics, rather than just what Facebook’s algorithm thinks you should see.

It’s definitely not simple, nor insignificant. By choosing to be a reader of websites whose voices and ideas you’re fundamentally interested in and care about, you’re taking control.

And by doing that, you’ll chip away at the incentive publishers have to create headlines and stories weaponized for the purpose of sharing on social media. You’ll be stripping away at the motivation for websites everywhere (including this one) to make dumb hollow mindgarbage. At the same time, you’ll increase the incentive for these websites to be (if nothing else) more consistent and less desperate for your attention.

Link: Silicon Valley is Turning Into Its Own Worst Fear

Ted Chiang has a quick but worthwhile read over at Buzzfeed about how Silicon Valley is Turning Into Its Own Worst Fear:

The ethos of startup culture could serve as a blueprint for civilization-destroying AIs. “Move fast and break things” was once Facebook’s motto; they later changed it to “Move fast with stable infrastructure,” but they were talking about preserving what they had built, not what anyone else had. This attitude of treating the rest of the world as eggs to be broken for one’s own omelet could be the prime directive for an AI bringing about the apocalypse.

It’s a lot to chew on, but gets at something we should be seriously considering more than we are.

My Take on the WWDC Keynote: Net Positive

First, if you’ve not watched the WWDC Keynote yet, you can watch it here: WWDC 2016 Keynote (You can also see a write-up over at Wired and a Liveblog of the event at Engadget.) There are a few things that came up that I think are pretty notable.

First, Continuity continues to be a big push: Apple wants as seamless an ecosystem as possible across all devices and platforms in their stable of products. We started seeing some elements of this in Yosemite and El Capitan, and it looks like they’re doubling down on it in Sierra. I have some reservations about this — mainly, lock-in and whether or not it will play well with third parties. The concept itself, though, makes a ton of sense. I’m curious to see what sort of response we’ll see from Microsoft and Google in this space (MS is starting to point this direction with their push towards a single core across platforms, but at the same time we’re seeing a de-emphasis of Windows Phone, so curious how this will play out).

Second, Machine Learning. All the big players are getting into it (Siri, Alexa, Cortana, Google Assistant), and Apple has clearly invested heavily in this area, with tight integration of Siri into iOS and macOS. One thing I think is notable about Apple’s choices with this, though, is keeping the AI on-device, rather than web-driven. I’m very curious to see how this evolves in future releases.

Third, Security, Privacy, and Encryption. Several times in the keynote, they made a point of calling out that they’re NOT building profiles of user, and are keeping PII on your device, not on their servers. This emphasis on privacy (and security) pervades a number of the choices they’re making, which I applaud them for committing to. While I disagree with some of their product decisions (single-port computers, charging ports on the bottom of the new magic mouse, etc), I genuinely appreciate that they’re sticking to their guns in the face of pressure from the government.

Fourth, Opening up new APIs. A big concern I’ve had in recent releases from Apple is continued lockdown of services, where it felt like if you weren’t Apple, you couldn’t play on the playground. This release sees several integrated services get opened up to third parties (Messages, Maps, Siri being the big three to me), which gives me some hope that Apple isn’t entirely forgetting what made OS X so great.

Fifth, Swift Playground. It’s worth noting that this closed out the keynote, and for good reason. Apple is committing to bringing programming into education in a big way, by making what appears to be a robust learning app that targets youth where they are (mobile devices like iPads), teaching them a language they can directly use for real, complex applications. This is a big win for both Apple and STEM: For Apple, it gets a new generation of developers started using their tools, environment, and language, which you can bet will make an impact on what they choose to use in the future. For STEM, they’re providing free tools, free resources (entire books, including guides on how to teach it and incorporate into your curriculum), already targeted to youth. That’s awesome. You can read more about the whole initiative at their Everyone Can Code page.

It wasn’t covered in the keynote, but has been brought up elsewhere: they’re also releasing a new Apple File System, replacing the old and creaky HFS+. This is significant: Apple’s been using HFS (and then an expanded HFS+) for basically the entire time Mac OS has existed. From reports, it sounds like a robust, next-generation file system that brings some brilliant and essential features. While we likely won’t see the OS truly make the most of these new features until the version after Sierra, this is still quite interesting, and I’m excited to see what gets done with it.

Overall, it felt like a productive developer-centric keynote. It leaves me feeling cautiously hopeful about the future of the ecosystem, and that they’re placing their bets in the right places.