Building a Bookmarking Application

I've been spending a couple spare hours last week working on building a Bookmarking application proof-of-concept on top of XWiki. XWiki is a second generation wiki (http://platform.xwiki.org/xwiki/bin/view/Main/SecondGenerationWiki) and I fully took advantage of this to build my application.

I got the idea from a customer meeting a couple months ago, when a customer from a large company told us he was using our software to share links with his coworkers. Sharing a link was as simple as creating a new wiki page and it worked very well. However, he was concerned about what would happen once the link count would grow: how would his users be able to find relevant links about a specific topic?

After reading about jerome's (@jvelo) brand new livetable component (http://platform.xwiki.org/xwiki/bin/view/DevGuide/LiveTable) I thought it would be great to use it in order to display a list of bookmarked items.

I used delicious.com as an inspiration source: each bookmark is kept bare, with a title, an url, notes and tags. Additionally, underlying wiki features remain available: users can comment on and attach files to any given bookmark. Access rights could also be used if needed.

Here's a quick overview of the application:

  1. View a individual bookmark
  2. Add bookmarks and browse them
  3. Edit a bookmark

I'd be glad to get feedback from the community as to whether this application is worth the additional effort to turn it into a full-fledged XWiki application. Anyone interested in using it for real?

My bookmarking application isn't yet available for download (though I plan to make it available for testing on incubator.myxwiki.org pretty soon) since I discovered a couple bugs in the livetable macro while building it (the macro is really really new) and they need to be fixed before the application can be distributed and installed easily. I also plan on writing a tutorial showing how easy it is to build upon and extend XWiki through applications. Stay tuned ;-)

Philosophy happens through Skype too !!

I just had a fun / interesting discussion about randomness and understandability with our development team. Pasting it here for the sake of it - and well, Vincent managed to understand my point so it might not have been vain after all :-)

[5/5/09 7:00:11 PM] Guillaume Lerouge: sergiu: I get issues with the full screen feature + new wysiwyg editor in FF3 + 1.9-SNAPSHOT.19397  -> after editing in FS mode, sometimes content is lost upon saving
[5/5/09 7:01:08 PM] Guillaume Lerouge: or maybe not... I had the issue twice in a row but now I can't reproduce it
[5/5/09 7:01:43 PM] Sergiu Dumitriu: I noticed something like this too
[5/5/09 7:02:00 PM] Sergiu Dumitriu: But it was not caused by the fullscreen
[5/5/09 7:02:00 PM] Guillaume Lerouge: can't find a reproductible pattern though
[5/5/09 7:02:07 PM] Sergiu Dumitriu: I can't reproduce it
[5/5/09 7:04:05 PM] Sergiu Dumitriu: Just did
[5/5/09 7:04:22 PM] Guillaume Lerouge: so what's the pattern ?
[5/5/09 7:05:39 PM] Sergiu Dumitriu: Hm, now I can't do it again
[5/5/09 7:05:54 PM] Sergiu Dumitriu: I did: Edit, fullscreen, preview, back to edit, save
[5/5/09 7:06:48 PM] Guillaume Lerouge: tried the same thing and my content was saved :)
[5/5/09 7:07:41 PM] Sergiu Dumitriu: 4 times in a row, no problem :(
[5/5/09 7:07:44 PM] Sergiu Dumitriu: So it's random
[5/5/09 7:11:22 PM] Jean-Vincent Drean: it could be a problem introduced by the new wysiwyg submit plugin
[5/5/09 7:11:33 PM] Guillaume Lerouge: well, I would have said "random" a couple years ago
[5/5/09 7:11:45 PM] Guillaume Lerouge: now I'd rather say "unodentified causes" ;)
[5/5/09 7:11:47 PM] Sergiu Dumitriu: Reproduced it once more
[5/5/09 7:12:19 PM] Jean-Vincent Drean: the events listeners have been moved recently (to be able to work with FS)
[5/5/09 7:13:29 PM] Vincent Massol: guillaume: (thought of the day) when there are too many variables at play (so much that it's impossible to predict anything) is something random or not?
[5/5/09 7:13:40 PM] Guillaume Lerouge: nope
[5/5/09 7:13:52 PM] Guillaume Lerouge: it might be impossible to predict by humans
[5/5/09 7:14:00 PM] Guillaume Lerouge: but it does not necessarily means it's random
[5/5/09 7:14:04 PM] Vincent Massol: then the world is not random for you, looks like descartes thinking
[5/5/09 7:14:28 PM] Vincent Massol: :)
[5/5/09 7:14:39 PM] Guillaume Lerouge: it's not random yet it's not fully understandable due to my limited thinking ability (as in "bounded", I'm not implying my own dumbness here ;))
[5/5/09 7:21:33 PM] Guillaume Lerouge: what I mean is that I'm convinced there is a set of rules that makes things happen as they do - without presuming of my ability to grasp the implications of such rules. As for modeling reality based on this underlying set of rules (and thus predicting the future), you'd first need to have a perfect recording of things as they happen, and creating this perfect recording would actually modify the state of things, thus making the prediction of the future impossible. One could argue that if the act of recording introduces only minor modifications, it will not affect the outcome. However, based on what has been widely publicized as the "theory of chaos", it has been observed that minor differences in start conditions can lead to hugely different outcomes, thus invalidating my previous hypothesis. All things considered - and applied to the case at hand, it means that though there must be a set of consequences that make the WYSIWYG + Fullscreen combination work as it does and lose content from time to time, we might not be able to understand it fully, thus leading us to call it "random" while it is not. Now we could also argue on the definition of "random" per se, saying that "random" can be understood as a synonym of "not understandable / graspable by the human mind" but that's an entirely different debate
[5/5/09 7:21:46 PM] Guillaume Lerouge: Did I make myself clearer? :p
[5/5/09 7:22:08 PM] Vincent Massol: marius, stop using guillaume's machine! :)
[5/5/09 7:22:13 PM] Anca Paula Luca: pastebin, Guillaume!
[5/5/09 7:22:34 PM] Guillaume Lerouge: lol
[5/5/09 7:22:41 PM] Guillaume Lerouge: I'm gonna psot this on my blog :)
[5/5/09 7:23:52 PM] Vincent Massol: yes that was my point actually
[5/5/09 7:24:13 PM] Vincent Massol: that random can be synonymous to not understandable