On my system, the actual time from the splashtop menu to Firefox up and running is around 14 seconds. (Firefox is the slowest app.) The environment is up in ~7 seconds and Firefox takes another 7.
Another advantage express gate has over just a quick booting Linux distro is that express gate runs very early in the motherboard POST process. Portions of the normal POST procedure are skipped, and the BIOS does not need to search for bootable drives, causing the express gate menu to appear only a few seconds after pushing the power button.
As Kano said, adding more "weight" to the system, like a full featured X server, would increase the boot time and begin to defeat the purpose.
I think Splashtop's main competition will come from Suspend-to-RAM. A suspended machine comes back faster than Splashtop, and as BIOSes have improved, suspend has been getting more stable in both windows and Linux. Splashtop may have an edge on notebooks, however, where you can't leave the machine suspended indefinitely.
Well I did not hack any bios code. I just found out that there is a kernel image called ce_bz (104kb) which already shows the menu. It is absolutely clear that this is shown instantly at soon as it got loaded. With a bios that it loads this in an early bootstage you can access it very fast, but thats not the way you can do it without - then you have to wait till POST is over. Or get a board with support for CoreBoot (formerly LinuxBIOS), then the startup would be much faster too.
But even some older boards have got a really fast bootup - the monitor does not even show a pic when powered on and it is already behind the bootloader stage with an old MSI K7N2G-L using onboard graphics. You usally get a faster boot when you use a board with only basic features + onboard vga (this saves already 1-3s) and bios quick POST mode enabled. But then you don't need any special linux hotkey at all
When you look what takes now pretty much time you will find out that these are the RAID/AHCI controllers which seek for drives again. So disabling that would help already. Also disable every controller you dont need, like if possible floppy controller when nothing is attached...
Basically you could replace the Xserver, but that would require much more space and of course would bootup longer. Then you can optimize your normal hd install with initng for example, get rid of any unused services and you are down to 10-15 seconds too on a fast hd. Counted only till X start, because the actual loading of Splashtop apps is not counted within 5 seconds.
I think the optimal solution would be if it could possible to strip out all other applications from the onboard 521MB flash memory and put XBMC on it instead of the harddrive (XBMC in turn could then the the launcher of other third-party application from the harddrive if needed, same as it can launch games on the Xbox).
XBMC LiveUSB (based on Ubuntu Mobile) is down to 35-seconds boot from a USB-memory now so I think that a 10-20 seconds boot would be acceptable boot-time.
PS! OFF-TOPIC; Have anyone tried yet to overwrite onboard 521MB flash memory Splashtop/ExpressGate with coreboot (formerly known as LinuxBIOS)?, I mean completly wipe the onboard 521MB flash memory then install coreboot with X server inside on that 521MB flash memory instead? http://www.youtube.com/watch?v=nuzRsXKm_NQ http://www.coreboot.org
By the way, XBMC LiveUSB (based on Ubuntu Mobile) fits on a 512MB USB-memory (and it could be stripped down even further).
No but all you would need is XBMC - as has been said. The rest you could strip out/throw away, since no one running XBMC really cares about any other features other than having a completely dedicated media centre. (Again just as was the case with the original XBox). That's what made XBMC different - it wasn't just an app. running on top of an OS - it was a fully dedicated media centre and nothing more or less than this. (In other words there were no unneeded apps, no web browser etc.)
I think this is always the most desirable way to run a media centre.