Random Etc. Notes to self. Work, play, and the rest.

Posts Tagged ‘Web’

Google’s App Engine

Some unstructured thoughts on Google exposing some big web-app hosting infrastructure:

Flock

Hype alone is usually enough to make me go "meh" and ignore something until it's part of the furniture. Something finally made me look at Flock though, and I'm glad I did.

Flickr integration alone means that if you're already a Firefox/Flickr user it's worth checking out the latest beta. I'm still working out how it interfaces with del.icio.us and multiple blogs, but it's found all my Blogger blogs already. If you're reading this then the blog editor works!

It seemed a little laggy in the interface, but I think that was whilst it was indexing my history in the background - it's better now. We'll see if I'm still with it in a week or two, but for now I'm using it as my primary browser. I even uninstalled Firefox... imagine!

Ruby on Rails? PHP + Smarty? C# / VB.NET? Something Java-esque? Python? Perl?

There's been a great deal of fuss recently about Ruby On Rails. Is it just hype, or is it really so simple?

I've got a few ideas for simple web-apps, and I'm looking to learn something new (you know, for fun). I like to code. I like elegance and neatness. I wouldn't mind being able to leave the graphic design to a real designer. I think I know what I'm doing, but I don't know where to start.

I'm not a databases person, but I know a reasonable amount about SQL Server, and I think I know how it differs from MySQL. I don't really know how things talk to databases - when I've done it in PHP/MySQL or ASP/SQL Server it's just been magic. I've played around with phpmyadmin (if that's what it's called).

I know what code-injection is. I know what session variables are. I know the difference between POST and GET. I know about HTTP headers and meta tags. I know why not to use client-side VB, and I'm pretty handy with javascript. I know the difference between HTML and XHTML. I know what a socket is. And a port. I've never really understood CGI. I don't really know what XSLT does to XML, and I don't think I want to either. I like the look of xpath. Unicode is pretty good, and essential.

I'm very Java-literate - that's my day job, and my hobby with Processing - but I've never looked into JSP seriously. Somebody said something about a TomCat. I can write proper C++ with templates and namespaces and exceptions and everything, but I probably write it like a Java programmer (and I never understood all the arguments about strings, and pointers). Would I like C#? If I'm familiar with ASP and VBscript, would I like VB.NET? I'm not a Microsoft person.

I've done a bit of bad C programming using cURL and OpenGL. I know a bit of Python, but I've never done anything serious with it. I know a bit of Perl, but it gives me the creeps. I know a bit of VBScript, but much of it seems back-asswards. I know a bit of PHP, but it likewise seems a bit messy (though intuitive, and I like the look of Smarty). LISP isn't out of the question. If someone wrote web-apps in Prolog, I would probably find it fascinating but it too would give me the creeps.

So... What are you using, and why? If you were learning from scratch, what would you choose, and why?

Why shouldn't I use Ruby On Rails? And what should I use instead?

Bear in mind you have to get me away from Why's Poignant Guide To Ruby...

Weighted Links as Positive Feedback

There are a couple of posts over at Signal vs Noise about weighted lists using font size and background colour (another one for Widgetopia, I think), as recently seen on Flickr, we make money not art, craigslist, 43 things and del.icio.us, amongst others.

I like this technique wherever there isn't an obvious feedback loop involved, but as soon as the size of the link drives its popularity which then drives its size, I think the utility falls down. This is illustrated best on 43 folders, where you have to try really hard to see past the 2 or 3 most popular links.

On Flickr, the technique is more effective for two reasons - the font size change is more subtle, and the popularity of a tag doesn't usually mean that it will attract more photos.

Everything2 has had weighted links for a while in the form of the softlinks which appear at the bottom of each article. (Softlinks are generated when someone follows a link from within an article, or if someone searches for something from the article page).

There are two variations, the regular view shows related articles - the lighter the link the more well-traveled the connection. There is also a 'chaos' view which sizes links according to how well-travelled they are, and shows everything associated with the article in question.


Softlinks are great because they allow anyone to link to relevant articles within Everything2, and illustrate what people are actually thinking about after reading an article. They're bad because they can easily be abused to cause offence, and mean ones tend to hang around once they're there - a sure sign that first arrivals get an unfair advantage and that positive feedback is tiliting the odds in favour of the already-popular.

Note I'm not saying that rich-get-richer systems are always undesirable. They certainly promote stability, but positive feedback on lists isn't a great way to promote new-ness and I think that's a trap that some site designers fall into when using charts as an entry point for discovering content.

On The Internet: A Social-Software-centric Summary

(This is a re-post of my earlier Everything2 review)

"For Kierkegaard, a world-wide electronic agora is an oxymoron ... [he] allows us to see it is not an agora at all, but a nowhere place for anonymous nowhere people. As such, it is dangerously distopian"

On The Internet by Hubert Dreyfus is a short but stimulating philosophy book addressing the implications the internet has on our current and future life-styles. In the book, Dreyfus argues that when people are disembodied and detached from a point of interaction, as web-surfers are in virtual communities, they cannot perform as effectively as their embodied and situated counterparts can in an equivalent real world scenario. In essence, he tries to show that, "if our body goes, so does relevance, skill, reality, and meaning". On a widely sourced tour through relevant parts of modern philosophy, the book covers the effects that world-wide interconnectedness is having on topics including politics, remote prescence, distance learning and document retrieval.

The book begins with an eye-opening account of research into the effects of spending time on line. In more than one study (see here and here), researchers have found that time online increasingly comes at the expense of time with family and friends, and often brings with it a sense of despair and loneliness.

Chapter one (The Hype about Hyperlinks) covers document retrieval on the web, including a Wittgensteinian analysis of Data vs. Document, and an explanation of the fallacy of abundancy (or: how Google manages to look good simply because returning a small fraction of billions of documents is normally satisfactory). There is also some discussion on the failures of Artificial Intelligence (harking back to Dreyfus's best-known work, What Computers Still Can't Do). Dreyfus still has little time for so-called common sense databases such as Cyc. Of prime importance in this chapter, though, is the assertion that a loss of embodiment leads to a failure to recognise the relevance of things in the world.

Chapter two (How Far is Distance Learning from Education?) leaps into a critique of distance learning, discussing what it means to be expert in a domain (chess being one example, teaching itself being another). The key point here is that it matters to matter. If things don't matter to you - if you don't feel wins and losses in "the pit of your stomach" and "the seat of your pants" - you will never make the transition from novice to expert. Dreyfus also places emphasis on apprenticeship and imitation as key to progression. In other words, without being truly immersed in what we are doing we cannot achieve our full potential.

Chapter three (Disembodied Telepresence and the Remoteness of the Real) deals mainly with telepresence and how technological advances in virtual reality and remote action/perception will always be lacking the critical involvement we get for free from our bodies. Dreyfus emphasises risk and challenge as being fundamental to presence, and lacking in telepresence. It's not all criticism though, since he acknowledges the benefits to his students of webcasting his lectures and providing audio recordings for revision purposes. An embodied presence is essential however, and to Dreyfus these technologies seem best summed up as better than nothing.

In chapter four (Nihilism on the Information Highway: Anonymity vs. Commitment in the Present Age) Dreyfus introduces the writings of Kierkegaard and from here on, it gets pretty heavy. Kierkegaard wrote in the late 19th century of the levelling effect that the press and coffee shop discussion (or the public sphere) had on the general public. He wrote of the seemingly inevitable despair following any degree of commitment to expanding one's knowledge outside of areas upon which one has a complete grounding. Dreyfus sees the internet as the ultimate extension of that which Kierkegaard feared most, concluding that the internet is where,

"anonymous electronic kibitzers from all over the world, who risk nothing, come together to announce and defend their opinions"

In other words, anonymity and lack of commitment leads to an electronic nihilism, to a life without meaning.

It is back to the notion of risk, along with relevance and commitment, that Dreyfus comes in the conclusion of the book. He rescues himself from committing to a complete damnation of the internet by summarising the short-comings outlined in the previous chapters such that they stand as a warning not to place too much faith in the powers of the web. Surprisingly, nothing is really made of the differences between books and the internet. It's not clear why reading the book is acceptable, whilst internet-based learning is flawed. I can only assume it's another case of better than nothing. The main conclusion seems to be that there is still potential for the web to be put to good use, but not in the ways that people intuitively expect, and we aren't there yet.


I've had On The Internet for a while, but prompted by this Penny Arcade strip (via plasticbag) I thought my Everything2 review of it could do with wider exposure in the context of other online communities.

Interestingly enough, I haven't really had to edit my concluding remarks about what Dreyfus's findings mean for Everything2, in order to make them relevant for the weblogs and social software in general.

So what does all this mean for Everything2 Online Communities?

Clearly, much of this book has a bearing on how we view this place. Not least because many of us are exactly the sort of "anonymous electronic kibitzers" Dreyfus is bemoaning. Appropriately enough, in 2003 the standard answer to "where can I find...?" is "on the internet". But can you really find Everything on the internet?

It's clear that those who stick around here find something, but is Dreyfus right? Is it at the expense of contact with the real world? Does the experience lack risk, relevance and commitment? Are we disembodied to the point where any and all knowledge is free territory, but expertise and true skill are destined to be lost art-forms? Have we really got to a nihilistic state, where nothing is worth dying for (and consequently, nothing is worth living for)? It's not so clear...

Based on the web's short-comings outlined in the book, my advice would be to keep on mentoring, keep on chatting, keep on specialising and (possibly most important of all) keep on gathering.

Flickr and PHP

Niall Kennedy points to a presentation about Flickr and PHP given by Cal Henderson of Ludicorp. I'm pleased about this, because Cal used a screenshot of my Flickr Rainbow as an example of Flickr API usage. The rainbow is down at the moment, but a new version is coming soon. Exciting additions will include respect for Creative Commons licenses (only photos licensed for derivative works will be used) and a standalone non-applet version (I might even do a continuously updating screensaver version, one day).

Metadata for the Masses

Over at Adaptive Path, Peter Merholz is talking about bottom-up classification systems like the tags used to organise data on del.icio.us and Flickr. If you're not familiar with these sites - they deal with internet bookmarks and photos, respectively - one of the main features is the ability to add multiple tags (like keywords), to your data, so that you can find things easily. The tags are entered as free text, so there's very little effort involved in adding them, and they aren't intended to be complete or unique.

In his article, Merholz brings the term ethnoclassification to our attention - defined as "how people classify and categorise the world around them" - and compares the use of free tagging systems to the landscape designer's use of "desire lines" to place paving (see On The Beaten Path for a good look at emergent paths) .

He also speculates about where these bottom-up classifications are headed next,

Use the tags to understand how people consider the content at hand. Then you can “pave” the best paths to ensure findability — say, by explicitly linking “nyc,” “newyork,” and “newyorkcity.” You can also align these tags with more formal schemes, thus enhancing the utility of both.

This raises some interesting issues, not least of which is the fact that Joshua Schachter over at del.icio.us and Stuart Butterfield over at Flickr seem hostile towards anything which might be seen as an attempt to standardise tagging systems. Merholz isn't suggesting standardisation here, but it's easy to get onto a slippery slope. Once we realise "nyc", "newyork", and "newyorkcity" are similar then the temptation is to merge them, but for all we know, the distinction may be important to some users. The solution is to offer browsing of multiple tags as if they were one (a union of tags) as an optional view of the data.

This is why the emergent paths comparison is a good one, especially in the case of del.icio.us where it's easy to see how similar tags could be suggested through usage, because different people will be adding and tagging the same URLs. In the case of Flickr though, tag consensus will be harder to reach unless tagging is opened up to everyone, perhaps to tag their collections of favourites. That way, when people search for a particular tag, Flickr could use the favourites tags to offer related tag suggestions. Because it is an optional query refinement rather than a unification of terms, it then becomes an interface issue and not a complex and unwanted database normalisation task. Over at del.icio.us, Joshua is already experimenting with user/tag similarity suggestions, hopefully Flickr will soon.

Architects, Social Networks and Hypertext

I've recently re-read Christopher Alexander's essay A City is not a Tree (found via City Of Sound) as research for a lecture I'm giving which will tentatively be titled Turning Architects into Programmers (or perhaps less aggressively, Programming for Architects). The first time I read it, in relation to a social network visualisation project, it triggered a brief exchange with Alasdair Turner, a lecturer in architectural computing at UCL, who was lecturing me in Methods of Synthetic Construction 2 from the Bartlett's MSc Virtual Environments at the time.

As part of the course, students were asked to visualise the social networks existing between past and present course staff and students, with an emphasis on the alumni database which was becoming increasingly difficult for one person to carry around in their head. The alumni visualisation was difficult due to incomplete information, but because it has always been online sites like the Wayback Machine at archive.org helped a little. Questioning the staff from the course also helped, though it became apparent that not everyone agreed how long they had been involved - some people even got their own involvement wrong!. It's worth pointing out that effective and general purpose social network visualisation is incredibly rare (please correct me if I'm wrong).

A lot of the social network visualisations started out by assuming that the social network of the course was a tree, i.e. that each person was a 'child' of a year group. I also did this, but I did make an attempt to bridge the gaps between years by developing a way to show that faculty members and part-time students are members of more than one year group. This was designed to emphasise the continuity provided by the course team, and also to illustrate how weak the ties were between year groups.

Christopher Alexander's essay is not just relevant to architecture. He is mainly talking about hierarchical trees, which Dan Hill notes are "the technical and experiential structure of most sites on the web." For me, the key point we can draw from Alexander is that despite the intuitive manner with which we can arrange and consider data in tree-form, these forms don't occur when things (in this case towns and cities) develop organically. It could be for this reason that the original pioneer of 'space syntax' methods Bill Hillier says, "I wouldn't design a city … I'd grow one."

As Alasdair pointed out to me when I first read the article, it is unfortunate that the web has come to be dominated by hierarchical trees, when the original concept of hypertext and http was about navigating through complex networks. (Note to self: Alasdair also mentioned the post-structuralists and the notion of Finnegan's Wake as the first 'hypertext' book.)

Alasdair was right, of course, that the original hypertext aim was not to have hierarchies of documents, but to cross-reference and interlink to your heart's content. Hence "world wide web", and not "world wide tree". This distinction is explicit in Tim Berners-Lee's initial hypertext proposal for CERN (for the uninitiated, this marks the birth of the world wide web). The brilliant thing here is that Berners-Lee actually begins by describing the web of social contact and collaboration which transcended CERN's organisational hierarchy in the late eighties.

Quote from Tim Berners-Lee's "Information Management: A Proposal" follows, apologies for length but it all seems relevant.

"CERN is a wonderful organisation. It involves several thousand people, many of them very creative, all working toward common goals. Although they are nominally organised into a hierarchical management structure, this does not constrain the way people will communicate, and share information, equipment and software across groups.

The actual observed working structure of the organisation is a multiply connected "web" whose interconnections evolve with time. In this environment, a new person arriving, or someone taking on a new task, is normally given a few hints as to who would be useful people to talk to. Information about what facilities exist and how to find out about them travels in the corridor gossip and occasional newsletters, and the details about what is required to be done spread in a similar way. All things considered, the result is remarkably successful, despite occasional misunderstandings and duplicated effort.

A problem, however, is the high turnover of people. When two years is a typical length of stay, information is constantly being lost. The introduction of the new people demands a fair amount of their time and that of others before they have any idea of what goes on. The technical details of past projects are sometimes lost forever, or only recovered after a detective investigation in an emergency. Often, the information has been recorded, it just cannot be found."

The sad thing of course, apart from the increasingly hierarchical structuring of large sites, is that the web as we know it suffers from a high turnover of documents, much as Berners-Lee described a high turnover of people at CERN. As I pointed out in our crit session after the project, this problem afflicts the MSc too, since by design there is a yearly turnover of 90% of the people involved.

Back to alumni databases and social networks then, and to the defense of the tree, for a moment. I actually think that from an egocentric point of view a social network is most usefully considered a tree. That is, if I know two people already, it is of little consequence that they know each other. The only connections that matter to me are the ones which form the shortest paths between people I already know, and the people I want to know next. This is social networking in order to get ahead in business, or to make new friends, I admit.

On the other hand, considering the loops inside of who knows who, as well as the tree of who knows me, might allow a certain amount of insight to be gained into the nature of interactions across the whole social network. The interconnectedness of it all is what everyone was talking about in the crit, and what we're all stuck with trying to visualise and interpret in a meaningful way. Do self-organising structures hold the answer? I would argue not, but I'll leave that for another time.

I hope that we can be rid of the hierarchical straight-jacket that much of the web is in right now, and I think a combination of search engines and weblogs will get us there in the end (not to mention tagging systems like del.icio.us and Flickr which have emerged strongly since I first wrote this). Weblogs aren't just trendy, it's practically their whole raison d'etre to link and be linked, and we're seeing big businesses cotton on to this fact in a big way. If everyone had one, and used it (more than I use mine!), then maybe we would be able to map out social networks as we go, instead of trying to construct them after the fact.

Flickr: Using the Organizr

I've been using Flickr to manage my photos online for a few weeks now, and I think it's really excellent. It's a great way to share with friends, without the hassle of running your own complicated database. The social networking and instant messaging aspects of it haven't really reached a tipping point for me yet, but the storage, viewing and management aspect of it gets better all the time.

One thing I like is the ability the combined ability to set permissions on photos (for friends or family) and the ability to create invite-only groups with a shared gallery. Along with the excellent notes, comments and tagging facilities means it's possible for friends to collaborate on recording an event in quite a comprehensive manner. There's been one deal-breaker in all of this, until now that is. It's now possible to easily manage batches of photos, and add them to groups or sort them into galleries (photo sets), using a new Flash tool called Organizr. It's very swish for a web-app, and I assume it will only get better.

Today also marks the release of Flickr's full Services API which I'm going to take a good look at soon. I don't think I'll be able to resist knocking up something for Flickr using my other current distraction, Processing.