Human-Computer Interaction Seminar (Seminar on People, Computers, and Design) is a Stanford University course that features weekly speakers on topics related to human-computer interaction design. The seminar is organized by the Stanford HCI Group, which works across disciplines to understand the intersection between humans and computers.

Details of the current seminar series can be found on Stanford HCI website, whilst the 2009 seminar series can be found on iTunes U. The topics of which are listed below:

Winter 2009

  1. Pario: The Next Step Beyond Audio and Video
  2. Sculpting Behaviour: Developing a Tangible Lnguage for Hands-on Play and Learning
  3. Tap is the New Click
  4. Social Annotation, Contextual Collaboration and Online Transparency
  5. Enlightened Trial and Error – Gaining design Insight Through Prototyping Tools
  6. Computer Graphics as a Telecommunication Medium
  7. Not Invented Here: Online Mapping Revealed

Spring 2009

  1. Firefox, Mozilla & Open Source: Software Design at Scale
  2. Social Enterprise Software Design
  3. The Interaction Design of APIs
  4. Far Away Up Close
  5. What Still Matters About Distance?
  6. How We Use Data to Win the Presidential Election
  7. Social Immersive Media
  8. Launching Creative Communities: Lessons From the Spore Community
  9. Designing Online Communities from Theory

Autumn/Fall 2009

  1. Crowdsourcing Work
  2. Backtracking Events as Indicators of Software Usability Problems
  3. Programming by Sketching
  4. Aesthetic Science of Colour: WAVEs of Colour, Culture, Music and Emotion

Previous talks are also available on iTunes U — with the notable speakers Bill Moggridge, Bill Buxton and Donald Norman featuring — or on YouTube: 2006-07, 2007-08, 2008-09

User Experience Books Free to Read Online

The truly worldwide reach of the Web has brought with it a new realisation among computer scientists and industry professionals of the enormous importance of usability and user interface design. In the last ten years, much has become understood about what works in user interfaces from a usability perspective, and what does not.

The following are free-to-read books on user experience, available online:

Human Computer Interaction

Interaction Design

Web Accessibility

If there are any more you think need or can be added to the list, please leave a comment.

Dieter Rams’ 10 Rules of Good Design

Dieter Rams is a German industrial designer closely associated with the consumer products company Braun and the Functionalist school of industrial design. Many of Rams’ designs — coffee makers, calculators, radios, audio/visual equipment, consumer appliances and office products — have found a permanent home at many museums over the world, including MoMA in New York.

How does Rams’ define good design?

  1. Good design should be innovative — It does not copy existing product forms, nor does it produce any kind of novelty just for the sake of it. The essence of innovation must clearly be seen in all of a product’s functions. Current technological development keeps offering new chances for innovative solutions.
  2. Good design should make a product useful — The product is bought in order to be used. It must serve a defined purpose, in both primary and additional functions. The most important task of design is to optimise the utility of a product’s usability.
  3. Good design is aesthetic design — The aesthetic quality of a product is integral to its usefulness because products we use every day affect our well-being. But only well-executed objects can be beautiful.
  4. Good design will make a product understandable — It clarifies the product’s structure. Better still, it can make the product talk. At best, it is self-explanatory.
  5. Good design is honest — It does not make a product more innovative, powerful or valuable than it really is. It does not attempt to manipulate the consumer with promises that cannot be kept.
  6. Good design is unobtrusive — Products fulfilling a purpose are like tools. They are neither decorative objects nor works of art. Their design should therefore be both neutral and restrained, to leave room for the user’s self-expression.
  7. Good design is long lived — It does not follow trends that become out-dated after a short time. Well designed products differ significantly from short-lived, trivial products in today’s throwaway world.
  8. Good design is consistent in every detail — Nothing must be arbitrary. Thoroughness and accuracy in the design process shows respect towards the user.
  9. Good design should be environmentally friendly — Design must make contributions towards a stable environment and sensible raw material situation. This does not only include actual pollution, but also visual pollution and destruction of our environment.
  10. Good design is as little design as possible — Less is more – because it concentrates on the essential aspects and the products are not burdened with non-essentials. Back to purity, back to simplicity.

Many people say it is obvious that Rams’ designs have been influential on Jonathan Ive of Apple, designer of such products as the iMac, iPod, and iPhone, as can be witnessed particularly in the iPhone’s calculator application, whose design is based on the Braun ET66 calculator designed by Rams.

More

The Design Museum in London are holding a Dieter Rams’ exhibition between 19th November 2009 and 9th March 2010. The exhibition will showcase Rams’ landmark designs for Braun and furniture manufacturer Vitsœ, examine how Rams’ design ethos inspired Braun’s entire product range for over 40 years, and assess his lasting influence on today’s design landscape.

Jakob Nielsen’s Ten Usability Heuristics

These are ten general principles for user interface design suggested by Jakob Nielsen. They are called heuristics because they are more in the nature of rules of thumb than specific usability guidelines.

  1. Visibility of system status — The system should always keep users informed about what is going on, through appropriate feedback within reasonable time.
  2. Match between system and the real world — The system should speak the users’ language, with words, phrases and concepts familiar to the user, rather than system-oriented terms. Follow real-world conventions, making information appear in a natural and logical order.
  3. User control and freedom — Users often choose system functions by mistake and will need a clearly marked emergency exit to leave the unwanted state without having to go through an extended dialogue. Support undo and redo.
  4. Consistency and standards — Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions.
  5. Error prevention — Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.
  6. Recognition rather than recall — Minimise the user’s memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate.
  7. Flexibility and efficiency of use — Accelerators — unseen by the novice user — may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions.
  8. Aesthetic and minimalist design — Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.
  9. Help users recognise, diagnose, and recover from errors — Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution.
  10. Help and documentation — Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user’s task, list concrete steps to be carried out, and not be too large.

References

IDEO’s Human Centered Design Toolkit

IDEO’s Human Centered Design Toolkit is a free innovation guide for NGOs and social enterprises.

Human-Centered Design (HCD) is a process used for decades to create new solutions for companies and organisations. HCD can help you enhance the lives of people. This process has been specially-adapted for organisations like that work with people in Africa, Asia, and Latin America. HCD will help you hear people’s needs in new ways, create innovative solutions to meet these needs, and deliver solutions with financial sustainability in mind.

The Toolkit is divided into four sections that can be downloaded individually or together:

  1. The Introduction will give an overview of HCD and help you understand how it might be used alongside other methods.
  2. The Hear guide will help your design team prepare for fieldwork and understand how to collect stories that will serve as insight and inspiration. Designing meaningful and innovative solutions that serve your customers begins with gaining deep empathy for their needs, hopes and aspirations for the future. The Hear booklet will equip the team with methodologies and tips for engaging people in their own contexts to delve beneath the surface.
  3. The Field Guide and Aspirations Cards are a complement to the Hear guide; these are the tools your team will take with them in order to conduct research.
  4. The Create guide will help your team work together in a workshop format to translate what you heard from people into frameworks, opportunities, solutions, and prototypes. During this phase, you will move from concrete to more abstract thinking in identifying themes and opportunities and back to the concrete with solutions and prototypes.
  5. The Deliver guide will help catapult the top ideas you have created toward implementation. The realisation of solution includes rapid revenue and cost modeling, capability assessment, and implementation panning. The activities offered in this phase are meant to complement your organisation’s existing implementation processes and may prompt adaptations to the way solutions are typically rolled out.

Download the complete toolkit (PDF, 30.5MB)

Lund’s Expert Ratings of Usability Maxims

Published in the Ergonomics in Design journal in 1997 [1], Arnold Lund collected and created this list of 34 rules-of-thumb (given below in order of priority) that were found particularly useful during the design process by colleagues working in the human-computer interaction (HCI) design field.

The list is still as relevant today as it was back in 1997.

  1. Know thy user, and YOU are not thy user.
  2. Things that look the same should act the same.
  3. Everyone makes mistakes, so every mistake should be fixable.
  4. The information for the decision needs to be there when the decision is needed.
  5. Error messages should actually mean something to the user, and tell the user how to fix the problem.
  6. Every action should have a reaction.
  7. Don’t overload the user’s buffers.
  8. Consistency, consistency, consistency.
  9. Minimize the need for a mighty memory.
  10. Keep it simple.
  11. The more you do something, the easier it should be to do.
  12. The user should always know what is happening.
  13. The user should control the system. The system shouldn’t control the user. The user is the boss, and the system should show it.
  14. The idea is to empower the user, not speed up the system.
  15. Eliminate unnecessary decisions, and illuminate the rest.
  16. If I made an error, let me know about it before I get into REAL trouble.
  17. The best journey is the one with the fewest steps. Shorten the distance between the user and their goal.
  18. The user should be able to do what the user wants to do.
  19. Things that look different should act different.
  20. You should always know how to find out what to do next.
  21. Don’t let people accidentally shoot themselves.
  22. Even experts are novices at some point. Provide help.
  23. Design for regular people and the real world.
  24. Keep it neat. Keep it organized.
  25. Provide a way to bail out and start over.
  26. The fault is not in thyself, but in thy system.
  27. If it is not needed, it’s not needed.
  28. Color is information.
  29. Everything in its place, and a place for everything.
  30. The user should be in a good mood when done.
  31. If I made an error, at least let me finish my thought before I have to fix it.
  32. Cute is not a good adjective for systems.
  33. Let people shape the system to themselves, and paint it with their own personality.
  34. To know the system is to love it.

References

  1. Lund, A. M. (1997). Expert ratings of usability maxims. Ergonomics in Design, 5(3), 15-20. A study of the heuristics design experts consider important for good design.

Ten Steps to Personas

Personas are fictional characters created to represent the different user types within a targeted demographic that might use a site or product. Personas are useful in considering the goals, desires, and limitations of the users in order to help to guide decisions about a product, such as features, interactions, and visual design. Personas are most often used as part of a user-centered design process for designing software and are also considered a part of interaction design (IxD), however they are also used in industrial design.

A user persona is a representation of the goals and behaviour of a real group of users. In most cases, personas are synthesised from data collected from interviews with users. They are captured in 1–2 page descriptions that include behaviour patterns, goals, skills, attitudes, and environment, with a few fictional personal details to make the persona a realistic character. For each product, more than one persona is usually created, but one persona should always be the primary focus for the design.

The use of personas as a technique was popularised by Alan Cooper in his 1999 book The Inmates are Running the Asylum. The book outlines the general characteristics, uses, and best practices for creating personas.

So, how do you actually go about creating a persona or a set of personas for your project? The following is based upon work carried out by Dr. Lene Nielsen in her 2004 thesis and published in HCI Vistas.

Finding the Users

The initial step is to get hold of as much knowledge of the users as possible.

Questions asked:

  • Who are the users?
  • How many are they?
  • What do they do within the system?

Methods used:

  • Contextual interviews
  • Online surveys
  • Observations
  • Second-hand information
  • Reports (e.g. from marketing)
  • Cultural probes

Documents produced:

  • Reports

Building an Hypothesis

Working with personas really means focusing on users in a certain context, which originates from the project that is being researched. Often companies have a certain way of talking about their users, or should we say customers, which does not take into account the different context in which the users use a website or a system.

Questions asked:

  • What are the differences between the users?

Methods used:

  • Looking at the material
  • Labelling groups of people

Documents produced:

  • A draft description of the target groups

Verifications

The focus here is on finding data that supports the initial patterns and at the same time supports the personas descriptions and the scenario writing.

Questions asked:

  • Data for personas — What are the likes/dislikes, needs and values?
  • Data for situations — What are the areas of work and work conditions?
  • Data for scenarios — What are the work strategies and goals. What are the information strategies and goals?

Methods used:

  • Quantitative data collection

Documents produced:

  • Reports

Finding Patterns

Questions asked:

  • Does the initial labelling hold true?
  • Are there other groups to consider?
  • Are all equally important?

Methods used:

  • Categorisation
  • Task analysis

Documents produced:

  • Descriptions of categories

Constructing Personas

A crucial step is what to include in a persona’s description and how to avoid creating stereotypes if at all possible. The purpose of a persona is not to describe users as such, but to create solutions that use the needs of the persona as a starting point.

Questions asked:

  • What are their basic attributes — name, age, gender?
  • What is their psyche — introvert/extrovert?
  • What is their background — occupation and interests?
  • What are their emotions and attitude towards technology, the company or the information needed?
  • What are their personal traits?

Methods used:

  • Categorisation

Documents produced:

  • Descriptions of categories

Defining Situations

The real purpose of the personas is to create scenarios from the descriptions. Each need or situation is the beginning for a scenario.

Questions asked:

  • What is the need of this persona?
  • What is the situation?

Methods used:

  • Looking for situations and needs in the data

Documents produced:

  • Catalogue of needs and situations

Validation and Buy-in

Personas are often viewed as a means for communicating users (read: customers) to developers and stakeholders, but it is as much about a process that ensures a user-centered development.

Questions asked:

  • Do you know someone like this?

Methods used:

  • People who know (of) the persona read and comment on the persona descriptions

Dissemination of Knowledge

Not only do personas need to be distributed to everybody on the project, but also the data behind the personas and how and for what you are to use the personas. Many projects forget to inform and teach developers and designers on how to use the personas, how to think in scenarios or how to use them in the use-cases.

Questions asked:

  • How can we share the personas with the organisation?

Methods used:

  • Posters
  • Meetings
  • Emails
  • Events

Creating Scenarios

A scenario is like a story, it has a main character (the persona) a setting (somewhere the action takes place), it has a goal (what the persona wants to achieve), it has actions that lead to the goal (interactions with the system/website/device), and last but not least, it has obstacles that block the way to the goal. Scenarios should be both positive and negative.

Questions asked:

  • In a given situation, with a given goal, what happens when the persona uses the technology?

Methods used:

  • The narrative scenario, using personas, descriptions and situations to form scenarios

Documents produced:

  • Sceanrios
  • Use Cases
  • Requirement Specifications

On-going Development

Finally, always update information on the personas, afterall you may find some interesting scenarios that weren’t originally considered, or new situations in which the system/website/device is used. Indeed you may discover new personas!

Questions asked:

  • Does new information alter the personas?

Methods used:

  • Usability tests
  • Focus groups
  • Surveys (online)

Writing a Good Web Accessibility Statement

An accessibility statement makes a good addition to all web sites. It is not only a place to demonstrate that you are taking accessibility seriously, but more importantly, it should provide extra information for visitors to your site — particularly for those people with disabilities who need to know about the accessibility of the information and services you provide — and a mechanism to receive feedback on accessibility.

Under the Disability Discrimination Act 1995 (DDA), a disability is defined as:

A physical or mental impairment that has a long-term or substantial effect on a person’s ability to carry out day to day tasks.

This ranges from people with physical and sensory impairments to people with diabetes, disfigurements, heart disease and epilepsy.

Accessibility, therefore, can be viewed as the “ability to access” the functionality of a system or entity. Furthermore, accessibility is a somewhat general term used to describe the degree to which a product (e.g. device, service and environment) is accessible to as many people as possible. Accessibility is often used to focus on people with disabilities and their right of access to entities, often through use of assistive technology.

A dimension of accessibility is web accessibility. Web accessibility refers to the practice of making websites usable by people of all abilities and disabilities. When sites are correctly designed, developed and edited, all users can have equal access to information and functionality. In many countries this has led to initiatives, laws and regulations that aim toward providing universal access to the internet.

Digital Web Magazine has a great article on whether accessibility statements are useful, which is well worth a read.

The main points of consideration that can be garnered from the article are as follows:

  1. Make the accessibility link prominent and provide it in a consistent location so that website visitors can find it easily.
  2. Provide rich content that explains how to use the accessibility features provided, rather than just listing the features themselves.
  3. Separate the content into sections and provide headings for each section.
  4. Provide contact information in various formats so that website visitors can directly contact the team responsible for accessibility queries.
  5. Actively promote feedback from website visitors. Use comments to continually improve the website.
  6. Provide a known barriers section which details inaccessible areas of the website along with alternative ways of obtaining the information or services.
  7. List technical and conformance information at the end of the accessibility statement. This will allow the information to be readily available, whilst not being placed in a prominent position.

Your accessibility statement will be organic — you may only start with a few lines but as your site develops in terms of accessibility, and your understanding of the accessibility of the site develops, so will your statement. As it can often be created and then forgotten about, it is worthwhile taking time every so often to check through the statement to ensure that it is up-to-date and reflects the work done to enhance the site’s accessibility.

BBC Homepage LogoI’m not a big fan of the BBC’s recent website redesign! While I believe that a few structural and hierarchical elements could have been addressed better, the overall result of this redesign is too “Facebook” and Web 2.0 for my liking; exactly what an online news site does not need. Who are the BBC trying to appeal to? They have gone from being content centric to design and technology centric. This in itself isn’t a bad thing, but I don’t understand the BBCs motivation for doing so.

Richard Titus, the Acting Head of User Experience at the BBC was a key driver of the project.

From a conceptual point of view, the widgetisation adopted by Facebook, iGoogle and netvibes weighed strongly on our initial thinking.

Titus identifies the key features of the new homepage as being:

  • Simple, clean and beautiful, the final design, … visually striking yet unpretentious.
  • Personalization: you can choose the content that interests you by adding and removing the content boxes via the “Customise Your Homepage” tab.
  • Localization: Users can now set their own location, enabling them to access local sites, weather, news, radio and TV schedules without the hassle often associated with user journeys to local content.
  • Simplicity: the customization is intuitive and includes an interactive demo and tips to guide users through the process. It is also unobtrusive if the user has no desire to customize their page their experience won’t be compromised.
  • Search: The site is much easier to read and scan at a glance. At the top of the page there’s a search function (now reduced from two search boxes to one), and at the bottom a full directory of all BBC sites and a link to the A-Z, allowing users to quickly find what they’re looking for.
  • Nostalgia: the new homepage also manages to incorporate eccentricity alongside innovation.

Aesthetically bold and bright.

Aesthetically, the new homepage looks nice. It’s big, bold and bright – a far cry from the old days when BBC sites had text almost too small to read and a fixed-width design optimised for tiny monitors. But at the same time it appears far too clunky! I’d prefer something that would look a little more elegant and understated. Something that doesn’t appeal to The Facebook Generation, who are less likely to read the BBC pages at lunchtime, than update their Facebook, Bebo or Twitter profile during that ‘valuable’ hour. This begs the question, does the BBC know who their core audience is?

Confusing interactions.

The homepage makes great use of AJAX, but at the same time, there are a number of confusing interactions going on. For instance, the ‘Edit’ button next to each area of customisable content seems like the wrong label text. I’m not editing the news, the weather or blogs – I’m selecting which news categories I want to see, where I am and which blogs I want to read. These types of button ought to be contextual rather than generic. Edit is simply too vague.

Also, what’s the idea behind those plus and minus buttons for news? Strange idea. Add or remove articles from the displayed list? Why would you want to remove them from view sequentially? If the idea was to allow the user to asynchronously update a short list of available headlines, then why not move back/forwards in blocks of five? Plus and minus are often used as metaphors for creation/deletion in software, so the usage doesn’t seem right.

Personalisation vs Simplicity … an uneasy relationship

BBC Customise Homepage

The ability to personalise a website is, in general, a good thing. Google has done it with their iGoogle, Yahoo! with My Yahoo and Microsoft with Windows Live. But I think the balance here is gone too far towards design and borrowing from succesful Web 2.0 sites. The BBC website has always been an impressive destination for (relatively) impartial news and current affairs throughout the world, not a Web Portal. Or is this the point? Does the BBC want to become a destination for all your information needs and compete with Google, Microsoft and Yahoo?

The BBC should consider that 14-25 year old users, what I term The Facebook Generation, will require far greater scope for adding their individuality than is currently available. The social networking generation are page-savvy. They want control of their interface to information, their screen is their window on the world and I don’t think that you have gone far enough in divesting control of the display of that information to the user.

But for those who aren’t part of The Facebook Generation, the people who care about getting to the content fast and with little fuss, is the ability to personalise the homepage worthwhile or even simple? I’m not so sure.

Who needs a clock?

BBC Homepage Clocks Finally, the clock and date. What an important waste of webpage ‘real estate’, even though in the BBC’s case I understand it was a throwback to the old clock that preceded individual TV programmes. If you’ve got a modern computer capable of displaying the clock with the Flash plugin, then you’ll almost certainly have the date and time visible to you anyway. It’s needlessly superfluous on a website.

Website Success via Desire Lines

To paraphrase Plato

Human behaviour flows from three main sources: desire, emotion and knowledge

Desire lines are those well-worn ribbons of dirt that you see cutting across a patch of grass, field or park, often with nearby pavements, particularly those that offer a less direct route, ignored. In winter, desire lines appear spontaneously as trampled down paths in the snow. These paths are never perfectly straight but instead, they meander like a river this way and that, as if to prove that desire itself isn’t uniform or linear and (literally, in this case) straightforward. Desire Lines show that it is human to choose, but it is also human to choose what other people have chosen before. Be it for establishing a pattern, be it for convenience, or be it for not reinventing the wheel. In this way the Desire Lines become well-trodden and pseudo-permanent routes to a particular destination.

Desire Lines are the ultimate unbiased expression of natural human purpose

The term ‘Desire Lines’ originates from the field of urban planning in the early 20th Century.

An optimal way to design pathways in accordance to natural behaviour is not to design them at all

Extending the concept to websites

Broadening the concept of Desire Lines, it is also possible to see other impressions of human desire in websites, many of which can provide a commercial advantage to the particular website in question.

The web phenomenon is simply another way people find entertainment, communicate and interact. Whether the purpose of using the web is for enjoyment or employment, Desire Lines are are a such perfect expression of natural human intention that they become the utlimate design pattern for building successful and intuitive websites. It is easy to envisage users like an army of ants moving in single file towards their goal, not following set paths, but bypassing the planned route directly towards the news article, the video, indeed any product being offered by the website concerned.

Instead of websites providing classic access points via menus and taxonomies, they can employ different access points based upon user preferences and previous browsing history. This is heavily dependent upon capturing user’s details via a cookie or a login system, like at Amazon, but the benefits to the user can be far more rewarding.

So who is doing this?

Understanding the demographics of your users and your site usage is key to Desire Lines. The BBC website is a great example whereby search statics are monitored frequently. They adapt their web user interface and site structure based upon what people are typing into their search box thus making it easier for subsequent users to view the more relevant or interesting stories of the day.

Amazon makes Desire Lines more explicit and beneficial to their users through Listmania, recommendations, Customers Who Bought This Item Also Bought, What Do Customers Ultimately Buy After Viewing Items Like This?, Better Together, Recently Viewed Items, Wish Lists etc. In essence, Amazon does not provide a single standard way of finding an item, but relates each item together through a myriad of historic information from its user community. The user therefore has the option to search for an item, use the catagories, or click on links and begin their own desired user journey, which can be uniquely distinct from other users journeys or a mirror of those journeys.

Current TV takes the concept even further by showing content that is purely based upon what users want, or what they term as viewer-created content. Current slice the schedule into short segments into “pods” — each just a few minutes long. These pods profile interesting people on the rise, intelligence on trends as they spring up around us, and international news from new perspectives. Anyone who wants to contribute can upload a video. Then, everyone in the Current online community helps decide what should be on TV. You can join in at either stage — watch & vote or make video.

Limitations to Desire Lines

A key limitation, or possibly a challenge, to the successful adoption of Desire Lines concerns advertising revenues. For a user it is beneficial to be able to reached the desired destination as quickly and efficiently as possible, but for a website’s advertising revenue it certainly is not. To be simplistic and possibly cynical, many sites don’t want users to have an overly efficient experience as this limits page views and page impressions. The challenge, therefore, is to retain users on the website and provide them more relevant information and targeted advertising.

There are also implications on what is considered more relevant and what is not. The BBC to some extent decides based upon user searches, but this serves also to hide potentially captivating an important stories. One user’s preference isn’t necessarily the next’s, therefore creating an information bias. This may be even more problematic with our over-reliance on Google for finding information. The Google algorithms essentially decide what we find even though we are told that the sites listed are based upon relevance and popularity.

Finally, you can’t pave every desire line. To do so would end in a playing field not covered in lush green grass with a few tracks intersecting the green, but a concrete mess.

« Older entries