Using ebook reader as a wall display
My mom, who is of advanced age, sadly has her memory weakening. This of course creates a number of problems, but just one I decided that I can handle by technical means. This one problem is that she likes me to call her by phone every evening, and gets nervous when I don’t. Or when she forgets that I did. Then she cannot sleep, and finally calls me in the middle of the night.
So I got this idea: I have the call log in my phone. If I could make a wall display at my mom’s place that shows when the last call happened that might help. For good measure, I could analyse my location and show if I am at home, or at work, or elsewhere.
The first question that arised was what to use as the display. A computer monitor or an electronic photo frame would irritate mom with the glow. Ideally I would want e-ink display like in an ebook reader. Making custom electronics to drive the display is out of my league (or at least would require much more effort than I was ready to invest), and most existing readers would be difficult to hack to show the data that I need. But not all. I learned that Sony PRS-T1 runs Android, has WiFi, and can be easily rooted. So it was settled.
With Android systems on both ends, using Google services for intermediary was an obvious choice. I already had Latitude enabled on my phone, and the call log synched to a dedicated Google calendar by SMS Backup+. (The latter I later replaced with CallTrack because it creates the calendar events in near-real-time when the phone call completes.)
The next question was where to process the data. For a while, I considered the idea of running the processing “in the cloud” (on my own collocated server), making API calls to Google services, and cooking the text for displaying on the reader device. Or even the image. The latter would be the only choice if I was using a photo frame. In the end, I decided to cut the number of intermediaries and do the job on the reader device itself.
As of this writing, the app works, but there are some troubles that I need to address before I install the thing at mom’s place. Anyway, this is how it looks:
And here is the git repository.
Edit Feb 10: this is the problem that I mentioned above. So far, I just introduced a couple of retries in case of error, but I hate it this way.