Adaptive Interfaces

An interface that changes upon unique user behaviour. This means that a system automatically recognizes your behaviour over time and improves the interface with that data. This is a big step from configured personalisation to automatic personalisation on interfaces.

"Imagine the web-based email client that begins offering three forms fields for attachments instead of the default one, because it ‘noticed’ that you frequently upload more than one file." - Stephen P. Anderson

Learning a interface from starting of with just a few basic functions to extending these basic functions over time and only extending the functions you use allot. This makes it easier to learn the interface and system. This can also mean that new developed functionality can be introduced effectively to just the people that are going to use it.

We can improve user-centred-design of the interface by changing the prominence if certain elements. Changing the amount of text by the tasks you perform, so if you preformed a task 50 times you don’t really need that help text anymore. Or changing navigation upon activity, displaying short cuts to task you perform allot but not removing the essential ones.

What’s the problem with adaptive interfaces?

It is still very hard for a computer to recognize user behaviour, and there is a real danger into changing something that you get used to. So its key to make small changes instead of big ones to have a clean separation between fixed interface elements and fluid interface elements.

Its incredibly hard to find the balance between a good amount of fluid elements and the need for consistent fixed elements. At some point you have to step towards inconsistency and motivating curiosity to keep improving your interface. Though inconsistency shouldn't be a bad thing since there are more elements of design you can use other then placement to avoid confusion or surprise, by example colour, typography, labeling

Stephen . P Anderson Presentation

Identity 2.0 could power adaptive interfaces as they can supply information thats could be applied to an adaptive interface, before you even use the interface.

Discussion

Would be could to have some time to implement something like this in a web application...
Nice overview Bojhan :)

Arjan Eising
April 28, 2007

Websites seem to be getting larger these days. So companies been looking for ways to improve there data presentation connection it to visitor/user behavior. Something that can be real good, but it also has his disadvantages. When a visitor/user tend to distance him self from an normal visitor/user behavior. It could work against him.

There for are highly paid jobs for people whom can understand user behavior and can act up on that. By improving the overall data presentation or steering visitors/users to areas which could be in interest of the visitor/user. There for I don't believe in patterns which are based on unique user behavior. They seem to narrow for me to decide weather something is logical to assume.

The best thing that could be done in my opinion is take overall average of couple users who tend to have the same behavior. Monitoring usages of differed functions with in a website is a good idea as well. This might give you some inside in the differed types of visitors/users you receiving.

One of the things that you don't want to do is think that every visitor will be of the same type connection all the data together. I've been seeing systems which where so rich in learning visitor/user behavior that they started to assume to much. Disabling features to new comers or even worse making area's totally hidden with in the system.

So my end conclusion is :
"When implementing adaptive interfaces do not let the system assume to much of what the visitor/user is doing. Implementing an adaptive interface takes time indeed. Specially since visitors/users may change overtime since the internet is always a growing platform. Sometimes patterns need to be change / disabled / removed from the system to improve the usages. Imagine visitors/users inventing new ways to get to there desired information. So from this point regular reporting and monitoring is a very good way of keeping track of visitor/user movements."

DaRamirez
May 8, 2007

"The best thing that could be done in my opinion is take overall average of couple users who tend to have the same behavior. Monitoring usages of differed functions with in a website is a good idea as well. This might give you some inside in the differed types of visitors/users you receiving."

Analyizing group behavior(same behavior) and applying it to that group, is beign done for a while and it tends to reveals way to many diffrent user pattrens to work with. And it will also generate allot of group behavior for each diffrent function.

I thinks the key to acctually making a system adaptive to analyzing unique user behavior ithat person, instead of that kind of group. Since a user tends to act diffrent on functionality with no particulair logic behind it. Especially after a long period of unqiue user behavior tracking you will encounter pattrens that none of your groups tend to do, since at some point you cant go much further with analyizing global user behavior.

"Imagine visitors/users inventing new ways to get to there desired information."

Sounds great! And as shown in the presentation of Stephen . P Anderson could be applied to by example Google's top navigation.

Bojhan Somers
May 8, 2007

Interesting article and presentation indeed.

I also think the key lies in analyzing personal behavior not group behavior. Another important aspect that was pointed out, the idea of making only small changes and to observe how the user reacts to them, seems right way to me.

"Using a better widget in my place might make another part of the interface crummy"

That is sooo true.

schnizZzla
June 28, 2007

[...] Adaptive interfaces Part 1 explained that interfaces should change upon unique user behaviour. So tasks that you repeat often in a similar way will make obvious patterns. But tasks that you don’t preform often, and are highly dependant on the context, tend to make a lot of vague patterns (many assumptions to be made). Developers usually back off here, since wrong assumptions kills user experiences. However what if you would ask the question: What assumptions can I apply to filter out functionality that is highly unlikely. This way the system can learn over time if it makes the right assumptions. [...]