1,309 karma · joined April 20, 2015
Only Chrome seems to have actually implemented the spec this strictly, they don't want to change it: https://bugs.chromium.org/p/chromium/issues/detail?id=104579...
GraphQL shines when you have a big(ish) data model with a high variety of queries you want to run on the client. It's also cool if you get it for free with your tech stack, I think. But if you have to implement a complex GraphQL server stack yourself to work with existing data sources it's definitely not always worth it.
The worst part about that was if your signal quality wasn't great. You'd see blocks fail, and it'd take ages for them to come up again.
The boxes now ship with usable firmware preloaded, and will update in the background in the first few days usually.
I put on my playlist in shuffle after dinner, and drifted away into a very nice, long, uninterrupted sleep. When I woke up my breakfast was ready and waiting for me on the big surfaces below the windows. BA Club World has it's issues, but that flight was so memorably that I renamed my playlist from "Night Tunes" to "64K" to remember it.
The encrypted media extensions (EME) are only available on secure contexts, which means the page needs to be HTTPS. Segments are typically fetched with standard XHR/fetch, which means they need to use HTTPS on secure origins as well. You really don't want to have to deal with mixed content.
Unrelated to DRM, Apple's ATS on iOS kinda requires developers to only use HTTPS origins in their apps.
At that point, you might as well just do HTTPS everywhere.
It's been over a year since I had an Audi A3 with the system, but I still remember that going from anywhere to Android Auto would be pressing home, then just giving the wheel a big turn clockwise, then back one click counter-clockwise and confirm. You got used to the common operations, and you could do them blindly after a while. In a moving car, a touchscreen is almost always problematic because you need to see if your finger is going the right direction to compensate for car movements.
- Thickness: 1.55cm to 1.62cm (+0.7mm, +4.5%)
- Width: 34.93cm to 35.79cm (+0.86cm, +2.5%)
- Depth: 24.07cm to 24.59cm (+0.52cm, +2.2%)
- Weight: 1.83kg to 2.0kg (+170gr, +9.3%)
The display alone is ~1.3cm wider (and ~0.7cm higher), so there was a small reduction in bezel sizes, allowing the screen to grow more than the rest of the hardware.
The Xperia 1 for example: https://www.sonymobile.com/global-en/products/phones/xperia-...
It has a clean, simple look. Three cameras, but they're understated in positioning. No notch, just a small balanced bezel on the top and bottom. A side-mounted fingerprint scanner (where your thumb/ring finger/middle finger naturally rests). A simple, flat display with only very slightly rounded corners.
Sony has been acing smartphone design for years, by simply doing their own thing and not jumping head first into every trend. I wish they did better on marketing and software, because hardware-wise they're killing it. They deserve to be more popular.
https://bugs.chromium.org/p/chromium/issues/detail?id=100596...
The automated passport gates (for Belgian eIDs and EU biometric passports) are not included or affected and will keep working (when they're not broken or closed).
I figured out that they only did validation on SSIDs client-side, so managed to get around that to put emoji's in my SSID.
Which then proceeded to soft-brick the entire thing on config push. I'd have to log in to the web portal via another connection, change the SSID there, and then reset the hardware with the reset button to get internet working again.
I tried 4.5 years ago with https://vivavlaanderen.radio2.be/ - disclaimer: the experience isn't great on mobile (design issue, not tech) and the JS/HTML is massive (it was my first JS project ever, so I messed a bit with Webpack etc).
One of the tricks I used is partial rendering. If you click an artist page (the square/rectangular people photos with a name) and have JS enabled it'll first only render the header, then add a few body items, then the rest of the body items. Since we used a horribly inefficient handmade Markdown to JS thing with a renderer in old naive React it took way too long to render them all at the same time, it'd easily lock up the browser for two seconds on a large page.
Another ridiculous thing was to preload enough data to render the top part of every single artist page while you're on the homepage. A complete waste of data, but otherwise navigation would need a request before being able to render something useful and that defeated the point.
I did pay a lot of attention to making it feel like real navigation though. Almost any meaningful interaction modifies the URL, and the site is practically fully functional without JS. Navigation and Cmd-clicking should all work perfectly. Including scroll positions handling. SEO worked really well too.
So for a classic website format, to make client side rendering work, you need:
- a URL for every view change, with regular old <a> elements that have those URLs as href.
- server rendering that actually handles all of those URLs
- something that restores scroll positions on navigation
- phased/batched rendering on click if your initial new view doesn't render in say 100ms (basically faking progressive rendering)
The development experience was a bit frustrating back in the day, and I don't think it paid off. Which is why for the next project (https://www.klara.be) we decided to go back to server rendering, but using React on the server. Some parts of the page (like the coloured box top right on desktop) are rendered as a skeleton on the server, and then React on the client reuses the same exact code to make these parts interactive again. Partial universal React basically, and it worked very well. I think klara.be feels like a nice and snappy site and it was way easier to develop for.
VGA is the most surprising one to still see. I wonder what the reasoning behind that is. I can't really see them targeting the corporate market.
Later I had a bunch of rentals with touchscreen Android Auto, and it was less convenient and less safe than rotary dial Android Auto.
I wish Audi would've kept the rotary dial when they added a touchscreen in their latest infotainment revision.
If you can do full self-driving on highways and similar roads, you can start shouting about full self-driving on high percentages of distance driven.