A few people commented on the Universal Personal Proxy thoughts I posted a day or so ago.
First Les responds:
Precisely. Exactly. Even down to the combination of P2P and desktop-to-server mix he writes about. I think we're starting to ride a meme here. This is what I want from a PersonalWebProxy. I've been trying to think of a better name for this class of app - it's more than a literal web proxy. I want an agent and an assistant - something that sits shotgun with me while I putter around and can help me study what I do and see. I want something that can eventually do things in my name for me, if I allow it. I want basically all the things Russell wants, along with everything agents do for the characters in David Brin's Earth.
So. How to do this? I think I need to spend some more time fleshing out a spec before I do much more in terms of putting gadgets together. Need to reign in the fantasy, lay out some feasible first revision features, and start. I want it all, but I want to start out with something hackable, useful, and inviting for collaboration.
Still probably too early to be thinking about implementation language, but I have been experimenting and expect some of these things to become the base for my development. My ideas on choices have become less clear-cut now. When last I wrote about this topic, and languages, Donovan Preston left a comment enlightening me with regards to my Python/Twisted vs Java/Threads consideration. In fact, threads are available in the Python/Twisted environment as well. So, now I'm back to thinking about things like free library availability, environment maturity, possible collaborators, and my own comfort level in each.
Bah. At this point, I think I know all I need to know about what various environment choices can do in order to come up with a set of features that can be reasonably implemented in either or any environment. Need to solidify this wishlist into a task list and design and get going.
I have a lot of trouble with motivation on something like this. I get excited then I flip out because of how much something like this could entail and I find other stuff to do for a while to calm down. This hs been going on for months. ;-)
Scott Loftesness also responded - he likes the idea and asks the Big Question:
I really like Russell's thinking re: a universal personal proxy.
I'd love to have Brent Simmon's NetNewsWire on my Windows XP machine too (Mac OS X only -- I run it on my iBook where I'm also playing with Movable Type!) -- then I'd probably ditch RU's news aggregator as Brent's is much cleaner and quicker.
I'm also running two IM clients (AOL IM and MSN Messenger -- yes, I know about Trillian ). But I want more -- I want to be able to aggregate other, non-RSS (for the moment) content too. Maybe Mitch Kapor's Chandler will evolve along these lines? Maybe not? This sorta feels like the opportunity that Borland seized back in the DOS days when they launched SideKick on the world.
Important Question. What's the business model for something like Russell's UPP?
It's funny you mentioned Groove, because that's how I see the business model: A free client that does basic stuff and a more full featured for-money client that does more and a very expensive server that provides "ultra-peer" services such as presence and web-hosting, etc. This is similar to Userland's model too, except instead of a free client, they have a very cheap client. Since I believe in open source, both as a concept and as a way of gaining a foothold in a crowded software market, anything that is published in the free version, would also be OSS. I envision the system working as "modules" - we've all seen the success of Eclipse's plug-in model. The base of the UPP would be open, but the modules could come from a variety of sources and some of them would be commercial.
Via Tecnorati, I saw that Ray Grieselhuber also had some interesting ideas that were sparked by this emerging meme:
I have been rolling over in my mind several ideas that I believe will make a big difference in the way that people work using the web. During the course of my experience in developing a workspace / portal server, I came up with several improvements that I was not able to implement immediately. Apparently, many of these same ideas are cropping up elsewhere. Here is a basic summary of my ideas for a workspace server:
- Workspace Heirarchy: Server (Peer, Node, etc.) -> Workspace(s) -> Room(s)-> Content (Forms, XML Docs, Blogs, Portlets, Office Docs, Files, etc.)
- Personal ("localhost") Peers - Essentially mini-servers that can interact with other servers, and sync data. P2P.
- Content can be stored transparently across a network of peers.
- Agent platform - Ability to create scheduled or event-driven automated agents using a variety of scripting and programming languages
- Cross-platform (AIM, Yahoo, MSN, Sametime, Jabber) Instant Messaging Integration
- Lightweight Data Store - XML-driven, lightweight, highly extensible data store for creating new forms and content types on the fly
- Pervasive - Server access is syndicated and not confined to browser UI. Can be accessed via IM client, Thick client apps, mobile devices, browsers, etc.This is more than just XSL transformations.
All very cool points and good food for thought.
And finally, Sam Ruby also commented that, of course, he thought of it first. He's even got some graphics in his REST doc to prove it. Good for him. Ideas are easy, now where's the code? ;-)