Random thoughts on a jetlagged day

I went on holidays to NY last Monday, and it's been almost two days since I landed back in London, but despite my constant nagging to "sync", my "super smart watch" keeps insisting that it is 6pm (when it's, in fact, 11pm here).

I have been trying to convince myself that I am not, in fact, jetlagged, and that the fact that I slept 11 hours yesterday would make up for my erratic sleep routine, but since it's 11pm and I'm quite awake I figured it's a great time to dump random thoughts on your face!

Jeremy Keith is happy that Medium will let him post using an API, so he now posts to his journal and then to Medium. It sounds all fine and dandy, but... what about SEO, I wonder? Do we not care about Google rankings anymore? And also, what's the position on 'canonical' content? How do we update all these copies? For the longest time, I've always preferred to post on my blog and then just put links to it in other services. The link to my content won't change, but the content might.

Related, many people are taking to twitter to dump their thoughts in a sort of timeline-stream-of-consciousness. I am guilty of this too, most often when I'm in an airport and I'm having one of my inspiration (read: rant) moments, but can't easily reach for a laptop and fire up my blog admin interface. I've got multiple issues with this:

a) things tend to get lost in twitter b) reading long 'timelines' is the worst; the twitter UI is definitely not up to speed for these cases c) I don't want to read hate comments in the middle of a timeline

A patchy solution is to use Storify or something of the sort, but that means the author has to painfully collect those tweets and thread them back together into that service (I haven't used it so I'm not sure of how easy it is to do). This is extra work. Also, I'm not sure for how long the stories are archived.

An alternative, if you're using Wordpress, is to copy and paste the links to your tweets, and it will archive the content. Still, the displayed UI is nowhere as comfortable as reading individual sentences joined in paragraphs. It's not WP's fault; tweet-timeline-shaped rants feel very awkward in general. It sort of reminds me to the Speakers' Corner, where people try to make themselves heard by yelling short catchy pieces and hoping they attract someone's attention.

My point, in other words, is that more people should be getting blogs (again).

Another related rant would be our modern over-reliance on centralised systems. I did take part on it when I was waiting for my flight last Sunday. It started with Adam Brault's retweet of a post describing how Google, Outlook et al. are penalising new mail systems from the start:

https://twitter.com/adambrault/status/655530803875594240

Adam essentially said that people are trading away freedom for convenience.

At this point I had to take part on this discussion. I am all for the security and decentralisation aspects, but frankly, trying to set up some of these systems requires a degree in Maths OR MORE. You can't expect the average person to just go and do that. People have other priorities.

https://twitter.com/supersole/status/655535237259239424

It's 2015 and setting a functional and robust mail server should not take a whole week for a person who does not work in an ISP or does not compile their own kernel. This is something that drives me nuts. Likewise with signed email and with PGP and all that; it's just so damn impossible for "normal people" to use that, let alone understand why they should use it.

Boo.

Another contentious issue of late seems to be the "modern web" developers vs "the old, progressive enhancement school".

I see some people that I really like and know have very good intentions being all speakers-cornery to each other and hatin' on each others approach and seeing everything in black and white, and I feel terribly sad about all of that. Both sides are right and wrong in different ways, and as with everything in life, there is no One True Approach, but people seem to be falling for these quasi-religious wars in a way that is really frustrating and silly, and very worrying when they confuse beginners with all that FUD.

If there's something I could change in tech with a magic wand, it would be to stop all this loud hate and to start having meaningful, nuanced and researched discussions. Some examples:

  • "JS frameworks are killing the web!" would turn into "loading 300kb of JS before you render anything is a bad practice that leads to terrible experiences, consider using plain HTML, the async or defer attributes, and perhaps the minimum CSS and JS for this first render, and load the rest later as needed"
  • "Are you from the past?!!" would turn into "browsers can do a lot more nowadays than just render static content built by a server, and I'd like to offer that dynamic experience to people and also make it work for as many people as I possibly can, but I do not think I can progressively enhance things in a cost-effective manner past a certain point"

... and so on.

There's also a couple of other issues at play, which is that...

a) many developers do not understand how JS or CSS work at all, because they come from other non-webby developer backgrounds, and b) many developers do not understand how some difficult aspects work, and even if they might not need to overcome those difficulties (because hey, maybe their project is never run on browsers that need to be "polyfilled"), they pull in a framework because that "might protect them".

So that ends up adding a ton of bloat to websites, and also there is this unpalatable cargo cult aura surrounding frameworks. Like if everything you do using a framework is infinitely better and amazing, and also that you must choose one, as your one defining characteristic as a developer.

Likewise, old school people who are used to just "vanilla everything" often don't empathise with the sheer fear that working on front-end induces on new web developers–specially if they come from more runtime controlled environments.

So my proposal is: instead of attacking scared people, and using your vast knowledge to distinguish yourself from "newbies" and "fake developers", what about we try to make things less crap? For example, the fact that many aspects of CSS are super counter intuitive and do not make any sense until you read and understand the spec is something to be worried about, not something to brag about. Perhaps you should contribute to clarify the confusing bits. Perhaps you should spend time trying to explain those bits to new developers, instead of yelling at them from your ivory towers.

Most ironically, all this time we spend arguing and debating about the virtues of this and that framework is essentially a waste of time. It's almost like arguing about football. It makes pretty much no difference. What would actually change things for the better is to deliver...

  • less ads: less unoptimised JS scripts would block the rendering less, and they would load faster, specially over mobile connections because of the extreme latency, so things would be snappier and more pleasant to interact with
  • and smaller images, or at least, the appropriately sized images for the current viewport, or SVG, or PNG where appropriate

And with that I'm done for today–it's 1 AM and I might be starting to get moderately sleepy, so there's hope. ZzZzzZz... maybe!

If you're feeling a bit insomniac: I wrote another random thoughts post, but on a day off, in March, just in case you didn't have enough sole-thoughts today.