Humans and Chunking.Some would call this Agile but at the end of the day we humans tend to break things down into small pieces as way of coping with scale (kind of like Neurons in our body aren't complete end to end cycles, they are really just iterative linkages of energy). Sure we build ceremonies around the problem and often swear “this is the winning formula” but in truth all we are doing is taking a really big lumpy problem and breaking it down into manageable pieces. There is strength in doing this but there is also problems that often outweigh the positives. For instance in software I’ve noticed teams always almost get caught up in the idea that once you break an object into small pieces it becomes more manageable. In reality this often leads to context or peripheral awareness of the problem being lost due to the fragmentation. That’s the issue it’s not the idea of breaking things down its when the breaking things down gets obfuscated or leaves others out it in turn gives the developer or designer a small amount of information to work from. This in turn creates problems as without context of the problem, intended audience or even why the problem should be worked on… well…. More problems emerge. To put it bluntly you always almost end up doing keyhole surgery - some can make it work others, end in a painful career stunting failure.
A Product Manager is like a Military General.We often in the delivery teams (developer/designer) roll our eyes at times at the role of Product Manager. We at times have this distrust for anyone that can’t develop or write code to therefore be in charge of the products direction. Then on the flipside I’ve seen teams punish a Product Manager for having the development background because that person can’t resist from checking in on their code base and outlining solutions to problems before they arrive (oh btw, Scott Guthrie used to check name spaces on code before the devs could release…so don’t fault people for that!) A bad or good product manager is like a General in an army, should they give you bad orders or send you down the wrong path you can easily take a winning high performance team and run them into the ground in under a month. It’s very easy to kill the moral of a development team under the vision or guidance of bad product management (including release management).
Release Management is the same as horoscope reading.I’ve seen way to many teams be held hostage to a deadline they have little or no control over. Sure Agile processes get placed on a pedestal that is until the business throws a tantrum and says “I need it now” in which case agile will not be a safe haven to hide behind if it even hints at being a reason for delays. Agile however is often used to manage this and it can work to hold back the release date demons but I’ve also seen Agile become this lumpy carpet in which bad product design or strategies hide under. It’s easy to bury a team with no thinking or strategy behind feature development as all you have to say is “We’ll iterate our way out of this” and unless someone in the room is sharp enough to catch them in the act (empowered as well), guess what…that beloved agile just became that noose around your career necks. Agile also is a funny and interesting thing I’ve noticed in probably 8 years or so travelling around Australia/World. I’ve honestly never seen teams actually do it right to the letter of the law. I always see them cherry pick it to death and I’ve lost count at the number of times I’ve seen teams argue “well we like to keep it simple” as their rationale for its adoption hackery. I’ve also seen teachers of agile rant “You’re doing it wrong!” to which I now wonder if the builder blaming the tool is the right course of action here? Suffice to say Agile + Release Management is always an amusing sociological experiment to witness. It often is in many ways like watching the TV show “Survivor” + “Amazing Race” inside the cubicle.
Design is on a pedestal until pressure builds.As a UX person now (also now studying psychology), I’ve come to learn that we humans are actually quite adaptable to change and experiences. We often place ourselves in compartments and use personas as a shield to hide behind the various matrix’s that we assume or intend users to uphold. It’s as if we assume out loud that our users will self-divide into sub-tribes that fit in with our mental models around usage & expectations. It’s an ongoing science HCI without any hint of complete understanding but in the mean time we’ll continue to evolve design in a way that hopefully proves probabilities and our internal monologues about what users like or don’t like in designs. Design is the term though as at the end of the day despite all the research it comes down to the hand of a designer either using a mouse or Wacom graphic pen (most designers I know don’t use a mouse). We can craft the ideas or belief system but its not until these folks grind the pixels out that we have a well formed output that the users can appreciate and be drawn into. Marketing also play a role in this and they’ll often want more influence or say into what the design composition upholds – in fact everybody wants input as because its visual this means everyone gets a say!. Yet nobody volunteers to have input in that line of code you wrote or even that decision you made around a campaign. A designer is Queen/King that is until he/she accidently and stupidly shows the rest of the business what they made and then you watch a positive or negative feeding frenzy take place. The feeding frenzy often however is used by developers as now they to have a safe haven to also hide behind as all they have to say out loud is “I can’t do design, so I can’t finish this until the designer finishes”. Hiding behind that means they have to take no risks or never fail in both their execution of an idea or worse keep their efficiency returns high (i.e. why bother trying to do a design ahead of the designer when all it would mean is wasted time, time…in agile….time…you say)
What have I really learnt?That despite all the knowledge and experience I’ve acquired over the years it’s really rare I see the business, technical and design equation balanced. Almost every company I’ve consulted with, worked in, contracted for and observed have always managed to have an imbalance in these three areas. If the balance tips in say technical favor it usually means business & design are at a loss and likewise if the other two do the same. You may find one or two areas where the balance stays true or looks balanced but it usually is a false positive as seemingly its usually the “design” that’s the one bluffing (ie crap design experiences being palmed off as “good enough”). My theory or something I’m going to devote I guess the rest of my life to is finding a way or rhythm to debunk this equation in that there has to be a way to balance the three without cubicle combat. Today I’d simply say this, if all three parties aren’t sharing the risk of change or failures, then that’s the starting point. In 20 years I’ve rarely seen all three take that on willingly and accepting that failure has rewards as well as losses. That giving a deadline to a developer is like yelling at a tornado to turn around, it may feel good to do so but you will always most certainly get creamed anyway. A designer is the user advocate and they have instincts built in that are well honed towards how people deal with vast amounts of information & cognitive load. An Engineer can work in literal form better than lateral but a designer has only lateral so the balance has to be struck (form vs function wars begin). Lastly a Product Manager without a 2+ year roadmap isn’t a product manager, they are just the business development suit running around pretending they are in charge of an empire that has enormous of opportunity that continues to go wasted. If you haven’t got a forward thinking General then maybe the competitor does and that’s why you seemingly keep looking at what they did for visual cues on success vs fail (Microsoft we agonized at Apple/Google/Oracles growth. I doubt it was a two-way process hence the huge leads they have gained in 8 years).
The core problem.Ever since I think 2004, I've never been able to get a stable process in place that enables a designer and developer to share & communicate their intended ideas in a way that ends up in production. Sure they end up something of a higher quality state but it was never really what they originally set out to build, it was simply a end result of compromises both technically and visually. Today, its kind of still there lingering. I can come up with a design that works on all platforms and browsers but unless i sit inside the developer enclosure and curate my design through their agile process in a concentrated pixel for pixel way, it just simply ends up getting slightly mutated or off target.
The symptoms.A common issue in the process happens soon after the design in either static form or in prototype form gets handed off to the developer or delivery team. They look at the design, dissect it in their minds back to whatever code base they are working on and start to iterate on transforming it from this piece of artwork into actual living interactive experience. The less prescriptive I am in the design (discovery phase) the less likely i’ll end up with a result that fits the way i had initially imagined it to begin with. Given most teams are also in an Agile way of life the idea that I have time or luxury of doing a “big up front” design rarely ever presents itself these days. Instead the ask is to be iterative and to design in chunking formations with the hope that once i’ve done my part its handed off to delivery and then it will come out unscathed, on time and without regression built in. Nope. I end up the designer paying the tax bill on compromise, i’m the guy usually sacrificing design quality in lieu of “complexity” or “time” derived excuses. I can sit here as most UX`ers typically do and wave my fist at “You don’t get us UI and UX people” or argue about “You need to be around the right people” all i want but in truth this is a formula that gets repeated throughout the world. It’s actually the very reason why ASP.NET MVC, WPF and Silverlight exist really - how do we keep the designer and developer separated in the hope they can come together more cleanly in design & development. The actual root cause for this entire issue is right back at the tooling stage. The talent is there, the optimism is there but when you have two sets of tooling philosophies all trying to do similar or close to similar things it tends to kind of breed this area of stupidity. If for example i’m in Photoshop drawing a button on canvas and using a font to do so, well at the back my mind i realise that the chances of that font displaying on that button within a browser is less likely to happen then inside the tool - so i make compromises. If i’m using a grid setting that doesn't match the CSS framework i’m working with, well, guess what one of us is about to have a bad day when it comes to the designer & developer convergence. If i’m using 8px padding for my According Panel headers in WPF and the designs outside that aren't sharing the same constancy - well, again, someone's in for a bad day.
It’s all about grids.Obviously when you design these days a grid is used to help figure out portion allocation(s) but the thing is unless the tooling from design to development all share the same settings or agreed settings then you open yourself up from the outset to failure. If my grid is 32x32 and your CSS grid uses 30% and we get into the design hand over, well, someone in that discussion has to give up some ground to make it work (“lets just stretch that control” or “nope its fixed, just align it left…” etc start to arise). Using a grid even at the wireframing stage can even tease out the right attitude as you’re all thinking in terms of portion and sizing weights (t-shirt size everything). The wireframes should never be 1:1 pixel ready or whatever unit of measure you choose, they are simply there to give a “sense” of what this thing could look like, but it won’t hurt to at least use a similar grid pattern.
T-shirt size it all.Once you settle on a grid setting (column, gutters and N number of columns) you then have to really reduce the complexity back to simplicity in design. Creating T-shirt sizes (small, medium, large etc) isn’t a new concept but have you even considered making that happen for spacing, padding, fonts, buttons, textinputs, icons etc etc. Keeping things simple and being able to say to a developer “Actually try using a medium button there when we get to that resolution” is at the very least a vocabulary that you can all converse in and understand. Having the ability to say “well, maybe use small spacing between those two controls” is not a guessing game, its a simple instruction that empowers the designer to make an after-design adjustment whilst at the same time not causing code-headaches for the developer.
Color Palettes aren't RGB or Hex.Simplicity in the language doesn't end with T-shirt sizing it also has to happen with the way we use colors. Naming colors like ClrPrimaryNormal, ClrPrimaryDark, ClrPrimaryDarker, ClrSecondaryNormal etc help reduce the dependency of getting bogged down into color specifics whilst at the same time giving the same adjustment potential as the T-shirt sizes had as well - “try using ClrBrandingDarker instead of ClrBrandingLight”. If the developer is also color blind as in no they are actually colorblind, this instruction also helps as well.
Tools need to be the answer.Once you sort the typography sizing, color palette and grid settings well you’re now on your way to having a slight chance of coming out of this design pipeline unscathed but the problem hasn't still been solved. All we have done really is created a “virtual” agreement between how we work and operate but nothing really reinforces this behavior and the tools still aren't being nice with one another as much as they could be. If i do a design in say Adobe tools I can upload them to their creative cloud quite quickly or maybe even dropbox if have it embedded into my OS. However my developer team uses Visual Studio’s way of life so now i’m at this DMZ style area of annoyance. On one hand i’m very keep to give the development team assets they need to have but at the same time i don’t want to share my source files and much the same way they have with code. We need to figure out a solution here that ticks each others boxes as sure i can make them come to my front door - cloud or dropbox. That will work i guess, but they are using github soon so i guess do i install some command line terminal solution that lets me “Push” artwork files into this developer world? There is no real “bridge” and yet these two set of tools has been the dogma of a lot teams lives of the better part of 10 years, still no real bridge other then copy & paste files one by one. For instance if you were to use the aforementioned workflow and you realize at the CSS end that the padding pixels won’t work then how do you ensure everyone see’s the latest version of the design(s)? it realises heavily on your own backwater bridge process. My point is this - for the better part of 10 years i’ve been working hard to find a solution for this developer / designer workflow. I’ve been in the trenches, i’ve been in the strategy meetings and i’ve even been the guy evangelizing but i’m still baffled as to how I can see this clear linear workflow but the might of Adobe, Microsoft, Google, Apple and Sun just can’t seem to get past the developer focused approach. Developers aren't ready for design because the tools assume the developer will teach the designer how to work with them. The designer won’t go to the developer tools because simply put they have low tolerance for solutions that have an overburden of cognitive load mixed with shitty experiences. 5 years ago had we made Blend an intuitive experience that built a bridge between us and Adobe we’d probably be in a different discussion about day to day development. Instead we competed head-on and sent the entire developer/designer workflow backwards as to this day i still see no signs of recovery.
"..The only way you win an argument is if you get the other side to agree with you.."Is what my dad would say when he & i used to get into the thick of it. Its a fairly simple statement as in the end when you have two opposing ideas on the same problem, well it comes down to either compromise or an impasse. If its an impasse then it probably will come down to the title you have on the day, in my case being Head of User Experience. A title like mine carries some weight that means i can ignore your opinion and proceed onwards without it, but doing so means that i need to qualify my arrogance more. Being the top-dog in UX land isn’t an excuse to just push past people on their “I think” statements and supplant your “I thinks” ontop. Instead what it means is we have to be more focused on establishing the “I know” statement that absorb the two opposing ideas. My way of thinking is this, when I reach a point where there isn’t any data to support the opinions / ideas its now a case of writing multiple tests to get them fact checked and broken down until we do have the ideas transformed into behaviour facts. I think the users will not like the start menu removed so don’t touch it. Now lets remove the start menu is my immediate thought, screw the statement what happens when we do it. I’m assuming there will be some negative blowback but can you imagine the data we can now capture once its removed and how the users react. The users will tell us so much, how they use the menu, where they like it, why they like it there, who they are, what they use and so on. That one little failure in Windows 8 is a gold mine of data and online there are discussion forums filled with topics / messages that centre around “ I think “ but nobody really has “I know” except Microsoft. My point is this. If you’re not in a role that has User Experience in its title then fine, knock yourselves out with the back and forth of “I think” arguments. If you are in UX your job is to not settle with “I think” and instead hunt for “I know” for you will always get rewarded.
A respondent is asked to walk on a path through a forest from A to B. The respondent is asked to count how many “blue” objects are lined along the path, and the said respondent’s heart rate will be also monitored (also base-lined / zeroed out). Before the respondent takes off the testers place a stick that has similar shape to a coiled snake midway on the path. The respondent is then asked to proceed on the journey, and they begin to count the blue objects and at the end of the path when they arrive, they give an accounting of their blue object findings. Their heart rate was normal in line with normal physical activity. Respondents were less likely to notice the stick. Next round of respondents are asked to the same, only this time the seed of fear is planted in their subconscious with “oh others noticed a snake a few hours ago along the path, be careful and if you see it sing out, it should be gone by now and we couldn't find it earlier so just take note”. Respondents begin the journey on the path, they notice the stick initially and a lot of messaging between the optics and brain are moving at lightning speed trying to decipher the pattern(s) needed to place a confirmation on “threat or non-threat” levels. Heart rate is spiking and eventually they realize its a stick and proceed, as they walk past the stick still keeping a very close eye and proximity buffer between the stick and them.The point of that story is this, that with an introduction to the standard test of a new variable (fear) you’re able to affect the experience dramatically to the point where you've also touched on a primal instinct. In software that “stick” moment can be anything from moving the “start button” on a menu through to moving the way a tabular amount of data has been traditionally been displayed. As a User Experience creator, we typically move the cheese a lot and it’s more to do with controlling change in our user(s) behavior (for the greater good). Persona(s) don’t measure that change, all they measure is what happened before you made the change. All you can do is create markers in the experience that help you map your initial persona baseline back to the new in the hopes it provides a bounty of data in which “change” is made obvious. It doesn't… sadly… it just doesn't and so all we can do is keep focusing on the past behavioral patterns in the hope that new patterns emerge. Persona(s) aren't bad, they aren't good, they are just a representative sample of something we knew yesterday that maybe still relevant today. The thing i do like about personas from marketing folks is this, it keeps everyone focused on behaviors they’d like to see tomorrow re-appear and that in the end is all i ever really needed. Where do you want to head tomorrow? Last example - NBC Olympics were streamed in 2009 to the entire US with every sport captured and made available. At the time everyone inferred that an average viewer would likely spend 2mins viewing time. In actuality they spent 20mins average viewing time and sent massive ripples in the TV/Movie industry in terms of the value of “online viewing”. If we had of asked candidates back then both as content publishers and consumers, they’d probably have told us data that they asserted to be relevant at the time. In this instance the Silverlight team were able to serve up HD video for the first time too many people online, and that’s what changed peoples experience. Today, its abnormal to even contemplate HD video streaming online as anything but an expected experience for "video" ... 5 years ago, it didn't exist. Personas compared to then and now are all dramatically different now, so while change can in some parts be slow... they can easily expedite to days, months as well as years. I don't dislike Persona's, i just remain skeptical always of the data that fuels them - but thats my job.
I have noticed in a few places discussions comparing the UI and API of WinRT with Silverlight, and suggesting that it (WinRT) is preferable. Mostly, these were quite old posts (a series of 6 or more at SharpGIS was my first sense of this).
It does raise the possibility that Windows / Microsoft will rebirth or rethink some technologies.
Related (in my eyes, anyway), apparently there is a wider discussion about Windows 9 (based on leaks and conjecture) suggesting that there is to be a complete rethink of Windows market segments in Windows 9 “Threshold”.
It’s summarised here in InfoWorld (December 2013) in an article by some bloke named Woody Leonhard.
He sets the tone in his first sentence:
“If independent leaks are to be believed, Windows chief Terry Myerson appears to be dismantling the Jekyll-and-Hyde monstrosity that is Windows 8, instead replacing it with a triumvirate of products that people and companies will actually want.”
I’ll be interested in Scott’s comments on the triumverate of products, including the quote that refers to Terry Myerson’s supposed intentions.My thoughts/Reply I don't know much about the future of Microsoft because I suspect not many INSIDE Microsoft themselves have a clear definitive handle on that (not to sound jaded, i honestly do believe they are still haggling over how to raise the broken into fixable solutions). I would say this, the company has built up enough equity in the past to make a full focused run at Consumer adoption for products that would typically sell reasonably if not better in enterprise/smallbiz but they in the end hit a wall. I think it was mainly they didn't understand the consumers needs and were to busy trying to graph compete strategies they have used on Enterprise into the same space as consumers (Internally Microsoft can be quite aggressive and paralysed with fear around competitive events - its a huge weakness imho). If you were to unpack Windows 8 today and really take a step back from it all, there's not a lot of negativity associated with what they have done. I look at Windows 8 as the parity release between Silverlight/WPF and all the fixes customers (devs) wanted but it was delivered in a way that traumatised the base. It could have been delivered with a softer approach to change management in that instead of holding a gun to our collective heads with the intent of "upgrade or else" simple things like namespace / sdk related issues would have been enough to build confidence with the developer base around migration / roadmap. A developer would be fine with with Windows 7 WPF/Silverlight development today provided they know eventually with a Windows 8 upgrade the performance and scaleability issues would naturally resolve themselves (ie devs dont spend to much time haggling over the rendering pipeline). If you then combine Windows Phone 8 (which is really still in many ways the Silverlight behaviour) you again then tick the other box around reach on mobility devices. You are still locking them down into a world called "windows" which doesn't piss a lot of enterprise companies off, especially with the current turbulence in the device market we see today. Enterprise companies right now are a little paranoid or scared about their mobility adoption strategies because its one thing to say "I want breadth" and another to say "i want breadth and depth' when it comes to User experiences that count. If a company wants to get their "mobility" story together, they often associate mobility with web because breadth is far more attractive story than a depth discussion. Breadth means HTML/JS because it means I don't have to have specialist teams (Java, ObjectiveC, C#/Mono etc). Depth requires the opposite because you can only put off that problem for so long before someone within a team suddenly comes to work wearing his/her "Java Conference 1998" t-shirt and smells funny because they do Android development. Microsoft had an opportunity to do a simple rinse/repeat on the "Embrace/Extend" model with Windows and like I said, Enterprise would likely have been fine to play in that sandpit (of course they'd keep pushing on the "make my C#/XAML apps work on all" angle every step of the way). In keeping Enterprise bellies full that would have stabilised at the very least their largest piece of the profit share pie, in that they would have bought themselves another 2-5 years to focus on Consumer more without having to pay the tax on losing hearts/minds of business grade solutions. This would have also given them more adoption metrics around the mobility + desktop upgrade story because if a company buys 10-100 units of one piece of hardware because it was easier to develop against well thats 10-100 forced adoption(s) on users which after a while could turn into positive/negative evangelist for those products (Forced adoption is not a bad strategy ...its just ethically horrid). But.. sadly none of the above has happened, instead Sinofsky wen't rogue, went aggressive not just internally but externally and let his own self-inflated arrogance steer the ship in a direction of aggressive change management which has backfired. Now the new heads of state have to figure out how to salvage what they have left into meaningful pieces that can essentially tap into the above behaviours. The article is right, you have really three options - fade out you core business (enterprise) and go full retard on consumers adoption, reverse the namespace/SDK engines and build a bridge between old and new but lose what small foothold you have on consumers - or - abandon consumer focus and retreat back to safety around enterprise/small business. I'd place my money on the 2nd option, bridge building but that's going to be filled with a lot of apologies and the only way they can even attempt to make that work is to ramp up their DPE practices beyond where it is today (that is a lot of people on a lot of planes, apologising and seeding a new/existing audience with solutions). The head of DPE (former CEO of Skype) is a business development numbers guy who clearly has no real passion for DPE, so i don't see how even if they find a way to build that bridge can make that happen (it's an attitude issue as well as a technical one). Building a bridge between old and new is not as scary as one would assume (well i don't anyway), there is a lot of positive work put into the Windows 8 SDK's .. i don't think anyone can say out-loud that Microsoft doesn't get their shit together technically when given the chance, there is and has always been more positives in their technical abilities than negatives - it just always always always comes down to the way in which they deliver the message and react to developer/customer issues of the day. Is it really a case of just refactoring Windows 8 namepsaces or proxy classes of some sort to convince Developers to continue on WPF/Silverlight path? ... Is it a matter of just investing more in that "devigner" tooling problem (Expression Blend makes a comeback but with less reliance of "reflection" based property grids). *shrug* .. i can personally see a way they could rebuild and get on with the Windows 9 approach and I don't think it requires a radical overhaul but more architectural common sense.
*Corey watches disabled man with shorter leg than the other and hooked arm walk across the crosswalk on the way to school this morning*
Corey: Dad... what's wrong with that man ..
Me: Well ..his body umm..his body isn't the same as other peoples so he's got some difficulties in walking so that's why he hobbles. His arm probably wasn't made the same as yours so it hooks in like that.
Corey: oh... poor man dad.. you should help him by like giving him a lift or something.
Me: ...hmm... Let me ask you something, do you think that man is strong?
Corey: umm...strong like you ...no...
Me: Well.. the thing is buddy, that man is probably the strongest man you'll see all week. Think about it, he has all these problems with his body but he still gets up every morning, gets dressed, puts his backpack on and walks to the bus. He then goes to work and keeps doing that day in day out. That's pretty strong.
Corey: ohhhh ok...
Me: Corey you have only one eye left you can see out of, you find it hard to speak your mind because your brain works faster than your mouth but you still get up every morning, try and sneak in a computer game or two before mum & i catch you and you go to school like that man. Does that mean both of you are now not strong?
Corey: No... I guess... i didn't see it like that..
Me: Remember this moment mate, because people may look at you like you looked at him at times but remember that being strong isn't about lifting heavy things or being able to fight people.. being strong is about getting up and facing the day by not using excuses on why you shouldn't do something.
Whenever a kid teases you next time at school remember that they have all those abilities you and that man don't have but they still aren't happy and think that by making you feel bad is a way to be strong... when..well they aren't, they are weak and lazy.
Corey: So ...they are losers right..
Me: kind of, they are ignorant..
Corey: what's that mean.
Me: it means they don't know better, so next time it happens, just remind them of the difference but at the end of the day remember you don't make excuses, you just get on with it.
Corey: I like this redstone book you bought me...
That pretty much happened word for word, and the thing I love about my sons attitude to life is that despite being dealt a really shitty hand he's like a rhino, thick skinned and focused..nothing really gets him down, he just see's life through the eyes of curiosity... and minecraft... mostly minecraft..