2015 and the future of IT

Stefano Baraldi
5 min readJan 3, 2015

--

Or, should i say: the future of Humanity?
If in a hurry, skip the following “about-me” paragraphs and get to the points, i want your opinion!

I am a software programmer turned entrepreneur for the love of creating new user experiences. I will be 40 this year, my life in the focus of IT started with the movie “Wargames”, wrote my first hacking sim when i was 13, did games in Turbo Pascal, bought a C++ compiler with all my savings to bypass 640k barriers, programmed a 3D medieval melee combat game because i was into medieval fencing and bumped into a great storyteller, got a MSc, created some web frameworks, had a visionary dream one night in Assisi about multi-touch devices in 2004 and started building them from scratch hw/sw with computer vision following an HCI pioneer in Florence, got a PhD, created and sold multitouch products, created and sold interactive floor products, created a projection mapping engine in 2006 just to play with it and today me and my family are living on it.
I just had a job interview in 1997 and that’s it, from that moment on i lived on my ideas, prototypes and products.

This vanity fair is just to say that i think something in me was/is in contact with this IT concept, that’s beyond me.
This also means that when an idea starts dwelling my brain, and sits there for a while, i am quite sure it is going to happen someday.

It is the beginning of 2015 and thinking about my future i know the current state of things (even my job) will not last long, the world is changing so fast and technology is becoming the most disrupting factor. Software is eating the world, yep that’s the mantra but i think it is deeper than what we understand today.
Among the many sci-fi theories about AIs (which i tend to support) there is a smaller, simpler scenario that i think will become real, and will change all the games for us developers.
I am not being philosophical here, i am thinking about some clear signs from the Industry, and i really like to share it and get your opinion.

1. Humongous Server Side Rendering (HSSR)

No, that’s not CSS, DOM or SVG created on the server to ease the browser’s job. That’s a lot more, that’s remote frame rendering. Like RDP without the grabbing slowness.
Yes, i mean it: every-single-frame created by the server and sent to the client, the client being any device.
30, 60, 120fps. Who cares, our device will be a super-dumb, sensor-packed, box that sends sensor data (touches, gps, accelerometer..) to a server over a high-speed network and receives back the fully rendered frame.
Different sensors, different screens and resolutions or even actuators will be just a matter of data bundles, all the logic will happen on the server.
We won’t need GPUs, not the way we use them today, but a single super-optimized (and super cheap) SoC , that receives/decompresses/renders on the screen.
And of course powerful network compression and prediction algorithms on the server side.

Can you think about the implications?

  • That’s the end of the device classification, who cares what is a phone, a smart TV or a giant touchscreen? We will be able to tile many screens and have a single application running with infinite resolution: we are just receiving synchronized frames.
  • That’s the end of the Browsers, capabilities and compatibility.
    No client-side logic is needed, anywhere. (Let’s save the Firmware).
  • That’s the end of the OS as a layer of abstraction from the hardware, it will be on the chip.
  • But of course that’s not the end of the UI, that’s the Eden of it.
    Implicit telemetry everywhere to support a continuous development and deployment of user experiences, we’ll change the interface in real-time because we can control all of the client status.
  • That’s not the end of programming languages.
    (at least as long as AIs will let us play with their DNA before protecting it ;) )
  • That’s not the end of the Web concept and technologies, but let’s face it: if we can code everything as in a desktop application, in any language, will we care about JavaScript and HTML anymore?
    (start the flames)
    We just need solid application logic, great IDEs and good graphics libraries. Server-side-rendering means that we’ll be able to really choose free from the client technology, adoption and all that jazz.

Too sci-fi? Something is happening now.

2. Migrating Container Servers and Computation Hubs

Of course to support such a scenario a ultra-wide bandwidth is needed.
Or maybe not.
Maybe we just need to have the server near the client, near “enough“.
This is the Cloud of course, but on steroids:

  • Every Server will be a container Server (like Docker), able to move re-wiring itself to the proper hub.
  • Every Server will duplicate itself, auto-synchronize, auto-decide if there are dependencies or communications among the running clients.
    (less dependencies, more instances, more speed)
  • Every server will relocate itself in the nearest Computation Hub which is a real hardware system somewhere with a CPU/GPU pair that has the necessary performance.
  • Computation Hubs will be everywhere, in cars, in our shoes, in rooms, in the streets. Public facilities that can give shares of their performance to the applications that need to run in a place.
    The Server will be able to parallelize and split the computation between hubs to achieve the necessary speed to satisfy the clients.
    A central status will still be needed, but the back-end communication to the main servers will be optimized and only as needed, the screen frame will be rendered very near your client.
  • Every service will be a subscription service, the more you will pay, the more you will get speed and performance from the “area” around you.
  • The more technology around you, the more performance you will be able to get. That’s why you will still buy computation hubs. Old hardware will still be somewhat useful. Very dense places will free your from having hubs (like free wifi).

So, to incarnate a scenario: if you are playing a game, the server could decide to relocate in your and your friend’s home computation hubs, split the computation, render a part of the frame while other parts come from more powerful servers far away, but not so far.
The worst case being receiving every frame from a single central server, not so bad if the bandwidth is enough.

Done.
This is going to happen, and i will link to this article in the following years to show my grandchildren a bit of my story, in front of a server-side-rendered fractal holographic fire.

Happy 2015.

--

--

Stefano Baraldi

CEO @ TABULA Natural Interfaces, Interaction designer, Software Hacker, Multitouch and Projection Mapping entrepreneur