Conference User Model

I hope to get round to blogging about the actual Code Generation conference at some point but this is about another Code Generation conference app. I’ve been playing with a user model based on an example at the conference and, since I mentioned the user interface generator to a few people, I thought it might be useful to share a few diagrams from the model here. If you were at the conference, and/or have looked at the Code Generation 2011 Android app, you’ll probably recognise these basic entities:

(At this point I had to stop myself going a bit mad with user objects for venues, rooms, capacities, etc. etc. etc.!)

Instead of focusing on the look and feel of a user interface, user modelling allows you to create a specification of a system from the user’s point of view. So, for example, a conference delegate might have a goal of attending a conference, which would consist of a number of tasks, like registering for the conference. The diagram below shows part of the model, with a simple task to view the available sessions:

By default, the <<select>> and <<view>> keywords on the associations between the View sessions task and Session object will generate the following activity diagram:

The user interface generator handles on screen presentation of the user objects for each of the <<ui_change>> actions in the activity diagram, while the <<command>> actions represent code that must be written to fetch data from some system. This could be code to call MDM Server transactions and, since the user interface generator is provided with MDM Server, this code can also be generated to create a basic sample data maintenance user interface. There’s no technical reason to prevent the commands getting data using any web services, or direct from a database, or anywhere really. To test drive a UI, there’s an option to generate all the code necessary for a simple file based data store for example.

Having generated enough of the user interface to view sessions, I wanted to add a way to favourite sessions like the Android app. The next diagram shows a customised activity diagram to do this:

You can see that after the UI change to view a selected session, there is now a decision with two options; there’s a Favourite flow in addition to the previous Done flow, which appears as another button in the UI. I could change the model again to make it possible to mark multiple sessions as favourites at the same time, which would require changing the cardinality of the task to user object relationship, as well as another decision node in the activity diagram. The last diagram from the model shows a more complex activity diagram that has a similar extra decision node, but for a task to manage conference tracks:

If you’re interested in finding out more about user modelling and the user interface generator, there’s an article on developerWorks. and some related blog posts. I’ve also blogged here about user modelling in the past.

Any questions or comments would be very welcome indeed.


Your insurance quote web site is annoying

If you don’t have an insurance quote web site, look away now; this is just the annual grumble about buying insurance!

Is a simple form really so difficult?

None of the sites I tried were pushing the boundaries of HTML5, yet apparently browser support is still an issue. #fail

I don’t need help typing a date!

Actually, with a few less drop down lists around, this is one area that has improved a bit since last year. Top marks to the sites that just let me type the date in, but points for trying if the year isn’t a drop down; I don’t need reminding how old I am by scrolling back through the years thankyouverymuch. Having said that, I might need a little help typing the right date but ironically the only time I got it wrong was with a drop down, where I put the current year in for my date of birth by mistake. I was helpfully told that I was too young when I hit submit, but if you insist on having a drop down, what’s the point of including invalid values?!

On the subject of dates, is it really critical to know the exact date I got my license? I think ‘a while ago’ should cover it after this long. A few sensible companies agree, just asking how many years you’ve had a license, up to 3-5 years ago.

Are you trying to catch me out?

Forcing me to negotiate a confusion of check boxes to opt out of your exceptionally interesting marketing communications is just rude. Please choose check boxes or radio buttons and stick to one or the other, and don’t keep swapping the meaning of yes and no. A single opt-in check box would be favourite.

What did I say?

If you want me to verify that all the information I entered is correct, it would be really useful if you showed me all the information I entered! (The paperwork arrived through the post today, and luckily it was all correct!)

“Other, please specify”

The subject of another post that has been resting in my drafts for ages. The most trouble I had was specifying what claims I’d made in the last 300 years. One or two included ‘hit an animal’, while the rest had a bunch of more or less accurate choices. After initially doing well to ask me what I thought of their site, Aviva were the recipients of a QI style klaxon: unfortunately the questionnaire stumbled when it asked for my phone number should I be happy to discuss further. Maybe they don’t have email… or reply to blogs… Basically, let me answer the question accurately.

“I’m Not Here To Be In a Relationship”

Insurance companies should probably read about The $300 Million Button. At least John Lewis got this right.

How much?!

Maybe it’s just me, but an option to enter a voucher or special offer code is a blatant reminder that you’re not going to get the best price. Not to mention the annoying trend for ‘cash-back’ sites, which never really fill me with confidence. I think a grand total of one managed to show some sign that the hand-over had worked and some cash back might therefore be forthcoming. Even then it was a rubbish quote sadly. I guess it’s just an online continuation of getting renewal quotes that are more expensive than new customers, or all that no claims nonsense.

Who am I?

Straying worryingly close to the day job here, but despite discounts for taking more than one insurance product from the same company, I don’t think any of the sites gave me confidence that they were connecting the dots. Some reference to other policies at best, but not really much use while looking for an all inclusive quote for three new policies. The three separate letters that arrived today confirmed my suspicions. I expect I’ll get three renewal reminders again next year as well.

Ok, ok, I’ll stop now… until next year!