PWA offline Service Workers have a long way to go

Service workers have no ability to schedule tasks.

In Android, AlarmManager lets your app schedule future work.

iOS has similar functionality.

And in other systems you have cron.

Service workers apparently can only be invoked by a server push. And even then, it’s only supported in Chrome!

I’m working on an app that checks a website at certain times. I don’t own the website. Writing the app for Android, there’s no need for a server. That saves me a lot of maintenance work, and it lets me avoid storing user data. Everything is done locally.

I heard that service workers support background tasks now. So I figured I could rewrite my thing as a Progressive Web App and get support for iOS and Desktop.

Apparently not! And it’s not on the roadmap either. As far as I can tell, the working groups aren’t even talking about it.

Guess I’m stuck with Android for now!

Measuring distortion from a mass market bluetooth receiver

test setup
Belkin F8Z492 connected to Analog Discovery

For my cigar box bluetooth speakers, I’ve been taking the easy route for bluetooth connectivity. I simply took the housing off a Belkin F8Z492 audio receiver and plugged it into a cheap class D amp. It worked really well and got me to a finished product quickly. Initially, it sounded great. The Dayton Audio ND65 drivers alone provide a big upgrade over the tinny laptop speakers and earbuds I’m used to. But after a few weeks, even my untrained ears could hear some distortion. It sounds like a subtle reverb, usually affecting only vocals. Initially, I suspected the front end: the cigar box enclosure, or the drivers. Or, just as likely, something wrong with the wiring. This is a lesson in engineering fundamentals. Armed with only a primitive knowledge of audio and electrical distortion, I needed a plan to isolate and quantify the problem.

Read More