March 2009 - Posts

Blend 3
Tue, Mar 24 2009 11:17 AM

Most people probably already know that Microsoft's MIX09 event took place last week. Because I am specialized in Microsoft development, this event has introduced a lot of interesting new stuff.

But because there are so many people already blogging about the new releases and new developments, that I think it is really not necessary for me to start writing about it. For those interested I have a little link-list here about some of this published information:

The most interested I’ve seen so far is the new release of Blend. In this version there will be a great support of prototyping. This goes by the name of sketch flow and a session-video about this can be watched here. This with (finally) the integrated support for Team System, will be a great way for quickly creating impressions of the application within the ALM vision.

For all the new features in Blend 3 I want to redirect you to the following posts:

 

For our Dutch readers, Martin Tirion of Microsoft Netherlands has got some nice highlights posts about the MIX event:

Good & Bad in User Experience
Tue, Mar 17 2009 3:05 PM

When it comes to “good” and “bad” in User Experience Design, it’s all about making compromises. There are influences from marketing, management, development, design, sales, support, etc. In other words, almost every role or department within the development cycle has it’s own agenda on want they want to see in the final product. But for the moment I just want to use only three parties, which in most of the projects I have experienced had the most influence.

Shifting the influence pillars

The three pillars I am using are Business, Architecture and Design. The one with the most influence, it usually determined through politics (in other words, who’s got the biggest mouth). But ideally you want this to be clear before the project starts.

Influence Pillars

The amount of influence is often based by your organization. If you mainly have developers, then probably the application architecture will determine how your application will be used. When you have a large sales force, or you outsource a lot of your work, you mainly are trying to keep your customer happy by obeying to all their wishes. Thereby allowing the business (customer or analysts) to determine how the final user experience will be. And if your company is mainly a design company, your interface or graphical designers will be the ones calling the shots.

These things do conflict, and I can imagine that project managers have there hands full with it. But what has this got to do with User Experience.

Well, User Experience is the way how your users work with the very thing you’re creating. And most of the time you can see which party had the most influence in building the application. This doesn’t mean it’s a bad thing. You just need to be aware of this in how this results in the application experience of your end-users.

This is why I strongly recommend that from the very first moment of the project, someone is guarding the User Experience. Maybe you see this as an extra block in the pillar, but I like to see it more as someone who negotiates and glues the interests of the different parties. In the initial stage he will cooperate with requirements to determine the best user experience for the application. Next this will be tested with prototyping. And finally during the development cycle he is guarding the end-user so when it comes to compromising, the outcome must be their best interest. (more about integrating UX in your project, see my previous post)

This is the “Good” when it comes to User Experience. “Bad” is when you are not doing anything about UX at all. At the moment where one of the influence blocks takes the lead and determines how the Application becomes.

When your design is beautiful and full of “chrome”, but without functionality.keybag
A João Sabino design. Perhaps beautiful, but do you see anyone carrying it around? Get yours here.

When your developers are building the interface, and yeah, functional it’ll do, and programmatically it’ll probably be beautiful. But will your users be able to work with it?you-mistyped-thumb 
Who on earth would have typed this address manually as the message suggests?

no-phones-yes-no 
And how would you answer this “question”? Thnkx stan.

And if the business gets all that they want. Then at the moment you release your product it’ll probably be “not exactly what they had in mind”. Or worse, it is exactly what they wanted, only the end-users aren’t able to work with it, because of the complexity, inconsistency, or perhaps the environment required a somewhat different type of approach.
reset  
Reset inscription underneath button. But reset what? Reset missing toilet paper? Thnkx greg.

Costs and benefits for UX decisions

When you are talking about making compromises, it’s making decisions between costs and benefits. For example, create a seamless integration between different application clients, so if the data changes in one of them, the other one changes with it (with some kind of notification when needed). Another example is working asynchronously, so the interface is always accessible and able to display progress. The costs of such implementations is extra development time, a different application architecture and probably configuration changes on the application server. But when talking about the benefits, in the first example it’ll result in more reliable data because of less version conflicts, faster communication between collaborating users, which in turn increase productivity. And the second example has the benefits of a faster working application, better feedback, and probably less frustrations. For both examples this will result in a much better user experience that overall increases the happiness of your users.

Third example is of a user that works in a very busy environment, where it is common he will be disturbed regularly. Then it would be very nice that the application he is using, enables him to keep track at his current progress, so when he is distracted, and continue his work, he can instantly see where he’d stopped, so he can pick it up from there. Costs and benefits are much the same as with the first examples. More work but also a more productive user.

Most of the costs are directly related to budget (more work takes more money). And some of them just aren’t possible within the application architecture(like asynchronic programming). So you have to find a balance between them. If you can't make an application with a live update feature, then make sure that version conflicts are prevented through other means. Like a resolve possibility or perhaps a locking mechanism.

A lot of decisions on User Experience are made instinctively, which is actually a personal evaluative process based on related experience and acquired knowledge. Just don’t forget the “why” and “how”. If you are able to back-up the decisions made for improving UX, you can get an understanding with your fellow project members. And this is essential when trying to reach compromises.

Measuring success

When all the requirements and development is done, it’s time to evaluate the “good” and the “bad” of each made compromise. What comes in handy is some kind of ruler by which to measure. For this I found four factors that were originally meant for Interface Design, but also can be applied to User Experience (Thkx Mike Padilla):

  • Ease of learning and memorability
  • Efficiency of use
  • Error frequency, severity, and recovery
  • Subjective satisfaction

Depending on the ultimate use of the application, each factor may be of variable importance. For example, efficiency of use would be more important for a highly used application than for a brochure-like marketing website, whereas the reverse may be true when it comes to subjective satisfaction. Each decision that is challenged can be evaluated by judging it against each of these four factors.

Finally

Good and Bad user experience design is all about making compromises. Just keep in mind how the application will be experienced by the users. An application with a good User Experience will always be worth the extra effort. And when you do have to make compromises, just try using a valid measuring ruler. Know your future users and don’t try to let one party in your development cycle get too much influence. The best solution is to let a User Experience Specialist manage the negotiations when searching for compromises, so the outcome will always be in the best interest of those that will be working with the result the most.

Meet Adaptive IT
Tue, Mar 10 2009 12:26 PM

For those here in the Netherlands, my company has given the opportunity for those interested to learn more about Adaptive IT. The event is on the 20th of April. Look for more information on the invitation that is displayed below (in Dutch). You can register yourself at the Inter Access Adaptive ICT page.

 

Adaptive-IT

Alleen voor de échte Top Professionals en IT Architecten:

Op 20 april a.s. geeft Inter Access jou een kijkje in eigen keuken over haar visie rondom het thema Adaptive IT. Een visie die ondersteund wordt door onze partners Microsoft, VMware, HP en Compellent, die op deze avond ook aanwezig zullen zijn. En jij kunt erbij zijn!

Laat je op 20 april a.s. bijpraten over actuele ontwikkelingen op het gebied van Virtualisatie en Storage oplossingen en kom kennismaken met Inter Access! Tijdens deze avond zal op het gebied van Storage zowel door Inter Access als door Compellent en HP ingegaan worden op oplossingen voor disaster recovery, restore, high availability en uitwijk van netwerken en virtuele infrastructuren. Virtualisatie en cloud computing wordt uitgebreid toegelicht door Inter Access, Microsoft en VMware. Naast het interessante programma is er voldoende gelegenheid om kennis uit te wisselen tijdens de informele momenten, en te vernemen hoe wij onze visie vertalen naar interessant en uitdagend werk voor storage- en virtualisatie experts.

Het avondprogramma ziet er als volgt uit:

17.00 - 18.00 uur

Ontvangst incl. dinerbuffet

18.00 - 18.45 uur

Plenaire sessie Adaptive IT: Aanpak maakt het verschil”.
Efficiënt navigeren vereist een visie en Inter Access heeft die rond Adaptive IT. Een visie vertaalt in een concrete eigen aanpak, die leidt tot een Adaptive IT infrastructuur.
Sprekers: Vincent van der Linden, Architect Technical Infrastructure, en Eric Groot, Management Consultant

18.45 - 19.15 uur

Pauze / marktplaats

19.15 - 19.55 uur

Storage: op voorhand schrijf je je in voor een van onderstaande workshops:

HP Storage, hét platform voor Adaptieve Infrastructuren”,
door Clemens Esser, HP Storage Consultant

“Innovatieve storage oplossingen met Compellent”,
door Steven Dahlin, International Sales Manager Compellent

20.00 - 20.40 uur

Virtualisatie: op voorhand schrijf je je in voor één van onderstaande workshops:

“Microsoft’s server virtualisatie platform en visie’”
door Edie van den Berge, Partner Technology Specialist

Small & Midmarket Solutions & Partners.

“vSphere: The next generation Virtual Data Center OS”,
door Willem van Engeland, Partner SE Netherlands VMware

20.45 - 21.30 uur

Gezellige borrel en bezoek van de marktplaats

Kom vrijblijvend met ons én onze partners kennismaken en meld je nu aan.
Je bent van harte welkom!

clip_image013Met vriendelijke groet,
Inter Access B.V.

Arjan Fluks
Manager Infrastructure Technology Services

Integrating UX in your project
Wed, Mar 4 2009 12:35 PM

There are multiple good reasons for using User Experience Design in your projects. I’ve already mentioned some in previous posts and probably in future posts. But the question remains how to use it in your project. I don’t think I’ll be able to explain all the details cause such integration requires time and experience, but here I’ll give some basics about it.

When you’re looking at project development according ALM you have three stages. Business, Development and Operations.
In the business stage you’re starting the project with initial contact, feasibility study, requirements, etc. Next is the development stage where you’re actually building the application. When this is done and released you’re going to support the application in the operations stage. When it’s time to stop using the application, you can end it’s life or you can go back to the business stage to update / rebuild the application according to new specs.
alm

For each of these three stages I will show the additional parts that are involved. In the diagrams these parts are shown as the blue blocks.

You’ll start in the Business stage. Here will be the very first and I think the most important involvement of User Experience Design.

 

Business

Business StepsUsually in the project you will start with collecting the requirements, define the functionality through usecases, set an application architecture and then step into the development stage.

The difference now is that after you collect the requirements you also visualize the suggested functionality through wireframes. This way you have a much better way to communicate with the customer and later on, with developers.

Next these wireframes will be extended in an interface and interaction design where screen functionality is determined. The usecases with the interface and interaction design is a very good documented base for stepping into development.

But before we do so, we first want to make sure that the functionality defined with this usecases, and visualized with the interface model, will actually work for the real users. To test this you’re going to prototype the individual usecases. Don’t make this too complicated. Make simple screens based upon the wireframes. Test these prototypes with a couple of users and without helping them. See if they are able to walk through the usecase. When stumbled upon difficulties or problems, go into your iteration cycle and restart at the usecase step.

If you have perfected the designs, then you’re setting up the application architecture. Define the framework and create the development environment.

Next step is development.

 

Development

Development Steps There are several ways of doing your application development with the integration of UXD. First you have the serial way, like the ladder or waterfall method. But I prefer the parallel way with a possibility for the piggy bag method where design works ”in service of” development or visa versa.

In the parallel way you simultaneously work on the front and backend of the application in an iterative way.

But before you do this you first have to make an agreement between these two lines. This is done with two items.
First a wireframe in the development environment which developers and designers use for building their part.
And secondly you use something like a naming convention in which you determine how your frontend and your backend communicate. This can be through the definition of an interface model, writing down the element names that must be accessible from code, or another low-level way for linking design and code.

This is an iterative setup and likely to be changed during the development process. But this “naming convention” helps your team work simultaneously without depending on each other. Updates in this naming convention must be reported and thereby changed in the other line.

The integration is a separate step because it is unlikely that it will merge without some extra work. This is done after every development cycle which may be after the completion of an individual usecase.

If the application is ready (and tested and accepted) it will be published and installed. After that operations take over for training and support.

 

Operations

Operation Steps The main difference when integrating UXD in the project, that at the time you enter the operations stage, you are having good documentation about the interface. This will come in handy when you’re going back to the business stage.

You have the opportunity to re-use this documentation and define what changes are needed, or what didn’t work well in the application. This will allow you to give visual feedback to redefine requirements.

If you also have User Experience Specialists available, it is possible to test certain functionality and supply new information about the usage of the application. This too will be used to redefine the requirements once your back in the business stage of your ALM circle.

 

As you could have read in my previous post, there aren’t standardized User Experience roles and methodologies yet. What I just described is something we (Inter Access) are using in our development methodology, based on personal experience and what we’ve learned from how others (like Microsoft) handle User Experience Design.

I hope this will give some insight in how to implement UXD inside a project.