December 05, 2005

Looking for a Few Good Nerds

For the last few years I have been working on a new architecture for the Internet, which you can read about here:

Problem:

How can we deliver applications as services, over the Internet, and get PC-like functionality, where each user can mix-and-match applications as if they are on a PC?

(Note: The question does not refer to pure user-interface issues that are addressed by AJAX!)

Solution:

Domicel is a virtual personal Internet domain. It gives the end user the look-and-feel of working on a PC – without the PC! Applications are provided as on-line services, in an object-oriented paradigm. The aggregate of a user's objects (think: icons) from all applications, hosted  anywhere in the world, is their Domicel – there is no one place in which a Domicel's objects reside, no bottlenecks, and no central point of failure.

Or, to put it another way, it does for applications what the World Wide Web does for documents. 

It's still very primitive - I think of it as being the Internet version of the Altair, "the spark that led to the personal computer revolution". At this point, I would like to get a few good nerds interested. If I can get it going, I think it will be very big.

You can see the current state of the art here. Notice the links in the upper right-hand corner.

UPDATE: There is a good discussion about Domicel going on here.

Posted by David Boxenhorn at December 5, 2005 02:02 PM | TrackBacks
Comments & Trackbacks

Q:This amounts to a user-interface layer on top of an RPC engine. Basically, there just aren't any vendors that build user interfaces that sit directly on top of an RPC engine. But it has been possibly for many years now. It is starting to become more ...   ... more

Trackback by: Domicel Q & A (A user-interface layer on top of an RPC engine?) at December 15, 2005 02:12 PM Permalink

This amounts to a user-interface layer on top of an RPC engine. Basically, there just aren't any vendors that build user interfaces that sit directly on top of an RPC engine. But it has been possibly for many years now. It is starting to become more efficient, and this is sorta what Microsoft Live is trying to do.

You may find that a lot of what you're trying to do has already been created, you just need to put it all together into a service.

Java has something called Java Remote Method Invoke, as well as CORBA support.

I had a similar idea once, one that would involve a distributed service framework, with services cryptographically signed by providers, but spread over the network, with a micropayment scheme to pay both the providers and people whose bandwidth is used.

Posted by: Mike at December 5, 2005 08:18 PM Permalink

Mike, thanks for the feedback.

But I think you've misunderstood. Please get back to me so I can learn how to better communicate what it is.

It is NOT a user interface layer. It is an object-oriented Web Service protocol (and, of course, the server that implements it) that enables objects created by different organizations on different servers to behave as if they are in one virtual space - without endangering security or mandating a central point of control.

Of course, in writing a suite of applications (such as they are) for the system, I've written a lot of general software, and created a lot of general infrastructure for doing things that applications have to do, user interface among them.

Posted by: David Boxenhorn at December 5, 2005 08:30 PM Permalink

This makes perfect sense to me, if I read it aright.

My husband and I don't use anything on our PC except the Internet and a (very poor) home accounting application. The rest are not only a waste, but a nuisance. They take up space and sometimes interfere with our daily operations. Removing them is a risky thing, because they came with the computer, and are sometimes share important files.

We do, however, like to explore new things. But we hate to download anything anymore. For the reasons, stated above.

Does Domicel eliminate these problems? And can that actually prevent, or are you making arrangements to prevent, infection from tainted sites?

I'm not sure I'd like to write my checks through a third party, though. But a lean, clean computer that's rather a terminal (like a television) sounds wonderful. Bet it would overcome the trouble we are having convincing my father to get a computer and go on the internet. He doesn't want to have to keep learning new stuff all the time.

Is this it?

Posted by: pb at December 8, 2005 08:40 PM Permalink

Does Domicel eliminate these problems? And can that actually prevent, or are you making arrangements to prevent, infection from tainted sites?

Yes, and yes.

Posted by: David Boxenhorn at December 8, 2005 09:04 PM Permalink

So many people are simply stuck with the software that clutters their computer. And I am looking at the boxes for all the software we purchased and no longer use. On top of that, many of our applications are long out-dated, and go to waste because of it. We would simply logon and be using the latest of whatever we want.

Sounds like a winner, David.

Posted by: pb at December 10, 2005 02:40 PM Permalink

Hi David,
Sorry it has taken so long for me to get back to you.

I see what I said wrong. Instead of user-interface I should've said something like "thin-client RPC engine".

This sounds very similar to what Microsoft wanted to initially do with .NET (of course they wanted to keep exclusive control), and are moving towards with their Live suite. Though in the enterprise world .NET Remoting has been quite popular. I'm not sure why desktop offerings (such as Domicel) have been so meager to date. Lack of bandwidth maybe?

Are the Java objects executed remotely or locally? If remotely, (i.e. they are not serialized and sent to client to fill stub requests) why do they have to be in Java? It shouldn't matter what's running under it as long as it's a standardized web service interface.

You bring many comparisons to the WWW, and I can see what you mean. But the real power of the web was because anyone could write servers and clients to utilize HTTP. I believe the key in creating a distributing application framework such as Domicel is an open protocol for exchanging objects and object data over the network (easily, securely, seamlessly, etc.). As I've said before, there are many methods to do most of that job already, but none that do it quite the right way for a desktop user.

So, basically, the ideas you describe have been fully implemented for several years now in the enterprise realm. Thus, I think, you should concentrate on the user-centric aspects (rather that organizational and business aspects of it).

And as such, that mainly involves the "user interface." By user-interface I don't mean just how it looks, or even just how it acts. But rather, the logic behind how a user would perceive the objects, the distribution behind them, their integration, etc. Because generally, these are hardcoded so that the end result is a set interface, rather than a dynamic one (which is what it seems you're trying to create).

Right, ok, I got distracted and lost my train of though. So I'll summarize: I like your idea, etc., but I think your emphasis should be on user side, and leave server-side mostly to others while defining a clear, flexible, and open interface for them to use.

Regards,

Posted by: Mike at December 20, 2005 08:28 PM Permalink

This sounds very similar to what Microsoft wanted to initially do with .NET (of course they wanted to keep exclusive control), and are moving towards with their Live suite. Though in the enterprise world .NET Remoting has been quite popular. I'm not sure why desktop offerings (such as Domicel) have been so meager to date. Lack of bandwidth maybe?

Mike, there's some kind of disconnect here. What I'm doing has very little to do with .NET and even less to do with Live. That is, of course there is a big technology overlap, but the problems the three architectures solve are different.

.NET is a very amorphous thing, with many nooks and crannies, but as a whole I would describe it as a framework for building distributed apps on the Web.

Live is Microsoft's answer to Google, in other words, a giant application on one server - nothing distributed about it except for its Web interfaces which other apps can use.

Domicel is middleware, or if you prefer, an operating system, for the Internet. It is analogous to the web server (in fact, it is a web server add-on), but its protocols enable behavior very different from a usual web server, i.e. it will enable a PC-like user experience, rather than the storefront experience we now have.

Are the Java objects executed remotely or locally? If remotely, (i.e. they are not serialized and sent to client to fill stub requests) why do they have to be in Java? It shouldn't matter what's running under it as long as it's a standardized web service interface.

Objects are executed locally. Theoretically, they don't have to be in Java, but that's what I support at the moment.

Posted by: David Boxenhorn at December 21, 2005 11:07 PM Permalink

Ah, right, I see.

What I meant with the .NET and MS comment is this: Back in the late 90's, around 98-99 or so, when I still lived in Israel and hung out around Kiryat Atidim a lot =), MS was pushing the idea that their next-gen tech (I don't think it had a name yet) was gonna be just that, an operating system for the internet, but with more stress on the service providing part (they wanted all the money for themselves and approved providers). That is NOT what .NET eventually turned out to be, but it was their marketing "thing" back in the day before the bubble burst.

Live is doing a very similar thing to what you're doing from the user's point of view, not from any other. i.e. the user is getting a similar end-service "hey look, a spreadsheet. hey look, a word processor". It's true that the thought, design, architecture, and everything is else is different.

Good luck with this, I'll definitely keep an eye on developments. If it picks up and takes over the world, I can say "hey look, I was sorta being an ass way back when" =)

Posted by: Mike at December 23, 2005 06:47 AM Permalink

× Network: