What does it mean?

December 04, 2005

Stay Tuned

The past two years haven't been easy ones for me. Several years ago I had an idea that I thought would change the world (actually the result of several years of slow evolution, but reaching its current form about three years ago). I built a prototype, and tried to raise money to develop it. That was 2003, and the venture-capital world was shell-shocked by the stock-market crash, the Internet crash, and here in Israel by the breakdown of the Oslo accords.

So I decided to start developing it myself. This was not my preferred course of action first because it necessarily meant a much more modest goal, but mainly because it involved a lot of work that I neither enjoy nor am good at. What I love most to do is architectural design. I also love programming when there is a high ratio of thought necessary to lines of code. But most of the work that I've had to do over the past two years is neither of these. Instead I've been figuring out how to get various software installed and working, how to get it all working with each other, getting remotely hosted web sites to work, and programming endlessly complex user interfaces (humans are such complicated creatures!) - which still look and feel extremely primitive. That kind of work literally puts me to sleep, and it has required a tremendous amount of will-power for me to plow through it day after day, for two years.

But even more than a architectural design and high-thought programming, what I love is working with good people. Working with good people can make even boring tasks interesting. That's probably what I've missed most.

But I've come to a point where I think it's worth it to go public with what I've been doing. It is still quite primitive, but I am hoping that a few good techno-nerds will like it anyway. Stay tuned.

הַזֹּרְעִים בְּדִמְעָה בְּרִנָּה יִקְצֹרוּ
הָלוֹךְ יֵלֵךְ וּבָכֹה נֹשֵׂא מֶשֶׁךְ הַזָּרַע
בֹּא יָבֹא בְרִנָּה נֹשֵׂא אֲלֻמֹּתָיו

Hazor`im b'dim`a b'rina yiqsoru
Halokh yelekh uvakho nose meshekh hazara`
Bo' yavo' v'rina nose alumotav

They who sow in tears will reap in joy
One who goes out, crying, carrying his bag of seeds
Will come back in joy, carrying his sheaves

Psalms 126:5-6

Posted by David Boxenhorn at 04:51 PM  Permalink | Comments (3)
Trackback URL: http://blog2.mu.nu/cgi/trackback.cgi/133629

Comment:

I hope we don't have to wait another two years!

Posted by: Scott at November 30, 2005 01:07 AM Permalink
Comment:

neat.

Posted by: razib_the_atheist at December 1, 2005 04:44 AM Permalink
Comment:

Keep at it. Good for you. I'm cheering from a distance.

Posted by: ExpatEgghead at December 4, 2005 06:39 PM Permalink

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 02:02 PM  Permalink | Comments (8)
Trackback URL: http://blog2.mu.nu/cgi/trackback.cgi/135519

Trackback from Domicel Q & A, A user-interface layer on top of an RPC engine?:
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 ...

Comment:

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
Comment:

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
Comment:

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
Comment:

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
Comment:

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
Comment:

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
Comment:

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
Comment:

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

December 15, 2005

Domicel Q & A blog

I have started a new blog for questions and answers about Domicel. Feel free to join in with your own questions! 

I will make good questions into new posts, and answer them.

Posted by David Boxenhorn at 05:01 PM  Permalink | Comments (0)
Trackback URL: http://blog2.mu.nu/cgi/trackback.cgi/137881