News for hackers. Stuff that matters.
Re:iPhones and action discoverability by saagarjha on Saturday September 24, 2022 @08:51PM (#32967976)
Note that enabling "Back Tap" will cause a daemon to run in the background all times taking a couple percent CPU (to detect this action, of course). I don't have very good numbers of the battery life impact but my guess is that it's perhaps half an hour or so. Might be worth keeping in mind when deciding whether to enable this feature.
Re:iPhones and action discoverability by vineyardmike on Sunday September 25, 2022 @06:19AM (#32970162)
> Note that enabling "Back Tap" will cause a daemon to run in the background all times taking a couple percent CPU

Is this true? I was under the impression that iPhones (and most modern high end devices) had dedicated hardware to monitor these sort of features, and triggers a system event in the OS (the same way you don’t need a daemon to check for a keyboard or power button).

Re:iPhones and action discoverability by saagarjha on Sunday September 25, 2022 @07:26PM (#32977538)
It is, the process is named "AccessibilityUIServer". There is a dedicated motion coprocessor but when the events come back the are plumbed through CoreMotion to a framework called Phoenix, which runs a ML model on them.
Re:iPhones and action discoverability by NavinF on Sunday September 25, 2022 @05:25PM (#32976435)
Source?

This sounds like bullshit to anyone that knows how interrupts work.

Re:iPhones and action discoverability by saagarjha on Sunday September 25, 2022 @07:30PM (#32977565)
This is a primary source :) Something needs to handle those interrupts. Perhaps this stack trace from the profiler may be enlightening as to what that thing is:

  810 -[AXPhoenixClassifier _handleAccelerometerData:withTimestamp:] 
  563 -[MLModel predictionFromFeatures:error:] 
  561 -[MLNeuralNetworkEngine predictionFromFeatures:options:error:] 
  542 _dispatch_lane_barrier_sync_invoke_and_complete 
  542 _dispatch_client_callout 
  541 __62-[MLNeuralNetworkEngine predictionFromFeatures:options:error:]_block_invoke 
  521 -[MLNeuralNetworkEngine evaluateInputs:options:error:] 
  519 -[MLNeuralNetworkEngine evaluateInputs:options:verifyInputs:error:] 
  491 _dispatch_lane_barrier_sync_invoke_and_complete 
  491 _dispatch_client_callout 
  491 __67-[MLNeuralNetworkEngine evaluateInputs:options:verifyInputs:error:]_block_invoke.195 
  491 -[MLNeuralNetworkEngine evaluateInputs:bufferIndex:options:error:] 
  363 -[MLNeuralNetworkEngine executePlan:error:] 
  359 espresso_plan_execute_sync 
  358 EspressoLight::espresso_plan::execute_sync() 
  351 EspressoLight::espresso_plan::dispatch_task_on_compute_batch(std::__1::shared_ptr<Espresso::abstract_batch> const&, std::__1::shared_ptr<EspressoLight::plan_task_t> const&) 
  296 Espresso::net::__forward(std::__1::shared_ptr<Espresso::abstract_batch> const&, int, int) 
  294 Espresso::net_compiler_segment_based::__forward(std::__1::shared_ptr<Espresso::abstract_batch> const&) 
  290 Espresso::ANERuntimeEngine::compiler::__forward_segment(std::__1::shared_ptr<Espresso::abstract_batch> const&, int, Espresso::net_compiler_segment_based::segment_t const&) 
  254 -[_ANEClient doEvaluateDirectWithModel:options:request:qos:error:] 
  247 -[_ANEProgramForEvaluation processRequest:model:qos:qIndex:modelStringID:options:error:] 
  221 H11ANEProgramProcessRequestDirect 
  214 H11ANE::H11ANEFrameReceiver::ProgramProcessRequest(H11ANE::H11ANEFrameReceiverRequest&, H11ANESharedEventsStruct*, bool) 
  201 H11ANE::H11ANEDevice::ANE_ProgramSendRequest(H11ANEProgramRequestArgsStruct*, unsigned int, bool, H11ANEReqCallbackDataStruct*) 
  200 IOConnectCallAsyncMethod 
  200 io_connect_async_method 
  199 mach_msg2_internal 
  199 mach_msg2_trap
Re:iPhones and action discoverability by NavinF on Monday September 26, 2022 @09:54PM (#32990837)
Oh wtf, back tap is implemented with the accelerometer? I assumed the back logo was a touch sensor.

This would make for a really good blog post if you can measure the impact. "Enabling back tap in iOS reduces battery life by half an hour"