Export usage / Opal data

I don’t know if it’s possible due to iOS API limitations, but I for one would absolutely love a way to export my iOS usage data.

Basically, something like a CSV file that shows what apps are used and when, how many pick ups I did, and my focus score at each given time.

Right now, you can look at your screen time data in the iOS screen time app, but you cannot get that data out, which is pretty frustrating for me.

1 Like

Unfortunately - no. Screen time data is “sandboxed” within an Apple-owned extension inside the Opal app. What this means concretely is that Screen time data can not be exported, or even saved locally or on a server. This was designed by Apple for privacy reasons - and ensures that only you have access to this data.

Thanks for the reply. I suspected this was the case but had to ask. That’s really unfortunate.

Does this mean that you also don’t have any sata or insights about a user’s level of productivity on your own server?

I just posted a message about using AI in the app, and most of the immediately useful ideas would involve finding the most impactful blocks and interventions for a given user. But if you don’t have access to any of that data, then perhaps that would be a lot harder to implement than I thought (or even impossible).

Is it possible to use the local ML APIs to at least train a model locally on the phone with the user’s screen time data? Idk what kind of OS API access/limitations you have within the screentime extension?

If you could still train a model locally and privately there’s a lot you can do (but still limiting compared to if you had access to the data). But if you can’t do that at all that’s unfortunate.

Do you have any access to even a masked version of usage data on your own servers? For example, where the app names are obfuscated or something?

Although, it just occurred to me that you have the leaderboard feature (as a side-note I personally don’t find that to be useful, but that’s just me).

That must require you to have access to peoples’ focus scores, which I presume are derived from their screen time data. So you’re able to perform computation within the extension and access results of that computation, but not the raw data itself? That’s interesting and surprising… How would they prevent you from storing PII in the outputs? Anyway this is just me being curious so don’t feel the need to explain if you don’t have time.

There are possibilities to do some training locally and this is something I’d love to dig more into for our roadmap this year. We are really open to chat with folks who have worked with Core ML or experience training similar models to explore what we can do!

Currently, the leaderboard isn’t based on screen time data or focus score, but instead session data (how long you have been in an Opal session today).

There are ways of accessing high level blended data (never tied to individual apps but rather overall screen time), but any privacy sensitive data will stay local. Which is why locally training a model may be the way to go. There are some options to perform computation inside the extension although everything requires testing. Happy to get some help here!

Simple really: being able to download my data (so that I can look at trends over longer periods.

Just copying this answer!

Ah, that makes sense.

That’s good that you have the ability at least to do local training.

Would it be possible to have the user’s data affect the logic of the application within a sandbox, or is the extension mainly for reporting?

I was thinking that a useful simple feature would be to make it easier to block applications that users use a lot, or that are affecting their focus score substantially. As in, to suggest those applications for a block, or to suggest a list of blocked applications that contains those apps.

You could do that with or without a model, but you’d have to be able to access the user’s screen-time data. Would it be possible to create a sandbox and have a tool within it that suggests blocks? I’m curious about what you have to work with here.

As for my experience with AI: I have no experience with any Apple technologies, like CoreML. So I wouldn’t necessarily be able to give practical suggestions to you, given that you need to do the training locally.

But I have a fair amount of knowledge about general deep learning technologies and a fair amount of experience building deep-learning models in a variety of domains. So if you were interested in what kinds of models you might be able to create or that might add value, I’d be happy to discuss with you.

Just in case you’re wondering - I’m not looking for a job or anything ;). I just think this is an interesting domain, and I think this is a promising app. I’m shocked that no one else has really done much with the new screen-time API capabilities. Perhaps the reason is this super limiting sandbox.

Totally random note:
I was thinking about this app last night and it occurred to me that there are a lot of really powerful ways you could implement blocking. I have long been frustrated with Screen Time’s crazy limitations when it could be an enormously powerful feature. Some things that would add a lot of value for me (and they could also be marketed to parents looking for a better screen time implementation - and that is a huge market):

  1. Putting in limits during a time window. For example, I might say that I don’t want to totally block my news app during the work hours, but I might only want to be able to use it for 20 minutes. But, in the evening, maybe I want to not have a limit (or, even better, be able to have a different limit at that time).
  2. Setting limits for groups of apps. For example, I might want to be able to play one hour of games in a day, but across a whole set of apps. Not one hour each.
  3. Limits across a longer period (weekly limits, etc).
  4. Specifically for the parental control market - blocking apps entirely until approval is given, then activating a limit.
  5. Only letting you use certain (fun) apps after spending X amount of time in another (productive) app (practically speaking this probably isn’t practical until you can track people’s computer usage)

I have had some other ideas for types of blocks, but I can’t remember them at the moment. If I think of them later, would you like me to share them? If so, is there a particular place? I know this thread probably isn’t the ideal place.

Finally, I really do think that the parental control market could be hugely lucrative for you. I don’t have kids, but I have searched a lot for blocking apps and I’ve come across a lot of forums where parents are talking about what they want in a blocking app. And there are so many unmet needs. And many of these people are extremely motivated and extremely frustrated at the limitations of screen time, and the fact that most alternatives can be bypassed.

I know a lot of these parental control apps are behemoths and reaching feature parity would be a big challenge. But I don’t think that’s actually necessary. You could market what you have now as a point solution that simply adds this functionality to whatever they already use. It’s just a matter of getting the app in front of parents, and also setting up the functionality to allow a parent device to control the permissions for the child device, which I imagine wouldn’t be a crazy amount of work.

I think there is a big market for self-control apps, but it is new because these apps basically weren’t possible on iOS in the past. Conversely, parents are looking for this stuff and they’re desperate to pay tons of money to be able to do the things you already offer.

I’m sure this stuff has already crossed your mind, but I figured I’d just put it out there nonetheless.

Good luck!

I’d love to have a way to pull all my data into a CSV file and analyze it within Excel!