Amazing questions, thanks for posting!
Will the Mirror also support Javascript alongside the HTML5 and CSS3 combo? If So, will the SDK allow us to directly call a JS Function. (There is mention of JS in the blog post, but only in regards to creating and testing a view)
Yes, you can add JavaScript to your Mirror views. We also have an events system in place, where your JavaScript can be informed when e.g. a sticker associated with the screen started moving, etc. We can easily extend that system with custom events triggered from the smartphone.
Will we be able to play HTML5 Audio and Videos? (So that I can play a chime to engage the Users attention when their app connects to the Mirror)
Mirror has processing power equivalent to a low-mid smartphone, and pushing full HD video at 30 fps doesn’t currently work well. We’ve been testing 720p recently, and there’s been slight tearing, but much closer to a smooth playback. All in all, we’ll keep hammering on it, but can’t promise smooth video playback in v1. Maybe it’d come later in a software update, if we can find some trick to pull it off, or it might turn out to require a hardware spec bump.
Audio, yes, no problem here.
Can we use the Mirror’s WiFi to obtain data directly from the Internet? Can we also use this to Updates assets on Device Directly?
Yes, WiFi is there, and we will allow controlled access to the Internet via JavaScript. We’re still hashing out the security details, e.g., whitelisting, CORS.
It’s important to understand though that in our opinion, the “load things to show on Mirror from the Internet” should be happening on the smartphone. For example, if I approach the screen in a subway, my mobile app loads a list of trains going where I want to go, and pushes that list onto Mirror. We don’t see any advantage in having the mobile app push my user ID to the Mirror, and the Mirror itself fetches the list of trains going my way. What do *you* think?
Updating assets: not in v1. Down the line, we’re definitely thinking about some “fleet management” system where you can easily update your Mirror views or load entire new Mirror views on your Mirrors.
Assuming Relevant Permissions have been granted, will the SDK be able to work if the App is in the background?
Yes.
Can we set the Mirror to have a ‘Idle’ state for when no users are currently interacting with it? (Such as switching to a screen that has details to download the App, or entering power saving mode)
Yes, there is currently a concept of a “default view”, which is what’s being shown when there’s nobody around with an app to trigger some other view. Not sure if we can trigger power-saving/standby on the TV from Mirror over HDMI, we might look into that.
What happens when two people with the same App are in range of the Mirror at the same time?
We’re building in mechanisms that’ll allow more than one view to be shown on the screen at the same time, e.g., by splitting the screen horizontally or vertically. For example, in your app, you may say you want to allow up to 3 simultaneous views in a vertical split.
For more complicated cases, you can always disable split screen and write a custom view, that’ll use the events system mentioned above (“new user connected, with data: name = Peter, flight number = XYZ123”) and adapt the HTML/DOM itself.