Research Journal

Eivind Uggedal
eu@redflavor.com
2008-05-16

SINTEF Meeting 2008 05 16

I had a meeting with SINTEF today where I showed my prototype of a news feed for Urørt. The look and placement of the feed seemed to be liked and responsiveness was ok.

We had a long discussion about what we wanted to test and how we would go about doing so. There were basically two ways we could test the prototype. If time permitted it could be possible to perform both types of tests:

  1. Real world study of users over time. The users would have to be experienced and frequent users of Urørt and could be recruited directly from the site. Somewhere around 50 users could prove to be optimal. Ask the participants some questions before they start the experiment. Let them use our prototype for about two weeks, then ask the same questions again at the end of the period. This way

  2. Controlled study of about 20 users in a lab with video recording. Inexperienced Urørt users. User scripts and extensions could then be preinstalled. We wont get any feedback on Greasemonkey from end users. Half goes right to an enhanced version of Urørt and the other half goes to a plain vanilla version of Urørt. Switch after 10 minutes. Don’t tell them about the feed, just notice their behavior and measure satisfaction.

The last solution would not require a long running system which would have to be monitored for breakage against possible Urørt updates. It will probably also eliminate a need for detailed installation and uninstallation instructions.

What are we looking for? Primarily interested in navigation, but could also be interested in getting feedback on how well Greasemonkey prototyping is perceived by end users. What kind of behavior signals increased navigation?

How easily can the Greasemonkey installation process be made? Need a low barrier to entry, and the solution would need to deliver so that people don’t UN install the software before the period is over.

It could also be interesting to use a camera to measure users focus on the web page. Compare the news feed to a plain version where a news article is percent. News feed is composed of much more detailed information. The news article is primarily a large picture.

We decided that I should define what navigation is. I’ve already defined this in my thesis as clicking hyper links inside the browsers so that new information appears. I make a distinction between social and asocial navigation. This is also well defined within my thesis. Social navigation is navigation where current users leverage traces left by past users’ actions for finding their way in a web page.

In addition I would have to think about what kind of actions on specifically Urørt which could be defined as being both navigation and social navigation. In addition I would maybe have to think about other features the news feed provides in addition to navigation. It also functions as a means to keep updated on behavior of favorites.

2008-05-10

Django vs Rails Code Size

I’ve been a long user of Ruby and frameworks like Rails, Merb, and Sinatra. I’ve been sort of following Django since it’s first public release but never got aground to building something with it. My Python skills is a bit rusty compared to my Ruby skills so I’ve decided to start a project with Django.

Django seems like a fairly large project including a built-in admin-interface, internationalization and localization features in addition to other standard functionality as in Rails (templating, dispatcher, ORM, request processor). At first hand it seemed like Django would be a bit bloated compared to Rails considering the additional features it provided. The results when using cloc is contradicting my initial assumptions.

First we have the as-of-writing latest version of Rails:

[diamond:~/dev/rails]% git log | head -n 7
commit a7ea06b4ebe252e258f83e7de945b4baa30ec3bc
Author: Jacek Becela <jacek.becela@gmail.com>
Date:   Thu May 8 13:47:24 2008 +0200

    Make render shorthands work with namespaced controllers

    Signed-off-by: Pratik Naik <pratiknaik@gmail.com>

[diamond:~/dev/rails]% cloc --exclude-dir=.git .
    1383 text files.
    1354 unique files.                                          
     309 files ignored.

http://cloc.sourceforge.net v 1.03  T=8.0 s (143.8 files/s, 20227.0 lines/s)
-------------------------------------------------------------------------------
Language          files     blank   comment      code    scale   3rd gen. equiv
-------------------------------------------------------------------------------
Ruby               1040     18758     24739    102037 x   4.20 =      428555.40
Javascript           17      1930       870     11770 x   1.48 =       17419.60
YAML                 81       129        93      1017 x   0.90 =         915.30
HTML                  6        41         3       322 x   1.90 =         611.80
CSS                   4         9         3        45 x   1.00 =          45.00
SQL                   1         6         0        43 x   2.29 =          98.47
Bourne Shell          1         0         0         1 x   3.81 =           3.81
-------------------------------------------------------------------------------
SUM:               1150     20873     25708    115235 x   3.88 =      447649.38
-------------------------------------------------------------------------------

Then the latest version of Django (from the Mercurial mirror):

[diamond:~/dev/django-trunk]% hg tip
changeset:   5420:3762db44f8cd
tag:         tip
user:        russellm
date:        Sat May 10 13:19:19 2008 +0000
summary:     Removed mark_safe from the saved request path on the admin login
             form. This prevents a potential XSS attack. Formal announcement
             will be forthcoming.

[diamond:~/dev/django-trunk]% cloc --exclude-dir=.hg .
     813 text files.          
     808 unique files.                                          
    2119 files ignored.

http://cloc.sourceforge.net v 1.03  T=3.0 s (208.3 files/s, 26209.3 lines/s)
-------------------------------------------------------------------------------
Language          files     blank   comment      code    scale   3rd gen. equiv
-------------------------------------------------------------------------------
Python              522     10295      4947     59394 x   4.20 =      249454.80
Javascript           13       106       258      1447 x   1.48 =        2141.56
HTML                 72       274         6      1283 x   1.90 =        2437.70
CSS                  11        60        59       354 x   1.00 =         354.00
make                  1        11         4        53 x   2.50 =         132.50
XML                   4         0         0        41 x   1.90 =          77.90
Bourne Shell          1         4         7        17 x   3.81 =          64.77
SQL                   1         1         0         7 x   2.29 =          16.03
-------------------------------------------------------------------------------
SUM:                625     10751      5281     62596 x   4.07 =      254679.26
-------------------------------------------------------------------------------

Counting only code lines Django is 54% the size of Rails. Due note that this is highly unscientific. Rails provides features that Django don’t (ActiveResource for instance).

2008-05-06

Supervision Meeting 2008 05 06

We discussed problems with the implementation:

2008-04-26

JavaScript Performance on GTK Linux Browsers

I’ve recently noticed that my system is sluggish on certain web pages which incorporates lots of behavior with JavaScript. I’ve been running Iceweasel from Debian’s testing repositories for ages. I had heard some mentions of lower memory usage and faster JavaScript in the upcoming 3.0 release of Firefox®/Iceweasel throughout the blogosphere. In addition the developers of Epiphany have recently decided to use WebKit as their default backend.

I desperately needed better JavaScript performance and decided to test the stable 2.0 branch of Iceweasel against the latest beta version from the 3.0 branch together with the latest WebKit enabled Epiphany from the Debian unstable repositories. Why not test Opera? Firstly Opera is Qt and not GTK based – a showstopper for me. Secondly Opera is not open source software. Thirdly Opera does not natively run on the x86-64 architecture. Therefore the browser versions used for testing were as follows (identified by their user User-Agent request header):

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.14) Gecko/20080404
Iceweasel/2.0.0.14 (Debian-2.0.0.14-2)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9b5) Gecko/2008032602
Iceweasel/3.0b5 (Debian-3.0~b5-2)

Mozilla/5.0 (X11; U; Linux x86_64; en-us) AppleWebKit/525.1+ (KHTML, like
Gecko, Safari/525.1+) epiphany-browser

And here are their Debian package versions:

# apt-cache show iceweasel
Package: iceweasel
Architecture: amd64
Version: 2.0.0.14-2

# apt-cache show iceweasel
Package: iceweasel
Architecture: amd64
Version: 3.0~b5-2

# apt-cache show epiphany-webkit 
Package: epiphany-webkit
Architecture: amd64
Version: 2.22.1.1-2

Based on those User-Agent strings it should be no surprise that I’m running a x86-64 based system on Debian. Here are more specific details of my system:

# cat /etc/issue
Debian GNU/Linux lenny/sid

# uname -a
Linux diamond 2.6.24-1-amd64 #1 SMP Mon Feb 11 13:47:43 UTC 2008
x86_64 GNU/Linux

# cat /proc/cpuinfo 
processor       : 0
model name      : AMD Athlon(tm) X2 Dual Core Processor BE-2300
cpu MHz         : 1903.970
cache size      : 512 KB
bogomips        : 3811.20

processor       : 1
model name      : AMD Athlon(tm) X2 Dual Core Processor BE-2300
cpu MHz         : 1903.970
cache size      : 512 KB
bogomips        : 3807.96

# cat /proc/meminfo 
MemTotal:       963952 kB
SwapTotal:      498004 kB

I decided to use John Resig’s Dromaeo and WebKit’s SunSpider JavaScript performance test suites to benchmark the performance of the selected browsers against each other. Remember the wise words of Benjamin Disraeli:

There are three kinds of lies: lies, damned lies, and statistics.

The performance metrics presented here applies for my system, and my system alone. There could be a myriad of factors contributing to the numbers I received. To keep such factors to a minimum I rebooted my system before staring the browser under testing, and then restarted my system again before testing the next browser. In addition I blasted away any profiles, running the browsers vanilla without any cache, history, cookies, nor extensions.

I started writing a script with Hpricot and ghcartrb to generate some nice detailed charts of the differences between the browsers. But when I found myself writing code like this:

max = parsed.map {|res| res.values[0]}.transpose.map do |val|
  val.inject(0) { |sum,x| sum+x }
end.max

I threw in the towel and decided to make some manual summarization charts. Without further ado, here are the results for the respective browsers:

For detailed differences between the browsers have a look at:

Based on these observations it’s not hard to see that there have been major improvements from the 2.0 releases to the forthcoming 3.0 release of Iceweasel with regards to JavaScript performance. The WebKit enabled Epiphany browser is on par with Iceweasel 3.0 in the Dromaeo test suite while it seems to be marginally faster than Iceweasel 3.0 in the SunSpider test suite.

The differences between Iceweasel 3.0 and Epiphany does not seem to be sufficient for switching. Epiphany does seem to be a bit more light weight and is delivering everything I need in a browser. The only thing holding me back is the Vimperator extension for Iceweasel. I simply can’t live without vi keybindings in my browser now that I’ve gotten used to it. I’ll adopt the 3.0 branch of Iceweasel if it proves to be stable over some more prolonged use.

2008-04-22

Supervision Meeting 2008 04 22

I need to make available a list of potential activity data which could be used in the activity list, but were abandoned due to time constraints or technical difficulties. Playing of songs for instance seems to be dependant on crawling the entire Urort web site – something we don’t have the resources or time to implement.

Since I have focused more on a transparent prototyping technique this aspect should be discussed in the introductory chapter under motivation and focus. There seems to be some mention of it under objective, but this could be elaborated on. In addition it should probably be part of my research question. It’s partly found in one of my research questions, but I need to be more explicit.

In my mashup discussion I need to include more popular examples as for instance Google Maps mashed up with Craigs List in housingmaps.com. I should also draw more information from the article about Wikipedia and how it differs from traditional mashups.

My section with a heading of user generated content does not particularly speak about user generated content, but of collective intelligence. Change the heading and include user generated and user created content discussion in the social networking sites section.

Collective intelligence is more relevant as it can be used for navigation. I should mention critiques of this term as in collective stupidity and digital Maoism. I also need to use terms like this more in my discussion of social navigation techniques and implementations later in the background chapter.

2008-04-17

Colorized Autotest with Rspec

I had problems with getting the autotest/redgreen bundled with ZenTest to work when using RSpec. Here follows my quick hack for getting colorized output when running your specs trough autotest. Put his in your ~/.autotest:

def green(text)
  "\e[32m#{text}\e[0m"
end

def red(text)
  "\e[31m#{text}\e[0m"
end

Autotest.add_hook :ran_command do |at|
  if at.results.last
    bar = '=' * at.results.last.strip.length
    status = at.results.last.strip.scan /(\d+) (failure|error)s?/

    status.reject! { |ary| ary.first.to_i > 0 }

    status.empty? ? puts(red(bar)) : puts(green(bar))
  end
end
2008-04-08

Supervision Meeting 2008 04 08

We started by discussing the origin of mashups in music. My description was potentially to generalized. An example of a popular mashup is Danger Mouse’s The Grey Album. I need to reference the source for my mashup definition.

A theme that would be interesting to introduce in the discussion chapter would be that of the relation between The Semantic Web and The Social Web. Why have not The Semantic Web taken off? There are nearly zero examples where Web 2.0 products have adopted semantic web technologies. The Semantic Web is not about sociality, one of the cornerstones of Web 2.0, but it seems to be about enabling creation of ontologies. The open data provided by several web services today are normally not as formal as dictated by semantic web technologies such as XML and RDF. It seems like the loosely structure of the available data could be a reason for the rapid adoption of such services and flourishing of new mashups. One could maybe compare and contrast the Social Web against social navigation and the Social Web. This is not directly related to my master thesis as is, and should not be the main theme.

Web 2.0 as a project is based on social navigation. New social navigation examples bubbles up all the time. The interesting thing is that it seems like the creators of Web 2.0 products don’t know about the social navigation term and does not design for social navigation explicitly. Social navigation seems to be a by-product of creating social places and designing for social interaction. It would be interesting to question some developers of Web 2.0 offerings if they are familiar with social navigation and if they’ve ever thought of designing such systems with navigation in mind.

Such as my thesis stands now the background chapter is a bit to much reeling off from secondary literature. In need to summarize, conclude, and introduce some discussion. An ideal place for this would be the discussion chapter. An interesting theme would be: “From Social Navigation to the Social Web”. I write a lot about the Social Web and social navigation. The motivation for this should be clear. One reason is to use it in my practical prototype. Others could be discussions as mentioned above.

We discussed my prototype of a activity feed for Urørt. There are several possible ways to improve the results the user is given by giving criteria of the selection of items to display:

The feed needs a cut-off point if the activity list is sufficiently large. The simplest solution is just to display X number for activity items. A improved solution would be to display X number of items for the given day. An even better solution would be to display X number of new items since your last log-on. One could go even further by using graphs/matrices and finding larger relations. Such an implementation could prove to be to complicated to implement.

Another idea is to provide the activity feed as an RSS feed straight from the server. The data is already there, available as JSON. It just needs to be serialized to RSS/Atom.

2008-03-27

Uroert Meeting 2008 03 27

I had a meeting in Trondheim with the developers of Urørt today. I shortly introduced the topic of social navigation and gave them a copy of my draft thesis. I described the architecture of a potential prototype implementation – from the server side to the client side. Then I introduced my proposal for a new social navigation design.

The proposal was basically to make a news feed or friend feed as one can find in Facebook. It’s been my experience that such a feature is a good way for users to comprehend what the latest interesting things of a web site is. The navigation enabled by such a feature is social, passive for the advice provider, and indirect. In addition data for such navigational designs is already available scattered throughout Urørt.

The guys of Urørt had thought of maybe implementing such a feature, but it was not on the top of their priority list. Even if they decided to do so they could use my work for input, and having two competing implementations should not be harmful.

When designing such a feed of recent activity it’s important that it remains potentially relevant for users. In Facebook’s implementation one sees only activity for the people one have befriended. Urørt has no notion of friends (though such a feature could possibly be implemented in the future) but it enables users to become fans of certain bands. To make recent activity relevant for Urørt one could then either:

  1. provide information about the recent actions of the bands one are a fan of, or
  2. provide information about the recent actions of users who are fan of a band oneself is a fan of.

Which solution to use is both a social and a technical one. Chances are that you don’t know a certain person which happens to be a fan of an artist in your fan list. This could become annoying. One would at least have to annotate descriptions of actions with what band the relation is composed of:

Eivind Uggedal who’s also a fan of Someband listened to “Somesong”

While I’ve not researched it yet, an solution where one follows fans of similar bands as in ones own fan list could be difficult to implement. It’s certain that such an approach needs more parsing and HTTP requests than just a “actions of bands one are fan of” approach.

We discussed whether I should develop for the standard or beta version of Urørt. The user studies conducted by SINTEF was conducted on the beta version and this version was expected to be released as a new standard version within a couple of days. Therefore my prototype work will be based on the now beta, but soon to be standard version of Urørt. The new features of this version that could be of interest to me is the introduction of band blogs and RSS feeds of certain data.

The developers of Urørt told me that they could provide certain semantic structures for data or use certain class names so that my HTML scraping could be more safe, easy, and stable. I’ve told them that I would try to get by with what the site provided me now, and later request them to add such features. They were very open for input on how to better structure some of the data and how they could leverage Microformats to a greater extent.

We decided that I’d start to implement a news/friend feed and report back to them as my work progressed. Implementing a “barely working” prototype should not take to long. But since this done in relation to my master thesis the code have to be written in a sound way, be safe, and well tested.

2008-03-11

Supervision Meeting 2008 03 11

Would it be possible to convince the Urørt developers to tag their data so that my parsing could be less fragile for future changes? Like implementing Microformats or new Microformats.

Another interesting thing would be to make my implementation Microformat compliant and possible define a new Microformat if needed. Microformat is kind of the poor mans XML where one can define new elements.

I should seperate my language, library, and tool discussion into a new chapter called something like Selection of Tools.

2008-02-26

Supervision Meeting 2008 02 26

I have to be more clear that our focus is on browsing, and not on search. Search is an important part of every day navigation, but not so much in our context.

When introducing Chalmers’ distinction of semantic, spacial, and social navigation it could be interesting to also include temporal navigation. While I’ve been discussion fading of social texture, I’ve not explicitly discussed temporal aspects of navigation. While not on the same level as Chalmer’s groupings, temporal is still very important. For example on a project my advisor was involved with books recently sold was listed. This list did not fade and the result was that books in this list saw an 20% improvement in overall sales.

When I’m ending up on a taxonomy of social navigation such attributes as temporalness can be discussed alongside those of Chalmers et al. If findings from secondary literature is similar to findings in real world applications these can be discussed as a whole. If there is a gap between the literature and my findings this has to be described.

Studies from the Footprints system was overall not positive in favor of social navigation. Later similar projects found favorable results though. How can this be? Such discussion fits neatly into the discussion chapter.

I need to better describe how I collected data during inventories. In the methodology chapter a generalized instruction is provided. For Flickr, Facebook, and Amazon a specialization of this instruction need to be provided. A reviewer of my thesis should be able to use my instructions for collecting data and hopefully get the same results (ignoring how such services change as new features and improvements are incorporated). I need to explicitly state whether the variables I’ve used are my own or taken from URL structures.

2008-02-01

Supervision Meeting 2008 02 01

2008-01-20

A Receipe for Disaster

Here comes a small update of my work of my master thesis. It would be more correct to talk about the recent lack of work on my master thesis. I took slightly early holiday break from my writing, hoping to jump right back into it after new years. Sadly I became ill on the first day of this year, and have been since then. Things are getting better (at last) so I hope I’ll be able to start working again tomorrow.

I’ve been struggeling with my productivity and I’ll often go into procrastination modus. I read an article about academic productivity today and hope to introduce the following techniques into my work process:

2007-12-04

Supervision Meeting 2007 12 04

The meeting began at 13:00 and lasted approximately 60 minutes.

Feedback on Delivery

Tim Berners-Lee’s point about the Giant Global Graph is quite interesting. It shows how social navigation across several web pages is becoming mainstream with mashups, Facebook’s applications, and OpenSocial. There is a correlation between the Graph (the Semantic Web) and Web 2.0 even though Web 2.0 is a more widespread term. I should state the interesting of this phenomena but that it’s left out of my research due to time concerns.

When discussing collaborative filtering it would be important to differentiate by group and friendship based filtering and content based filtering. Is this two fundamental parts of social navigation categorization? From this we could actually create a hypothesis that social navigation either is friendship based or content based. This could fit nicely into my discussion chapter where we look at larger groupings of social navigation than for instance hyperlink sharing, social annotation, etc. Examples of already defined groupings of social navigation, although at another dimension, is implicit and explicit social navigation.

While studying social navigation it becomes apparent that privacy concerns is a central theme. By using user profiles targeted filtering of for example ads can be archived (and actually is implemented in Facebook’s Beacon). This area of study could warrant an entirely new master thesis so at this point it’s best to state that I’ll have to ignore such concerns.

Separation between the background chapter and the analysis chapter have to be clearer:

In my analysis I could introduce relevant web pages as del.icio.us, trailfire etc. before discussion the other services in depth. Superficial analysis of these should perhaps be described in the methodology chapter.

Future Work

I should finish my background chapter and then begin to focus on my analysis. I could very well begin content inventories for Facebook and Amazon before concluding my Flickr analysis.

2007-11-19

Supervision Meeting 2007 11 19

After talking about minor details that could be improved on (added to my task list) we talked about collaborative filtering being a central part of social navigation. I’ll have to reference systems as GroupLens. The interestingness algorithm of Flickr is interesting in this vein (no pun intended). Several people have tried to reverse engineer it and understand how it works. Whats striking is that comments and favorite attributions from friends counts less than from strangers. Flickr’s reasoning must be that friends is biased and easier to persuade. There is third party applications like Scout that enables you to track your interestingness score over time.

One interesting thing about Flickr is how it separates family and friends. You share you personal photos with your family and share your obscene party photos with your friends. You don’t want these to correlate.

When discussing and analyzing Flickr I need to refer to and use my content inventory more clearly.

I need to establish the broad lines of my thesis:

My working title and working in the introductory chapter is using *web services* and this is currently associated with APIs as REST and SOAP and so on. Web sites is probably a better description than web applications since the latter is more increasingly being used to talk about specific task related applications for end users, leveraged on the web (Google docs, etc).

When writing my literature review it would be sufficient to reference the most recent or the most representative article where there are several from the same authors with the same application and theme.

Lastly it would be beneficial to use the comments field in BibTeX to annotate my readings and thereby be able to create an annotated bibliography for my own use.

2007-11-09

Reprise - A Minimalistic Blog

I published my newly written blog software yesterday which was featured on Ruby Inside today. My aim for this little piece of software was to allow me to publish blog entries with as little overhead as possible:

Usage can me summarized in five steps:

  1. gem install sinatra haml bluecloth rubypants -y
  2. wget redflavor.com/reprise.rb
  3. mkdir entries
  4. vi entries/YYYY.MM.DD.Title.Goes.Here
  5. ruby reprise.rb

Thanks to a suggestion from Sime Ramov it now supports proper apostrophes, em dashes and the likes by using RubyPants. I also went ahead and added hAtom support enabling syndication by using third party parsers. Lastly I added CSS3 multi column support for Firefox and Webkit browsers.

2007-11-05

Supervision Meeting 2007 11 05

In my introductory chapter there were several examples where I’d jumped to conclusions without backing them up with data. First my citing about the rise of blog usage from X to Y percent in 18 months was confusing. Was this for the general population? The numbers seemed to high, the study participants had to come from some demographical niche.

Further I had concluded that developers seeking profits wanted as high a user-base as possible. Could it be on some occasions that they wanted a large user-base just for the social benefits it gives (collective intelligence)? I had clearly jumped on a description of the world without any underlying research. Instead I should focus on referencing research on self sufficient user-bases from secondary literature like Jenny Preece (Online Communities: Designing Usability and Supporting Sociability).

When I wrote that innovation was happening because of competition amongst developers I jumped on conclusions again. This can be rewritten by turning it upside down: “When conducting my introductory studies I frequented many social networking sites and my feeling is that lot of innovation is happening in this space”.

Again I make the same mistake when I conclude that one not can create sound navigation systems without using social navigation. I don’t have to say theses things for motivating my research. Be straight, base writing on observations and let the writing reflect reality: “Social navigation have become more important the latest years, it’s more prevalent in mainstream media and is a central term in Web 2.0.” One can quantify media’s use of terms by searching for them in different time intervals (for example the 10 first months of this year and the same period a year ago). Two services for this are ATEKST, a Norwegian media database and Google Trends.

My supervisor also reacted on the fact that I’d written that there were only a handful of research projects on social navigation related to the web. He was thinking on more broader terms and included Web 2.0, social networks into his understanding of social navigation. I focused on navigation only, and therefore had fewer papers to reference. He thought such a tight focus would only be beneficial in my research. This can be solved by writing: “In my literature review I used these methods for searching (keyword, citation) and found X relevant academic articles. In the field of navigation on the web, but not with a focus on sociality there are Y articles. Sociality on the web on the other hand has Z articles.”

It’s quite okay to have an hypothesis, trying to falsify or strengthen it. But one can simply describe phenomenas as one sees fit. This is what separates researchers from journalists.

Lastly we concluded that Second Life probably was to different than other services that I’m about to study. I should focus on 3-4 sites:

2007-10-27

Web 2 Sociology

My supervisor recommended that I read an article by David Beer and Roger Burrows called: ”Sociology and, of and in Web 2.0: Some Initial Considerations” published by Sociological Research Online. While reading the article I got some new ideas related to my research:

The authors categorizes Web 2.0 services into:

This categorization seems quite sound and can probably be used in my thesis to differentiate the sites I’ll study.

Note that several of these sites shares characteristics from the other groups it’s not categorized into. Relating to my research it would also be beneficial to study a wiki which I find to be a prime example of fully organic social navigation.

2007-10-22

Supervision Meeting 2007 10 22

The first priority is to create a taxonomy with an associated terminology. When this part of the research is nearing completion one can study Urørt, trying to locate one or maximum two new navigational designs. Based on this one can start to implement the prototype.

When looking at web services as Facebook and Flickr one should focus on the core functionality, not third party applications leveraged either inside programming APIs (Facebook) or outside applications using open APIs. If time permits it could be interesting to look at one or two of these just as an example of API usage and mashups.

Should maybe study Underskog since it’s the most interesting Norwegian service. Gisle sent me an invitation and I signed up for the service.

Another interesting service that could be subject for investigation is Second Life. It’s navigational design is vastly different than any other services planned to research. It’s largely based on spatial navigation.

We discussed how throughout I should be when collecting data from the different sites. The technique I used at Flickr could very well not be applicable for Amazon. It’s important to think about what resolution one are looking at the problem with.

We agreed that I should focus on finishing my analysis of Flickr. Mapping the navigational patterns at Flickr could prove very difficult and time consuming. Should not use much time on this, but focus on the textual analysis.

2007-10-15

Joining the RECORD Project at SINTEF

My supervisor advised me to contact SINTEF regarding their research project called RECORD. It was plausible that my research correlated with that of the RECORD project. I attended a meeting with the project’s coordinator Asbjørn Følstad on Thursday the 11th of October where we discussed possible ways of cooperating. The RECORD Project

Shortly summarized this project have three different themes:

  1. Usagepatterns (mainly with regard to audio-visual systems).
  2. Design of navigation (again mostly for audio-visual systems) and design of web communities. How can we design such communities so that become self sufficient (with a focus on not only the technical sides)?
  3. Evaluation by leveraging a community of test users for giving feedback on various prototypical work. One tries to find a golden path between throughout upfront planning and “launch and learn”.

SINTEF have mobilized 3000 users which can be used for survey purposes. A handful of these can be taken in for usability testing in labs.

One of SINTEF’s collaboration partners in the RECORD project is the Urørt service of the National Broadcasting Corporation. After talking to Morten Skogly of Urø it was agreed that I should develop a transparent prototype on top of their service as part of my research. Technically this prototype would be realized by using the Greasemonkey plugin for Firefox and transparently adding a layer of navigational structures on top of the existing service.

Some time during November or December (after I’ve concluded my initial studies) it’s quite possible that me and Asbjørn from SINTEF visit the Urørt team in Trondheim to discuss this project more closely.

2007-10-15

Beginnings of the Introductory Chapter

I wrote the beginnings of the introductory chapter today:

2007-10-08

Supervision Meeting 2007 10 08

The meeting began at 14:00 and lasted approximately 40 minutes.

The Aims of My Research

My thesis should be categorized as one that is informing design. We know what the term social navigation is - it’s (more or less clearly) defined. What we know little about are how to use such navigational paradigms in the real world. There are many examples of web sites/applications where social navigation are blossoming but it’s creators does not use the term. Could it be that such navigational designs are grown organically and implicitly as a result of the creators’ focus on sociality?

My research should answer how social navigation can be (and is) leveraged in our modern web age in real projects. Social navigation is a central part of the web today but it’s now mostly referred to with the broader term Web 2.0.

One part of this work should be to define or redefine several concepts related to social navigation and thereby try to create a clear taxonomy of different types of social navigation.

Feedback on Delivery

My supervisor was confused by my usage of two tables to convey my content inventory of Flickr. Even though both tables have an id column for cross referencing it is hard to keep track of these as the columns in table two refer to content on the previous page (link name and location). Use of URL is probably not needed as it’s the least useful of my current columns and it takes up a great deal of visual space.

He was impressed with the level of detail I had recorded, but noted that I’d have to keep in mind that this process should be repeated on several other sites and this would leave me with a great deal of work.

We discussed that I had noticed several flaws of Flickr’s labeling when collecting data. Irregularities like this are not relevant for my research but it could be wise to note such things and that information architects probably would study this issue further. I could easily choose which of the titles (title tag in the head or h1 tag in the body) to use depending of which were most descriptive. I could even introduce my own title or adaptation of titles (in apostrophes) where the available titles were severely lacking in describing the site’s content (apparent in cluster pages for example).

The use of variables in my inventory was sound and well understood. I could however include examples of what the variables could convey in my tabular listing of them (like Cannon for $camera).

The inventory and subsequent analysis should contain screen shots of the most striking and interesting features.

Graphical representations (I had navigational maps based Beck’s maps of the London tube system in mind) could very well be included in the content analysis phase. These should not be substitutes of textual description and analysis but rather add to it.

Privacy

Privacy was included as one of the topics in my thesis proposal. We discussed whether I should focus on this issue. We concluded that I should ignore this issue in the beginning and maybe focus on it later on if time permits since it’s a topic of high interest to my supervisor.

Further Work

We decided on a fortnightly schedule for my supervisions every other Monday at 15:00. I should aim to deliver products that my supervisor can read trough on Fridays the week before.

Until my next delivery (before Friday 19th of October) I should take a step back and try to think about the broader issues of my research and with this write a first draft of the introduction chapter. After this is completed I should continue with my grunt work on Flickr (content analysis), creating my method as I go and thinking about my supervisors comments above.

2007-10-05

Doing Qualitative Research

I’ve been reading David Silerman’s Doing Qualitative Research the last few weeks. I’ve currently read most of the chapters that I find relevant at this time in my research:

The following chapters should be read next (when they become relevant):

The rest of the chapters can safely be skipped just by looking at their titles.

I think it would be beneficial to revisit parts of this text at later stages in my research to check that I’m asking the right questions and taking the best approaches. All in all I found most of the advice in this book to sound very sound (even though parts of it are geared to far away from the part of social science that is interesting for general computer scientists).

2007-10-04

Rewrite of Rakefile

I started to rewrite my rakefile for latex authoring today. The focus of this endeavor is a more modular and object oriented design in addition to more intelligent decisions about how many latex runs that really are needed. Stripping of LaTeX’s overly verbose output would also be nice (inspiration drawn from latex-make). My last effort in this vein was more of a fast hack. I have thought about maybe using behavior driven development with rSpec on this project down the road. I also plan to release my results under a liberal license once I have something that is ready for human consumption.

2007-10-03

Beginnings of Flickr Inventory Delivered

I delivered my work so far with conducting a Content Analysis phase for Flickr. Currently it only contains verbal discussion of my methodical approach and a complete content inventory of the relevant parts of Flickr for my research. This delivery was tagged with draft.0.1 in SCM.

2007-09-30

LaTeX and Rake

I created a Rakefile for compiling, viewing, and cleaning the latex source tree. This would need further work and probably a hefty dose of refactoring. I plan to implement reporting functionalities (mainly word count) and spell checking of all involved files with Ispell.

2007-09-27

Move to One Document

Created one base LaTeX document (using the book document class) referencing other documents as chapters and appendices. Changed the standard font to 11pt Palantino. Added the appendix package as part of the source directory for making appendix handling easier (with the appendices environment).

2007-09-26

Huge Tables in LaTeX

Displaying all 5 columns (Page Id, Page Title, Link Name, Link Location, URL) of my content inventory table of Flickr required me to use a \tiny font declaration and flip my tables to be horizontal. This severely hampered readability so I decided to split the content into two tables. Cross referencing should be possible since both tables contain a page id.

2007-09-20

Starting Content Inventory of Flickr

The past days I’ve been doing a pretty throughout content inventory for Flickr. I decided to introduce a set of variables to better describe the sites different pages (prefixed with a dollar sign as found in UNIX shell scripting). The better part of the day was involved with finishing data collection for the content inventory, typing up a tabular explanation of these variables, and further describe my approach for content inventory.

I did some library searching for academic papers where content inventory was used as a method. I did not find any good hits, just some papers where IA were discussed in general with only on or two sentences describing content inventory.

Also got a hold of my supervisor and made an appointment for supervision on Monday the 8th of October at 14:00. Written material should be delivered within Thursday the 4th of October.

2007-09-19

Beginnings of a Research Journal

This blog will function as a digital research journal during the work on my master thesis in Computer Science. I’ll be noting down thoughts on paper as I go and later write them down here. Its not expected that this blog will be of any use to anybody but myself (and maybe my supervisor).

My topic for research is whats called Social Navigation: navigation where current users leverage traces left by past users actions for finding their way in an information space.