- Novice and Power Users. “Invited 12 experienced Windows users” is a weak / broad sweeping remark to make that XYZ demographic doesn’t like N-Product. Keep in mind I’m a tough critic of Windows 8’s design, but even I can concede it’s still usable whether the incentive is to use though is entirely different matter (Cognitive Dissonance measures Behavior vs. Incentive). I would have taken him more serious if he had of used a variety of audience(s) for this (OSX users, Seniors, GenY, IT Professionals, Sales force etc) .. everyone’s experienced In Windows is my point.
- Prospective Memory – I think he’s building up to “learn where to go” and associating it as a bad thing. The concept of a desktop works in favor of prospective memory, meaning “I’ll put x here so I can come back to it later” works in the same fashion as the start overlay. Its not ideal, but to declare this a cognitive overload is an over-reach given over time (behavior) users will settle on a rhythm that suites them. If I press START and start typing my context will adjust to the text I’m typing and so on.
- Dual Environments - The two environments in which he speaks of are WinRT and WinRT Pro, now the clue is in the word “Pro” firstly and it has to do with legacy support than actual user experience (context is annoying when you leave it out huh?). Tablet users won’t interact with the said duality he’s nominated so it kind of is a weak point to rest on and those that opt for the Surface Pro edition are doing so more as a finger in both pies approach to the problem at hand. If I pitched the problem that needed to be solved in that I need the user(s) to have both Windows Now and Windows vNext it shifts the results differently as if I said I need the users to solely focus on vNext only … Again, It feels more about airbrushing the facts without context (Ironic given the guy’s a usability “guru” and how context is important in ux as content).
- Added Memory. I see this a lot and I wonder if UX Practitioners suffer from this concept that we all suffer from sudden memory loss at any given point. I understand interruption etc plays into this but in reality we don’t multi task and phones today for example don’t have this issue – if anything given the complexity between switching from apps via navigation routines (ie iPhone double hitting the rectangle and using a slider style switch). I am baffled as to what moment of brilliance the author assumes he/she is uncovering here – I’m kind of lost between whether I dislike his point or the actual website itself’s design.
- Responsive & Adaptive Design– I think the author again (they really should sit down and study some basic design principles to articulate the points) probably wanted to say that the design of the solution isn’t responsive and/or adaptive depending on screen real estate. The said applications again don’t make full use of the screen(s) they are being deployed or used upon. I concede that this could be an issue for usage of LOB solutions but at the same time I also reject it. Having window support in today’s UI world is an absolute engineering challenge at the best of times and furthermore buy having to adhere and cater to this we in turn limit our future potential by sticking to the ye olde side by side window usage. As it now begs the question, why are two applications side by side if they are related? If we have a forcing function which puts emphasis on a single screen visualization would this not cut down on fragmented software delivery? What if the snap screen concept could be more broader in its execution where you allow users to have more than one window at a time but the designs themselves can be responsive to the state in which they are housed? This works better imho than just given floating cascade windows with dynamic border resize + maximize + minimize. It fixes and creates an interesting solution to much bigger problem.Again, the author is kind of saying “it’s changed, I don’t like it”. I didn’t like the day I gave up a tactical keyboard for a touch screen, but I got over it and can type just as fast now. Humans evolve.
- Flat styles. I can’t tell you how many times I’ve been driving along the highway and seen the turn arrow being flat and thought to myself “I wish that had a sense of depth, as that would give me contrast to make an informative decision”. The whole idea that we need depth in order to associate action is a kind of “drawing from a long bow”. If you’re a virgin user and never seen something for the first time, yes, you have that moment of initial “wtf” but you explore, because now it’s a puzzle and you have an incentive to figure it out. Take into account marketing and real-world surroundings it’s fair to assume that the learnability of a solid icon is considered both touchable and untouchable. You will discover this fairly easily but the learnability is probably shallow but discoverability isn’t - Key differentiation there. I don’t agree with Metro’s content over chrome metaphor and in the visual he provided it’s an easy fight to pick (grouping is all wrong) but the failures here are easily misleading given he left out the constancy of the design (in that it’s not isolated to one area, it’s throughout and again, surprisingly we all seem to navigate over time without issue – behavior vs incentive again).
- Symbology. Probably the only thing I would agree here is that there is way too much of a strong reliance on symbology to convey the context of what the said solution does. There’s no personality attached to apps and functions, meaning I think there still needs to be a balance between core operating and in-app functions and said Applications (one thing iPhone does well as the apps entry icons are able to retain a differentiation whereas Win8 it doesn’t). I don’t think the author articulated this very well but I sense that’s the direction they were heading
- Progressive Disclosure has always been a double edged sword. On one hand you free up user from distraction by giving them a chunk of information to process act upon whilst on the other hand you’re easily forgotten and totally rely on muscle memory / learnability to be your UX crutch. I don’t think the author framed this correctly in this case by asserting that the users will “forget” the charm icons etc. I think it’s got poor amount of UX friction associated to it but the idea that Novice/Power users will be absent minded users here is really again an over reach. I find the whole persona attachment in this authors writing to be disconnected and fluctuates between a virgin user and a veteran of 15 years+ user? (settle on them and grouping here clearly needs to indicate the level of friction associated to each point).Had the user stated “I sampled a user with only 6month usage of a computer” then yes, Charms would be hazardous to one’s health. The reality is that’s a generational issue firstly (ie they are deprecating) and secondly there is such a wash of bad UI in software today that the users in general are what I’d call “defensive” in that they have been trained over and over that UI today isn’t always a case of “everything is in front of you where you need it”. Furthermore if you take a step back in time and look at the green-screen terminals and how data entry operators would fly through the various fields etc one can see that a human and pattern recognition have remarkable abilities.
Trust is still broken.A few years ago, the Silverlight team spent a tidy sum of money to figure out what the word “designer” actually meant. The main aim of this was to not only size the market but also get a better understanding as to what roles exist under this broad term and how we could position Expression and Silverlight into their wallets / hands. The research that we got back outlined that the concept of a designer is not merely a person who creates pixels day in day but someone who goes beyond that – information architects, accessibility experts, prototypers, animators and so on. Their role in enterprise corporations either can be an embedded entity within a cluster of developers, or centralized away from developers. At the time of the research the initial thoughts were that this was part of the designer evolution, that somehow over time this would blur away from its current state into this mutated “devigner” style creation which in turn would have the bloodlines of both design and developer (segregation shall be removed!). The last two days, the more I listened to speakers and various conversations the more I started to realize it is probably had the opposite effect. Trust is still not in place and one would say that designers are the ones who are now soliciting developers & management to embrace design. I found that thought the most profound of all as in 2008 we at Microsoft were sending guys like Shane Morris (amazing presenter & UX thought leader) into agencies to solicit them to help developers. Throughout the entire conference, a theme emerge where it was essentially based around the idea that designers in large corporations need to have a central rally point, stop duplicating work and form a gang. Designers also need to pick small fights and build out from there, ware your opponents down through design based pestering power initially. Lastly educate the developers, as on the basics of design in the hope they will come around to our way of thinking (as if you were missionaries preaching the gospel of Christ to a tribe of engineers). Trust is still is an ongoing battle between business owners, engineering and designers. For instance, I had noticed that at times speakers would talk about their experience with developers, but in a way that often sounded like “so I showed the natives fire, get this, they made me their god”. The tone was in a little way a bit offensive but at the same time I did chuckle as when I go to developer conferences they also talk in the same way – it has as if both gangs cannot agree the other is smarter or just as talented. Until both sides can look each other in the eye as equals, I sadly see developers being treated like children prone to irrational decision making and designers as being premadonnas who procrastinate on unimportant things – just make it look pretty. Note: Not everyone thinks like this, it is just my voiced summary of what I see before me.
Developers and Designers are not the ones at fault.Continuing with the trust issue, the other noticeable theme I saw emerge was that there was a lot of discussion about how does one get developers to slow down and work with designers. That is to say how to ensure developers value the work of a designer in an office more rather than looking for ways to bypass them unless being told to work with them. Here is the problem here that I see; firstly, developers and designers are not the ones that need convincing to work on great product(s) - a developer in a cubicle or a designer does not decide Deadlines. Secondly, a Product manager or Product Owner is the ones who typically hold the two entities purse strings and are the ones who decided the said deadline(s). Having a product owner on the side of design is critical no matter what organization you sit in as it not only ensures you have designer buy-in but you also take the pressure off developers from running the shipping gauntlet (agile really only helps you break up the pressure in ‘chunkable’ pieces – yes I made that word up). In my experience, I have always been able to win hearts & minds with design by focusing on the future instead of today that is you sit down and think about what would make a product owner convert to your cause. The answer is fantasy user interfaces which in turn set the goal posts on “what if we had unlimited time and money, how would we change the world”. A fantasy user interface can provoke a product owner to think beyond their current limitations, it provides them with a vision of what could happen if they relaxed their tight grip on shipping. A Fantasy User interface could also be used to help sell others both internal & external on what could happen vNext. My point is everyone is rushing around dating each other in the developer <-> designer cubicles when in reality a designer who paints a vision of the future can in turn create a sense of purpose that transcends beyond what they see before them today. It creates an atmosphere of winning team mixed with “I so want to work on that idea” – assuming the design is good. Lastly if you have everyone thinking positive about design, the laggards or negative jaded souls tend to fall back into line or better yet make themselves known with “cant or but” responses. As once they show themselves, you know who they are and can start to formulate a plan to contain their negativity or resistance.
SummaryThe conference was amazing, I did learn a lot and there was only one negative, which was that the conference only ran for two days instead of say five. I think there was a lot of intelligent and useful data that floated around within the room that was untapped furthermore it wasn’t a case of the usual echo chamber speakers that pretty much tell you the usual “web accessibility / usability 101” rules. The speakers were insightful, funny, energetic, presented flawlessly and lastly but most importantly trustworthy. I never once questioned their credibility or integrity as it was if you were sitting down with someone at dinner who then shares a story with you about something they learned yesterday. I absolutely enjoyed every minute of it and I would urge anyone in Australia or internationally to jump on a plane and hang out with these cool kids. Tomorrow I am excited about some new ideas that I want to execute on for my work and I am in a fortunate position where my manager believes in the importance of design already whilst at the same time the developers in all cities are also excited to see what we can all achieve. Watch this:
On the choice of grey.Grey is a color that I have used often in my UI’s and I have no issue with going 100% monochrome grey provided you could layer in depth. The thing about grey is that if it has to flat and left in a minimalist state it often will not work for situations where there is what I call “feature density.” If you approach it from a pure Metro minimalist approach, then it can still work but you need to calibrate your contrast(s) to accommodate the end users ability to hunt and gather for tasks. That is to say this is where Gestalt Laws of Perceptual Organization comes into play. The main “law” that one would pay attention to the most is the “Law of Continuity” - The mind continues visual, auditory, and kinetic pattern. This law in its basic form is the process in which the brain decodes a bunch of patterns in full view and begins to assign inference to what it perceives as being the flow of design. That is to say, if you designed a data grid of numeric values that are right aligned, no borders then the fact the text becomes right aligned is what the brain perceives as being a column. That law itself hints that at face value we as humans rely quite heavily on pattern recognition, we are constantly streaming in data on what we see; making snap judgment calls on where the similarities occur and more importantly how information is grouped or placed. When you go limited shades of grey and you remove the sense of depth, you’re basically sending a scrambled message to the brain around where the grouping stops and starts, what form of continuity is still in place (is the UI composition unbroken and has a consistent experience in the way it tracks for information?) It’s not that grey is bad, but one thing I have learnt when dealing with shallow color palettes is that when you do go down the path of flat minimalist design you need to rely quite heavily on at times with a secondary offsetting or complimentary color. If you don’t then its effectively taking your UI, changing it to greyscale and declaring done. It is not that simple, color can often feed into the other law with Gestalts bag of psychology 101, that is to say law of similarity can often be your ally when it comes to color selection. The involvement of color can often leading the user into being tricked into how data despite its density can be easily grouped based on the context that a pattern of similarity immediately sticks out. Subtle things like vertical borders separating menus would indicate that the grouping both left and right of this border are what indicates, “These things are similar.” Using the color red in a financial tabular summary also indicates this case as they are immediately stand out elements that dictate “these things are similar” given red indicates a negative value – arguably this is a bit of digital skeuomorphs at work (given red pens were used pre-digital world by account ledgers to indicate bad).
Ok I will never use flat grey again.No, I’m not saying that flat grey shades are bad, what I am saying is that the way in which the Visual Studio team have executed this design is to be openly honest, lazy. It’s pretty much a case of taking the existing UI, cherry picking the parts they liked about the Metro design principles and then declaring done. Sure they took a survey and found responded were not affected by the choice of grey, but anyone who’s been in the UX business for more than 5mins will tell you that initial reactions are false positives. I call this the 10-second wow effect, in that if you get a respondent to rate a UI within the first 10seconds of seeing it, they will majority of the time score quite high. If you then ask the same respondents 10days, 10months, or a year from the initial question, the scores would most likely decline dramatically from the initial scoring – habitual usage and prolonged use will determine success.
We do judge a book by its cover and we do have an attractive bias.Using flat grey in this case simply is not executed as well as it could be, simply because they have not added depth to the composition. I know, gradients equal non-metro right. Wrong, metro design principles call for a minimalist approach now while Microsoft has executed on those principles with a consistent flat experience (content first marketing) they however are not correct in saying that gradients are not authentically digital. Gradients are in place because they help us determine depth and color saturation levels within a digital composition that is to say they trick you into a digital skeumorphism, which is a good thing. Even though the UI is technically 2D they do give off a false signal that things are in fact 3D? which if you’ve spent enough time using GPS UI’s you’ll soon realize that we adore our given inbuilt depth perception engine. Flattening out the UI in the typical metro-style UI’s work because they are dealing with the reality that data’s density has been removed that is to say they take on more of a minimalist design that has a high amount of energy and focus on breaking data down into quite a large code diet. Microsoft has yet to come out with UI that handles large amounts of data and there is a reason they are not forthcoming with this as they themselves are still working through that problem. They have probably broken the first rule of digital design – they are bending their design visions to the principles and less on the principles evolving and guiding the design.
Examples of Grey working.Here are some examples of a predominately grey palette being effective, that is to say Adobe have done quite well in their latest round of product design especially in the way they have balanced a minimalist design whilst still adhering to visual depth perception based needs (gradients). Everything inside this UI is grouped as you would arguably expect it to be, the spacing is in place, and there is not a sense of crowding or abuse of colors. Gradients are not hard, they are very subtle in their use of light, or dark even though they appear to have different shades of grey, they are in fact the same color throughout. Grey can be a deceiving color given I think it has to do with its natural state, but looking at this brain game from National Geographic, ask yourself the question “Is there two shades of grey here?” The answer is no, the dark & light tips give you the illusion of difference in grey but what actually is also tricking the eye is the use of colors and a consistent horizon line.
Summary.I disagree with the execution of this new look, I think they’ve taken a lazy approach to the design and to be fair, they aren’t really investing in improving the tool this release as they are highly most likely moving all investments into keeping up with Windows 8 release schedules. The design given to us is a quick cheap tactic to provoke the illusion of change given I am guessing the next release of Visual Studio will not have much of an exciting set of feature(s). The next release is likely to either be a massive service pack with a price tag (same tactic used with Windows7 vs. Windows Vista – under the hood things got tidied up, but really you were paying for a service pack + better UI) or a radical overhaul (I highly doubt). Grey is a fine color to go full retard on (Tropic Thunder Quote) but only if you can balance the composition to adhere to a whole bunch of laws out there that aren’t just isolated to Gestalt psychology 101 but there is hours of reading in HCI circles around how humans unpick patterns. Flattening out Icons to be a solid color isn’t also a great idea either, as we tend to rely on shape outlines to give us visual cues as to how what the meaning of objects are and by at times. Redesigning the shape or flattening out the shape if done poorly can only add friction or enforce a new round of learning / comprehension and some of the choices being made is probably unnecessary? (Icons are always this thing of guess-to-mation so I can’t fault this choice to harshly given in my years of doing this it’s very hit/miss – i.e. 3.5” inch disk represents save in UI, yet my kids today wouldn’t even have a clue what a floppy disk is? …it’s still there though!). I’m not keen to just sit on my ivory throne and kick the crap out of the Visual Studio team for trying something new, I like this team and it actually pains me to decode their work. I instead am keen to see this conversation continue with them, I want them to keep experimenting and putting UI like this out there, as to me this tool can do a lot more than it does today. Discouraging them from trying and failing is in my view suffocating our potential but they also have to be open to new ideas and energy around this space as well (so I’d urge them to broker a better relationship with the community around design). Going forward, I have started to type quite a long essay on how I would re-imagine Visual Studio 2011 (I am ignoring DevDev’s efforts to rebrand it VS11, you started the 20XX you are now going to finish it – marketing fail) and have sketched out some ideas. I’ll post more on this later this week as I really want to craft this post more carefully than this one.
Software today is definitely getting more and more user experience focused, that is to say we are preoccupied with getting the minimal designs into the hands of adults for task driven operations. We pride ourselves on knowing how the human mind works through various blog based theories on how one is to design the user interface and what the likely hood of the adult behind the computers initial reaction will be.
The amount of conferences I’ve personally attended that has a person or person(s) on stage touting the latest and greatest in cognitive science buzz word bingo followed by best practices in software design is well, too many.
On a personal level, my son has a rare chromosome disorder called Trisomy 8, its quite an unexplored condition and I’ve pretty much spent the last eight years interacting with medical professions that touch on not just the psychology of humans but zeros in on the way in which our brains form over time.
In the last eight years of my research I have learnt quite a lot about how the human mind works specifically on how we react to information and more importantly our abilities to cope with change that aren’t just about our environments but also plays a role in Software.
I’ve personally read research papers that explore the impacts of society’s current structure on future generations and more importantly how our macro and micro environments play a role with regards to the children of tomorrow coping with change and learning at the same time – that is to say, we adults cope with the emerging technology advancements because for us “its about time” but for todays child of 5-8 this is a huge problem around having to manifest coping skills to dealing with a fluid technology adoption that often doesn’t make sense.
Yesterday we didn’t have NUI, today we do? Icons that have a 3.5” floppy disc that represent “saving” have no meaning to my son etc.
The list goes on just how rapid and fast we are changing our environments and more importantly how adults that haven’t formulated the necessary social skills to realistically control the way in which our children are parented often rely on technology as at times being the de-facto teacher or leader (Amount of insights I’ve read on how XBOX 360 has become the baby sitter in households is scary).
Getting back to the topic at hand, that is what if the people you are designing software have an undiagnosed mental illness or are better yet diagnosed. How would you design tomorrow’s user interface to cope with this dramatic new piece of evidence? To you the minimal design works, it seems fresh and clear and has definitive boundaries established.
To an adult suffering from Type-6 ADHD (if you believe in it) that has a degree of over-focus its not enough, in fact it could have the opposite effect of what you are trying to do in your design composition.
Autism also has a role, grid formation in design would obviously appeal to their autistic traits given it’s a pattern that they can lock onto and can often agree with – Asperger sufferers may disagree with it, and could annoy or irritate them in some way (colour choice, too much movement blah blah).
Who has to say your designs work, as if you ask people on the street a series of questions and observe their reactions you are not really providing an insight into how the human mind reacts to computer interaction. You’ve automatically failed in a clinical trial, as the person on the street isn’t just a normal adult there’s a whole pedigree of historical information you’re not factoring into the study that is relevant.
At the end of the day, the real heart of HCI for this and is my working theory is that we formulate our expectations around software design from our own personal development. That is to say, if we as children had normal or above average IQ level in around about ability to understand patterns and the ability to cope with change we in turn are more likely to adapt to both “well design” and “poorly designed” software.
That is to say, when you sit down and think about an Adult and how they react to tomorrow’s software one has to really think about the journey the adult has taken to arrive at this point, more to the point how easily they are also influenced.
A child who came from broken home, parents left and raised by other adults who is now a receptionist within a company is more likely to have absolutely no confidence in around making decisions. That person is now an easy mark for someone who has the opposite and can easily sway this person to adoption and change.
Put those two people into a clinical trial around how the next piece of software you are going to roll out for a company works and the various tests you put them through, watch what happens.
Most tests in UX / HCI often focus on the ability of the candidate to make their way through the digital maze in order to get the cheese (basic principles around reward / recognition) so to be fair its really about how the human mind can navigate a series of patterns to arrive at a result (positive / negative) and then furthermore how the said humans can recall that information at a later date (memory recall meets muscle memory).
These style of results will tell I guess the amount of friction associated with your change, and give you a score / credit in around what the impact it will likely have but in reality what you really probably need to do as an industry is zero in on how aggressively you can decrease the friction levels associated with change prior to the person arriving at the console.
How do you get Jenny the receptionist who came from an abused child hood enough confidence to tackle a product like Autodesk Maya (which is largely complex) as if you were to sit down with Jenny and learn that she also has a creative component to her that’s not obvious to all – its her way of medicating the abuse through design.
How do you get Jack the stock broker who spends most of his time jacked on speed/coke and caffeine to focus long enough to read the information in front of him through data visualisation metaphors / methodologies then the decisions he makes could impact the future of the global financial system(s) world wide (ok bit extreme but you get my point?)
It’s amazing how much we as a software industry associate normal from abnormal when it comes to software design. It is also amazing how we look at our personas in the design process and attach the basic “this is mike, he likes facebook” fluffy profiling. When what you may find even more interesting is that Mike may like facebook, but in his down time he likes to put fireworks in cats butts and set them on fire because he has this weird fascination with making things suffer – which is probably why Mike now runs ORACLE’s user experience program.
The persona in my view is simply the design team having a massive dose of confirmation bias as when you sit down and read research paper after research paper on how a child sees the world that later helps define him/her as an adult, well…. In my view, my designs take on a completely new shift in thinking in around how I approach them.
My son has been tested numerous times and has been given an IQ of around 135 which depending on how you look at it puts him in around the genius level. The problem though is my son can’t focus or pays full attention to things and relies heavily on patterns to speed through tasks but at the same time he’s not aware of how he did it.
Imagine designing software for him. I do, daily and have to help him figure out life, it just has taught me so much in the process.
Metro UI vs Apple OS 5..pft, don’t get me started on this subject as both have an amazing insight into pro’s and con’s.
Last night I was sitting in a child psychologist office watching my son undergo a whole heap of cognitive testing (given he has a rare condition called Trisomy 8 Mosaicism) and in that moment I had what others would call a “flash” or “epiphany” (i.e. theory is we get ideas based on a network of ideas that pre-existed).
The flash came about from watching my son do a few Perceptional Reasoning Index tests. The idea in these tests is to have a group of imagery (grid form) and they have to basically assign semantic similarities between the images (ball, bat, fridge, dog, plane would translate to ball and bat being the semantic similarities).
This for me was one of those ahah! Moments. You see, for me when I first saw the Windows 8 opening screen of boxes / tiles being shown with a mixed message around letting the User Interface “breathe” combined with ensuring a uniform grid / golden ratio style rant … I just didn’t like it.
There was something about this approach that for me I just instantly took a dislike. Was it because I was jaded? Was it because I wanted more? ..there was something I didn’t get about it.
Over the past few days I’ve thought more about what I don’t like about it and the most obvious reaction I had was around the fact that we’re going to rely on imagery to process which apps to load and not load. Think about that, you are now going to have images some static whilst others animated to help you guage which one of these elements you need to touch/mouse click in order to load?
re-imagining or re-engineering the problem?
This isn’t re-imagining the problem, its simply taken a broken concept form Apple and made it bigger so instead of Icons we now have bigger imagery to process.
Just like my son, your now being attacked at Perceptional Reasoning level on which of these “items are the same or similar” and given we also have full control over how these boxes are to be clustered, we in turn will put our own internal taxonomy into play here as well…. Arrghh…
Now I’m starting to formulate an opinion that the grid box layout approach is not only not solving the problem but its actually probably a usability issue lurking (more testing needs to be had and proven here I think).
Ok, I’ve arrived at a conscious opinion on why I don’t like the front screen, now what? The more I thought about it the more I kept coming back to the question – “Why do we have apps and why do we cluster them on screens like this”
The answer isn’t just a Perspective Memory rationale, the answer really lies in the context in which we as humans lean on software for our daily activities. Context is the thread we need to explore on this screen, not “Look I can move apps around and dock them” that’s part of the equation but in reality all you are doing is mucking around with grouping information or data once you’ve isolated the context to an area of comfort – that or you’re still hunting / exploring for the said data and aren’t quite ready to release (in short, you’re accessing information in working memory and processing the results real-time).
As the idea is beginning to brew, I think about to sources of inspiration – the user interfaces I have loved and continue to love that get my design mojo happening. User interfaces such as the one that I think captures the concept of Metro better than what Microsoft has produced today – the Microsoft Health / Productivity Video(s).
Back to the Fantasy UI for Inspiration
If you analyze the attractive elements within these videos what do you notice the most? For me it’s a number of things.
I notice the fact that the UI is simple and in a sense “metro –paint-by-numbers” which despite their basic composition is actually quite well done.
I notice the User Interface is never just one composition that the UI appears to react to the context of usage for the person and not the other way around. Each User Interface has a role or approach that carries out a very simplistic approach to a problem but done so in a way that feels a lot more organic.
In short, I notice context over and over.
I then think back to a User Interface design I saw years ago at Adobe MAX. It’s one of my favorites, in this UI Adobe were showing off what they think could be the future of entertainment UI, in that they simply have a search box on screen up top. The default user interface is somewhat blank providing a passive “forcing function” on the end user to provide some clues as to what they want.
The user types the word “spid” as their intent is Spiderman. The User Interface reacts to this word and its entire screen changes to the theme of Spiderman whilst spitting out movies, books, games etc – basically you are overwhelmed with context.
I look at Zune, I type the word “the Fray” and hit search, again, contextual relevance plays a role and the user interface is now reacting to my clues.
I look back now at the Microsoft Health videos and then back to the Windows 8 Screens. The videos are one in the same with Windows 8 in a lot of ways but the huge difference is one doesn’t have context it has apps.
The reality is, most of the Apps you have has semantic data behind (except games?) so in short why are we fishing around for “apps” or “hubs” when we should all be reimagineering the concept of how an operating system of tomorrow like Windows 8 accommodates a personal level of both taxonomy and contextual driven usage that also respects each of our own cognitive processing capabilities?
Now I know why I dislike Windows 8 User Interface, as the more I explore this thread the more I look past the design elements and “WoW” effects and the more I start coming to the realization that in short, this isn’t a work of innovation, it simply a case of taking existing broken models on the market today and declaring victory on them because it’s now either bigger or easier to approach from a NUI perspective.
There isn’t much reimagination going on here, it’s more reengineering instead. There is a lot of potential here for smarter, more innovative and relevant improvements on the way in which we interact with software of tomorrow.
I gave a talk similar to this at local Seattle Design User Group once. Here’s the slides but I still think it holds water today especially in a Windows 8 futures discussion.
I am working on a secret squirrel application. Can't say much suffice to say I had a situation where a bunch of clients connect to a network - like most apps I guess.
In this situation, I needed to inject a listening app to the overall network in that it needed to keep a pulse check on how the clients within the network are doing. This listening application needed to show the information in a meaningful way but at the same time; I do not want to have to inspect every single one of them each time they connect/disconnect.
I needed to visually show the connection states but I wanted it to be more reactive to me vs. me reactive to it.
Armed with problems like this, I now draw your attention to my biggest pet hate - DataGrids. A developer and you know who you are - would often take a situation like this and go "Ok, got it, what we need is a datagrid and the columns show machine name, state and blah blah metadata - easy peasy!!"
If you are that developer, I want you to do me a favor, remove yourself from the screen design team as you are hereby in a time-out.
Again, the problem is that I want to have a sense of all things are ok but I want to be alerted when things are not. I want to put this UI onto a large screen and just let it sit there keeping an eye on things and the moment something's amiss - tell me!
Here is what I came up with. It is a hexagonal grid, each tile represents a new client connection and what it does is when a client activates it pulsates (the tile also gets added randomly in the grid). Yes, it pulsates but slowly, so it gives the impression that the "grid" (i.e. network grid) is breathing just like an organic machine.
When something bad happens, the tile flips to a red alert state and if there is a massive network outage the entire screen flickers with red pulsating tiles all yelling "help me, help me".
If more than 10x tiles fail an overall, alert text flows over the top giving you the old "Warning will Robinson, warning" alert.
The point here is simple. I could of easily just taking a data grid and view model, bound the two together and walked away. I actively choose not to do that as it's a case of thinking about the problem creatively and trying an approach that makes sense but at the same time underpins an important principle - We work with software. We shouldn’t just use software"
That's why I hate datagrids.
1. Stop making bottleneck software
Technically you could write most software today as one big mega-class with loads of switch / if&else statements. If you did that, not only would every other developer you come across immediately punch you in the nose but it would also become hard to maintain over time.
We agree that would be stupid right. I mean one large file for all code! - yet why do I always see software designed in such a way that it becomes the Swiss army knife of all tasks associated to the user, in that it becomes feature-heavy based around feeble arguments of "but the user wanted.."
The user is 80% of the time a jackass.
You are armed with a plethora of programming models today, stop crowding (thereby creating UX bottlenecks) the user interface for every single role known to man. Figure out the "persona's" attached to your software and if need be, make smaller contextually relevant versions of the software per person (whether it be modular or separate specific installations).
2. Third Party Controls do not negate the need for a designer.
When I first left Microsoft and joined the working class (mwahah), I was often thrown into the deepened of projects that needed some UX makeovers. Given I have both a programming and design background it seemed a natural fit so sure, go with the flow I say. I'd walk into a typical gig and sure enough I'd see 3rd party controls lurking about (ie Telerik, Component One etc).
Nothing against these brands but if you are dealing with WPF or Silverlight then let me give you a heads up on why this is a bad idea. Firstly, the 3rd party controls are just a quick dirty fix to get around bad UI design, I get it, budgets are non-existent so you do the best you can. Secondly, these controls are made for multiple developers around the world, so there are many keys to turn on and off for them to snap together - which means your controls are not on a diet. Thirdly, you need to walk a mile in the shoes of say a C++ programmer or some language that used to have to play a game of memory Tetris to really grasp the concept of the second point.
Diet is the keyword. If you are dealing in Silverlight space the leaner and smaller footprint your code has, the snappier things are going to get. I am not talking about pure CPU no-holds bar processing time; I am talking about rendering pipeline time. I am yet to see an example of 3rd party controls improving performance and not subtracting them.
Stop outsourcing design for third party controls and I am looking at you graph boy/girl.
3. Every screen has a soul.
In UI Principles space there's this little concept call false affordance. It means something that looks like it was supposed to do xyz but does nothing (i.e. Push the button and all negative energy will disappear scams).
If you have some software that has a hierarchy of navigational elements, you click on the first node, and it does nothing but expand to the second node but at the same time shows a view with some "weak" summary (i.e. description etc.). Stop, you are doing it wrong.
Every click has a purpose of existence. If you have a dashboard, what is its purpose? Think about its relevance in the grand scheme of things. Should it be fresh content daily/weekly/monthly? Is a holding pattern screen necessary? The screen, which is like the UX principles are buffering between two major waypoints - you know the one screen in the app that really has no purpose other than to get you from A to C but somehow you felt the need to keep B in place.
If you have a screen that is filled with say two Input controls and that is it. That is a freakin dialog box, it is not a screen. Stop being lazy and think about the problem not how easy it is for you to just whack up an app. It's not about you, it is about them *points to the end user*.
4. You are not a magician so quit giving me the constant "surprise" moments.
Ever used an application that when you click on something random inside a screen suddenly a piece of User Interface randomly appears somewhere in the screen? Maybe hidden inside a secondary tree node somewhere?
This is not a magic show and you are not a magician. Progressive Disclosure is great when done in a way that leads the user on a journey, no more "I've just modified the screen, if you guess what I just did you get a fluffy kitten" moments.
5. Humans are smarter than you think
I have covered this quite a lot but let me re-iterate in the theme of this post. Over 90% of the world's computer population right now has some piece of overly complicated unnecessary piece of crap software installed on their hard drive that they have somehow managed to figure out partially its inner workings.
The benchmark for success right now in this space is so low you could trip over it and still succeed. My point is the end users are actually smarter than you give them credit for. If you are in a team and someone says, "Yeah our users aren't smart enough to.." challenge that jackass upfront. As did he conduct a survey where One in Five housewives came back being dumber than he anticipated?
If an average worker-bee can sit through SAP ERP or any piece of software that Oracle/Microsoft throws at them, they can sit through your software as well.
The trick is to make it enjoyable for them, to be the software that does not feel like the others - the stand out. Rather than holding them hostage to complexity because of your own arrogance, try to think less about the complexity levels and more the enjoyment levels. Software should be enjoyable as we work WITH software - we do not USE it.
6. I did not buy a cat so it could be my master.
My kids wanted a kitten and so me being the "fun" dad I bought one. Today that cat rules the house most of the time because we react to it, not the other way around.
In software, this often is similar to what happens. We buy software thinking it will save us time and money as it will improve the master/slave relationship to our daily lives. Instead, we become more enslaved in its processes.
An example. Today I went to my bank ANZ (which I am ditching - F*K you ANZ). I said, "I'd like a copy of my home mortgage statement to give to your competitor so I can leave your dumbasses - i.e. YOU ARE FIRED"
I watched the teller pound away at a keyboard for like 5mins before she arrived at a point of some kind that then needed her co-worker to give her instructions on generating a printable report.
I am sitting there thinking the following things:
- Why are you typing so much?
- Why can't I do this online myself? You give me access to every other account functionality yet why not this?
- Why am I giving you everything but a DNA sample to authenticate I am who I say I am still to this day?
My point here is that aside from a crappy online service from ANZ Bank, the teller herself should have a simple input control that has a button next to it. Inside that input control, she types, "Print <AccountNumberXYZ> Mortgage Statement as of Today"
The input box then does the following:
- Looks up my account number and verifies it still is active.
- Takes the verb Print to mean "fetch" and the words Mortgage Statement as being what should be fetched whilst the word "Today" meaning as in Now(). Then spit out a piece of paper with that information. In otherwords “PrintMortgageStatementWorkflow(custId, date);”
I think I make my point(s) in saying why are we jumping through hurdles to make software do the work when it feels like we are a separate background thread in the software's world.