status
dsq_thread_id
TL;DR
It’s good. It’s not perfect, but I recommend it.
What is Rewind?
Rewind.ai is a relatively new Mac application that’s meant to help you remember anything you’ve seen on screen. Here’s how it works:
- Take snapshots of what’s on your screen. I think once every second.
- Run the screenshots through OCR (optical character recognition) so that any text on screen at that moment can be searched.
- Provide a search box so that you can search for keywords. The app will surface past screenshots along with other metadata, such as what app was running.
This approach requires some overcoming some technical hurdles, which Rewind claims to have successfully addressed. Namely:
- Storying so many images takes a lot of disk space.
- My guess is they use some form of compression similar to video compression. The stream of screenshots is essentially a video recorded at ~1 FPS. When adjacent frames (i.e. screenshots) contain identical imagery the redundant pixels can be deduplicated in compression.
- For my own usage it consumes about 30gb of space per month, which is quite significant. More on this below.
- Running screen capture and OCR constantly consumes considerable system resources.
- Rewind claims that Apple’s new chip technology makes this possible.
- In my experience my m1 laptop drops from ~8 hours per charge to ~3 hours per charge, so there’s room for improvement here.
The good
- Works as promised
- The OCR and full text search work decently well. I’ve successfully found what I was looking for more than once.
- Peace of mind
- As a digital hoarder I like to know that I’m not losing access to anything. I want my data to accumulate and be searchable.
- Intuitive UI
- Rewind roughly speaking has two UIs. The “rewind” UI where you can scrub back and forth and the search UI.
- The search UI is good, it’s roughly what you’d expect—Show me matching text and show me where in the screenshot it was found.
- The rewind UI works as designed, however, I haven’t found it very useful in practice. It makes for good-looking demo videos.
The bad
- Disk usage
- Rewind takes A LOT of disk space. At least at the time of this writing. My first month of usage resulted in over 30gb of storage used.
- That’s a lot, considering Apple gauges you when you upgrade disk space.
- Terrible battery life and hot computer
- I use an M1 pro, which previously had excellent battery life (roughly ~8 hours with normal workload). With Rewind enabled, battery life drops to about 3 hours.
- The computer also gets hot. M1 owners know that the computer is almost always cool. However, with Rewind enabled you will notice the heat on your lap.
- Update 2023-05-16: It turns out this the overheating was at least partially due to the use Segment analytics. There’s a bug in their swift library that causes network requests to be retried as quickly as possible. This eats up tons of system resources when the network is down.
- Tangentially related, props to Raycast for patching that same swift lib to avoid this issue: https://github.com/segmentio/analytics-swift/compare/main...raycast:analytics-swift:main
- Noisy results
- As time progresses the system has more and more data to search over. This means there’s often a TON of hits for any given search term.
- Rewind themselves seem keen on solving this via AI, but i’m skeptical. Integrating GPT4 might prove useful, but having tried the AI beta for a few weeks now it’s still hit-or-miss.
Tradeoffs
I’ve spent a lot of time thinking about how to make data searchable. Ideally, you should have access to everything you do on your computer. In other words, you should be able to search over all your podcasts, videos, messages, emails, websites, etc.
For example, I built an app to let you search the full-text of websites you’ve visited: BrowserParrot. This covers just a single data source—Your browsing history. In contrast to Rewind, BrowserParrot let’s you search all history without requiring you to revisit a website.
There are essentially two approaches to this problem:
- Build custom data connectors for every application. I’ve tried this.
- OCR the world, which is exactly what Rewind does.
The two approaches lead to different outcomes.
- Custom data connectors give you all the data, including historical data, even if you’ve never physically looked at it before. The caveat is that you need a data connector for each data source.
- This is good because after an initial import you should have A LOT of data to search over, right out of the box. The OCR approach requires accumulating some usage before its useful.
- This is also good because it gives you full data, including metadata. Not merely what was rendered to screen.
- The problem with this approach is that you need to figure out how to ingest data once for each app, and once figured out the app may change in such a way that breaks your adapter. To be clear, this is a huge downside.
- OCR gives you all the data you’re most likely to care about, data you’ve seen on screen.
- This is good because you can solve once for every data source—If it shows up on screen it will be recorded.
- This is also good because you get screenshots that represent the exact state your system was in, which may help jog your memory or provide additional context.
- The problem with this approach is that it misses historical data and does not include the actual data underlying the UI that was rendered to screen.
Both approaches have inherent tradeoffs, so the only solution I see is a combination of both.
How often do I use it?
Not often, surprisingly.
This is surprising to me because I’m constantly re-opening things that were previously on screen, such as web sites or notes. If you know where to look you’re probably better off going straight to the source, as it will be faster.
Rewind, so far, does not feel fast when it comes to pulling up some past information.
It’s also important to remember that Rewind operates on text and screenshots. Except in rare cases [1] it knows nothing about the underlying app pictured on screen. This means it cannot put you back into the app most of the time.
This can become important when you want to reference something. You can reference a screenshot in Rewind, but the UI takes up the full screen. Once minimized, rewind will quickly remove all context and drop you back into the default search prompt.
This situation could be improved iteratively though, the core product is solid.
[1]: Specifically, it knows about browsers. In my own usage that’s the only type of app that it knows how to re-open for you.
Verdict
Despite the downsides, I fully recommend it. It gives you a single search box to help you recall anything you’ve seen (since subscribing to Rewind).
However, it’s not perfect, so there’s still lots of room for improvement and for other solutions that would serve the archival use case. If you want to archive your data, you’re going to need something else.