There’s a lot of misconception of what Chromecast is and how it works. Many people compare it to Airplay, but technically it’s completely different.
Over Airplay you can stream content directly from your device. This content could be an image, a video, music or even a real-time rendered game. It could also be the exact screen contents you’re looking at.
Chromecast doesn’t stream anything directly from the device. It pulls all content straight from the web and your device (phone, tablet) is just a remote to influence what’s being shown. That’s why currently apps Youtube, Netflix and Google Play Video/Music work on the device and not the photos and videos stored on the device. You can’t show content from a device on a Chromecast unless it’s already in the cloud and available through a web-service and a special Chromecast receiving app (based on HTML5 since it runs in a slimmed down Chrome OS).
So, you’re a developer and you want your apps to do something with Chromecast? Get ready to start a web service to distribute the content or else your content won’t be available to Chromecast.
But then there’s the Chrome mirroring right? Well, not really. From what I can gather it just pushes the url to Chromecast and Chromecast (being based on Chrome OS) renders the page itself. Mirroring like Airplay Mirroring is not a feature of Chromecast.
And then there’s the “works on any device”. That’s technically true, but shoud actually read “it works on an app that supports Chromecast which could run any device if it was specifically developed for it”.
Somewhere in the Google keynote they demoed Netflix. First they “flinged” an episode of House of Cards to the Chromecast device. Then they took an Android tablet and started controlling the episode playing, telling the audience that you can control content coming from another device. That’s just false. The content is coming from the cloud and other than being started from another device has nothing to do with the device.