I live in the EU and now traveling my family outside the EU. Today I’ve tried updating AltStore but it won’t let me. Even VPNing to my home won’t do it.
So until there will be more incentive to make it globally, the UX is intentionally crippled not only by making the minimal viable but also by region locking.
Imagine pairing headphones working great in EU and then you’re traveling somewhere and it’s broken.
This is the future of the internet. More and more countries have their local laws and international companies need to comply with local laws. This has been the case forever for companies selling products and (physical) services and some digital services restricting music and movie rights in certain countries, but it will expand to more and more services and apps in the future.
"Local laws" is quite the loaded term when your parent commenter's anecdote is about EU which currently encompasses 27 countries.
And when "comply with local laws" means "unbrick bluetooth pairing for third-party devices" then a company in good faith could just, you know, not brick the functionality in the first place. There's no law against products that "just work".
I think the EU believes they have more of an effect on the rest of the world than they actually do. Complying with every law in every jurisdiction that has access to a product sounds like a nightmare that will only stifle innovation.
I’d also assume with many ad-supported apps they’re also leading source of ads (also on iOS)
Another point to consider,
Is they DO take fee from each device developer that includes Google App Services. So basically ALL devices with official Play Store sold by the manufacturer already pays a fee to include their store (but also that’s the only way to have official Gmail and other services users would expect when buying an android device)
The more I think about it I wonder why Chinese TVs using Android based TV don’t have Some GrapheneTV or basic trimmed down Android aimed to be “dumb”.
Unlike phones,
- if it should be air gapped then all you’d want is your HDMIs input and remote control to work.
- nice to have: ADCs/DACs for analog AV input and audio out and any antenna input if available.
- super nice to have: Bluetooth for passing audio out and maybe network (Ethernet, WiFi) stack if same.
But assuming the goal is airgapped. There are less security concerns in general,
You just want the Android TV to be lightweight and fast and don’t care it’s “stuck” in specific version or use closed blobs.
There's a lineageos template for Android TV. I don't think grapheneos will ever run on something like that (it doesn't even run on phones with ten times the security capabilities of TV SoCs) but alternative ROMs are available. There's also KDE Plasma if you want to go the non-Android route, though you'll struggle to find good support for that.
One problem with that approach is that you'll lose access to DRM'd contents, so while the official Netflix/HBO/Prime apps will install on lineageos, their video quality will be terrible or they will refuse to work.
There are a bunch of Google TV variants (brands like TCL and Philips) that will let you turn on "basic TV mode" (https://support.google.com/googletv/answer/10408998?hl=en), disabling pretty much everything other than displaying content.
As for why the Chinese TVs don't have a dumb mode, I think it's because the Chinese market is full of devices crammed to the brim with smart features, so smart TVs are sort of expected these days.
Looking at recent AV1 submits on HN. It feels it’s all politics waiting for enough interests to burst.
It might take some years. But it’s not far fetch especially if big players would get into it. Let’s say Netflix interest in games gets them to buy company such as Valve and it aligns with their interests of getting some standard.
They can get TV and displays manufactures support it and end up changing the market.
But for such to happen there needs to be enough interests and incentives.
My initial goal was to fix some mistakes in the MIDI files I recorded from my keyboard. I was also interested in making dynamic tempo and expression changes without dealing with complicated DAW GUIs.
Now I'm working on a synth that uses MTXT as its first-class recording format, and it's also pushing me to fine-tune a language model on it.
I feel few points weren’t addressed in the article.
1. Size, biggest problem with JSON can happen when things gets too big. So here other formats might be better. Yet, as a reminder JSON has the binary version named BSON.
2. Zero batteries. JSON is readable by humans but also almost self explanatory format. Most languages has built in or quick drop in for json. Still, it’s easy to implement a limited JSON parser from scratch when in need (eg. Pure on func in C on a tiny device).
Working with Protobuf and MsgPack in the past, You have much more tooling involved especially if data passes between parts written in different languages.
3. Validation, JSON is simple. But there are solutions such as JSON Schema.
It is a JSON superset with binary encoding, created by MongoDB. (And there is even a JSON encoding of BSON, called extended JSON.)
AFAIK there is no widely adopted binary pure adaptation of JSON. (There are application-specific storage formats, like PostgreSQL JSONB, or SQLite JSONB.)
——-
Moreover, JSON is relatively compact. BSON or other self descriptive binary formats are often around the same size of JSON. MessagePack aggressively tries to be compact and is, depending on the data. BSON doesn’t try to be compact, rather it improves the parse speed.
CBOR [0] is probably the closest to a widely adopted "pure" adaptation of JSON. It is still technically a superset of JSON, but it tries to be closely matched and frequently cross-references the JSON specs directly, especially because it is also an IETF tracked standard like JSON, and in so far as widely adopted is concerned is included in web standards like WebAuthn today. (For instance, you can't handle Passkeys without some amount of CBOR. The presumed next steps to wider adoption now that all browsers have internal CBOR encoders/decoders would be to add a web platform JS API for it as well.)
However, yes, JSON compresses extremely well even in ancient gzip, but especially in Brotli, and desiring compaction of your API responses alone isn't necessarily the best reason to prefer a binary encoding of JSON to just using JSON and letting compression do its thing.
Compressed jsonlines with strong schema seems to cover most cases where you aren't severely constrained by CPU or small message size (i.e., mostly embedded stuff).
I wouldn't say it's only speed.
I've been Firefox for years, but eventually ended up surrendering Apple eco-system. with Apple silicon, Firefox at least then wasn't sleeping that well, and the tab sync of FF between my devices was also less than I've desired.
So performance is general is more like it...
that includes not hurting my battery life.
I've used all 3 browsers (chrome/safari/ff) daily doing web dev for years now and I'm convinced Safari just feels faster as a cohesive Mac app, with the animations and what not, but isn't in general when using the internet day-to-day. FF is little different than Chrome/Safari.
Also as a dev Safari is becoming the new IE. I've had a whole suite of Safari-only bugs in the past 2yrs and lots of browser crash reports from users.
We're now in a mixed computing era that is shaping the future of computing:
Ignoring niche OSes (eg consumer electronics such as TVs/dishwashers/etc)
- PC (Windows, Linux, macOS)
- Mobile (to simplify, this includes phones, watches and ongoing AR / AI progress based around Android and iOS with some Meta)
Mobile already "broke" the rules, and we have locked down devices with simplified "app stores" and more complex off-the-market OSes since each device is a unique SoC combination many times with closed-sourced blobs.
Web did a major change for desktop (which I guess part of the assumption for ChromeOS). but there are still some scenarios where native APIs are needed.
On the other hand, current Desktop OS market is a mess, Windows is focusing on intrusive features and enforcing user account, Apple is all about "notarizing" and making desktop similar to mobile, and Linux is diverged with multiple variants.
I really hope for opinionated Linux distribution promoted by a big player (I've always hoped Adobe or someone in the right size will understand the need and their ability to get enough common products to it).
Having said that,
Linux did great advancement over the years. Many companies including closed source already have some support and also gaming made great advancement.
Anyway,
Making a "locked os" won't do much. So unless Google plans to shoot their own leg, they'll need to make it open enough.
Using C++ daily, whenever I do js/ts are some javascript variant, since I don't use it daily, and update becomes a very complex task. frameworks and deps change APIs very frequently.
It's also very confusing (and I think those attack vectors benefit exactly from that), since you have a dependency but the dep itself dependent on another dep version.
Building basic CapacitorJS / Svelte app as an example, results many deps.
It might be a newbie question, but,
Is there any solution or workflow where you don't end up with this dependency hell?
Don't use a framework? Loading a JS script on a page that says "when a update b" hasn't changed much in about 20 years.
Maybe I'm being a bit trite but the world of JavaScript is not some mysterious place separate from all other web programming, you can make bad decisions on either side of the stack. These comments always read like devs suddenly realizing the world of user interactions is more complicated and has more edge cases than they think.
What I love about this is how physical it is.
So yeah, there's some board running DSP. but the design is amazing.
It really relates to some recent posts also in HN about many objects loosing their physical UX. from an age of having buttons and tactical interfaces, everything became more touch based / app based which indeed cut price and allows easier updating. but also lacks some romance which is exactly what this device shows.
I have a few of those, and heaps of my friends gat sucked deeply into playing with them at the expense of whatever they actually came over for. "Nah, I'm not hungry. You should all eat without me, I'll just finish tweaking this groove."
They're aimed (as the company name hints) as a little older than 3 year olds.
One hint for the OP, it's so cool how you can plug those toys into each other in a chain, and have them all sync - so the percussion, base, and melody can all be programmed on threee different POs, and automatically play together.
I don't think it matters all that much. Any specific opinions are going to be more a natter of personal taste.
Get one aimed at rhythm/percussion, one that has some bass/lowend sounds, and something to make melodies.
I have a PO12, PO14, and PO16. If I was going to buy another one it'd be a toss up between the PO33 and the PO35. If I were starting from scratch I think I'd still get the PO14, I might get a PO24 or PO32 instead of the PO12, and I might get a PO28 instead of the 16. Or if said young middle schooler has access to sounds they can sample easily enough (like, say, Garageband on an iPad_ maybe jump straight to one of the sampling ones (PO33 or 35) for the lead/melody sounds.
Agreed. That's half the reason that no matter how accurate a virtual synthesizer can be (like the Mac App Moog Model D), there's just no substitute for being able to physically fiddle the knobs and dials.
So until there will be more incentive to make it globally, the UX is intentionally crippled not only by making the minimal viable but also by region locking.
Imagine pairing headphones working great in EU and then you’re traveling somewhere and it’s broken.
reply