Archive for the 'Tips' Category

March 19, 2012

Design Research for Innovation

When a company has an existing product or service, it typically has research techniques and methodologies to gather and analyze information to start planning for future improvements. Collecting data and analyzing existing users through market research tools and surveys, as well as focus groups, will yield informative data to improve existing designs.

However, if you are starting a new product or service that no one has seen before or had the opportunity to use, what methods can you use in this situation?

There is not always something to test and people may not have accurate opinions about a product they have never seen or used. Jane Fulton Suri, Chief Creative Officer at IDEO, suggests in her article about design research, that innovation requires a new approach to tackle the unknowns. Design research techniques can help with future products and service insights. She explains that innovation is mostly open-ended in its requirements and can be very subjective in nature. She suggests that what is required is Design Research, as opposed to more traditional research techniques that still use the analysis of objective evidence. Design research is enhanced with extensive exploration due to the lack of applicable data. These include:

  • Synthesizing of evidence
  • Exploration of analogies and extreme cases
  • Recognition of emergent patterns
  • Empathetic connection to people’s motivations and behavior
  • Intuitive interpretation of information with impressions from multiple sources

These considerations are used to expose patterns with people’s behavior and experiences as well as exploring reactions and responses. This research is to extend our knowledge and understanding of the user base and allows the researcher direct information to probe and prototype against, likely giving give key insight on unknowns through hypothesis and experimentation.

The value of Design Research comes from inspiring our imaginations and informing our intuitions. Successful design research, as Jane suggests, requires both a “Cultural transformation in organizations” and Perpetuation of those transformations” to allow innovation to survive and grow. Design research requires the individual to get out of the office, be where the customer is and see what they see. It is important to get first-hand experience of the consumer base. Design research can be rich and delivers not only facts, but insights into those facts and reasons behind them. She goes on to emphasize that people have needs, motivations, habits and perceptions that all must be taken into account during new product and service design thinking. Good research should uncover these nuances and allow the experimenter to gauge their ideas against this knowledge.

There are three different approaches to design research (that our designers use at IdentityMine) that can address open questions with regards to innovation and how they can be performed and implemented.

Generative Design Research

This is an empathetic exercise; it is descriptive and factual but also speculative and interpretive. We are looking for emergent patterns, challenges and opportunities that can be addressed with innovation and design thinking. It can be performed by shadowing specific people and observing their behaviors, even having people keep diaries of moods and significant events. It is interactive and contextual and not based on self-report or opinions. There is also room for more traditional market research and trend information searching and the aim is to create a framework for thinking about the domain for innovation.

Evaluative/Formative

Learning feedback loops are useful here; user input and consumer insight gained from using sketches tell stories. Producing videos and prototypes can be very valuable to help demonstrate the issues and try potential solutions. The aim is to tangibly represent an idea by probing and asking questions and this gives a chance to address questions and uncertainty as it occurs. It allows you to check people’s reactions and refine assumptions. Collaborative discovery and creation work well in this research method, using prototyping techniques such as theater (bodystorming) and paper prototyping.

Predictive

How confidently can we predict success? By looking ahead to estimate the potential of an idea and the future opportunities that may be available. This requires more of a business mindset, and is a good skill to acquire, especially for designers. In this approach, we look for potential markets and determining viability of ideas. Running live experiments and having labs that run experiments online is good practice.

After implementing these design research techniques, one should have a solid base of knowledge to work from. Remember, these are not the only ways to gain insight for design research, but are meant to get the ball rolling.

For a deeper look inside the mind of our IdentityMine’s Associate Creative Director, visit Stuart Mayhew’s blog.

August 3, 2011

Simple Tips: Application Image Processing

A lot of people are familiar with the WriteableBitmapEx project on Codeplex. I got an opportunity to use it in a recent project of mine, and although many of its functions are very helpful, I noticed a couple common image processing functions it was missing. It supports resizable blits (with bilinear filtering), flips, and rotates, which are nice. More impressively, it supports arbitrary convolutions, which are very powerful and versatile in the image processing world. What it was missing, however, was the ability to perform a linear colorspace transform, and apply a color ramp lookup table.

Linear transforms in an image’s color space (RGB in the case of this implementation) can perform a variety of functions. They work by treating each pixel as a vector of color components, <R, G, B, A>. That vector is transformed by a 4×4 matrix, and the output vector represents the new color. To use this function, call

WriteableBitmapColorExtensions.TransformColors(Matrix3D matrix);

The matrix you supply determines how the color is transformed.  The alpha component in most images is usually 1, making the matrix usually affine, though the method does not give it special treatment, so you may get some… interesting… behavior with translucent images, depending on how you put your matrix together.

The WriteableBitmapColorExtensions class defines a few common ones:

   NegativeTransform – Produces an image’s film negative

$latex \left( \begin{matrix}1&0&0&-1 \\ 0&1&0&-1 \\ 0&0&1&-1 \\ 0&0&0&1 \end{matrix} \right)$

   BlackAndWhiteTransform – Transforms the image into black and white

$latex \left( \begin{matrix}0.30&0.30&0.30&0 \\ 0.59&0.59&0.59&0 \\ 0.11&0.11&0.11&0 \\ 0&0&0&1 \end{matrix} \right)$

   SepiaTransform – Transform an image into sepia

$latex \left( \begin{matrix}0.393&0.349&0.272&0 \\ 0.769&0.686&0.534&0 \\ 0.189&0.168&0.131&0 \\ 0&0&0&1 \end{matrix} \right)$

 

What else can you do with it? You can try brightness changes:

$latex Brightness(B) = \left( \begin{matrix}B&0&0&0 \\ 0&B&0&0 \\ 0&0&B&0 \\ 0&0&0&1 \end{matrix} \right) $

 

Note you can vary the brightness of independent color components, if you like.

You can also desaturate an image by interpolating between the identity matrix and the black and white matrix. If your saturation level goes from 0 (black and white) to 1 (normal):

$latex Saturation(S)= Brightness(S) + BlackAndWhiteTransform * (1 – S) $

You can even do a hue shift. A hue shift basically rotates a color vector around the <1, 1, 1> axis:

HueShift(Degrees) = Matrix3D.Identity.Rotate(Degrees, new Vector3D(1,1,1))

The purists among us will note that this isn’t exactly right… to do a true hue shift you need to normalize the brightness of the color components first (you can use the Brightness(S) function above), but this gets the idea across. The sample image here uses a subtle rotation of 15 degrees.

Those are the ‘ordinary’ functions that a color transform can do, but you can stylize things as well.  For example, you can swap around or even turn off color components:

There are other interesting things you can do with TransformColors as well, such as skewing colors or projecting them onto a plane (or a line, creating a nice two-tone effect—this is essentially what the black and white matrix does). And remember the most powerful feature of linear transformations: you can take any or all of these effects, combine them into a single matrix, and apply all of them to an image at once without any additional performance hit.

The other function introduced into the library, which I will elaborate more on in my next post, is WriteableBitmapColorExtensions. RampColors. This method replaces all the colors in an image using a lookup table. This is useful for nonlinear things like gamma correction.  In fact, gamma correction is by far the most common application of this function, so I included a special method just for it, WriteableBitmapColorExtensions.AdjustGamma.

 

June 20, 2011

Why Windows 8 Will Change Business

If you love the Windows Phone user experience, then you are going to love Windows 8. The future of tablet PCs is bright, and being at the forefront of touch and gesture-based technologies allows us to create more powerful consumer and enterprise applications. IdentityMine is excited for the release of the Windows 8 tablets (to be released early 2012), and we want to help you get ready for it:

HP Slate with Windows 8

Windows 8 Quick Facts

  • New Immersive applications that can be opened within the new skin of Windows 8 allowing the application to be split paned and resized.
  • It will include a 128-bit architectural display
  • Same system requirements as Windows 7 (sigh of relief for consumers/businesses wanting to upgrade to a new OS)
  • Enterprise features include the new portable Workspace, allowing you to run Windows from a portable USB device.
  • New Windows App marketplace

Windows 8 will be one of the most universal platforms to date – it will work on your PCs and Tablets, and supports many touch-based functions, much like the Windows Phone 7 interface.

Continue reading ‘Why Windows 8 Will Change Business’

May 27, 2011

Mango Update – Silverlight Box Scrolling

We’ve been lucky enough to have access to phones with early versions of Mango installed for a little while now. We will continue to report on key improvements and impressions of the update. This post will present some of our findings regarding Silverlight Box Scrolling.

One  major improvements in performance in Mango for Windows Phone 7 is the Silverlight ListBox scrolling. This was often mentioned as a major pain point in many applications (John Zolezzi can attest how many hours were spent improving the scrolling in the Twitter application.)

Mango is solving the Silverlight ListBox Scrolling issue in a few ways:

  • Pictures are now decoded on a background thread (this had to be implemented manually in previous versions.)
  • User input is now executed on a background thread, which means that if an animation is running while a user interacts with the phone, the animation will not skip frames.

There are also other improvements to make the scroll action better. A side by side comparison using our Twitter application can be seen here.

The nice thing is that we do not need to do anything to get those improvements, they will be available to all pre-mango applications automatically.

May 15, 2011

Silverlight TV – Windows Phone Tips

Ever wonder how a list of images loads and scrolls in your Windows Phone application? Our Director of UX technology, Jobi Joy, joins John Papa on Silverlight TV to discuss how to handle image scenarios, as wells as how he gains extra performance in his applications. Jobi also has a blog post that explains exactly how this optimization works. Check out the video below

To view the original on Silverlight TV post click here

Did you find this post useful? Questions or Comments? We would love to hear from you!