Hacker News new | ask | show | jobs
by bhauer 4074 days ago
This gets incrementally closer to an ideal computing model I call "personal application omnipresence" [1]. Notably it brings a presumably-standard means for applications to scale their views to myriad input/output capabilities on the fly. Attach a monitor and the view expands and adjusts accordingly; attach a keyboard and the UI adjusts accordingly.

This is great progress, but I remain fixed in my desire for singular running instances of my personal applications to run on an application server I control and to which I attach views from all of my devices. I want to have a singular e-mail application that I see on all of my devices. I want to have a singular web browser application that I see on all my devices. And so on.

We need to make my many devices appear as one rather than making a single device act as many devices.

[1] http://tiamat.tsotech.com/pao

5 comments

This is something Plan 9 or Inferno (http://inferno-os.org/) would give you. You can run the main OS someone and mount the resources on other devices - including display, net and CPU resources. An example of doing this with a phone is here: http://bluishcoder.co.nz/2012/11/07/sharing-computer-and-pho...

Inferno is a portable and can be run on host operating systems. It would be possible to build it as an app on Windows Phone, Android, etc to access your Inferno resources on other devices.

I'm sorry, but no. The resource sharing model of Plan9/Inferno is great, but what they demoed was essentially a modal UI - plug in your phone and you get an external display and a different UI, but the computing resources are still handled in exactly the same way.
I'm not sure what you mean. When I said that this is what Inferno provides I was referring to the parent posts request for their ideal computing model, not comparing to the Microsoft demo.
You can technically do this today albeit with some overhead.

Spin up an Azure VM, install all the apps you desire and configure it as you want.

Every other PC you own, becomes just a head display, using RDP you can use a single dedicated VM.

The overhead here becomes that you still need to have full blown OS installed on the heads, however their specs can be very limited (compared to the VM).

I have attempted to approximate what I call PAO on today's existing technologies by using application servers at my home and at a data center. However, I think you're missing the notion of multiple concurrent views of singular applications, with each view adapting to the capabilities of the device at hand.

The closest approximation is connecting multiple web browsers via WebSocket to a self-hosted web application with a responsive user interface, and then using the WebSocket to relay all UI interaction at a fine-grained level. But if you read my blog entry about PAO, you'd recognize that as a facsimile of what I want—an effort to create PAO out of the mish-mash of technologies we have today.

The guts of what Microsoft is building here would be a key building block if something like PAO were to ever materialize. It will be necessary for applications to understand the capabilities of the view as they change. What's missing still is supporting multiple concurrent views with a singular application state and secure network transport for those views.

A connection is not an extension. It is a poor replacement for what is suggested; extension of a system by employing multiple devices. Think of dual screen duplicating desktop vs an actual extension of the desktop on the second screen.
As well as double-digit latency, maybe even triple-digit at times, solely from general internet transit.
And being blocked by basically everything in existence. I installed a desktop on Linode and Google blocked me from even their search product. Many other sites had blocks set up or at least CAPTCHAs. If you have browsing activity coming from a datacenter, everyone assumes it's a bot. Geo IP gets messed up too. Really hard to get any work done like that.
That's strange. Maybe they do that for the big providers, but I've run roughly 80% of my browsing activity through a SOCKS proxy on a VPS running in multiple different datacenters and never really had a problem that I noticed. I usually get my VPSs from little guys so maybe that's why they're not on a blacklist.
Does this blocking also apply to VPNs which are likely routing through data centers? One would think that most botnets are running on compromised consumer networks.
Botnets must leverage their infected host's internet connection. Almost all anti-bot tools use IP/rate metrics to identify the classic DOS: a large number of connections from a few IPs.

To get around Threatstop, Distil, and other solutions, we see attackers having to use 100+ different source IPs during their coordinated attacks.

Low-traffic botnets could be clicking on ads, simulating normal usage patterns.
So networked thin-clients?
This is also the computing system of my fantasies :) I also imagine the application server would be able to use the hardware peripherals from any of the attached devices seamlessly. So, for example, I could use the video conference application with the audio output piped to my bluetooth headset attached to my phone, the video output to my TV, and the video/audio input from the built-in webcam on my laptop. Then I could change any of those on the fly as I move around. Someday ...
I know that's not exactly what you mean, but Chrome OS and similar cloud platforms are doing a similar thing, differently.

All you need is a monitor with a web browser. If you accept the browser as the OS, it already works, it just needs to get better. And it'll get better, it already is good enough for casual users.

I just wanted to say that I have read and thought about your article many times over the last few years; you and I have some similar ideas.

I had wanted to read it again a few months ago, but my google-fu failed me. Thanks for linking it here.

Ha! Happy to oblige.

Incidentally I just followed you on Github to keep in touch.