Updated: 9/21/2003; 1:39:07 PM.
Lasipalatsi
Commentary on software, management, web services, and security
        

Sunday, December 29, 2002

ALIN - Application Layer Internetworking. I just discovered (via Sam Ruby) Rohit Khare's work on application layer internetworking, or ALIN. Rohit gave a talk at the O'Reilly Emerging Technologies conference last May and has a powerpoint presentation and some rough notes online. What I've been calling Layer-5 routing, Rohit calls Layer-7 or ALIN. I'll defer to him since he's got the powerpoint done (not to mention that he's probably thought it through more). [Windley's Enterprise Computing Weblog]
6:54:39 PM    comment []

Universal Personal Proxies.

It looks like Les Orchard and Russell Beattie are discussing unwarranted leaky abstractions.  Sounds like fun!

P.S.  FWIW, the original REST thesis explicitly endorsed the idea of intermediaries.

[Sam Ruby]
6:51:27 PM    comment []

Universal Personal Proxy. A few days ago, Les posted his thoughts on a PersonalWebProxy as personal Google and Wayback machine in response to a post on Matt Griffith's site. This is an idea - a theme almost - that's been going around for a while now. I've seen something like it posted a few other times, Jim and I have been batting this type of idea around for months now and I've posted about something similar also. I've just been too lazy to get a prototype finished (though, I've got it started, does that count?).

The idea in my mind is for a project that would be a universal personal proxy (UPP) that sits between you and the internet. It would be a web proxy, email filter, spam cop, a place for agents and schedule tasks to run and more. It would be responsible for both receiving and sending of information - as web pages, emails, web services requests, ftp file postings, etc. In the middle it would do analysis like for Spam or RSS autodiscovery, intelligent bookmark history, etc. as well as storing data such RSS and other news feeds. There are already efforts along these lines tackling the problem from various perspectives. ZOE is for filtering emails, aggregators for filtering web logs and news, etc.

This sort of app would be for people like myself who spend an innordinate amount of time on the internet. All of us all slowly working our way towards this idea, I think. As well get used to news aggregators and web services, we're starting to expand our minds about what can we do with the data out there - and what we can do to stop the information overload that many of us are experiencing. A UPP is a "middle brain" to help combat this.

This meets up with Fred's recent comments about where he thinks web services are going: Collaboration Services. Fred's thoughts is that there needs to be a way to integrate boht p2p and web services together and that's where I think the UPP comes in. In my mind these UPPs will communicate both with centralized servers and with other UPPs as well.

Not to forget security as an afterthought - the UPP could automagically secure all the communication that it is doing as well. Maybe in a simple SHTTP way, or maybe taking a clue from Groove and encrypting the information before it goes out into the wild internet. It would be great to see some sort of key system in place so you could run other people's agents on your UPP as well without worries that it's actually a virus. Lots of cool things you could do with this sort of setup (and the truth is that M$ and Groove are already 2/3rds of the way there.)

Obviously, I would like to see this done in Java as the runtime has a great base for much of this and much more is available as open libraries on the web. It's all just a matter of wiring it all together. Someone will, soon too.

Just my thoughts.

-Russ [Russell Beattie Notebook]


5:53:43 PM    comment []

UPP Followup. 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'm sitting here with Radio UserLand and Groove running in the background (a couple of truly THICK clients!) doing just a part of what I really need.

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? ;-)

-Russ [Russell Beattie Notebook]


5:50:53 PM    comment []

UPP Followup 2. Checking out my referrers, I noticed this post on the Orange Creamsicle blog by Kasei(?):
0xDECAFBAD has recently been musing about a PersonalWebProxy:

«[A]n assistant in a sidecar attached to my browser. I want this assistant to watch me, learn, and pipe up from time to time with suggestions. I also want to be able to ask questions and to remind me of things I vaguely remember. Eventually, I'd like this assistant to be able to drive for me from time to time, doing some info hunter-gatherer work for me while I do other things.»

I wonder just how many people want this. Has a pesonal proxy become the next page parser, something that anyone who's anyone has (at least partially) implemented? 0xDECAFBAD points at Russel Beatie discussing a universal personal proxy.

I think what would be neat about these (aside from the personal wayback-machine and cookie jar) would be to have a portal-like interface to the proxy. A home page that would summerize what the proxy was up to: "Here are the pages I know you want today, already downloaded. You may be interested in the coverage on Mars in the news. Also, here are some patterns that you seem to follow while browsing. Shall I base future decisions on these patterns?"

By running with the universal proxy idea (beyond just the scope of the web), I can also imagine the proxy:

  • Alerting me to new files on a hotline server (possibly scheduling a time to download those files)
  • Integrating Mail::Miner features
  • Integrating Infobot features
    • factoids, possibly inline in webpages
    • seen queries (when was wonko last seen on AIM?)
    • IM proxying (send this message to zazoo the next time he's online)
More good stuff, though I don't really know what Mail::Miner does, though I can imagine (like ZOE?). Also, he mentions presence stuff and Instant Messaging... both very important.

Here's my outline right out of Bonzai about this subject. It's pretty long and meant for me, but you might see what's behind my beady little brain:

  • Universal Personal Proxy
    • Misc Thoughts
      • "Open Web Services Client"
      • Generic DB Interface - Jakarta SQL Stuff?
      • Web Pages
        • Simplified App development with scripts?
      • Which Port
      • JNLP - for install/updates?
      • Downloadable 3rd Party Apps via Jar Files
        • HOW?!?!?
      • Local Classes
      • Try on Linux? Mac? Dock?
      • UI
        • Velocity Web Pages
        • Swing UI
        • SWT?
        • XUL
      • Easy for Developers to use
      • Scripting
        • Jelly
        • Jython
        • Bean Scripting?
      • Custom XML Setup or Generic?
      • Web Services
        • Client and Server
        • Axis?
      • JSP Web Pages or only Velocity?
      • Integrate JOE? (Coooooolll....)
      • Proxy Service
      • Proxy Email Service (like ZOE)
      • More
      • Applications are responsible for their own UI
      • Use Axion instead of HSQL?
    • Libraries
      • Jetty
      • Quartz
      • Velocity
      • Log4J
      • HSQLDB
      • Tray App
      • JNLP Launching
      • Jakarta Commons
    • Overview
      • Startup
        • Main Application Starts
        • Sets up Core Modules
          • Tray App
          • HTTP Server/Servlet Runner
          • Scheduler
          • Encryption
          • Module Registry
          • Web Services (?)
          • Proxy (?)
          • Email (?)
        • Calls Modules
          • Modules can self-start - including launching browser. The first module will be the web or Swing Frame which will list the other modules inst
          • Each Module has it's own UI and registers it's own scheduled services.
      • Core Modules
        • Web Server
        • AXIS Web Services
        • Scheduling
        • Database
        • Proxy
        • Email(?)
        • Register Module Service (Module Manager)
      • Download and Install via JNLP
      • Web Server
      • Scheduler
      • Scripting
      • Auth/Auth/Secure
    • Apps
      • Journal
        • Weblog
        • Calendar
        • BlogRoll (in OPML?)
      • Calendar
        • iCal
      • News Aggregator
        • Email news to users
        • FTP news to servers
        • Save news locally (using velocity)
      • Photos
      • Scheduler (Scripts)
      • Multimedia(?)
      • PIM? To Do, Address List, all shareable?
    • Modules
      • RSS Aggregator
      • FTP Uploader
      • Upgrade Watcher
      • Email aggregator
      • Spam Cleaner - Bayesian Filtering
      • Exporter -> HTML via Velocity
      • Script Runner
      • Radio Importer!!
    • Directory Structure
      • System/
        • Bin
        • Lib
        • Config
        • Log
        • DB
        • Temp
        • App
      • Modules/
        • .jar
        • web
        • classes
        • lib
        • scripts
      • Docs/
      • Templates/
    • Main UI
      • List of Services
      • Log
      • Edit Preferences
      • Quick Links
        • Bookmarks to Services
        • Customization
        • Etc.?
  • I told you it was long.

    By the way, this article in the NYT about Bush's plans for monitoring all the traffic on the internet is a perfect reason that everything going in and out of the UPP be encrypted.

    -Russ [Russell Beattie Notebook]


    5:50:19 PM    comment []

    © Copyright 2003 Erick Herring.
     
    December 2002
    Sun Mon Tue Wed Thu Fri Sat
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 31        
    Nov   Jan


    Click here to visit the Radio UserLand website.

    Subscribe to "Lasipalatsi" in Radio UserLand.

    Click to see the XML version of this web page.

    Click here to send an email to the editor of this weblog.