Since Android 4.2 Android supports showing content different from the main device screen on an external screen via the Presentation class. This gives you a lot of opportunities which (a little bit to my surprise) seem to be rarely used, at least i can’t find many applications out there utilizing this and also counting the amount of threads on stackoverflow on this topic is underlining this. One reason may be that since not long ago the main option to connect an external display was via HDMI-cable which limits the usecases significantly. The other wireless option via Miracast seems to be also not popular as Miracast is still not wide-spread and according to my experience also not very stable depending on the source/sink combination. However the picture may change now as you can use the Presentation class also on top of ChromeCast Screen Mirroring. The possible usecases range from games (e.g. using the mobile just as a controler while showing the content on the TV) via productivity apps (e.g. presentation tool on the mobile while showing the actual presentation on the screen) to other scenarios like what broca is implementing, i.e. using the mobile as controller for the browser. This gives you the freedom to enjoy the content on the big screen without the hassle with TV-built-in browsers but is also superior to simple screen-mirroring where you always have to switch your eyes between mobile and TV.
From architectural point of view the Presentation class is basially a Dialog running in it’s own window on the external screen. That’s maybe not the best design as it implies some restrictions aboout which i will talk a bit more in depth in coming posts. Nevertheless it gives you a lot of opportunities and i hope more apps will utilize it now that there is a solid user base to target (if anybody needs some tips i’m happy to help).
Below are some useful resources on the Android Presentation class, among them one presentation i did together with a colleague of mine on behalf of my employer back in 2013. You may recognize the basic idea for broca was born there, however at that occasion i would like to emphasize that this site and broca are in no way related to my past and present employers. I’m doing it all in my spare time just for fun.
Some useful resources about Androids Presentation class (besides the official docs):