There’s no agreement what it means for an app to go “Full Screen” on a mac. I didn’t test on Windows beyond “F11” in IE and Firefox.
The current state of “Full Screen” support is poor for those who have more than one monitor. Obviously, this is not a problem if you only have one monitor as “Full Screen” means “Take over my monitor completely”.
Okay. What are the different versions of “Full Screen” behaviour?
All Screens (monopolistic)
Enter full screen in one app, and you lose control of the other screen. These split into two types, those that try to do something to the other screen (like turning it black), and those that don’t. In either case, you can’t interact with your other screen, even if you can see what’s going on there.
Of these, there are smart and dumb apps. Smart apps assume that if the app is on screen A, then it should be maximized on screen A. Dumb apps get maximized onto main screen even if the app is open on screen B. Sometimes this dumbness is programmed in because the developers are trying to be too smart. This was present in MPlayer OSX where you had to choose which monitor is your primary - clear example of over-geekery without making the right assumptions.
Examples: QuickTime, Flash Browser plugin (in any browser), MPlayer.
When QuickTime opens a movie in full screen, you see what’s happening in the other screen, but as soon as you click there, the movie shrinks to normal size.
One Screen (realistic)
Those applications that only take over the screen they are on. To me, this is the desired behaviour in most cases.
Examples: Skype, Firefox, Chrome, Miro
In Skype, you can open a video call full screen and keep clicking and typing in the other screen. In Chrome, you can open one window in Full-Screen on each monitor and there’s no problem.
No Full Screen
Apple believes in giving full-screen abilities to iTunes because it makes for some good eye candy. To get full screen in Safari you need to install plugins. I wonder why Firefox and Chrome feel the need for this functionality and Safari doesn’t. Maybe it’s too much work. Perhaps it’s to protect the average Joe from entering the “Full Screen” mode and not being able to escape.
Only Full Screen
Dashboard and Front Row are the only kids in this territory. When operation is only in full screen an app should be treated as a different operating system. Apple is clearly making these assumptions with both Front Row and the Dashboard - they have their own completely different UI.
How it all should work?
Be realistic. Take over the current screen.
Apps that monopolize all screens make an assumption about what the user wants to do. In my opinion, these apps should first make an assumption about what kind of user might have more than one screen. Most likely it’s a power user because your average Joe does not have two screens and doesn’t multitask when watching a YouTube video.
Sometimes it’s good to take over all screens. Often times, it’s not. Browser plugins like Flash player shouldn’t take over all screens. Apps should have a setting in preferences to turn monopolisation on or off (default OFF).
For bonus points, Adobe Flash player should only take over the entire browser window, not the full screen. If true full-screen is desired, they should do a double maximisation: first maximise the browser window, then maximise the flash player. This way if a browser like Safari doesn’t support full screen, Flash can’t either. Given Apple’s love for
Full screen mode should be a system feature. It could be treated as a special type of overlay, like Dashboard.
Why am I thinking about it?
I see web browsers as a powerful platform, not just a means for browsing the web to read the news. I see it as a canvas where I can create new client applications using standards-based technologies like HTML, CSS and JavaScript. If there’s a full screen ability, then I can maximize one or two screens required and fill them with application data, thus hiding the underlying Operating System. Because Safari doesn’t provide “Full Screen” I can’t consider it as proper canvas for these types of work.
Also, when I’m working, every now and again I want to open a YouTube video full screen on my second monitor and watch an inspiring TED talk while coding that jQuery goodness.
So, if you’re building an app, give “Full Screen” a little thought.
Tags: