What is an example of a task based UI?

The easiest way to generate a task based UI is to protect all attributes/properties of your models. i.e. remove all setters.

From this (pseudo code):

public class TodoTask
{
    public Date getDateAssigned();
    public void setDateAssigned(Date);
    public string getAssignedTo();
    public void setAssignedTo(string);
}

to this:

public class TodoTask
{
    public Date getDateAssigned();
    public string getAssignedTo();

    public void AssignTo(string userId);
}

You can’t create a basic CRUD app anymore. You have to perform a task (Assign()) to update the model.

Start by removing all setters and then analyze what kind of actions (task) you should be able to do on each model.

Then you’re all set.

I’ve blogged about it: http://blog.gauffin.org/2012/06/protect-your-data/ (scroll to the bottom to see mockups for CRUD vs Task based)

Leave a Comment