11/01/2009

Let's go CLUBbing..

Imagine this - you pick up/walk up to an Internet-connected device, and run a mini browser that brings up a simple login screen. You log in with a username and password, then you're 'in'.

In what? In an environment where you can run tens of thousands of latest (or older) programs, including web browsers with access to millions of sites as usual. Run the programs where? Somewhere on the 'cloud'. You work as usual, opening software, creating content, editing, saving. Saving where? On the 'cloud' again. Then you simply log off when you're done.

Login again (from the same device or another) and all your stuff (content, shortcuts..) are all there right where you left them. Resume working/playing :)

What I've outlined above is radically new, it does not exist today.. But it could, and should. It is "utility computing" in its fullest sense, where the local (access) device STORES NOTHING, and much more importantly, RUNS NOTHING. Note - this isn't Google Docs, Photoshop Online or dozens of similar things where you run software ON your machine and store the results online or locally. In my scheme, *nothing* happens locally at all, except transmitting of simple data upstream to the cloud (pinches, taps, swipes, key clicks, mouse events, other device data (eg. accelerometer, GPS..)) and receiving/displaying of video/audio - specifically, all the "computing" (*ALL* the computing) happens 'elsewhere', so does data storage if any.  The user's device is simply a 'dumb' window into this infinitely-capable 'cloud' infrastructure where *all* the action happens. Old note: Skyfire is a mobile browser that works this way somewhat, but it's limited to website-based content.

With the above scheme, these things become possible:
* ANY device, ranging from a $10 cellphone with a little cheap 1" OLED screen to a netbook to a large screen touch-enabled desktop can tap into a vast wonderland of software. Obviously, the user experience will scale up with device capabilities but even the low-end ones will still let me move mountains
* ANY/ALL software is run *ONLY* online in massive, powerful, utility server clouds, using, as far as I'm concerned (or not) 'gobs' of RAM, 'unlimited' disk space, 'high-end' processor resources etc. The user doesn't know or care what is being used, since it *looks* as if things are run locally. THIS IS THE KEY IDEA.
* software vendors that participate in this scheme can make available, to millions of users simultaneously, their latest offering with up-to-date bug fixes and new features
* users will have minimal (zero?) need to install anything locally. Software piracy will go away (since the home software market goes away) as will the need to constantly 'upgrade' OSs, disk space, RAM, devices, drivers, plugins..
* in addition to the usual things that people will run on the cloud (word processors, presentation creators, spreadsheets, database software etc.), much more richer/specialized software become equally easily available:
- 3D and 2D content creation programs - everything from Maya to Flash
- video and audio editing software
- engineering software (CAD etc.)
- mathematical software, eg. Mathematica
- publishing software
- Second Life, Google Earth..
- for programmers - environments for dozens of languages
- games! Why own a Playstation/XBox/Wii and their associated
cartridges and I/O devices?
- for kids: flash cards, early reader books, musical toys, interactive globes, vocab. builders, etc. - there are literally hundreds of toys that need batteries, come with their software (sometimes as cartridges), etc. All (ALL) of these can be run remotely.. So can tens of thousands of Flash-based (for example) games that are out there
- science and math demos, practice exams etc. for older kids
* browsers that you run on the cloud can grab data (including A/V) from sites that you visit, *way* better than you could hope to using your own machine, reformat them for your screen and simply send the A/V to you. No need for you to install and upgrade browsers and an endless parade of associated plugins (eg. Flash, Java). Also, no local software execution means viruses on your machine are HISTORY!
* device piracy/damage doesn't matter - your stuff will still be safe centrally 'somewhere', backed up regularly, stored strongly encrypted
* no 'syncing' between anything and anything else, ever
* paradoxically, even as software piracy will cease as an industry, end-users WORLDWIDE will have access to way larger collections of software and content than they can ever dream of locally owning. For software vendors and CSPs, this in turn would mean truly global revenues
* by feeding out A/V (and possibly control signals on appropriately enabled devices), various things like animated walls of pixels, theatrical projection, DJing etc. become possible using cheap generic access devices (this isn't a new idea - I'm just saying that as part of the utility renting, **all** music, movies, books, and other forms of media should be centrally and simply accessible as well)
* software developers can PROTECT THEIR IP - 'View Page Source' goes away, because the 'page source' would be just pixels (thanks to Sonal Mahajan for pointing this out!)

As you can see from the above, you will be able to do anything from anywhere, using almost.. nothing (just a trivial device to let you log in). This will democratize net and software and content access worldwide (all is needed is a broadband connection, not even 'OLPC's - even users in podunk little countries have cellphones, that's all is needed). Likewise, parents can enable levels of powerful filtering on the virtual desktop, allowing kids to surf safely.

Also, payment can be based on hours used, software resources, data storage and other metrics. The user pays a single utility computing bill, perhaps to their ISP. Vendors (CSPs, "Computing Service Providers") can offer tiered rates, seasonal promos, free/cheap off-peak rates, etc. CSPs can look to phone/cable/gas/water/etc companies for ways to charge for their offerings.

Collaboration on creating any kind of content (books, 3D graphics, music, videos) etc. will become a reality, not just sharing of docs etc. as is currently enabled by Google Docs etc.

So how about CLUBing it? Companies like Google (especially Google!) can use their existing browser to provide you a single login link. When you log in, your virtual desktop is displayed as a browser page, and you're in business. In principle, this can all be done right NOW!

Does the above remind you of VPN? That's pretty much what this is, VPN for Everyone. It's like being able to access stuff in your home computer 24/7, but way more convenient and secure. Also, we're starting to access ("consume") movies, music and books online, software (which includes games) is the next logical step.. Also, "newspapers", magazines and similar content can all be available for browsing and reading, with the reader paying per article/page or based on time spent.

Summary: don't send data to my browser to render, send me just pixels instead, using a new alternative to http. In other words, it's being able to run, for example, iPhone apps without an iPhone (would need a touch-enabled device but doesn't have to be an iPhone).. Update, 1/27/10: another overhyped device from Apple ('iPad') debuts today, another piece of hardware that can be obsoleted by the above scheme.

PS: Oops - almost forgot: CLUB stands for Centrally Located Universal Browser..

PPS: Relevant related concepts/initiatives, old and new:
* VPN - an old favorite
* Amazon WorkSpaces: https://aws.amazon.com/workspaces/
* ORBX.js - HTML5 video codec
* TeamViewer
Mainframe2 - "Run any software in a browser"
* OnLive
* Steam: http://store.steampowered.com/about/
* VDI - Virtual Desktop Infrastructure
* IAAS - Infrastructure As A Service
* Skyfire etc. - server-rendered browser content
* Salesforce.com
* Mental Ray - RealityServer
* Houdini (Side Effects) - cloud-based rendering via HQueue
* SGI's Cyclone - on-demand cloud computing service
* Citrix's Receiver+ OK Labs' microkernel hypervisor: Nirvana Phone
* Cerelink
* VFX in the cloud
* Typesetting service
* OnLive cloud..
* Playcast Media Systems
* StreamMyGame
* GameStreamer
* Gaikai
* AXIS: TV graphics
* Project Photofly
* Fabric Engine [tangentially related..]
* ColorCorrection.com [not quite a 'cloud' service; it is more a 'web-based' one]
* RenderMan-On-Demand - high-quality photorealistic (or 'non') renders off the cloud :)
* WeVideo - collaborative video-editing
Mixmoov - cloud video editing
* Intel Transcode Service - Accelerated media processing
* Sony's Media Cloud Services 
* Adobe's Creative Cloud 
* https://www.onshape.com/ : "cloud CAD"


PPPS: Here is an idea for the hardware side of this - a little 1" cube that projects (at an angle) its display on a flat surface (just like SixthSense but simpler), and has a camera that can pick up finger-based swipes/taps/clicks on the projected image. A headphone jack (or wireless audio) and a built-in mic and some ports will round out the features. With this, you can carry a teeny device in your pocket, with NO MOVING PARTS! Add to this a 'shakeable'/squeezable (to charge) battery and a fully wireless-enabled infrastructure (LTE/WiMax etc), and it's digital nomadic heaven. Play with/look up/work on/interact with anything/anyone/anywhere/anytime.

Bottom line: AAADRRR - *all* *apps and data* reside/run remotely.


Update, May 2019:
* Google's Stadia is set to offer 'cloud gaming': https://www.techradar.com/news/stadia-everything-you-need-to-know-about-googles-game-streaming-service
* rollApp - a LOT like what I've discussed above: https://www.rollapp.com/


Update, Nov 2019:
* VMWare's PaaS, DaaS, Cloud Desktop, eg. https://www.vmware.com/products/desktop-virtualization.html

Update, May 2021:
* https://nira.app/