Subject: What Atom software are you working on?

From: "Robert Sayre" <[email-masked]>
Date: Fri, 5 May 2006 09:11:25 -0400

I've been working to add Atom support to Firefox 2. Some other Firefox
devs are toying with exposing internal data like history and bookmarks
as Atom feeds.

What software are you writing?

--

Robert Sayre

"I would have written a shorter letter, but I did not have the time."

---

From: "M. David Peterson" <[email-masked]>
Date: Fri, 5 May 2006 08:03:56 -0600

I've got several.

GlobalClip (trac:http://dev.extensibleforge.net/wiki/GlobalClip svn:
svn://src.extensibleforge.net/trunk/GlobalClip)

An implementation of MS's LiveClipboard that (for the moment) uses S3 as a
way of storing and accessing content that someone wants to either allow
public access, shared but controlled access, or private access (multiple
machines) to this content.

I'm working on tieing this into a demo which you can access via
http://extf.net/saxon/dotnet/asp.net/liveclipboard/

The UI for the demo is finished (finished that yesterday), the backend is
working (finished the day before), although there is a lot of spit and
polish work that needs to be done, and some areas that I want to extend
into.  None-the-less, it will work from the standpoint of using
LiveClipboard as the browser-based engine to the take the content from the
instance of liveclip, put it to S3, and then make available an atom feed of
the contents of the current clipboard based on certain criteria (e.g. sort
by date, content-type, etc...)

You can access the ASP.NET-based trac >
http://dev.extensibleforge.net/wiki/Research/Saxon/dotnet/ASP.NET/liveclipboard
<
interface where you will find the proper SVN location of the source.

This will all tie into AtomicXML which in essence uses 'feed'-based Atom
feeds as way of configuring an application as well as storing a collection
of either one resource (historical) or many resources (collection) that then
references modules contained in external 'entry'-based Atom files which
references a particular instance of a resource.  These resources can be
anything from existing CSS or Javascript files, to XML that is used together
with the AspectXML code base to weave together pre-configured templates with
data that relates to the specific instance (e.g. something as simple as
weaving the link and name of the creative commons licensed used for a
particular page, or as complex as weaving into an entire application all of
the specific user-specified settings, etc...)

The idea with combining the GlobalClip-based with the AtomicXML-base is to
allow folks to be able to share the source for a particular site, page, or
element of that site/page, copy it to their clipboard, and then paste it
into either another site (pre-existing AtomicXML-based site) or create a
brand new site based on the template on the clipboard which would then
access all of the referenced resources, weave it together with any
pre-configured user data, and make this site available immediatelly upon
finishing the build out of this particular instance.

If you visit the above linked demo interface it should be a bit more clear
as to what the content of that demo will eventually make available to
visitors.

I won't get as far as a full implementation of the above description today,
but I will have it to the point of copying clipboard data, pasting it to the
GlobalClip instance (currently S3, eventually, any storage medium (e.g.
GDrive, LiveDrive, AnyOtherDrive including your local hard drive)) and then
listing the data on the clipboard.

I'll ping back this thread later today when its ready to view and play with.

--
<M:D/>

M. David Peterson
http://www.xsltblog.com/

---

From: Nick Gerakines <[email-masked]>
Date: Fri, 5 May 2006 09:57:21 -0700

This my first post, feels like a good time to pipe in. I've got a few things on my plate, some of you may be interested in.

* TypePad Atom API - Updating and overhauling the Atom API for TypePad. I've been working with Byrne Reese internally to get a really solid spec hammered out. So far things are looking really good.

* TypePad Atom feed support - TypePad Currently has Atom (v1.0) feeds for blogs but I've been extending that quite a bit. The general idea is that TypePad will provide the following atom feeds: recent blog entries, recent blog comments, individual entry + comments, blog category feeds, photo gallery, individual image + comments + meta info, TypeList feeds, etc etc. I'm also adding support for the threading extension provide by James Snell. The entire process has been very fun and educational.

* Fence - Fence is a small application that was originally a proof-of-concept learning project to interact with the TypePad Atom API but has become a full project. It is written in cocoa/objective-c (my first cocoa app) and uses a home grown Atom framework resembling the perl module XML::Atom. I've put a project blog out that has more information and screenshots ( http://blog.socklabs.com/typepad-uploader ). The Atom cocoa framework can interact with any Atom API friendly website so its not just TypePad specific.

* iPhoto export tools - I've also created a few different iPhoto plugins that export to TypePad using the Atom cocoa framework as mentioned above.

Thats it for me, as you can see most of my development is in Perl but I do some mac os x and cocoa stuff as well. Questions? Comments?

# Nick Gerakines

---

From: "M. David Peterson" <[email-masked]>
Date: Fri, 5 May 2006 21:53:49 -0600

Hey Folks,

As per my email this morning, a quick update:

As posted to the main sample site:

[http://extf.net/saxon/dotnet/asp.net/liveclipboard/]

PLEASE NOTE: I am currently working through various issues with CSS
> collisions, issues with why Fx will recognize the top margin of the content
> container but refuses to recognize the bottom margin when I add content to
> this container, why IE will recognize the bottom margin, but refuse to
> recognize the top margin regardless of whether I put content in the content
> container... you know, the usual stuff that makes you want to rip each and
> every hair out of your own head, and the heads of those who invented this
> crap... err, I mean... this... neat.... technology.  So there ya have.
> Peace be unto you all while I continue my efforts to induce premature male
> pattern baldness upon myself.

So there ya have it...  I'll update you when I have less hair, but better
results to showcase.

On 5/5/06, M. David Peterson <[email-masked]> wrote:
> the contents of the current clipboard based on certain criteria ( e.g.
> sort by date, content-type, etc...)
>
> http://dev.extensibleforge.net/wiki/Research/Saxon/dotnet/ASP.NET/liveclipboard < interface where you will find the proper SVN location of the source.
>
> data that relates to the specific instance ( e.g. something as simple as
> I won't get as far as a full implementation of the above description
> today, but I will have it to the point of copying clipboard data, pasting it
> to the GlobalClip instance (currently S3, eventually, any storage medium (
> e.g. GDrive, LiveDrive, AnyOtherDrive including your local hard drive))
> and then listing the data on the clipboard.
>

--
<M:D/>

M. David Peterson
http://www.xsltblog.com/

---

From: James Tauber <[email-masked]>
Date: Sat, 6 May 2006 21:58:07 -0400

Demokritos - APP server and Python library.

http://jtauber.com/demokritos

Currently implementing basic auth support for 0.4 release.

Also recently started on a AJAX-based APP client to go with it.

James
--
James Tauber                       http://jtauber.com/
journeyman of some   http://jtauber.com/blog/

---

From: "M. David Peterson" <[email-masked]>
Date: Sun, 7 May 2006 13:59:06 -0600

> Also recently started on a AJAX-based APP client to go with it.

Very cool!  This is something I can help with if needs be...  I'm still
trying to get my legs in Python, and with some missing holes in IronPython
to allow Demokritos to run natively have held the AtomicRSS.NET project off
for now and moved forward with GlobalClip.

Just to connect the dots, ideally I would like to couple support for APP
into GlobalClip, as the ability to copy text from a blog entry, suck in all
of the necessary meta-data, to then paste this into a blog entry, or
a research paper, or anything else that one might want to make reference
to something else on the web, seems to match well with what APP is all
about.  Of course, the meta-data would include at very least the reference
URI (read: nobody has to do anything except post something to the web, and
this is enough information to at very least ensure proper credit to the
referencing URI is enclosed.) but would hopefully contain all the proper
copyright information, whether this be a Creative Commons license or
something else all together, as well as other related meta-data, such as
that found in the world of citations.

I've copied Bruce D'Arcus on this as he and I have been talking about
building into the LiveClipboard/GlobalClip extension offerings the ability
to implement support for complete citation meta-data to then build the
necessary connector to enable a simple paste operation inside of a Word
document (ODF via OO.o is obvious, given the fact that Bruce is a part of
leading this effort already).

*Bruce*: Have a look @
http://extf.net/Saxon/dotnet/ASP.NET/LiveClipboard/GlobalClip/ as well as
http://dev.extensibleforge.net/wiki/GlobalClip if you haven't seen them
recently... I think we're about ready to start expanding into the citations
side of this.

Connecting this back to the AtomicRSS.NET project (or whatever the final
name turns out to be (NOTE: I've officially moved this project to
extensibleforge which is the new home of ALL of my ongoing projects :) >
http://dev.extensibleforge.net/wiki/AtomicRSS.NET ), the ability to turn the
MS Web Feed engine into an APP data store is simple enough.  But using
Demokritos as the primary data store, and syncronizing with the Web Feed
engine brings all of the wonderfulness that comes along with the persistence
layer via SVN (and therefore historical persistence, as long as I understand
correctly how Demokrito's handles persistence via SVN) thats built directly
into Demokritos.

Unless I'm missing something [
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/feedsapi/rss/overviews/msfeeds_ovw.asp]
there is no direct concept of historical persistence in the Web Feed engine.

*Sean *(also copied), can you clarify this one way or the other?

--
<M:D/>

M. David Peterson
http://www.xsltblog.com/

---

From: Sean Lyndersay <[email-masked]>
Date: Mon, 8 May 2006 07:20:33 -0700

> Sean (also copied), can you clarify this one way or the other?

On the concept of persistence, the feed platform in Windows persists downloaded entries from feeds for as long as the user wants them. Nothing more complicated than that.

From: M. David Peterson [mailto:[email-masked]]
Sent: Sunday, May 07, 2006 12:59 PM
To: James Tauber
Cc: Robert Sayre; Atom Syntax; Bruce D'Arcus; Sean Lyndersay
Subject: Re: What Atom software are you working on?

> Also recently started on a AJAX-based APP client to go with it.

Very cool!  This is something I can help with if needs be...  I'm still trying to get my legs in Python, and with some missing holes in IronPython to allow Demokritos to run natively have held the AtomicRSS.NET project off for now and moved forward with GlobalClip.

Just to connect the dots, ideally I would like to couple support for APP into GlobalClip, as the ability to copy text from a blog entry, suck in all of the necessary meta-data, to then paste this into a blog entry, or a research paper, or anything else that one might want to make reference to something else on the web, seems to match well with what APP is all about.  Of course, the meta-data would include at very least the reference URI (read: nobody has to do anything except post something to the web, and this is enough information to at very least ensure proper credit to the referencing URI is enclosed.) but would hopefully contain all the proper copyright information, whether this be a Creative Commons license or something else all together, as well as other related meta-data, such as that found in the world of citations.

I've copied Bruce D'Arcus on this as he and I have been talking about building into the LiveClipboard/GlobalClip extension offerings the ability to implement support for complete citation meta-data to then build the necessary connector to enable a simple paste operation inside of a Word document (ODF via OO.o is obvious, given the fact that Bruce is a part of leading this effort already).

Bruce: Have a look @ http://extf.net/Saxon/dotnet/ASP.NET/LiveClipboard/GlobalClip/  as well as http://dev.extensibleforge.net/wiki/GlobalClip if you haven't seen them recently... I think we're about ready to start expanding into the citations side of this.

Connecting this back to the AtomicRSS.NET project (or whatever the final name turns out to be (NOTE: I've officially moved this project to extensibleforge which is the new home of ALL of my ongoing projects :) > http://dev.extensibleforge.net/wiki/AtomicRSS.NET ), the ability to turn the MS Web Feed engine into an APP data store is simple enough.  But using Demokritos as the primary data store, and syncronizing with the Web Feed engine brings all of the wonderfulness that comes along with the persistence layer via SVN (and therefore historical persistence, as long as I understand correctly how Demokrito's handles persistence via SVN) thats built directly into Demokritos.

Unless I'm missing something [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/feedsapi/rss/overviews/msfeeds_ovw.asp ] there is no direct concept of historical persistence in the Web Feed engine.

Sean (also copied), can you clarify this one way or the other?

On 5/6/06, James Tauber <[email-masked]<mailto:[email-masked]> > wrote:

James

--
<M:D/>

M. David Peterson
http://www.xsltblog.com/

---

From: "M. David Peterson" <[email-masked]>
Date: Mon, 8 May 2006 08:55:13 -0600

Hey Sean,

So in more user controlled format (not a bad thing, obviously :)) then there
is historical persistence...

My apologies for suggesting things were more complicated than they actually
are...  I guess I should have dug a bit deeper.

Looks like I have some more studying to do...  Any pointers?

Thanks in advance!

One thing worth noting.. I realized after sending yesterdays email that if I
don't simply develop the AtomicRSS.NET Atom > Web Feed Engine > Atom engined
pronto, I'm going to miss any possible window of opportunity for any sort of
internal changes to make the conversion process as losless as possible (if I
haven't lost that window already).  As such, I started in on the basic
engine last night using C#, and am actually using this as the basis for
developing the data structure of the Clipboard[1], ClipData[2], and
ClipItem[2] data structures that are then mapped to the Provider[4] class
(soon to be an interface) of which any given data store can be map directly
to the Provider interface that maps directly into the above mentioned
classes.

I am still working through all of this, and to keep the current
testclipboard.aspx[5] demo I hacked together a functional source code base
that, while it looks a bit horrid at the moment, it allows me to keep
working on the above mentioned files and allow the demo itself to move
forward[kinda :)], at least showcasing some of the basic features.  I will
ping this thread back with significant updates.  The timeline feed is
available [6] for those who desire a bit more up-to-minute detail of whats
being checked in, when its being checked in.

[1] >
http://dev.extensibleforge.net/browser/trunk/GlobalClip/GlobalClip/GlobalClip_Clipboard.cs

[2] >
http://dev.extensibleforge.net/browser/trunk/GlobalClip/GlobalClip/GlobalClip_ClipData.cs

[3] >
http://dev.extensibleforge.net/browser/trunk/GlobalClip/GlobalClip/GlobalClip_ClipItem.cs

[4] >
http://dev.extensibleforge.net/browser/trunk/GlobalClip/GlobalClip/GlobalClip_Provider.cs

[5] >
http://dev.extensibleforge.net/browser/trunk/Research/GlobalClip/src/x.Instance/testclipboard.aspx

[6] >
http://dev.extensibleforge.net/timeline?wiki=on&milestone=on&ticket=on&changeset=on&max=50&daysback=90&format=rss

On 5/8/06, Sean Lyndersay <[email-masked]> wrote:
>
>
>
> *> Sean *(also copied), can you clarify this one way or the other?
>
>
>
> On the concept of persistence, the feed platform in Windows persists
> downloaded entries from feeds for as long as the user wants them. Nothing
> more complicated than that.
>
>
>
>
>
> *From:* M. David Peterson [mailto:[email-masked]]
> *Sent:* Sunday, May 07, 2006 12:59 PM
> *To:* James Tauber
> *Cc:* Robert Sayre; Atom Syntax; Bruce D'Arcus; Sean Lyndersay
> *Subject:* Re: What Atom software are you working on?
>
>
>
> to allow Demokritos to run natively have held the AtomicRSS.NET project
> off for now and moved forward with GlobalClip.
>
>
>
> *Bruce*: Have a look @ http://extf.net/Saxon/dotnet/ASP.NET/LiveClipboard/GlobalClip/
>  as well as http://dev.extensibleforge.net/wiki/GlobalClip if you haven't
> seen them recently... I think we're about ready to start expanding into the
> citations side of this.
>
>
>
> http://dev.extensibleforge.net/wiki/AtomicRSS.NET ), the ability to turn
> the MS Web Feed engine into an APP data store is simple enough.  But using
> Unless I'm missing something [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/feedsapi/rss/overviews/msfeeds_ovw.asp
> ] there is no direct concept of historical persistence in the Web Feed
> engine.
>
>
>
> On 5/6/06, *James Tauber* <[email-masked] > wrote:
>
>

--
<M:D/>

M. David Peterson
http://www.xsltblog.com/