This week my company Cozi launched Cozi Central, a product that lets busy families communicate with each other and juggle the many elements of their lives at home. Among other things, our public launch means I can now cover my own user interface designs in this blog. I thought a good place to start this coverage was a quick look at what it means to design software for families.
Most software products and services for the home market oddly do not, in fact, recognize the family dynamics that dominate home life. Consider any service with which the entire household has a single account, then see how many family members are allowed to administer that account. In most consumer products, the single person who signs up for a household account becomes the account’s sole administrator. They can add other family members to the account, but those other users are invariably treated as second class participants in the account.
Many households have not one, but two people running the household. In these cases, the user model doesn’t match the household’s actual organization. If Mom ends up as the family’s account administrator, how does Dad feel asking her to reset his password? Or if Dad ends up as the account administrator, how does Mom feel asking him to give her access to a new feature? A poor design decision in the virtual world provokes awkward interactions between family members.
Products like this are presumably made by organizations that unintentionally mirror their business paradigm in a home product—since groups in the business world tend to be organized with a single leader, they fail to question whether a similar hierarchy will actually work in the home. As it turns out, a strict hierarchical approach is also easier for a developer to code: if you’re going to have two classes of users, the data schema and accompanying UI is easier to manage if you can simply designate exactly one of the users as an administrator than if you can designate one or at most two. If a company does decide to support more than one administrator, the design usually makes administrative privileges an option that can be enabled for any account. So instead of letting two people run the account, they allow N people to run the account, which often needlessly complicates the product’s interface. (A good example of The Tyranny of 1 or N.)
We designed Cozi Central from the ground up for the dynamics of families, not small businesses. Either one OR two people can be identified as the adults running the household.
There are, of course, numerous households with multiple adults, but in most of them, one or two people can be identified as running the household. For our v1.0, those edge cases weren't worth pursuing if they would cause the 90% case to suffer.
Designing things this way does require a bit more design and development work. On the whole, however, the product’s model of family organization now more closely represents that of actual households, so it enables unique features that capitalize on family dynamics.
A good example is the “Hand Off” feature in Cozi Central’s family calendar. Couples, especially parents in homes with children, are constantly trading errands and other responsibilities. It might be the case that Dad usually drives his daughter to soccer practice, but if he suddenly needs to take his son to the doctor, he may hand the driving duty off to Mom. This happens so often that Cozi Central has an explicit “Hand Off” menu command on appointments just for this purpose:
This user interface shortcut would be far more cumbersome to offer in a product that assumes families are organized in a hierarchy with a single person at the top. (By the way, Cozi Central's appointment menu comes up on left click as well as right click, a trick I think could be useful in other UIs.)
You can see more examples of family-ready design in Cozi Central itself. The product, which includes features to track family calendars, messages, and shopping lists, is available for free at http://www.cozi.com.
You've missed something REALLY important.
Cozi asks me to DOWNLOAD something but nowhere does it tell me what it is or how it actually works. The site only has a very dumbed-down explanation.
You don't run anything on my PC unless I know what it is. You need a technical FAQ!
Posted by: dermot | September 28, 2006 at 04:06 AM
I like the thought you are putting into this; thank you for sharing your decision process.
Posted by: Carl Manaster | September 28, 2006 at 06:32 AM
This is a good point, and the product looks nice. I've got an off-topic question, though: how do you plan to make money? This seems like a product that people would be willing to pay for, but you're giving it away.
Posted by: Josh Yeager | September 28, 2006 at 07:54 AM
In addition to a technical FAQ, how about some machine requirements? And about that FAQ, here are some questions:
Do I need to keep this app running all the time? On a machine connected to the internet? Can I *add* content from my mobile phone or only see it? Etc.
Posted by: Dennis Doughty | September 28, 2006 at 09:54 AM
I don't mean to grumble about a v1 product too but I've got serious issues with the setup process. First off, you didn't give me any choice where to install the product. While it made the install simpler, I don't install programs to the program files directory. Don't force your app in there. Second, you took over my screen saver without even telling me! That was just plain rude. I really can't think of any excuse why you would do this. It reeked of RealPlayer...
Posted by: Brian | September 28, 2006 at 11:48 AM
Cozi looks useful. I couldn't install (probably a firewall thing), then I read the comment above about the screensaver, and suddenly I didn't want to install anyway...
Not telling me the date format to use when entering my DoB was a bit irritating (I'm not from the US).
All the above is said in the spirit of trying to make your product non-irritating and hence successful.
Posted by: Chaz | September 28, 2006 at 07:12 PM
My wife and I looked at this this past weekend - existing feature set is interesting, but the biggest missing feature that would entice us to give it a real workout would be maintaining schedule items in an external store (we both use Outlook on our home machines and track our appointments there). Example: I add a Cozi schedule item for the family. Cozi's back-end generates a standard Outlook-compatible schedule item and sends to each email address we configure for schedule synchronization. Example 2: One of us changes the time or other information for a scheduled item that has already has a sync message sent. Cozi's back-end generates an update email and sends to the list of email addresses configured for schedule sync. Example 3: One of us deletes the schedule item on Cozi. Cozi generates cancel schedule messages and sends to sync email addresses.
Posted by: Erik | October 02, 2006 at 12:03 PM
That thing looks really interesting, however I have some notes on the demo tour that you provide:
1. I would like to be able to regulate speed of the demo, for not native English speaker it moves too fast.
2. Clicking next button between sections is a bit annoying
Posted by: Maksim | October 14, 2006 at 03:52 AM