Emad's Blog

Thoughts/Tips/Shortcuts/Ideas from a .NET software engineer

Archive for the ‘Uncategorized’ Category

Personas in Application Design

Posted by emadmagdy on March 28, 2009

One of the most heated debates during Web sites or intranet designs are discussions were developers and designers discuss whether such a design or form or whatever is the best for the users.  In most of these discussions everyone is just assuming that what makes sense to himself/herself is what will make sense to users. In most of the times, actual users’ answer is “none of the above”.

For example, a 60 years old person who rarely uses a computer has serious trouble figuring out that hovering over a menu item will cause the menu to expand into the second level. For most designers or developers this is a no brainer. Same for floating panels or drag and drop operations and so on.

Most requirements documents mention actual users just in term of numbers; something like: expected number of users is X and expected number of concurrent users is Y and it is all about performance measures and not about knowing the actual users who will be using the system. Many developers and designers have never met the customers and can not even imagine how they look like or what they are actually using the machines. As a result, with unknown users, geeks are developing what they see best –for themselves.

Not understanding the end users is one sure way the application will not be a success. On the other hand, making really simple applications that targets the end users needs is one the reasons the IPod and the IPhone were smashing successes.

One the popular methodologies used to design a user-centric interface is the use of personas. Personas are imaginary users that are targeted during the design. There can be one or more personas for any given application. This is a good antidote for the problem of designing application for self rather than for the actual users (called mirror personas) For example, when designing Visual studio, Microsoft came up with three personas : 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.  (Reference: http://www.nikhilk.net/Personas.aspx )

The use of personas was introduced in the famous book “The inmates are running the asylum” ( http://www.amazon.com/Inmates-Are-Running-Asylum/dp/0672316498 )

Needless to mention, the success of this methodology depends on having personas that accurately represent the end users, otherwise it will be defeating the purpose.

This will help eliminate problems that are sure to come from discussions that go like this: For an application that is targeting people with very superficial knowledge of PCs:

  • Developer1 : How will the user be able to change that setting?
  • Developer2: Very simple, all they need to do is open this XML file and edit the corresponding node with the updated value.
  • Developer1: Cool, That means our application is generic and configurable.

Of course you can imagine the  users’ reaction when told to simply  open the XML file, look for the node “xyz”, etc. Even worse are the problems that may come out of such users actually trying to edit this XML file.

Personas can be equally helpful when trying to figure out what features may be most useful to “users” and what features can be scoped out of the project or how to prioritize features or releases.

References:

Posted in Uncategorized | Leave a Comment »

Good Links, February 15, 2009

Posted by emadmagdy on February 15, 2009

An overview of the Microsoft online services : http://www.zimmergren.net/archive/2009/02/12/sharepoint-online-%E2%80%93-a-first-look.aspx Microsoft is now offering several products as an online service. This includes SharePoint 2007, Exchange 2007, Office Live meetings, Office communications.

Designing the perfect form: http://webdesigntuts.com/web-design/how-to-design-the-perfect-form/

Posted in Uncategorized | Leave a Comment »

Good Links, January 19, 2009

Posted by emadmagdy on January 19, 2009

Tool to make sure that the feature used by a site collection is already installed: http://code.msdn.microsoft.com/WssAnalyzeFeatures

Completely remove a feature from a site collection: http://code.msdn.microsoft.com/WssRemoveFeatureFrom .this handles the problems when a site collection has a feature that is not installed (or is corrupt on the farm), in that case, stsadm -o deactivate will fail. This tool comes to the rescue in that case.

Posted in Uncategorized | Leave a Comment »

Debugging SharePoint performance

Posted by emadmagdy on October 15, 2008

www.sonarforsharepoint.com is a tool to help identify performance issue in SharePoint.

Sonar Lite is a free version that provider many useful statistics like:

  • Web Parts
  • Images
  • Scripts
  • Style Sheets
  • Embedded Objects (Silverlight, Flash, etc.)
  •  

    Read more about Sonar Lite at http://www.binarywave.com/products/sonar/lite/default.aspx

    Posted in Uncategorized | Leave a Comment »

    Good Links, October 4, 2008

    Posted by emadmagdy on October 4, 2008

    Best Practices to create SharePoint designer-Friendly controls: http://blogs.msdn.com/sharepointdesigner/archive/2008/10/03/best-practice-to-create-designer-friendly-server-controls.aspx These are best practices to follow when designing server controls to make sure they work well in SharePoint designer.

    Understanding and Deploying Hotfixes, Public Updates, and Service Packs for SharePoint : http://www.microsoft.com/downloads/details.aspx?FamilyID=387cdef6-a807-4cf8-ae2c-16f0afccaf3c&DisplayLang=en

    Posted in Good Links, Uncategorized | Leave a Comment »

    Good Links, September 29, 2008

    Posted by emadmagdy on September 29, 2008

    A huge number of videos covering a very wide variety of sciences/events/interviews/etc..   http://videolectures.net/

    Top 100 Blogs for software development managers: http://www.noop.nl/2008/09/top-100-blogs-for-development-managers-q3-2008.html

    New Patterns and Practices application architecture guidelines: http://www.codeplex.com/AppArch some ares of interest there:

          Architecture and design: http://www.codeplex.com/AppArch/Wiki/View.aspx?title=Architecture%20and%20Design%20Guidelines&referringTitle=Guidelines

         Service Layers Guidelines: http://www.codeplex.com/AppArch/Wiki/View.aspx?title=Service%20Layer%20Guidelines&referringTitle=Guidelines

        Business Layers guidelines: http://www.codeplex.com/AppArch/Wiki/View.aspx?title=Business%20Layer%20Guidelines&referringTitle=Guidelines

       Presentatgion Layer Guidelines: http://www.codeplex.com/AppArch/Wiki/View.aspx?title=Presentation%20Layer%20Guidelines&referringTitle=Guidelines

    Posted in Uncategorized | Tagged: | Leave a Comment »

    Good Links, September 26, 2008

    Posted by emadmagdy on September 26, 2008

    Posted in Uncategorized | Leave a Comment »

    Turning Log4net on/off programmatically

    Posted by emadmagdy on September 22, 2008

     

    to turn it off

       log4net.LogManager.GetRepository().Threshold= log4net.LogManager.GetRepository().LevelMap["OFF"];

         

    to turn it on

       log4net.LogManager.GetRepository().Threshold= log4net.LogManager.GetRepository().LevelMap["ALL"];

    Posted in Uncategorized | Leave a Comment »

    Good Links September 22, 2008

    Posted by emadmagdy on September 22, 2008

    Posted in Uncategorized | Leave a Comment »

    Google Releases its own Browser – Chrome

    Posted by emadmagdy on September 2, 2008

    Today Google Released its new browser (Chrome), the beta version can be found at http://www.google.com/chrome

    A comic book explains what’s new in chrome and the idea behind it http://www.google.com/googlebooks/chrome/index.html

    Posted in Uncategorized | Leave a Comment »