Applying personas

A bit about the Mort, Elvis and Einstein personas, and how they apply in the realm of server controls in ASP.NET Whidbey.
Applying personas Just last week we were having a meeting where the subject of personas came up. This may have been blogged about in the past... but... we have three primary personas across the developer division: Mort, Elvis and Einstein.

Mort, the opportunistic developer, likes to create quick-working solutions for immediate problems and focuses on productivity and learn as needed. Elvis, the pragmatic programmer, likes to create long-lasting solutions addressing the problem domain, and learn while working on the solution. Einstein, the paranoid programmer, likes to create the most efficient solution to a given problem, and typically learn in advance before working on the solution. In a way, these personas have helped guide the design of features during the Whidbey product cycle.

The description above is only rough summarization of several characteristics collected and documented by our usability folks. During the meeting a program manager on our team applied these personas in the context of server controls rather well (I think), and thought I should share it. Mort would be a developer most comfortable and satisfied if the control could be used as-is and it just worked. Elvis would like to able to customize the control to get the desired behavior through properties and code, or be willing to wire up multiple controls together. Einstein would love to be able to deeply understand the control implementation, and want to be able to extend it to give it different behavior, or go so far as to re-implement it.

Its definitely an interesting challenge to cater to the wide spectrum of developers, while managing the complexity and size of the feature. The set of security-related server controls: Login, PasswordRecovery, LoginView, CreateUserWizard, and ChangePassword (the latter two being new additions since the PDC) present a good case study in how a feature can scale to different user types. All of these controls just work out of the box in implementing the end-to-end scenario of managing user sign-on. Coupled with themes, these controls can look pretty good as well. They go on to provide a whole set of properties to tweak their behavior, and appearance. Furthermore, they provide the ability to flip into template mode for more significant changes to their content and layout. Finally, they're built on the provider-model in ASP.NET so an advanced developer could come along and swap out the built-in membership provider going against say the default SQL or Active Directory user database and replace it with one that goes against say an Oracle user database or some other custom store while keeping the UI functionality intact.

I would be curious to hear if others have made similar observations about other features in the framework...
Posted on Tuesday, 1/13/2004 @ 12:28 PM | #ASP.NET


Comments

6 comments have been posted.

Kevin Daly

Posted on 1/13/2004 @ 3:09 PM
I have mixed feelings about the whole "personas" concept...it has considerable validity (even though the same individuals can embody different personas at different times IMO), and I'm generally impressed with the results of applying it...my only quibble is that it can easily lead to stereotyping, such as the assumption that all C# developers (like me) are recycled C++ developers (I'm not...life was too short for C++), or that VB.NET developers are amateurs, or that "hobbyists" (I'm employed full-time as a professional developer so I'm not grinding an axe here) are only playing at programming - I'd say the latter for instance has led to Microsoft arguably failing to connect as effectively as they could with the mobile device developer communty.

Nikhil Kothari

Posted on 1/14/2004 @ 12:15 PM
Yeah, I agree, personas could lead to stereotyping (primarily the reason I stayed away from mixing personas and language like VB vs. C#) and one needs to be careful on that. However, in general I don't think this has happened a lot. Users definitely switch personas, often based on the specifics of the task at hand. Personas are used to guide the design to make sure the overall spectrum of users better (something we didn't do that well on in the v1 time frame) and not forget/ignore an important segment. Having more tangible concepts associated with different sets of characteristics has helped in this regard.

Ian Blackburn

Posted on 1/15/2004 @ 5:44 AM
Interesting... though I think the persona is more a state of mind than a personality...by that I mean you may be an Elvis for some projects or parts of projects, but a Mort or Einstein for others. Also the compexity of a server control could affect your persona: a placeholder is pretty much owned by the Mort, but a DataGrid probably makes most of us verge towards Einstein...

I think it also has relevance to training, and area I am heavily involved in - I can see these sorts of characteristics grouping into the courses I deliver. It turns out I think that my most successful courses are targeted at the Elvis persona (even though they have come on a course in advance - but that can be due to other forces rather than just their persona), and that's an intesting way of thinking about levels of courses for me...Perhaps it means it's the Elvis persona that needs the most assistance too...

Nikhil Kothari

Posted on 1/16/2004 @ 12:04 PM
I just posted a comment on Ian's blog, but this was a pretty good example of personas applied, and thought I should include for readers of this entry...

Ian's comment about the DataGrid pushing one into an Elvis or Einstein "state of mind" is pretty accurate. In fact you could say the same of data in ASP.NET v1.x. Period.

That is exactly one of the problems that personas tries to fix. The new GridView control I think targets the wider spectrum of users so it does just work for a number of common scenarios, but retains the flexibility/extensibility etc. for power users. This is generally true of data in ASP.NET "Whidbey" as well.

tangferry

Posted on 2/7/2004 @ 5:40 AM
ASP.NET Web Matrix is a so cool tool for web programming.But I think it would be more popular if it can be translated into local languages.The translation work can be done through the volunteers on the web(I believe many "ASP.NET Web Matrix" users will do this).As for me,I can do the Chinese translation for "ASP.NET Web Matrix"(I have the experience of the translation).

Buggy

Posted on 3/12/2004 @ 3:16 PM
I finally know who 'Mort' and 'Elvis' are! I saw references to them in a job description not far back and I figured they referred to some 'type' but didn't know which, or why. I think I'm a Mort-Elvis, depending on the project and deadline. I don't ever think I've had the luxury to be an Einstein, even if we share a birthday (3/14). I just never have the time to become an expert in anything, it seems. I don't mind, and even enjoy, digging into things during the course of a project but am pleased as punch when I can move forward faster by using a control that doesn't require too much expertise.
The discussion on this post has been closed. Please use my contact form to provide comments.