June 24, 2003

Spring v1.3.1: a MacOS X desktop tool with FOAF support

groupevite.jpg

UserCreations have just announced the release of Spring v1.3.1 for MacOS X.

Spring provides a canvas-style desktop interface, replacing the ageing 'documents and folders' metaphor with a UI based on several content types (people, places, products, books, music, ...), with appropriate kinds of action associated with each type of thing. So you might invite a person to an event, draw a map of a location, etc.

Version 1.3 added 'drag and drop' FOAF support:

Friend of a Friend (FOAF) format is an increasingly common web format for people. If you see a FOAF button on a web page, drag it in to Spring

This support is improved in v1.3.1: a "Refesh From Web" feature allowing FOAF-derived person entries in Spring to pick up the changes from remote FOAF files.

So needless to say, I've been experimenting with Spring on my Mac laptop, and it looks pretty interesting and a hint at what desktops might evolve into. I really like the way it associates actions with entity-types in a way that takes advantage of remote Web services. That, coupled with the "refresh from Web" approach to using remote RDF/XML descriptions (FOAF etc.) is quite a compelling combination.

So in practice, I found the FOAF support worked with some but not all FOAF files from the public FOAFBulletinBoard. I'm not sure what the issue is, perhaps something to do with the mime-types these documents are served up as, or perhaps Spring has certain expectations for the syntactic form of a FOAF document. If others are trying out the FOAF support, perhaps leave comments here or at the UserCreations article, perhaps we can figure out how to help.

Posted by danbri at June 24, 2003 01:10 PM | TrackBack
Comments

There is more technical detail on the Spring FOAF implementation in their earlier article (http://www.usercreations.com/weblog/2003/05/19.html#a2232
):

If the web server is serving up FOAF with application/rdf+xml, then we transparently do the transformation. Otherwise, the user needs to choose "Person (FOAF)" in the sheet that appears.

The FOAF data is apparently imported using an XSLT:

http://www.usercreations.com/spring/objects/people/Person%20(FOAF).xsl

A number of other projects have used XSLT with FOAF, although it isn't a perfect match since the RDF representation allows for a few different encodings. Perhaps we should be clearer in the FOAF spec about some conventions for writing FOAF in XML, even though most current FOAF tools only care about the RDF 'view' of the data.

Morten's FOAF explorer (http://xml.mfd-consult.dk/foaf/explorer/) is also XSLT-based. A compare/contrast of the different XSLTs might be useful...

Posted by: Dan Brickley on June 24, 2003 01:47 PM

As a followup, I've started a thread on the FOAF development list, http://rdfweb.org/pipermail/rdfweb-dev/2003-June/011267.html to investigate ways of making it easier for FOAF to be processed using XSLT tools.

Posted by: Dan Brickley on June 24, 2003 02:48 PM

Dan.

Appreciate the link and kudos!

We upgraded the FOAF stylesheet in Spring 1.3.1, but didn't update the remote file. (The stylesheet is local. The remote file was for illustration.) I'll update it with a note that it's illustrative.

The actions file (actions.xml) that defines the behavior is remote and is in the same directory.

I'll follow-up on the mail list.

Robb

Posted by: Robb Beal on June 24, 2003 06:31 PM

Great_Blog_I_agree_with_you_completely

Posted by: online basketball betting sports betting on January 17, 2004 04:20 PM

Great_Blog_I_agree_with_you_completely

Posted by: basketball betting line sports betting on January 17, 2004 04:20 PM

Great_Blog_I_agree_with_you_completely

Posted by: college basketball betting line on January 17, 2004 04:20 PM

Great_Blog_I_agree_with_you_completely

Posted by: march madness bet on January 17, 2004 04:20 PM

Great_Blog_I_agree_with_you_completely

Posted by: ncaa basketball odds on January 17, 2004 04:20 PM

Great_Blog_I_agree_with_you_completely

Posted by: ncaa basketball point spread bet on January 17, 2004 04:21 PM

Great_Blog_I_agree_with_you_completely

Posted by: college basketball betting on January 17, 2004 04:21 PM

Great_Blog_I_agree_with_you_completely

Posted by: college basketball betting line on January 17, 2004 04:21 PM

Nice_Blog_Come_visit_us

Posted by: basketballs betting line sports betting on January 17, 2004 04:21 PM

Great_Blog_I_agree_with_you_completely

Posted by: online basketball betting on January 17, 2004 04:22 PM

Great_Blog_I_agree_with_you_completely

Posted by: basketball gambling line on January 17, 2004 04:22 PM

Great_Blog_I_agree_with_you_completely

Posted by: college basketball betting on January 17, 2004 04:22 PM

Great_Blog_I_agree_with_you_completely

Posted by: online basketball betting on January 17, 2004 04:22 PM

Great_Blog_I_agree_with_you_completely

Posted by: march madness odds on January 17, 2004 04:22 PM

Great_Blog_I_agree_with_you_completely

Posted by: bet march madness bet on January 17, 2004 04:23 PM

Great_Blog_I_agree_with_you_completely

Posted by: ncaa march madness on January 17, 2004 04:23 PM

Great_Blog_I_agree_with_you_completely

Posted by: online basketball betting on January 17, 2004 04:23 PM

Nice_Blog_Come_visit_us

Posted by: ibet royal sports betting on January 17, 2004 04:23 PM

Great_Blog_I_agree_with_you_completely

Posted by: Online Casinos bonus matching service on January 17, 2004 04:24 PM

Nice_Blog_Come_visit_us

Posted by: online casinos slots machines on January 17, 2004 04:24 PM

Great_Blog_I_agree_with_you_completely

Posted by: Free slot machines online on January 17, 2004 04:24 PM

Nice_Blog_Come_visit_us

Posted by: Online Casino on January 17, 2004 04:24 PM

Great_Blog_I_agree_with_you_completely

Posted by: Online Casinos Affiliate Program on January 17, 2004 04:24 PM

Nice_Blog_Come_visit_us

Posted by: Online Casino on January 17, 2004 04:25 PM

Online Casinos Betting Online Gambling

Posted by: Online Casinos Affiliate Program on January 17, 2004 04:25 PM

Online Casinos Betting Online Gambling

Posted by: Online Sports Betting on January 17, 2004 04:25 PM

Online Casinos Betting Online Gambling

Posted by: Online Sports Betting on January 17, 2004 04:25 PM

Online Casinos Betting Online Gambling

Posted by: Sports Betting on January 17, 2004 04:26 PM

Great_Blog_I_agree_with_you_completely

Posted by: Online Casinos on January 17, 2004 04:33 PM

Great_Blog_I_agree_with_you_completely

Posted by: Online Casinos on January 17, 2004 04:34 PM

Great_Blog_I_agree_with_you_completely

Posted by: Sports Betting on January 17, 2004 04:36 PM

Great_Blog_I_agree_with_you_completely

Posted by: Sports Betting on January 17, 2004 04:36 PM

Great_Blog_I_agree_with_you_completely

Posted by: Sports Betting on January 17, 2004 04:36 PM

Great_Blog_I_agree_with_you_completely

Posted by: Sports Betting on January 17, 2004 04:36 PM

Great_Blog_I_agree_with_you_completely

Posted by: Sports Betting on January 17, 2004 04:36 PM

Great_Blog_I_agree_with_you_completely

Posted by: Sports Betting on January 17, 2004 04:37 PM

Great_Blog_I_agree_with_you_completely

Posted by: Sports Betting on January 17, 2004 04:37 PM

Great_Blog_I_agree_with_you_completely

Posted by: Sports Betting on January 17, 2004 04:37 PM

Great_Blog_I_agree_with_you_completely

Posted by: Sports Betting on January 17, 2004 04:37 PM

Great_Blog_I_agree_with_you_completely

Posted by: Sports Betting on January 17, 2004 04:37 PM

Great_Blog_I_agree_with_you_completely

Posted by: Online Casinos on January 17, 2004 04:38 PM

Great_Blog_I_agree_with_you_completely

Posted by: Casino Affiliates Programs on January 17, 2004 04:38 PM

Great_Blog_I_agree_with_you_completely

Posted by: Internet Casinos on January 17, 2004 04:38 PM

Great_Blog_I_agree_with_you_completely

Posted by: Sports Betting on January 17, 2004 04:39 PM

Each Stack Frame represents a function. The bottom frame is always the main function, and the frames above it are the other functions that main calls. At any given time, the stack can show you the path your code has taken to get to where it is. The top frame represents the function the code is currently executing, and the frame below it is the function that called the current function, and the frame below that represents the function that called the function that called the current function, and so on all the way down to main, which is the starting point of any C program.

Posted by: Ellois on January 20, 2004 07:58 AM

For this program, it was a bit of overkill. It's a lot of overkill, actually. There's usually no need to store integers in the Heap, unless you're making a whole lot of them. But even in this simpler form, it gives us a little bit more flexibility than we had before, in that we can create and destroy variables as we need, without having to worry about the Stack. It also demonstrates a new variable type, the pointer, which you will use extensively throughout your programming. And it is a pattern that is ubiquitous in Cocoa, so it is a pattern you will need to understand, even though Cocoa makes it much more transparent than it is here.

Posted by: Ebotte on January 20, 2004 07:58 AM

The Stack is just what it sounds like: a tower of things that starts at the bottom and builds upward as it goes. In our case, the things in the stack are called "Stack Frames" or just "frames". We start with one stack frame at the very bottom, and we build up from there.

Posted by: Benjamin on January 20, 2004 07:58 AM

These secret identities serve a variety of purposes, and they help us to understand how variables work. In this lesson, we'll be writing a little less code than we've done in previous articles, but we'll be taking a detailed look at how variables live and work.

Posted by: Gregory on January 20, 2004 07:58 AM

Earlier I mentioned that variables can live in two different places. We're going to examine these two places one at a time, and we're going to start on the more familiar ground, which is called the Stack. Understanding the stack helps us understand the way programs run, and also helps us understand scope a little better.

Posted by: Guy on January 20, 2004 07:58 AM

The Stack is just what it sounds like: a tower of things that starts at the bottom and builds upward as it goes. In our case, the things in the stack are called "Stack Frames" or just "frames". We start with one stack frame at the very bottom, and we build up from there.

Posted by: Anne on January 20, 2004 07:59 AM

This will allow us to use a few functions we didn't have access to before. These lines are still a mystery for now, but we'll explain them soon. Now we'll start working within the main function, where favoriteNumber is declared and used. The first thing we need to do is change how we declare the variable. Instead of

Posted by: Jocatta on January 20, 2004 07:59 AM

Let's see an example by converting our favoriteNumber variable from a stack variable to a heap variable. The first thing we'll do is find the project we've been working on and open it up in Project Builder. In the file, we'll start right at the top and work our way down. Under the line:

Posted by: Henry on January 20, 2004 07:59 AM

This back and forth is an important concept to understand in C programming, especially on the Mac's RISC architecture. Almost every variable you work with can be represented in 32 bits of memory: thirty-two 1s and 0s define the data that a simple variable can hold. There are exceptions, like on the new 64-bit G5s and in the 128-bit world of AltiVec

Posted by: Ciriacus on January 20, 2004 07:59 AM

When the machine compiles your code, however, it does a little bit of translation. At run time, the computer sees nothing but 1s and 0s, which is all the computer ever sees: a continuous string of binary numbers that it can interpret in various ways.

Posted by: Theodosius on January 20, 2004 08:00 AM

win $100,000

Posted by: play online golf on January 23, 2004 08:10 AM

nice site

Posted by: philadelphia hotel on January 23, 2004 08:10 AM

http://free-girls-sex-usa.prosexhost.com/index2252.html
http://free-girls-sex-usa.prosexhost.com/index2253.html
http://free-girls-sex-usa.prosexhost.com/index2254.html
http://free-girls-sex-usa.prosexhost.com/index2255.html
http://free-girls-sex-usa.prosexhost.com/index2256.html
http://free-girls-sex-usa.prosexhost.com/index2257.html
http://free-girls-sex-usa.prosexhost.com/index2258.html
http://free-girls-sex-usa.prosexhost.com/index2259.html
http://free-girls-sex-usa.prosexhost.com/index2260.html
http://free-girls-sex-usa.prosexhost.com/index2261.html
http://free-girls-sex-usa.prosexhost.com/index2262.html
http://free-girls-sex-usa.prosexhost.com/index2263.html
http://free-girls-sex-usa.prosexhost.com/index2264.html
http://free-girls-sex-usa.prosexhost.com/index2265.html
http://free-girls-sex-usa.prosexhost.com/index2266.html
http://free-girls-sex-usa.prosexhost.com/index2267.html
http://free-girls-sex-usa.prosexhost.com/index2268.html
http://free-girls-sex-usa.prosexhost.com/index2269.html
http://free-girls-sex-usa.prosexhost.com/index2270.html
http://free-girls-sex-usa.prosexhost.com/index2271.html
http://free-girls-sex-usa.prosexhost.com/index2272.html
http://free-girls-sex-usa.prosexhost.com/index2273.html
http://free-girls-sex-usa.prosexhost.com/index2274.html
http://free-girls-sex-usa.prosexhost.com/index2275.html
http://free-girls-sex-usa.prosexhost.com/index2276.html
http://free-girls-sex-usa.prosexhost.com/index2277.html
http://free-girls-sex-usa.prosexhost.com/index2278.html
http://free-girls-sex-usa.prosexhost.com/index2279.html
http://free-girls-sex-usa.prosexhost.com/index2280.html
http://free-girls-sex-usa.prosexhost.com/index2281.html
http://free-girls-sex-usa.prosexhost.com/index2282.html
http://free-girls-sex-usa.prosexhost.com/index2283.html
http://free-girls-sex-usa.prosexhost.com/index2284.html
http://free-girls-sex-usa.prosexhost.com/index2285.html
http://free-girls-sex-usa.prosexhost.com/index2286.html
http://free-girls-sex-usa.prosexhost.com/index2287.html
http://free-girls-sex-usa.prosexhost.com/index2288.html
http://free-girls-sex-usa.prosexhost.com/index2289.html
http://free-girls-sex-usa.prosexhost.com/index2290.html
http://free-girls-sex-usa.prosexhost.com/index2291.html
http://free-girls-sex-usa.prosexhost.com/index2292.html
http://free-girls-sex-usa.prosexhost.com/index2293.html
http://free-girls-sex-usa.prosexhost.com/index2294.html
http://free-girls-sex-usa.prosexhost.com/index2295.html
http://free-girls-sex-usa.prosexhost.com/index2296.html
http://free-girls-sex-usa.prosexhost.com/index2297.html
http://free-girls-sex-usa.prosexhost.com/index2298.html
http://free-girls-sex-usa.prosexhost.com/index2299.html
http://free-girls-sex-usa.prosexhost.com/index2200.html
http://free-girls-sex-usa.prosexhost.com/index2201.html
http://free-girls-sex-usa.prosexhost.com/index2202.html
http://free-girls-sex-usa.prosexhost.com/index2203.html
http://free-girls-sex-usa.prosexhost.com/index2204.html
http://free-girls-sex-usa.prosexhost.com/index2205.html
http://free-girls-sex-usa.prosexhost.com/index2206.html
http://free-girls-sex-usa.prosexhost.com/index2207.html
http://free-girls-sex-usa.prosexhost.com/index2208.html
http://free-girls-sex-usa.prosexhost.com/index2209.html
http://free-girls-sex-usa.prosexhost.com/index2210.html
http://free-girls-sex-usa.prosexhost.com/index2211.html
http://free-girls-sex-usa.prosexhost.com/index2212.html
http://free-girls-sex-usa.prosexhost.com/index2213.html
http://free-girls-sex-usa.prosexhost.com/index2213.html
http://free-girls-sex-usa.prosexhost.com/index2215.html
http://free-girls-sex-usa.prosexhost.com/index2216.html
http://free-girls-sex-usa.prosexhost.com/index2217.html
http://free-girls-sex-usa.prosexhost.com/index2218.html
http://free-girls-sex-usa.prosexhost.com/index2213.html
http://free-girls-sex-usa.prosexhost.com/index2220.html
http://free-girls-sex-usa.prosexhost.com/index2221.html
http://free-girls-sex-usa.prosexhost.com/index2222.html
http://free-girls-sex-usa.prosexhost.com/index2223.html
http://free-girls-sex-usa.prosexhost.com/index2224.html
http://free-girls-sex-usa.prosexhost.com/index2225.html
http://free-girls-sex-usa.prosexhost.com/index2226.html
http://free-girls-sex-usa.prosexhost.com/index2227.html
http://free-girls-sex-usa.prosexhost.com/index2228.html
http://free-girls-sex-usa.prosexhost.com/index2229.html
http://free-girls-sex-usa.prosexhost.com/index2230.html
http://free-girls-sex-usa.prosexhost.com/index2231.html
http://free-girls-sex-usa.prosexhost.com/index2232.html
http://free-girls-sex-usa.prosexhost.com/index2233.html
http://free-girls-sex-usa.prosexhost.com/index2234.html
http://free-girls-sex-usa.prosexhost.com/index2235.html
http://free-girls-sex-usa.prosexhost.com/index2236.html
http://free-girls-sex-usa.prosexhost.com/index2237.html
http://free-girls-sex-usa.prosexhost.com/index2238.html
http://free-girls-sex-usa.prosexhost.com/index2239.html
http://free-girls-sex-usa.prosexhost.com/index2240.html
http://free-girls-sex-usa.prosexhost.com/index2241.html
http://free-girls-sex-usa.prosexhost.com/index2242.html
http://free-girls-sex-usa.prosexhost.com/index2243.html
http://free-girls-sex-usa.prosexhost.com/index2244.html
http://free-girls-sex-usa.prosexhost.com/index2245.html
http://free-girls-sex-usa.prosexhost.com/index2246.html
http://free-girls-sex-usa.prosexhost.com/index2247.html
http://free-girls-sex-usa.prosexhost.com/index2248.html
http://free-girls-sex-usa.prosexhost.com/index2249.html
http://free-girls-sex-usa.prosexhost.com/index2252.html
http://free-girls-sex-usa.prosexhost.com/index2251.html
http://free-girls-sex-usa.prosexhost.com/index2250.html

Re: Re: <a href=' http://free-girls-sex-usa.prosexhost.com/index2250.html'

Posted by: rgerhgrt on January 24, 2004 04:32 PM
Post a comment