So much for being done with UI work. Spent the better part of the day revamping the flow of the CSS upload functionality. I should be able to finish that off tomorrow.

Also made arrangement to attend PPW. Looks like there will be a few Socialtexters attending. It will be nice to get a little F2F time.


I am pretty much done working on the UI side of things. I have a couple of outstanding stories concerning CSS (upload and cascading) and then my switch to the Layer Cake team will be complete.

I spent most of the day work on JHC things, specifically 23228. With a RC cut it is time to move on to the next task. Unfortunately I did the work this week so it will not be included in the velocity calculation for next week's Preheat the Oven Iteration.


One part of Socialtext's corporate culture is the concept that everyone is an adult. This means that the company assumes you are, indeed, an adult and will do your job responsibly. One side affect of this culture is that there is little direct management of the employees. Developers are trusted to go about their job and get their work done. Most days, this is a good thing :-). But the lack of direct management, coupled with being a remote developer, can lead to a sense of isolation and disconnect with Socialtext.

I found that I was starting to feel this way and thought a good way to counter this feeling was to ask Pete and Adina for a performance review. I have had few performance reviews in my career (3 maybe?) and I was not really impressed by the process. The "rate yourself from 1-5" approach that was used in past performance reviews seemed pretty bogus to me. Since that time, I have learned that there is more to performance reviews than just a list of strengths and weaknesses.

So I thought about my sense of isolation and came to the realization that I did not have a strong sense of my place in Socialtext. I understand my job but not where I fit in the company. So I decided to structure my performance review (I organized and ran it) so that I could I determine where management felt I fit in Socialtext. Pete and Adina spent close to 2 hours late one night during the recent F2F being peppered with questions from me concerning Socialtext and my place within it. I came out of the session with a good understanding of expectations and my place in the company. My sense of disconnect is now gone.

Being remote means there is little chance for watercooler conversations and impromptu lunches. This lack of contact with other people in the company can lead to the feeling of isolation that I experienced. We use IRC and VOIP for communication but emotion and human contact is stripped from these mediums. And in our adult culture company it falls upon us, the developers, to take the initiative when faced with problems like this.


The best story I ever heard about the use of videoconferencing came from an IT guy at Disney. Most of Disney's IT is based in Burbank, California, but there's one fellow who works in Orlando. Despite the presence of real-time chatrooms and regular teleconferences, he continued to feel disconnected from the rest of the team. So they set up an iSight in both offices, which continuously displayed whatever happened to be going on in each office, even if people were simply at their desks working. This ambient display was enough to solve the fellow's disconnected blues.

contributed by Eugene Kim on Feb 14 2:08am


ActiveState used a performance review system called 360 degree reviews.

contributed by Luke Closs on Feb 14 2:02pm


I have traveled to Palo Alt for two F2F sessions since joining Socialtext. The first one was a small F2F with myself, Matt Liggett, Chris Dent, Casey West, Matthew O'Connor, and Kirsten Jones. The most recent one was the company F2F last week.

In both instances I flew through O'Hare. This is a common hub for east coast Canadians traveling to the western US. On three of the four legs of my trips I have been grounded at, held up at, or delayed leaving to O'Hare. This time around on the way down I sat for 4 hours on the tarmac in Ottawa before taking off for O'Hare. On the way back I sat for 3 hours in Palo Alto and am now grounded in Chicago until tomorrow afternoon.

Next time travel arrangements will not involve Chicago.


Most PIMs enable you to connect two pieces of information. There is not much to the connection, just a link from one piece of data to another. When I picture this relationship, I picture something like:

rel1.png

A desktop PIM called InfoCentral was the first app I came across that did more than that when connecting pieces of data. InfoCentral was a real PIM (before Corel got ahold of it, changed it to CorelCentral and then killed it) in that it let you store any piece of information, not just contacts. What InfoCentral did that was innovative was to enable the user to add data to the link that connected two pieces for information. For example, I have an phone extension at Socialtext. That piece of information does not belong to either me or Socialtext. That extension only exists because I have a job at Socialtext. So, in InfoCentral, when you created a link between two pieces of information, you specified what kind of link it was (in this example Job) and then InfoCentral would display a window where you could fill in details specific to a Job link. InfoCentral made it possible to search on both data for the objects in its database as well as on the data contained within the links between the objects. When I visualized that kind of relationship, what I would picture was something like:

rel2.png

After a while I realized that while the power that InfoCentral offered was nice, it was not quite right. The problem is that the Job link was not a link but rather another piece of information. It acted as a connector to other pieces of data but it is data in and of itself. This revelation altered my mental picture again:

rel3.png

Once I got there, it was a pretty easy leap to see that any piece of data could be used as a link for other pieces of information. Not only that, but that multiple pieces of data could be used to connect the same other two pieces of date. It stands to reason then that there is meta data in the connecting pieces of data with respect to the other data it connects.

For example, on our honeymoon my wife and I visited Castle Nimrod. Knowing what the connection is between myself and the castle (my honeymoon) conveys some additional information. Since this was my honeymoon (and I am still married), one can assume that I was there as a tourist and not working there as an archaeologist (although that would be cool). The nature of the connection (honeymoon) conveys additional information about the relationship between Castle Nimrod and myself.

So what does this have to do with wikis?

Work has started on sematic wikis. The object is to describe the nature of the link between two topics. This is similar to the InfoCentral approach of attaching information to a link. Incorporating that information when performing searches should help improve the relevance of the search results.

Unfortunately, the need for a sematic wiki lies in the fact that we are not yet able to pull the context for the link from the wiki page itself. The context for the link is already contained within the wiki page; the link would not exist if there was not some relationship between the two pages. The page acts as its own context for the link. Having the context for the link between the data be contained within the data itself is quite powerful. If nothing else, the reader has the full topic to draw inference about the link.

I can appreciate the difficulties in creating software that can extract context from text. It is a difficult problem to solve and if we had it solved the semantic web initiative would not be needed.

So maybe we turn things around. Perhaps in some instances the context can come not from the page with the link, but the page that is the target of the link. With the originating page one would need to understand what the page is about in order to infer information about the link. Using the target page, one might only need to understand what kind of wiki page it is. For example, the "semantic wikis" link in the paragraph above points to a definition of a semantic wiki. That link could be classified as a definition link based on its target (a Wikipedia entry). If we had a way to classify wiki pages then we could use that to help define the context for a link.

I think there are only a dozen or so classes of wiki pages. I think it is possible to build some simple rules that would enable a computer to determine the class of a wiki page. If we could do that, then we could use that information to describe the nature of the links between pages. And that should help with gardening and help to improve the relevance of search results.

More to come.


I like the idea of the link having some sort of information carried along with it that describes the link. For instance, when I link to Rug project every day in my blog because that's what I'm working on, there's value on the blog posting end, because it lets the reader hop to Rug project and see what it's all about. The problem is that on the Rug project page, you see 10 different inbound links that are all noise because they're not really significant. What if the Rug project page could know "I have 12 inbound links, and 10 of them are just passing mentions in a blog post, and I'll hide them from you unless you want to see specifics, and two are meaningful."

Expanding on this: What if we could aggregate links by type? What if I could say "I want to see all the 'Working on' links created this week"? Now we're getting into links being data themselves.

Is a link more or less relevant depending on who created it when? Does the importance of a link change if it's something I added to your page after the fact, vs. if you'd put it inline in the first place? Maybe I, as the reader, only want to see links that were your original intention, not the muddy stuff that's been added later, like every date in a Wikipedia article being a hyperlink. Maybe you only want to see the links that others have added, because it shows you the shortcomings in your linking strategy.

contributed by Andy Lester on Feb 1 7:38am


Development Community Blogs

Search Socialtext Open Source Workspace

Search