The original Google Chromecast was announced just over five years ago. Three generations and tens of millions of sales later, it's hard to believe this idea originally blindsided us, accompanying the launch of the second-generation Nexus 7 tablet. The idea was ever-so-simple: use your phone to control a TV-based streaming device, but let the controls happen over the internet rather than on the same old buggy direct wireless display protocols of the time. In a perfect world, the Chromecast works amazingly and is just as magical as it was on Day 1. You open up an app and without connecting directly to the Chromecast it starts to play from the cloud. You can still use your phone as a remote while you continue to browse content and use it for other things. You can Cast from hundreds of different apps across various genres, as well as send content directly from your computer's browser. It's a fantastic technology that Google has improved on over the years, both in hardware and software. Verizon is offering the Pixel 4a for just $10/mo on new Unlimited lines However, for as much progress as Google has made, the Chromecast experience still has some dark spots that show up on a regular basis and it completely befuddles me. It really detracts from what's typically — but not consistently — a great experience.

The whole Cast system is still filled with instability — and it doesn't help that every app displays it all differently. There are two distinct flavors of problems with the Chromecast. The first is the inexplicable bugginess of the whole system. When the Cast system works, it's truly magical ... and when it doesn't, you don't really have any troubleshooting steps or process to figure it out. Every few times I Cast from an app on my phone to my Chromecast or NVIDIA Shield Android TV, the app loses its link with the Cast target — the content keeps playing, but now I have no way to play/pause/rewind or adjust volume. My only fix here is to tap that Cast button again in the app — will it reconnect? Who knows. Sometimes it reconnects and lets me control what's already playing. Most of the time it reconnects and has no idea what the Cast target is doing. In bad cases it requires force closing the app, re-connecting the Cast session and starting to play the content all over again (and not from where it was last playing, of course). The other main problem is the inconsistency of Cast experience between apps. Google built a standard for having an app use the Cast protocol to send media to a Cast target, but was implemented with dramatic irregularity. Every app has a different-looking interface for starting a Cast session, and even further differentiation in how ongoing controls are handled. The only thing that's consistent between apps is the Cast button itself — everything after that point is fair game to be different and confusing. Things go even further when you talk about the differences between audio and video casting. Then you get back to the performance irregularities. Some apps, like Google's own and Netflix, are really good about keeping the Cast session alive — others, like ESPN+ and NBC Sports (to name two of many), are horrendous at keeping that Cast session active.