So, you have decided to create your own website. You have read all the latest articles, bought a domain name, and now you are staring at your holding page wondering what your website is for and what you should put on it.
Never fear, function-behaviour-structure (FBS) theory can help. FBS is a popular artificial intelligence design theory and like all good fairy godmothers, it will answer your three questions:
- Function: What is the purpose of your website?
- Behaviour: What will your website do?
- Structure: What structure will your website take?
According to FBS, you only think about site function and turn this into site structure if you have a clear idea of what you want to do. If the function of your website is somewhere for you to express your opinion about the latest indie films then you would use a standard blog structure and software such as WordPress or Blogger. This approach is known as catalogue look up: function (my opinion on indie films) maps easily to structure (my blog about indie films) and isn’t really a design problem.
If your function is more complex, such as a website to show off your etchings, then thinking about website behaviour before you tackle the structure can make the design process seem much easier. The behaviour of a ‘my etchings’ website could include:
- Users browse a gallery of my etchings.
- Users leave comments.
- Users read about how I made the etchings.
- Users buy etchings and have a shopping basket.
This behaviour then translates more easily into a specific structure:
- An eye catching gallery.
- A forum where people chat.
- A page about me and my etchings.
- Technology to handle the online store and security.
Users have their own mental models of how your website should work, based on their past website experiences. So, they may interpret a different function from the one you intended. This is known as the no-function-in-structure principle.
Imagine some users are chatting on your etching forum about a technique. One user might upload his own etching to illustrate his point. Others follow his example until the forum becomes a gallery of users’ etchings. You as the website owner could spot this trend and make the process easier for them. You might even offer to sell their etchings along with your own. In this way you change your site structure to support new behaviour and this, in turn, changes the original function of your site. It is no longer a site just for you to showcase and sell your etchings but for everyone.
Search engine giants Google use the same ‘treading’ approach. They watch user behaviour as it changes the internet and creates new markets. Before Google bought the user video website YouTube! last year, they watched the FBS changes the site went through. So go ahead FBS your website. If it’s good enough for Google, it’s good enough for you.
http://www.ruthstalkerfirth.com/pdf/CC02.pdf (academic paper)
It’s great to see another post on FBS. I have to admit that I had not heard of it until I found your research paper a few years ago, and went on to use it various research projects to assess the characteristics of an object that should be maintained when performing format conversion or emulation (in case you’re interested, the reports are available at http://www.significantproperties.org.uk/inspect-framework.html and repository.jisc.ac.uk/607/).
For a time I looked into expressing FBS components in a machine-processable form. My idea was to use the function and behaviour as a set of rules for specifying the structure elements that should be converted. This information would be passed as parameters to a conversion tool. For example, you could use it to process an input file and produce an output that contained only the information required by the user. However, I ran out of time on the project and had to move onto something else. Have you done any research into FBS tools, by any chance? If so, do you have any recommendations on (preferably open source/free) tools that should be used?
Hi Gareth, that is so cool, I had a look at your links. I don’t know much about digital curation, but it did remind me of legacy systems that were always talked about in software engineering, but of course if I have understood correctly your systems are much more complex because it is constantly evolving, so I can see how you would impose a retrieval maintenance approach – v, clever! I haven’t done anything myself about FBS in a practical way as you have. I used it as a tool to think about software design. But I remember a few years ago that someone in Canada wrote a book on FBS for software engineering. They wanted to produce a software framework (sorry just spent half an hour googling about – no joy) . Hopefully, they will have something by now and fingers crossed open-source, that may be inspirational to you. I will continue looking and if I find anything, will let you know. All the best, Ruth