4 ms·
Of course the problem here is the software. It's not that it doesn't exist, it's that tools to use and create such a system easily don't exist. We can make app
by SolarNet 13y ago
Of course the problem here is the software. It's not that it doesn't exist, it's that tools to use and create such a system easily don't exist.
We can make applications which do what you describe but it is a hell of a lot of work. It would require a custom affinity system (which desktop is the tablet attached to, how do I authenticate it), a custom server-client system (how do I talk to the desktop regardless of how I am connected, including NAT traversing, ect), a custom user interaction system (how do I deal with two users using the same program at once?) ect. for every device. Of course the key problem is that tablets, phones, ect. use a myriad different technologies.
So the solution today, the high intensity one, is that the application developers spend hundreds of thousands of man-hours writing tens of different versions of each piece of code. This is how Netflix, Google, Facebook, and others do it. These applications have integration across every device, TVs, smart-phones, desktops, tablets, smart-boards, cars, ect. This is not cheap, this is not easy, and this is not very useful.
The better solution (one that I am working on personally, albeit slowly) is to build tools that allow us to write one large piece of multifaceted application code against a myrid of idealistic DSLs (one for rendering, one for communicating, one for user identity, ect.), which can then be auto-magically (note the magic) ported to every device. This what unity does, as a domain specific example.
The poorman's solution is of course HTML, but that doesn't work well with current desktops due to NAT.
- bhauer 13y agoI agree that software is a principal constraint. As a programmer myself, I find implementing what I would like to see as well beyond my capability, even if I invested significant time. As you point out, it would require a holistic ecosystem-wide approach. This is why I'd like to see a software titan like Microsoft attempt something along these lines. They have the resources to unify all the devices in a person's life into a single computing experience. I very much appreciate what you're attempting to do and I think it will measurably improve matters. However, where I personally differ is on the key point I made above: I don't want applications to run on multiple devices. I want applications to be singular instances available everywhere. If I begin typing an e-mail at my desktop, I want to view my e-mail application on my tablet or phone and see the exact in-progress e-mail—to the letter—available and interactive in real-time. As I type on any device viewing my e-mail application, the letters appear on all over views instantly. Presence information (for the purposes of notification sounds and the like) could follow whichever device I interacted with most recently. A premise of MVC that we have in large part forgotten is that views can be plural and diverse. As you point out, countless developer hours are used porting applications to myriad devices. I'd rather conserve that effort. Have the computational guts be on a high-performance, high-connectivity, well-known (e.g., x86) application host. Then only the views need to be made plural, in a manner similar to (but obviously more comprehensive than) responsive web design. More comprehensive because some devices will be touch-enabled, some will be large, some will be small, some with a keyboard, others without, etc. All that said, I do like what you're talking about and building. I look forward to seeing that project come to light!
- SolarNet 13y agoOh I completely agree with what you describe. (I use exactly the MVC pattern you describe when I work on contracts to pay the bills.) Personally, however, I maintain that even at the level you describe the tools just don't exist to reduce the time significantly unless you give up native application feel. I.e. streaming the view, and just sending the input back. The web is a great start to such a system, but it still has a lot of hurdles to cross if it wants to be that platform (including performant (i.e. native) 3d rendering, NAT traversal for user ran applications (just switch to IP v6 already!), saving data client side, threading!, different input and display methods like you mentioned, ect.) I also have other, fundamental, problems (more like pet peeves) with the way the web is designed to work. But my main motivator is the massive problems I have with programming languages. I should probably start a blog...