1,220 karma · joined September 19, 2013
So it starts to intersect with some non-obvious accessibility issues.
Some may suggest that web services should just give up on bot detection, open up all of their private APIs, and accept bots and third-party clients as facts of life. But this idealism is out of touch with the reality of running an expensive, large-scale web service and a customer-facing business.
HEIF is just a generic image container format. It’s almost identical in structure to a .mp4/.mov/.av1 file (follows ISO BMFF) and can be parsed in an identical way using a simple tree structure. That’s a perfect fit for wrapping a single video I-frame as an image, the basis of all of these new image codecs.
Note that video I-frames can often only be properly rendered using metadata from outside the bitstream, such as HDR characteristics, color profile, or orientation. Sharing that metadata structure with the codec’s canonical video format is the only way to be forward-compatible.
A HEIF that wraps AV1 frame(s) is an .avif
A HEIF that wraps HEVC frame(s) is a .heic
Codecs will change, but the HEIF container is probably the last bitmap file format that we’re going to need for decades.
But they also took a more targeted approach: If you appeared to be a frequent user of the Dev release channel of Chrome (unstable), an offer would appear on the New Tab page to immediately claim a prototype Chromebook for free.
I only know this because that’s how I got mine. A coworker of mine was interested in developing a ChromeOS app, tried switching to the Chrome Dev channel like me, and received a similar offer in a few days.
It was great targeting. We both ended up making ChromeOS-specific improvements to a popular web app. When you compare this to the cost of paying a company to port their app to your platform, this was a good deal for them.
The trick is to be very forgiving: If a user tries to sign in using provider X, and we discover an email address conflict with an account that uses provider Y, we would simply ask users to confirm by clicking a button to sign in with provider Y. From that point forward, both provider X and provider Y can be used to sign into the account.
So many apps miss the importance of this and cut corners by only allowing an account to be associated with 1 sign-in provider, or forcing users to create passwords for these accounts, or differentiating between login and signup.
And the largest and most paranoid companies that host their own mail and authentication services on-perm would probably be allowed to use those. But most everyone else is left doing key escrow with Google and O365 for their work and personal accounts...
That being said, this “1 year free trial” of Apple TV+ is fairly ludicrous. It’s more like a public beta because they know that the service doesn’t yet have enough content to justify its cost, and the promo users are helping them create the perception of a popular service.
Those tiered captive portals have unique requirements that conflict with OS behavior:
A) By default, they want to offer some limited Internet access, such as accessing a sponsored site (often a shopping site like Amazon) or streaming videos (from some server on the airplane LAN).
B) For premium, paying users, they want to offer (mostly) full Internet access
For this to work, they have to fool devices in Tier A into believing that they have Internet access, by spoofing responses from standard captive portal detection URLs like captive.apple.com. Otherwise, if the network fails the captive portal test, many devices won’t stay connected to the Wi-Fi network, preventing access to the sponsored sites or LAN streaming apps.
At the same time, they want users to be able to upgrade from Tier A (limited access) to Tier B (full access) at any time. So they enable these upgrades by serving a captive portal page... to every HTTP site _except_ the standard OS captive portal detection pages that would affect OS behavior.
That’s when the user needs to visit an HTTP site other than the standard captive portal pages. One like neverssl.com
It’s obviously a fragile solution and is becoming an increasingly poor experience as sites adopt HTTPS, HSTS, and other standards. At the same time, I don’t know of any upcoming solutions to the tiered captive portal problem. Does anyone know what should replace this?
Then this happened:
https://trends.google.com/trends/explore?date=all&q=sticky%2...
The popular usage of "sticky headers" had the opposite meaning of "sticky" compared to "sticky footers." The usage of this word to refer to the header behavior won out and was formalized as position:sticky in CSS3 Layout.
The problem now is when people use "sticky footer" in the former sense, it's misinterpreted. Note the other comments on this story.
One nit: This isn't a "sticky" footer, and that's a good thing. I'd just call this a "bottom footer" for lack of a better term.
Sticky is used to describe an element that starts with a non-fixed (non-overlaying) position such as position:static and switches to a fixed (overlaying) position to stay visible on screen during scrolling.
https://developer.mozilla.org/en-US/docs/Web/CSS/position#st...
This is: The footer is placed at the bottom of the window or the bottom of the body, whichever is _lower_.
Sticky would be: The footer is placed at the bottom of the window or the bottom of the body, whichever is _higher_.
"will be forced to share users’ encrypted messages with British police"
So far, all the article is saying is that ciphertext will have to be shared.
>"will be forced to share users’ encrypted messages with British police"
So far, all the article is saying is that ciphertext will have to be shared. Anything about decrypted messages is speculation at this point.
(It would be very bad if a backdoor will be forced.)
• "Wi-Fi" and "Bluetooth" connection triggers are extremely susceptible to bouncing on and off with variable radio conditions
• "Arrive", "Leave", and "Before I Leave" are all susceptible to bouncing in and out; they combine a fuzzy location of variable precision with a point and radius
By requiring a user interaction, it makes sure that bouncing never causes the shortcut to trigger more often than desired. Apple certainly tries to debounce the event automatically, but that comes with other side effects: the trigger can be delayed significantly and unpredictably.
(As for why "Time of Day" requires a user interaction, I have yet to hear a satisfying explanation. I want my Cron!)