Ars amongst a number of others had an article covering this [0] last week. Not that trivial to exploit but sounded relatively nasty if it was triggered, so better late than never. Though HomeKit overall has been a pretty significant disappointment and definitely feels like one of those semi-afterthought type of Apple projects at this point. Important enough or with enough internal sway to not get dropped outright, but not enough to get any serious effort either. Like the Mac Pro maybe, though that one is even more disappointing. So I wonder how many people make much use of it, let alone share with others.
> Though HomeKit overall has been a pretty significant disappointment and definitely feels like one of those semi-afterthought type of Apple projects at this point.
It's strange because they have clearly spent a LOT of time pushing partner channel development and certification. But the software side, the part that the user actually interacts with, seems so under thought.
My random pet peeve is HomeKit garage door controls in CarPlay. If you have multiple garage doors and they are both in HomeKit, you can only see one of your garage doors in CarPlay, and there's not even a way to choose which garage door you see.
We have two garage doors but only use one for cars. I wanted to have them both set up as HomeKit devices so that I could see status and get alerts if I left the second one open, but CarPlay decided that it wanted to use the second door, the one I don't use for cars. The only way to get CarPlay to pick the correct door was to completely disable HomeKit on my other garage door.
>It's strange because they have clearly spent a LOT of time pushing partner channel development and certification. But the software side, the part that the user actually interacts with, seems so under thought.
Yeah, and strategically it seems pretty important too. Even more so since that area is an important aspect to the future value of not just existing stuff like their watch or siri, but future wearables like AR. And it seems like something that should mesh fairly well with Apple's core competencies and business (unlike, for example, a frigging car). It's also an area with massive privacy and security concerns which should also be a natural extension of some of their efforts. Yet somehow it's just an unpleasant mess. Simultaneously too limiting and yet awkward to work with or troubleshoot. And even stranger, they've put real effort recently into power user automation stuff with their Shortcuts/Automation/Automator items.
Guess we're seeing the classic shadow cast by internal organizational politics, power, and attention that's all out of view. May just be another aspect of Apple's organizational structure, which is excellent at singular vertical efforts but mediocre at multitasking.
> It's strange because they have clearly spent a LOT of time pushing partner channel development and certification. But the software side, the part that the user actually interacts with, seems so under thought.
This is usually a sign that the MBAs are taking over and playing software developers via spec driven development, the actual software artisans having been reduced to a transpiling transfer function.
I don't have any contacts inside of Apple these days; it would be interesting to hear whether developers on the inside are feeling this is the case.
Wouldn't they just be pushing the channel to get the fees from certification? Like the made for iPod/iPhone program?
The way I see it Apple believes they are entitled to a percentage of all things in life. They can't sell Home automation as a service yet but they can certainly make up some of the cost by gouging their partners to join the ecosystem.
That’s a good example of self-reinforcing stereotypes or, maybe, correlation without causation.
Apple projects get a big team, launch, and then tend to languish because the team moved on to the next thing. “Business types” have little to do with it: as far as we can tell, more or less nothing is happening. That’s not the outcome of a bad strategy, which tends more towards lots of activity with little usefulness.
The possible correlation could come from the fact that when development is more or less suspended, the tech people hand over to business because that’s all that is supposed to happen from here on. HomeKit has -art era and customers just like iTunes or the App Store, so it often operates like an ongoing business rather than a software project.
There have also been several instances of projects languishing where we know tech people were still in control: Scott Forstall alone ran Siri, Maps, the
App Store and iTunes at times where they each saw stagnation at best.
The complete inability to set light tint or brightness/turn on or off lights for a whole room at once, except via Siri, but Siri can't set lights to "warm white", only colours (and only if you have colour bulbs, warm<->cool adjustable ones don't count as "colour").
Actually you CAN turn off per room, but doing so requires going to a select room page which is an atrocious experience, who in their right mine swipes through half a dozen pages until they stumble on the right one? Oh, and if you thought about setting backgrounds to identify them quicker, well the backgrounds don't sync across devices.
Ah, but they finally added the list of rooms to the menu that is under the top left "home" icon (obviously, that's a menu, right? not to be confused with the bottom left "home" icon which is not), which is not just cramp-inducing to get to, it's also that you can't reorder the room list: creation order or GTFO.
Let's not talk about automations which are ridiculously underpowered (whether going through Home or Shortcuts, which are two entirely segregate worlds): every time I have a nice, useful idea it's outright impossible to implement, e.g turn on a given light on a scene/event but turn it off after 10min. Like, a 10min timer is seemingly impossible to implement by the Apple team in any shape or form (as is the "Set wallpaper" action, as a matter of fact)
(Apparently some people hacked stuff like setting a timer or an alarm or something and having a second shortcut run on that event. I didn't even try because if I wanted to indulge in such contraptions I would play The Incredible Machine.)
Oh, and BTW Adaptive Lighting won't work with my otherwise perfectly adjustable bulbs along the required axis, because reasons.
> But the software side, the part that the user actually interacts with, seems so under thought.
Have you even tried the Home app on macOS? It's an absolute joke, you so obviously have to emulate touch events with a pointing device it's as usable to save your life as navigating a 3D file manager on Unix. Ah, and so the macOS app is basically the iOS through Catalyst right? So why is it absolutely impossible to set my Mac mini to be a Home Hub, but it is for my iPad which is a) not always home and b) on battery, so may fall out of energy?
PS: yes, I tried Home Assistant, which is a nice piece of work, but it's also prone to breakage on updates, and either "develop through a UI" (which doesn't scale) or "mold into the framework and become a contributor" (which is way out of balance).
So I've been hacking at CoAP on Ruby and implementing the IKEA Tradfri protocol so that I can have some stupid simple Ruby scripts running on a machine and achieve what I want: circadian lighting (which is a lookup curve plus set the values to only lights that are currently ON) and a couple of dead simple automations (each being about five lines, tops).
Scenes? Group the accessories in the room together?
As to the rest of the UI, have you tried any of the alternative HomeKit UI apps like Eve or Home+?
I too find Automation/Shortcuts a bit limiting. I'm playing with Homebridge + Node-Red for more powerful automations, but I don't have any useful experience to share yet.
Mac App Store met a similar fate. Lots of developers published there because Apple asked them to, but it is an afterthought for both developers and users.
I think the biggest problem with HomeKit is that for most people the primary UI for their smart home is a connected speaker, but a $150-$300 HomePod isn't something you can scatter all over your house the same way as a $20 Echo.
There's only one HomePod anymore and it's $100 (unless we're talking about non-US pricing). Still more than an Echo, but a lot more reasonable than the original HomePod was.
Even doubly so, since at least for some of us they were bricked somehow recently. I had two. One is flashing the volume buttons and is unresponsive otherwise. I can't even replace it without going to ebay and paying double. https://www.reddit.com/r/HomePod/comments/g3lm0e/flashing_vo...
It was a really good upgrade to make the power for HomePod minis be usb-c so there is some data connection. I am hoping for a HomePod2 (or HomePod pro?) that has the same usb-c connection.
> I think the biggest problem with HomeKit is that for most people the primary UI for their smart home is a connected speaker
Is it though ?
Using voice commands feels more like a gimmick to me. The only time I ever use it is when I demo it a visitor ("look, I can control my house using my voice") but in reality I never use it. If I want to control something manually I just use a wall-mounted button or my phone/iPad. But mostly I don't control things at all, the whole point of all this 'smart' stuff is to automate things. If I have to manually operate something, I consider that a bug and try to fix it.
The problem is complexity. The IoT devices are just good enough to work but not be reliable. Because Google, Amazon and Apple own little corners of the world in the space, there’s no incentive to improve.
I would say the HomeKit is a quiet product that has a lot more use than you might think.
CVEs are allocated to major users (vendors, distros, etc.) in blocks, so this might just be the 88th CVE from whoever has the 22500-23000 block or whatever.
User-set name strings are not trusted data. Even if you filter on submission, people will find ways around it.
This is the second "User can set the name of a device to a string that screws things up badly" bug in recent history. The other one was the "You can set your AirTag name to cross site scripting tags" one.
This is a good point - here, the victim wouldn't have been the user, but Apple themselves, illustrating that (occasionally, not always) being lax with security can come and bite you (instead of just your users).
Of course! But it generally has fewer bugs than it did before, and you have greater confidence that it has fewer bugs. Perfect security is not achievable - you just make the best trade-offs that you can.
My apologies, I wasn't clear. I agree, audited code can have bugs - but I'm not assuming that the presence of the bug was the indicator that it hadn't been audited.
I'm taking the fact that I haven't heard of log4j being audited, the fact that I haven't heard of Apple auditing an external product before importing it into their environment, and the fact that auditing open-source software isn't standard practice among tech companies to make that assumption.
...although, the bug is sort of blatant. I would hope that an audit would catch this particular one, at least.
There's no public record of the log4j code being audited, nor is there any indication that Apple audits the open-source code they use before deployment.
Are you saying that you believe that deploying linux is being lax with security?
That deploying:
* nginx
* node
* apache
* java
* ruby
* python
* bash
* linux
* chrome
etc
is lax with security?
The amount of "audited" code is vanishingly small, and as many "audited" crypto contracts have demonstrated those audits don't ensure code is bug free, and those are trivial pieces of code.
If it's protecting nuclear secrets or the personal information of hundreds of millions of people (as in the case of Apple), then yes, deploying Linux is absolutely being lax with security. The kernel itself has had thousands of security vulnerabilities, with userspace on top adding tens of thousands more.
If you're writing software for your smartwatch, then maybe Linux (or node/apache, which are built to lesser quality standards) is OK.
The problem is really how you respond - a valid (from a security standpoint) response to invalid input is termination: it means that you can’t exploit it.
In this case such a response would be inappropriate (I have know idea what the actual bug in the code was, whether it was deliberate or unintentional). Hell I’ve seen utf8 libraries that terminate on invalid input, so good luck using those :-/
I wonder if it was a “necessary” fault: I can imagine someone going “let’s validate this string and terminate if it’s invalid”. That mitigates security problems very effectively, however it’s clearly actually a bad thing if you can trigger it trivially in a semi-permanent manner.
Projects like webkit and blink aggressively use release asserts on internal invariants that should not happen, but they’re not triggered on raw inputs.
It's a shame there isn't an alternate software path for iOS devices that have aged out of security updates.
I have an iPad whose hardware has life left in it, but as time goes on it's more and more it's worrisome to run a connected device without security updates.
Yeah, I have an iPad4 that looks like it's brand new. I bought it for my mom, she treated it like a baby for a few years, then returned it to me. It is stuck on iPadOS 10.3.3. It now sits on a shelf, running Yahoo Weather and nothing else. What a waste of a perfectly good hardware.
My mom still uses my iPad 2. 11 years. It must have stopped receiving updates a couple of years ago. But they won’t upgrade. The only reason they upgraded their phones was that their storage ran out and they wanted more pictures of their grandkids.
Our oldest of five iPads is an original from 2010 which maxes out at iOS 5.1.1, mostly used by our youngest child. It's very clunky and limited. Anyone in the house older than 4yo doesn't really tolerate it. Hopefully given its limited use (no browsing, etc) any security risk is minimised?
I have a Windows phone that sits next to my bed and functions largely as an alarm clock. But every once in awhile I take a picture with it (it has a very good camera) or look at the weather forecast (more useful than my iPhone's weather app) or browse the web with it. I could be wrong, but I doubt whether any viruses going around now can live on it, since its cpu code is entirely different from that of a PC.
It is ultimately better for the ecosystem (including developers) if people move on.
As soon as your hardware stops getting the next iPadOS version (for iPads this is like 6+ years after release), the clock starts ticking and you have perhaps a year while you can still trade it in for a meaningful value.
Does anyone know what's going on with iOS 14? I didn't upgrade because Apple said it would still be supported but there hasn't been any news in quite a while.
63 comments
[ 0.20 ms ] story [ 253 ms ] thread----
0: https://arstechnica.com/information-technology/2022/01/5-mon...
It's strange because they have clearly spent a LOT of time pushing partner channel development and certification. But the software side, the part that the user actually interacts with, seems so under thought.
My random pet peeve is HomeKit garage door controls in CarPlay. If you have multiple garage doors and they are both in HomeKit, you can only see one of your garage doors in CarPlay, and there's not even a way to choose which garage door you see.
We have two garage doors but only use one for cars. I wanted to have them both set up as HomeKit devices so that I could see status and get alerts if I left the second one open, but CarPlay decided that it wanted to use the second door, the one I don't use for cars. The only way to get CarPlay to pick the correct door was to completely disable HomeKit on my other garage door.
Yeah, and strategically it seems pretty important too. Even more so since that area is an important aspect to the future value of not just existing stuff like their watch or siri, but future wearables like AR. And it seems like something that should mesh fairly well with Apple's core competencies and business (unlike, for example, a frigging car). It's also an area with massive privacy and security concerns which should also be a natural extension of some of their efforts. Yet somehow it's just an unpleasant mess. Simultaneously too limiting and yet awkward to work with or troubleshoot. And even stranger, they've put real effort recently into power user automation stuff with their Shortcuts/Automation/Automator items.
Guess we're seeing the classic shadow cast by internal organizational politics, power, and attention that's all out of view. May just be another aspect of Apple's organizational structure, which is excellent at singular vertical efforts but mediocre at multitasking.
This is usually a sign that the MBAs are taking over and playing software developers via spec driven development, the actual software artisans having been reduced to a transpiling transfer function.
I don't have any contacts inside of Apple these days; it would be interesting to hear whether developers on the inside are feeling this is the case.
The way I see it Apple believes they are entitled to a percentage of all things in life. They can't sell Home automation as a service yet but they can certainly make up some of the cost by gouging their partners to join the ecosystem.
Apple projects get a big team, launch, and then tend to languish because the team moved on to the next thing. “Business types” have little to do with it: as far as we can tell, more or less nothing is happening. That’s not the outcome of a bad strategy, which tends more towards lots of activity with little usefulness.
The possible correlation could come from the fact that when development is more or less suspended, the tech people hand over to business because that’s all that is supposed to happen from here on. HomeKit has -art era and customers just like iTunes or the App Store, so it often operates like an ongoing business rather than a software project.
There have also been several instances of projects languishing where we know tech people were still in control: Scott Forstall alone ran Siri, Maps, the App Store and iTunes at times where they each saw stagnation at best.
Mine is as follows:
The complete inability to set light tint or brightness/turn on or off lights for a whole room at once, except via Siri, but Siri can't set lights to "warm white", only colours (and only if you have colour bulbs, warm<->cool adjustable ones don't count as "colour").
Actually you CAN turn off per room, but doing so requires going to a select room page which is an atrocious experience, who in their right mine swipes through half a dozen pages until they stumble on the right one? Oh, and if you thought about setting backgrounds to identify them quicker, well the backgrounds don't sync across devices.
Ah, but they finally added the list of rooms to the menu that is under the top left "home" icon (obviously, that's a menu, right? not to be confused with the bottom left "home" icon which is not), which is not just cramp-inducing to get to, it's also that you can't reorder the room list: creation order or GTFO.
Let's not talk about automations which are ridiculously underpowered (whether going through Home or Shortcuts, which are two entirely segregate worlds): every time I have a nice, useful idea it's outright impossible to implement, e.g turn on a given light on a scene/event but turn it off after 10min. Like, a 10min timer is seemingly impossible to implement by the Apple team in any shape or form (as is the "Set wallpaper" action, as a matter of fact)
(Apparently some people hacked stuff like setting a timer or an alarm or something and having a second shortcut run on that event. I didn't even try because if I wanted to indulge in such contraptions I would play The Incredible Machine.)
Oh, and BTW Adaptive Lighting won't work with my otherwise perfectly adjustable bulbs along the required axis, because reasons.
> But the software side, the part that the user actually interacts with, seems so under thought.
Have you even tried the Home app on macOS? It's an absolute joke, you so obviously have to emulate touch events with a pointing device it's as usable to save your life as navigating a 3D file manager on Unix. Ah, and so the macOS app is basically the iOS through Catalyst right? So why is it absolutely impossible to set my Mac mini to be a Home Hub, but it is for my iPad which is a) not always home and b) on battery, so may fall out of energy?
PS: yes, I tried Home Assistant, which is a nice piece of work, but it's also prone to breakage on updates, and either "develop through a UI" (which doesn't scale) or "mold into the framework and become a contributor" (which is way out of balance).
So I've been hacking at CoAP on Ruby and implementing the IKEA Tradfri protocol so that I can have some stupid simple Ruby scripts running on a machine and achieve what I want: circadian lighting (which is a lookup curve plus set the values to only lights that are currently ON) and a couple of dead simple automations (each being about five lines, tops).
Scenes? Group the accessories in the room together?
As to the rest of the UI, have you tried any of the alternative HomeKit UI apps like Eve or Home+?
I too find Automation/Shortcuts a bit limiting. I'm playing with Homebridge + Node-Red for more powerful automations, but I don't have any useful experience to share yet.
I think the biggest problem with HomeKit is that for most people the primary UI for their smart home is a connected speaker, but a $150-$300 HomePod isn't something you can scatter all over your house the same way as a $20 Echo.
Which is a shame, the original one has such good sound quality for its size
The iPhone, Watch, iPad, or laptop can all do the same thing as HomePod speakers.
Is it though ?
Using voice commands feels more like a gimmick to me. The only time I ever use it is when I demo it a visitor ("look, I can control my house using my voice") but in reality I never use it. If I want to control something manually I just use a wall-mounted button or my phone/iPad. But mostly I don't control things at all, the whole point of all this 'smart' stuff is to automate things. If I have to manually operate something, I consider that a bug and try to fix it.
I would say the HomeKit is a quiet product that has a lot more use than you might think.
Wow. 12 days into 2022 and we're already up to 22k CVEs filed.
Edit: I was wrong. Thanks @minhazm and @geofft.
https://www.cvedetails.com/vulnerability-list/year-2022/vuln...
https://news.ycombinator.com/item?id=29198901
User-set name strings are not trusted data. Even if you filter on submission, people will find ways around it.
This is the second "User can set the name of a device to a string that screws things up badly" bug in recent history. The other one was the "You can set your AirTag name to cross site scripting tags" one.
https://www.theverge.com/2021/12/13/22832552/iphone-tesla-sm...
The whole point of a “zero day” is that people don’t know about it ahead of time.
Log4j has, to my knowledge, never been audited.
I'm taking the fact that I haven't heard of log4j being audited, the fact that I haven't heard of Apple auditing an external product before importing it into their environment, and the fact that auditing open-source software isn't standard practice among tech companies to make that assumption.
...although, the bug is sort of blatant. I would hope that an audit would catch this particular one, at least.
That deploying:
* nginx
* node
* apache
* java
* ruby
* python
* bash
* linux
* chrome
etc
is lax with security?
The amount of "audited" code is vanishingly small, and as many "audited" crypto contracts have demonstrated those audits don't ensure code is bug free, and those are trivial pieces of code.
If it's protecting nuclear secrets or the personal information of hundreds of millions of people (as in the case of Apple), then yes, deploying Linux is absolutely being lax with security. The kernel itself has had thousands of security vulnerabilities, with userspace on top adding tens of thousands more.
If you're writing software for your smartwatch, then maybe Linux (or node/apache, which are built to lesser quality standards) is OK.
You might even be able to implement it in the sandboxing system.
In this case such a response would be inappropriate (I have know idea what the actual bug in the code was, whether it was deliberate or unintentional). Hell I’ve seen utf8 libraries that terminate on invalid input, so good luck using those :-/
At least that is the logic that occurs. I am not saying it’s good logic :)
Honestly I feel the bigger bug is something going wrong in HomeKit taking out springboard.
I wonder if it was a “necessary” fault: I can imagine someone going “let’s validate this string and terminate if it’s invalid”. That mitigates security problems very effectively, however it’s clearly actually a bad thing if you can trigger it trivially in a semi-permanent manner.
Projects like webkit and blink aggressively use release asserts on internal invariants that should not happen, but they’re not triggered on raw inputs.
I have an iPad whose hardware has life left in it, but as time goes on it's more and more it's worrisome to run a connected device without security updates.
At least my iPad Air 2 from 2014 is still getting updates.
My partner’s mother has an old iPad mini from the same year and it’s perfect for FaceTime calls. It’s basically an iPad 2 SoC.
I wouldn’t do any personal banking on it however.
I recently brought a used SE (1st gen), as a low-end test (running iOS 14).
I also purchased a used iPhone 8Plus.
As soon as your hardware stops getting the next iPadOS version (for iPads this is like 6+ years after release), the clock starts ticking and you have perhaps a year while you can still trade it in for a meaningful value.