Introducting Project Shelley (with lots of screenshots!)So, if you follow the OpenQabal Twitter stream or my personal twitter stream, you've heard some chatter about something called "Project Shelley." You may assume it had something to do with my recent post about restarting OpenQabal development, and you would be correct. So, what is this "Project Shelley?" Well, for starters, Project Shelley is just a temporary code-name. The project will get a better name later (maybe we'll have a contest or something) but it works for now. Someday I'll explain how the name came about... for now I'll just mention that it's a nod to our friend Mary Shelley the author of Frankenstein. Now with that out of the way, let's get down to the nitty-gritty. Project Shelley is the first bit to come out of rethinking the direction of OpenQabal. In the past, I was more focused on the broader social-networking aspect, thinking about decentralized, federated social-networks. But my personal interest was always more in enterprise applications of this kind of technology, and NOT in trying to build a "facebook killer" ala Diaspora or whoever. So, while working for a semi well-known self-publishing company in the Raleigh area back in 2008, I started playing with the Open Reddit code, looking at how that type of technology could be a complement to some other things "behind the firewall" vis-a-vis knowledge management. Some people showed interest, but no real champion ever stepped up to push its use, then the economic collapse happened and side-projects became less emphasized, and then I left the company in 2009. But that experience planted a seed, and so the first new OpenQabal sub-project is - essentially - a very Reddit (or Digg if you prefer) like application that uses voting, tagging, sharing, filtering, etc. of articles and documents. In it's present form it looks a lot like "just a Reddit clone" but the intention is to move beyond that, and I'll talk more about the more advanced features later (and to be fair, Shelley already has things that Reddit doesn't, but it also lacks things that Reddit does have) but tackling something that starts of as a "reddit like" gave me a chance to get started with a well known problem domain, and a chance to get something tangible out the door to start poking and prodding and playing with. The current version has a lot of functionality, but will need a fair amount of "cleanup" work to be anywhere near production ready. The intent here really was to blast through as much as possible in a short period of time just to make this project feel real again. So... with no further ado, here are screenshots and details about what this stuff does.
The front page, which is the default view of submitted links for the "default" channel. ("Channels" in Shelley lingo are like "sub reddits" in Reddit lingo)
The Login page, awaiting login:
The front page after login. Notice the new tab in the upper right hand corner. That takes a user to their user profile "stuff."
Sharing a link. It's kinda hard to make out, but the first entry in that field is a plain email address (it's mine, don't spam me, ok?) and the second is the same address but prefixed with "xmpp:" Yes, we support XMPP messaging.
As you can see here, I did receive an XMPP message about the shared link.
And now we're looking at tagging support. It's primitive right now, but this page shows a user a list of all the tags they've used:
And clicking on said tag displays a list of the posts you've tagged with that tag. What hasn't been done yet is any work on dealing with tags on a "global" basis (eg, can I see links that somebody else tagged with a given tag?)
Notice here that the Search dialog has been filled in with the string "information retrieval".
And here we get our search results:
Click the "comments" link for a given entry, and you come to this page, which lets a user view and add comments to an entry, and also shows other similar links. Right now the "recommended links" stuff is built just using the MoreLikeThis class from Lucene Contrib, but this is one of the areas that's going to get some interesting work in the future. In particular, I want to supplement this by using knowledge of tags and social-graph connections, to (hopefully) get better results than from just a strict content similarity score.
About to enter a comment:
With a new comment added:
The "User Profile" page. It's pretty spartan right now:
The "Saved entries" page. Things go here if you click the "save" button under an entry.
Adding a tag to an entry. The input field is hidden until you click the "tag" link under an entry.
Same thing, after putting some tag text in.
So there you go...a quick look at what Project Shelly is, currently. Coming later, more on what it will become in the future, and some info on the even more mysterious "Project Poe."