The title says it all. The Japanese version of the FOAF-a-Matic was made possible by the kind efforts of Masahide Kanzaki. Big thanks to Masahide for his swift turn-around of the translation.
Masahide has also created a Japanese introduction to FOAF.
Danny has links to other recent FOAF activities
Projects
11
Jun 03
FOAF-a-Matic In Japanese
10
Jun 03
Translating the FOAF-a-Matic
As I mentioned recently I’d like to get the FOAF-a-Matic translated into other languages. The aim is to make the creation of FOAF files as easy as possible for as many people as possible.
While the app doesn’t support all of the various properties that can be added to a FOAF document, I think it does hit the 80/20 point: capturing personal info and basic relationships (foaf:knows).
I’ve therefore taken the current version of the application and pulled out the boiler plate text, field names, etc and created this document. It should be fairly self-explanatory. Most of it corresponds to chunks of text that need translating. I’ve then got some XSLT stylesheets and a simple Ant buildfile that takes this document and recreates the application.
So…I’m looking for volunteers willing to download en.xml, translate it into another language, and return it to me so I can release a new version of the application that supports multiple languages.
(I’ll invoke the LazyWeb at this point to get this call for volunteers circulated as far as possible).
Thanks in advance. Any questions drop me an email.
Update: Two volunteers already. Leandro Mariano Lopez is doing a Spanish translation (now live), and Masahide Kanzaki is submitting a Japanese translation (now live). Excellent.
Update 2: Manos Batsis is working on a Greek translation. (now live)
Update 3: Francois Granger just signed up for the French translation (now live).
Update 4: Christof Hoeke has signed up to do a German translation (now live).
Update 5: Erik Stattin has offered a Swedish translation (now live), and Morten Frederikson is busy with the Danish version (now live).
Update 6: If you have your language preferences set correctly in
your browser, you should be able to visit http://www.ldodds.com/foaf/foaf-a-matic and the correct version should be delivered directly. The miracle of content negotiation.
You can’t tell but I’ve got a big grin on my face. I’m really pleased that people were interested enough to do these translations so quickly. If I was American I’d probably say that I’m “stoked” but I’m not, so I’ll stick to “chuffed to bits” instead. Thank you all.
6
Jun 03
FOAF-a-Matic Progress Update
I’ve been hacking on the FOAF-a-Matic Mark 2 again this week after some gentle (and much needed) prodding from Phil Wilson who got so fed up with waiting for me to release another version, he went ahead and did some work on the code himself. (And why not, its Public Domain after all).
So during some travel up and down to Oxford this week, I’ve taken the time to finish off the refactoring I was doing so that I can begin making forward progress once more. I’ve removed great chunks of code which began redundant once I’d integrated Jena, and factored out the rest into reusable packages that I can, potentially, release separately.
I’ve now gotten to the point where I’m looking over Phil’s code to see how he’s tackled the loading of vCard and FOAF data. The vCard processing is pretty straight-forward and I integrated that in a couple of minutes, although I want to beef it up slightly as there’s a bit more data that could be extracted and turned into FOAF properties; I also want to support the vCard in RDF format.
Loading FOAF data should be similarly straight-forward. I think for the first iteration I’ll simply throw away properties the FOAF-a-Matic doesn’t understand. Then progressively expand the breadth of FOAF data the tool can process. That way there will be enough new code for a second functioning beta.
Phil’s attempt at FOAF loading relies on the FOAF file having a description. This is fine for round-tripping data through the tool but I want to be able to process FOAF data from elsewhere. I suspect that querying the model to ask “which person listed in the graph has friends but isn’t the friend of anyone else?” would give me the desired entry point. There are obviously problems with this approach too, especially if you’re loading a FOAF document that describes several people and their friends, but I don’t think this is significant at the moment.
And as a slight correction to Phil’s recent blog post, while I did tinker for a while with a XUL based FOAF-a-Matic I wasn’t planning to ditch thinlets completely. The XUL version would have been entirely separate and was really just an excuse to investigate the RDF support in Mozilla a bit further. However XUL frustrations meant that I’ve ditched this line of research, at least for now.
I also want to try and get some foreign language translations of the original FOAF-a-Matic. Its been on my TODO list for a while but I need to tidy up the docs first. I should perhaps also factor out the error messages into a separate easily customisable Javascript file as well. Volunteers willing to do translations please drop me a line.
Anyway tip of the hat to Phil for the kick up the arse.
20
May 03
Refer a Friend to FOAF-a-Matic
Norm Walsh emailed me to note that the “refer a friend” link from the FOAF-a-Matic is broken. D’oh!
It’s pretty simple, so thought I’d jot it down here.
Basically the javascript code will read three additional parameters in the URL:
name— your full nameemail— your emailseealso— location of your FOAF file
Obviously the values of all of these need to be URL encoded. Here’s an example:
http://www.ldodds.com/foaf/foaf-a-matic.html
?name=Leigh%20Dodds&email=ldodds@ingenta.com
&seealso=http://www.ldodds.com/webwho.xrdf
If you then give someone a link to the FOAF-a-Matic with those parameters, it’ll fill you in as their first friend and their FOAF file will automatically have a link to yours. This is a quick way to get your friends into the FOAF network without them having to hand edit their FOAF too much.
btw, planning to revive Mark 2 shortly once the next version of the Jena API settles down.
20
May 03
Autodiscovery Bookmarklet Generator
The Autodiscovery Bookmarklet Generator will generate Javascript bookmarklet code for autodiscovering metadata linked from an HTML document using the LINK tag. Thought it might be useful for folks wanting to glue various services together.
This has had absolutely minimal testing (i.e. I’ve checked it against FOAF and RSS examples) so let me know if you have any problems.
Its part of a suite of micro-utils I’m developing: tiny, but useful bits of code.
30
Apr 03
Snapshot
Seeing that it’s my birthday and this blog hasn’t been updated in a while,
I thought I’d do a “snapshot” of my life. Probably of no interest to anyone
else, but might be interesting for me to look back on next year.
So, in no particular order, I…
11
Mar 03
Final Spooky Uploaded
I’ve just uploaded the final version of Spooky which is a little language for describing project structures and their default contents.
Just tinkering really.
11
Mar 03
Ant Fan
Ant is rapidly becoming my favourite Java and XML processing tool. It features heavily in my next tutorial for IBM developerWorks (working title “Code Generation using XSLT”) which describes how to use XSLT as a code generation tool using an Ant based build framework. Basically using Ant + Jalopy takes all the hard work out of handling multi-step transformations that have to result in nice clean Java code.
11
Mar 03
(Not) Creating Apps with Mozilla
Having recently picked up a copy of Creating Applications with Mozilla on one of my occasional hit-and-run attacks on Amazon, I’ve been tinkering a bit with XUL to see how easy it is to build applications.
This is part of some ongoing tinkering I’ve been doing to look at ways to quickly prototype user interfaces. My immediate interest is to decide on a toolkit for building internal administration tools for work, but I’d like to try out creating client-side user interfaces for web applications/services in general.
27
Jan 03
More Spooky-ness
I did some more hacking on Spooky last night and ended up splitting the implementation up into a core stylesheet and individual implementations that further refine the project creation. There’s only support for simple Java projects at present, but I’ll add some more.
This’ll make life easier for me, if no-one else. I tend to start hacking away at stuff and then, if the idea looks fruitful, go in and tidy up afterwards adding a project structure, build files, etc.
Now I’ve either got the option of automating the project creation so I work in a tidier way from the start. Or can tidy up after a hacking session by creating a spooky description of my in-progress project.
There’s now a project page.
Little languages are fun.