Archive for March, 2010

Rich user experiences

March 28, 2010

Fortunately, technologies exist that enable you to deliver a better-than-browser user experience without having to manually install code on client machines” (Thompson, 2007)

We expect to see many new web applications over the next few years, both truly novel applications, and rich web reimplementations of PC applications.” (O’Reilly, 2005)

The push to introduce desktop application-style functionality into a web application, combining desktop and online benefits, is growing, exemplified by a number of recent Web 2.0 applications such as Creately. Creately offers many powerful tools to create diagrams and work on them collaboratively with colleagues through a web browser. It provides an extremely rich interface that resembles desktop software much more than it does the slow, static web pages that used to be the norm on the internet and is a perfect example of the ‘rich web reimplementations’ O’Reilly mentions.

One of the best practices for Web 2.0 apps is to design around simplicity. Creately, however, has a complicated interface filled with such a wide range of tools that provide complex functionality and options such that a typical user may never even touch some of them. On the other hand, the interface design draws upon standard software appearance conventions (such as placement of menus and recognisable icons to make it easy to learn. It should also be noted that one of Creately’s selling points is that it supplies all the tools users might need, not just the basics. It’s there for users looking to create (sometimes collaboratively) complex diagram files. Like Photoshop is to Paint, Creately is to primitive diagram creation programs.

Aral Balkan listed (amongst other user interface design principles for web applications) “Don’t sell what you can’t deliver”. He elaborates – “Users must not be given Graphical User Interface (GUI) expectations that cannot be met (or can only be partially met) within a Web User Interface (WUI). Whenever OS or GUI expectations are set, they must be fully met. That said, the application must try and meet OS expectations as much as possible, especially for ergonomic features such as keyboard shortcuts and navigation but also for expected auxiliary helpers such as tooltips.” On the main page of the Creately site, the main image is of its complex user interface, clearly selling a powerful, OS application experience. What’s more, (as the promotional demonstration video shows), Creately delivers, sitting confidently at the feature-heavy end of the spectrum and meeting the expectations it instills.

Another best practice is the provision of effective search functionality and here again, Creately deviates from textbook ‘best practice’. Although it provides no prominent search feature, it does offer categorised and easy to peruse help links. Also, the site is based more upon creating data than searching for it and the main information likely to be searched for is help on how to use the tools available. The content on the site is basically entirely centred on supporting the functionality and, as such, is made up mostly of help topics and information about the company.

In this case almost every diagramming tool imaginable has been incorporated but instead of this being an example ‘because they could, they did and consequently decreased usability’, it’s a positive selling point since Creately is supposed to satisfy its customers by offering all that a user could want, especially the features that might normally be left out of similar programs for being too obscure or unlikely to be used much.

In summary, although Creately appears to break many of the ‘best practice’ rules, it does so with good reason and demonstrates a successful embrace of the growing trend towards providing extremely rich interfaces and experiences through web browsers. It might be burdened with a massive range of features, but I see it as targeting users that want such a toolset and that Creately has been constructed to meet their needs very smartly.

Additional sources:


March 21, 2010

Innovation in Assembly

A current trend on the web is a shift from closed, proprietary applications to open platforms. More and more websites are offering services along with their content to the extent that the become similar to OSs in providing a range of functionality. An example of this trend in action is – an SaaS (Software as a Service) cloud computing collaboration platform. Not only does it offer its users space to upload, manage and collaborate on files/data, it has applications to support this work. What’s more, these applications were not all developed by – through many measures (particularly the provision of a development environment and support) users are enabled and encouraged to build their own apps and it is the resulting bounty of apps that uses to attract new users.

This follows best practice of the ‘Innovation in Assembly’ pattern and is beneficial to because without effort on the part of its development team, the functionality it can offer is expanded, thus increasing its value and attractiveness to users. These user-developers can contribute innovative ideas that the employed developers might not have come up with. Also, because it’s the users creating the applications, can be assured that these are applications that users actually want so time isn’t wasted on developing features that aren’t adopted by the user-base. User-developers of also benefit because they gain a richer experience customised to meet their specific needs. Because is a platform, not an application, is is easily scalable as user-developers upload their own apps.

Another best practice of the ‘Innovation in Assembly’ pattern is the provision of APIs and adopts this, offering a range of APIs and actively encouraging as many people as possible to become developers. Both SOAP and REST protocols are supported.

Designing to allow components to be reused is identified as another principle of best practice and implements it by making available applications that manage small tasks that developers can integrate into their own new applications. Reuse of these component applications is encouraged through the provision of tools to search through and ‘test drive’ them, making finding and integrating an appropriate application very easy. Building on each other’s contributions, user-developers can easily and swiftly create powerful applications.

Tim O’Reilly says “we believe that Web 2.0 will provide opportunities for companies to beat the competition by getting better at harnessing and integrating services provided by others” (O’Reilly 2005) and is an excellent example of this as its entire business model is built upon the extension and recombination by its users of component applications developed by other people. By facilitating and encouraging user-developer contribution by supplying APIs and component applications to help in the creation of new applications, it attracts an ever larger user base which I think should see it continue to increase its hold on the market and prosper.


Lecture notes:

Data is the next Intel Inside

March 14, 2010

Data is the next Intel Inside

I admit it being somewhat surprised by the extent to which data has gained value, even surpassing that of software in some ways. Yet data is an increasingly precious commodity and there are many examples of Web 2.0 applications capitalising on this, one of which is MyDataNest (a data storage company offering users a space to store their data of for free or, if they want advanced features included in the deal, for a fee). MyDataNest also offers editing tools which customers can use on their stored data, but it should be noted that these ‘applications’ are of lesser importance compared to the data storage/access are generally functionally centred around that storage/access anyway.

This type of business can be classified as a Data Infrastructure Strategy as it provides “infrastructure for storing and accessing others data”. Rather than spending large amounts of money to create specialised, hard-to-obtain data of their own or finding marketable ways of accessing such valuable data, this company simply creates space for customers to stash their data for safe-keeping – a business model seizing the opportunities at the bottom layer of the internet stack.

It is difficult to tell what level of ‘lock-in’ exists for those who register with MyDataNest, since it does not seem to present its policy on users migrating their data to its competitors. This brings up a key issue of the data-centric industry – to what extent do companies prevent their users from shifting to competitor companies. Chris Messina appears to hold up Google as an example of a company that seeks to monopolise the market by drawing users into its own proprietary platform and then shutting out third party services. Tim O’Reilly suggests that this practice is not, in fact, best practice, and that best practice dictates that users should have control over their data and be able to move it to wherever they want. A term for this is ‘open data’, and Tim Bray says that “any online service can call itself “Open” if it makes, and lives up to, this commitment: Any data that you give us, we’ll let you take away again, without withholding anything, or encoding it in a proprietary format, or claiming any intellectual-property rights whatsoever” (link) The data-centric industry is relatively new, so the terms to describe it aren’t fully set yet, but I think O’Reilly’s definition is quite perceptive and usable.

Another point to note about MyDataNest is that while it specifies what sort of data is collected from its users and how it is used, it does not say who owns that data. This touches upon another key issue relevant to data-centric businesses – the ownership of data. In examining this issue, it should be noted that there are at least two types of data in question – the data users upload themselves (be it files or personal registration data such as names and addresses) and the aggregate data that companies can glean from users’ provided data and behaviour. Sometimes the question of ownership is made easy by means of a signup contract or similar that explicitly states who owns what but not all situations are governed by such contracts and it’s then that things get complicated.

To be honest, I don’t know the answers for the question of ownership – I can see legitimate positions on both sides. One might argue that since the data is derived from users, users have a right to at least access it, if not have some say in what is done with it. On the other hand, the companies who retrieved, combined and analysed the data could claim that they were just like other researchers and that the results of their research are theirs. Tim Bray addresses this issue as well, saying “a service could also say: We acknowledge your interest in any value-added information we distill from what you give us, and will share it back with you to the extent we can do so while preserving the privacy of others. (link) This seems to me to an idealistic rather than legalistic response and depending on your opinions on the entire open data concept, it may seem more or less desirable and appropriate.

Harnessing collective intelligence

March 7, 2010

Harnessing Collective Intelligence

As I understand it, Web 2.0 is all about opening up content creation to everyone and this has brought with it enormous benefits and problems.

For me, the most prickly issue is probably the balance between allowing participation while retaining control. As an individual, I know that I like to contribute to conversation and interaction centred on topics of interest to me and that my participation creates in me a sense of ownership and affection for the result of that conversation/interaction – letting people become a part of a ‘project’ helps gather a support base for that project that can continue to support and expand it. This collaboration offers the opportunity to ‘harness the collective intelligence’ of these contributors but at the same time leaves the project at the mercy of contention arising from differences of opinion and personalities.

Andrew McAfee identifies one obvious example of successful a self-moderating community – Wikipedia. When I stopped to consider it, I agreed with his initial reaction of disbelief that a storehouse of knowledge could exist in an accurate, unbiased form when it was open for everyone to edit. But on examining Wikipedia further, it appears that such an encyclopaedia has indeed been created and maintained as such. According to McAfee, this is because the community knows that any dodgy entry will be removed or changed so that people generally don’t even bother to make them.

Another issue with harnessing collective intelligence is getting a population to start contributing in the first place. This has been a particular problem for corporate managers/leaders seeking to latch onto the benefits Web 2.0 technologies by incorporating them into workplaces (for example, trying to get employees to start contributing to blogs or wikis). McAfee outlines a few points needed for a successful introduction of Web 2.0 technologies but also comments that, even once the new practices have been accepted by a work community, trouble remains for the managers – maintaining direction. Since these technologies are driven by a community, managers have a difficult line to walk between directing contributions and stifling them. (Some managers permitted off-topic contributions on the grounds that it would encourage further use of the system). Giving users permission to help gives them permission to change the project.

In addition to encouraging contributions with the lure of participation, Web 2.0 technologies can gather contributions implicitly – that is, by setting up the system so that by simply using the technology for their own goals, users at the same time add value to the system. An example of that (as identified by Dan Bricklin) is Napster – when users download songs and leave them in the shared folder, they make those songs more available to other users. This increasing range of music attracts more users, some of whom make new songs available, thus attracting more users and perpetuating the growth of the system with minimal to no ‘active’ effort on the part of the users.

Once these technologies are adopted by a large number of users, the differences amongst the users establishes another benefit – diversity in categorization. An example of this is the multiple ways of naming the same file, thus making it more likely that a search will retrieve the correct file under at least one of its names.

When I reflected on harnessing the collective intelligence in the ways listed above, I became aware that the more freedom and permissions the users were given, the more they added value to the technologies they were using but, at the same time, that I was highly reluctant to share authorship of projects that are personally important to me. I think this highlights a critical dilemma in the development of Web 2.0 technologies – how to give users freedom and still retain a degree of control.

Hello world!

March 1, 2010

Welcome to This is your first post. Edit or delete it and start blogging!