In the case of Magic Mouse, there's really a case of holding it wrong too. People hold it wrong and thats why they also complain about the ergonomics.
Truly excellent but misunderstood product.
Also if most people can't just pick up the mouse and use it, it's a broken design. In my particular case, it's so much smaller than my palm that I'm sure any grip would result in RSI.
Changing the design to accommodate a port in the front doesn't make sense because the primary function of the device is to act as a human-computer interface and optimising the design for that purpose is paramount, charging is not a primary function but something that we have to do with electronics and as a result having long battery life and short charging process is good enough solution(the battery lasts about a month, charging takes about 2 hours but will work for hours even with a few minutes or charging). Why would you compromise a design for something that needs to be done occasionally and can be done out of the service(i.e. at nigh, when not using it).
Also, we don't agree that the magic mouse is good human-computer interface because I'm starting from the position that causing physical pain automatically precludes it from that category. Another example of an interface in the same position is laser keyboards. They're also very cool designs, but the the fact that tapping on solid surfaces starts to hurt after awhile precludes them from being 'good' HCI.
I mean, if you really think that charging a few minutes a day or leave it charging overnight once a month is a deal breaker, simply don't buy it but this is not a bad design. It is very unrealistic to expect that the mouse will be used 24/7 every day forever. If you have this use case of using mouse 24/7 everyday, this must be some kind of industrial operation and obviously this mouse is not for you but for everyone else it's a non-issue.
Anyway, hopefully we can avoid wild mischaracterizations here. My expectation obviously isn't that things work 24/7 indefinitely. Think about how the typical user is going to discover that the battery is low. Either they'll get the notification just before it dies and have to charge it "soon" [1] or the mouse will simply die and force the matter. In some cases (think multi-user computer labs), the person who receives the notification and the person who has to charge the mouse might be two different people. I think it's reasonable to find waiting around on a mouse rather than whatever they were planning on doing irritating.
[1] https://apple.stackexchange.com/questions/254703/get-low-bat...
I had the occasion where the battery died by surprise. That’s why I keep repeating that the device works for hours after few minutes o charging, you don’t have to fully charge it before use.
The next one: the charge lasts a month to six weeks with normal use.
Next one after that: it's your unlucky day and you didn't idly think "oh, hey, I'll plug this in over lunch" on week three like a normal person. What you do is plug it in, and take a ten minute break. Everyone has ten minutes worth of things they can do. This gets you to a real break, and now you're good for another six months. Yes, I said months, just plug the damn thing in sometimes. Set yourself a reminder. Don't be a vegetable.
The amount of time you've dedicated to being irritated online about a product you don't use, is longer than the irritation a typical user of that product will experience the entire time they own it.
Congratuations, I guess.
Anyways I'm not irritated. This conversation was started because I asked what the good reasons behind obvious design issues are. So far the conversation has been about how you can work around them. That's great, but not the point.
Well, that's the broken design part.
>Changing the design to accommodate a port in the front doesn't make sense because the primary function of the device is to act as a human-computer interface and optimising the design for that purpose is paramount
There's nothing about HCI that prevents a different design.
In fact, the Magic Mouse is one of the least ergonomically optimized mice out there...
Then fire Jony Ive and make the front thicker! This isn't exactly rocket surgery.
This is in contrast to focus follows mouse, which you really can't do, and I wish it weren't so. In general though? The OS provides a lot of affordances for automation and customization, it exposes some of that through preferences and leaves the rest for developers.
A good example is what you can do to the keyboard from System Preferences (which is quite a bit) vs. what you can do using Karabiner.
Well, apps using it get a uniform look, that uniformly changes when the OS look is updated so that it matches it, and more importantly, they and also get to have the same widgets and widget functionality [1].
Unlike, say, Windows where you have 20 generations of MS GUI lib versions, with different looks and behavior, running at the same time, even from MS apps themselves...
[1] Yes, Apple has its share of inconsistencies (e.g. Swift UI vs regular Cocoa UI). But nothing like what would have resulted if they allowed apps with different historical macOS UI libs/versions to be installed at the same time independently from the OS UI libs.
Not completely orthogonal, as several different generations of MS GUI APIs implement different look and feels.
And bundling it with the OS means devs aren't forced to update their apps to the new APIs. It also makes it impossible for MS to automatically switch the look and feel (they could try for trivial things, but they wouldn't be able to properly accomondate old UIs based on pixel positions, nor would they be able to offer many of the new features given older widget designs).
https://segmentfault.com/a/1190000040213084/en
https://ntdotdev.wordpress.com/2021/02/06/state-of-the-windo...
Also apps don't get the new "improved" styles etc if they don't have it in the system, which takes away the consistency Apple aims for.
And then: It's Apple ...
The reason is platform coherence and control, and lock-step updates. To avoid cases like this:
https://segmentfault.com/a/1190000040213084/en
https://ntdotdev.wordpress.com/2021/02/06/state-of-the-windo...
...and not the insignificant money that could be made from devs updating a laptop a little earlier (especially since you can trivially use a still supported 5-6 year old laptop anyway with the newest Apple OS, and you wouldn't see any major performance issue, except in cases like the Intel to ARM switching. So what would they gain? Developers forced not to use an 8 or 10 year old laptop? As if they would?).