Xamarin & Microsoft merger may yet prove useful to designers.

The .NET community has been fractured for quite some time when it comes to mobile development, and a large amount of hate debt has been banked as a result. Products like Xamarin have been given the appropriate amount of adoption because they have a more agnostic vision of how .NET could work in a truly x-platform / x-device arena. However, the approach to date isn't an easy stroll down success lane, as to develop a mobile app even with Xamarin you're faced with two decisions to begin with. Xamarin "native" or Xamarin "Forms", each having their own set of pro's and con's attached from a pure "developer-centric" perspective. Next decision after that is how do you design for three platforms (*maybe two*) and still retain constancy - yes I said constancy, not consistency. On one hand designing apps to work inside iPhone is different to how they work in Android - but only up to a specific context (as tradeoffs and split thinking naturally then occurs). In order to achieve this, you have to essentially begin the same set of compromises you would make with the web, forking your feature design/development vision to accommodate and absorb the various limitations imposed on each platform in accordance to the restraints Xamarin imposes on top (ie there's an element of decay implied). To compound issues further, you then have Xamarin not really adhering to the previous iterations of XAML (aka Avalon) and whilst it looks kind of like XAML, it's really in many ways just XML with limitations (ie you can't really animate with it using the same Storyboard composition as you once had with Silverlight/WPF and so on). Xamarin's XAML is the panacea we want but isn't the same. Now you have to programmatically design your composition with either a designer's comps on your second monitor as a guide or worse, the designer is over your shoulder offering feedback loop hell. Xamarin failed thus abandon it? Hell no, Xamarin has all the ingredients one would need to really get the .NET x-platform / x-device story going, in fact, I'm more frustrated at the post platform execution than its original foundation itself. The secondary parts above can easily be fixed provided there's some stronger thinking imposed about how "creative influence" applies to the composition of design - that is to say, at what point does the designer have free control over composition without haggling with a developer on limitations artificially imposed due to what i can only guess at being resource allocation issues on Xamarin's part. This, in turn, means that one would need to approach the composition of a Xamarin vNext with the idea or intent of using XAML/C# marriage the way .NET gods intended. What that means to say is that if you took the same conceptual develop/design pipeline that .appx or .xap has today and applied this to Mobile development this, in turn, unites the developer & designer workflow under the one constancy based banner, which in return reduces less feature editing / design cut-aways. Why is this important? In 2007, we were faced with a mission to get Designers more engaged with Developers, and that's why Silverlight/WPF was born. We had small amount of success but in truth, we were side-tracked on conflicting priorities and poor management to really dig in on that same set of problems. Today, the various technical platforms have shifted but the core fundamental issue hasn't gone away, in fact, it's gotten smarter about how the two worlds collide - sadly, Microsoft has never really gotten an invite to that discussion due to its retreat positioning. Microsoft's answer, in general, has been to remove the designer from the equation given its complexity, instead, they gave developers a cookie-cut style template titled "metro/modern UI design" (aka Paint by numbers developer art) thinking that if you reduce the composition of design to basic minimal aesthetics, you, in turn, reduce the burden or need to have a designer influence the creative process. That strategy is an utter failure and I'd promote the theory that the reason why Windows Phone has failed as a product is solely due to the UI (given the phone hardware is perfect, development SDK is the easiest by far but the design integration .. too boring, too hard). Xamarin merger with Microsoft now has the potential to reboot a company's mobile strategy in a way that it needs more than ever before, however, if the two worlds continue to solely double down on "developers, developers, developers" that don't factor in "designers, designers, designers" all we really have achieved now is a license model reduction, better Visual Studio support, stronger echo chamber but still a designer stalemate, resulting in continued "developer-only" circle jerk sessions.

Related Posts:

What I have learnt being a designer, developer and product manager.

It’s approx. 19 years now since I first earned payment for my ability to use a computer. In that 19 years I’ve had a vast number of different roles and some of them have been mentally draining whilst most have been constantly built around growth (i.e. learning from failures etc.). In this time I’ve come across a few things that we seemed to be destined to repeat over and over no matter how many places I work and how experienced my fellow computer horde members are. Before I outline these let me start by saying I have been programming more in my life than at times I get to design and when I can’t get the designs I want from the design team, well, I always end up doing the actual designs anyway. I often find people that I work with can’t compartmentalize the idea or notion that someone can do both equally well as another, in that you’re always defending your position in the developer vs designer discussion. In reality you’re always nearly often asked “pick a side and stick with it” or face career penalties should you try and sit idle in the middle. That’s however until I discovered the role of Product Management and what better place to learn that role than when I was at Microsoft. I mean I had some wins for sure but I spent a lot of my time watching absolute brilliant minds at work. In this role working others in this field, I learnt being a developer & designer had benefits as I was now able to look at both sides of the equation and get a sense of what my audience (.NET developers & designers) needed the most from us. What have I learnt overall in 18 years?

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).  

Related Posts:

The Cost of Design.

It was the HTML generation that first gave mainstream hints that with a good designer in the cubicle you could in turn have a positive effect to business. That is to say by opening a simple browser, navigating to an address and interacting with “forms” that you in turn could begin taking consumerism to a new level of shop-less input(s0. Fast forward today the cost of design has not only increased but has also gotten higher in its requirement in terms of automating the shop-less facade. User’s albeit consumers are targeted in a variety of device ridden channel delivery and the cost of having a traditional developer and designer team has not been reduced.

Specialised Teams

Cubicles of tomorrow aren’t going to be housed with team members who can write  and design for multiple devices at the same time. They will be broken into specialised teams and the more and more business(s) begin to consolidate their branding into the device market(s) the more they will look to simplifying their product portfolios and brands. A team of .NET developers who write HTML and WPF client(s) will most likely need to include an iPhone/iPad, Android/Blackberry team(s) who mirror their offering. Companies will aggressively recruit and look for people who are agnostic in one or mediums but realistically given the complexity involved in all the current UX Platform(s) it just isn’t feasible to find that many people on the market waiting for a job call.

Browser Forking

Having a specialised team isn’t restricted to proprietary solutions, it will also factor into a more traditional medium of HTML development and design. As strange as this may sound to hear, the idea that HTML5 will bring the industry into a global position of unanimous parity of it’s implimentation amongst all browsers is simply not correct. The only browser that i’d argue has a vested interest in remaining pure would be Google Chrome and that’ simply because having the entire globe of online consumers still accessing HTML work’s to the search engine and advertising model of Google. Having a browser fork in API and extend beyond HTML/JS works to Apple, Google and Microsoft’s favor as well. In fact, I’d argue Microsoft are banking on the ye olde embrace / extend model it’s had in the past (with great success).

Diverse a Product Portfolio

Once companies have audited and forecasted what their internal current development team models will look like for the next 2-3 fiscals, they in turn will need to reflect on which bets to place in which markets that are dictated by their choice of development. It will depend on their choice but even then they still need to figure out how they can leverage an iPhone more than they can an Android (or substitute your own technology bet here). For every device you target brings a variety of constraints and expectations that you need to meet prior to even beginning development. Diversity in choice will ultimately have an impact on a companies brand and consistency model in how they want to broadcast their personality to their respective users. If you target an iPhone for example you have a pretty prescriptive UI design to leverage so it pays to run with it and not against it, given it will reduce your time to market cost(s). Same applies with Android and especially with Windows Phone. Problem with prescribed design isn’t its ability to convey a uniform user experience with an end user it’s core issue is the reduction of being able to stand out amongst your consumer(s). If you spend more you can overcome the prescribed approach but in doing so you also need to ensure you can leap beyond the baseline of expected behavior.

Metro-style could winout

Prescribed user interface design in turn will slowly become more and more weaponised in a way to again have a single designer rule many device(s). If you can invest in a smaller group of design professionals who have custodianship of a brand and the personality that comes with it, you in turn can reduce your costs on having less investment on design and more on engineering. A company may prefer the model of having a centralised design team that works with 3-4 device teams as a way of offsetting cost’s associated with multi-targeting. Metro-style design in turn plays a comfortable role as Android and Windows Phone 7 pretty much lend themselves well to this vision of the way design should be. iPhone/iPad however goes in the opposite way that is to say the composition found within these devices are much more detailed and focused in around theming the experience as much as it’s about enabling an input driven experience. The design(s) to date using metro oppose the idea of having real-world objects embedded into the 2D design composition (less turning knobs, wooden textures etc). The cost for design here is hugely decreased as a result meaning in reality a design team need only wireframe the composition of what they want a particular screen to look like, layer in color and ensure it adhere’s to some basic principles that relate to consistency, minimalism and lastly shape driven pictography / typography (pattern recognition 101). Having a metro-style solution going forward can work on all device(s) and whilst it may go against the iPhone/iPad design grain, it can still sit within and more to the point it would reduce a brand’s chance of inconsitency and personaltiy (closer to the one design on all belief).

Designers did this to themselves

Companies like Microsoft, Adobe, Google and even Apple have reacted to a problem that was created by designer(s). The problem started the day when designer’s went against the developer grain, that is they forked off onto their own technology stack which was designed for them (Apple). In forking their work flow away from mainstream development this in turn created a workflow issue and in turn fueled companies like Microsoft to invest in a lot of tactical decisions around how to solve this said problem (WPF, Silverlight etc). The forking also gave way to a different approach whereby companies like Adobe began to also invest not just in a x-platform tooling but also for a while there in a x-platform delivery that works with the said tools that designer(s) had grown to love (Flex, Flash). Once Apple had also moved to an Intel chipset this in turn gave away to what I would call the “Apple Developer” generation where over time more and more of a developer centric foundation was being build to which a series of tools could also now target the designer(s) (amongst other creative professionals). Design for the better part still remained in its own cut-off from the rest area and the more and more developer communities that didn’t have a dependency on Windows began to emerge, the more they instead crossed the divide and began to work on Apple with their designer sister & brother(s). The developer defection to Apple created a huge amount of issues and problem(s) from within Microsoft as now they are facing a massive problem around having developers target Windows but also ensuring there are the right amount of designer(s) ready to support such developers. The more applications being built on Windows the more they sell Windows is the simplified formula. Google also now posed an issue whereby they have no real dog in the fight, that is to say Apple or Windows it didn’t matter provided you targeted HTML and helped fuel their Advertising & Search revenue streams of tomorrow. I won’t go further into the various competitive back and forth that has gone on suffice to say at the heart of this entire issue around choice lies the designer. The illusive designer who often costs a lot and produces what will soon become the main differentiator in a companies offering - user experience.

Function is no longer important form is

As the industry reacts to the competitive changes that are ongoing, much like a teenage boy does around the time of puberty - design in will start to become the focal point of such change. A designer will feel suddenly more wanted, targeted and will be taunted and attracted with some quite lucrative offers. Developers will also see this and start or have began to shift career gears and start looking into ways of becoming a designer. Some will fail whilst others will discover a suppressed design gene within lurking and waiting to be unleashed. The designer will however become the leader of the pack, so used to being the one at the back or considered replaceable, they in turn will now become the most sort after as in turn what is replaceable is engineering (the market optimised for function instead of form for over 20years). Here in lies the issue, the designer isn’t really equipped to decide the outcome of a generation of computing, they will always prefer to take the right amount of time to do the right job in a way that adhere’s to their internal principles around how the world should look.

Winter's not coming, a Fork is

A designer today hasn’t gone down in price or time to market, the time it takes to produce a design still takes just as much time and effort as it did last year and the year before that. It however got a little more complicated as the canvas now comes in not just a 1024x768 screen (or there abouts) it now comes in a whole host of screen sizes and operating system level imposed limitations. Once the corporations that fork their design teams figure this out, styles like the metro-style will begin to emerge as they in turn can bypass the designer if in some fairly competent hands. As in reality the importance of User Experience Principles has become weaponised with the more specialised teams making their work public for all to borrow/steal. Don’t be suprised if a team in the near future had a designer but now doesn’t and solutions that look like Microsoft Metro were being produced. Google and Microsoft have began and in parts Adobe’s tooling also adhere’s to this as well. Having real world objects in 2D design isn’t a bad or limiting thing, it’s an ongoing design evolution around trialing & erroring deeper design beyond flat monochrome wireframes that have or haven’t been colored in. Don’t knock it as the alternative isn’t as deep in its composition.

Related Posts:

WP7 Developers! Developers! Devel…wtf is the designers?

I just noticed something about the overall Windows Phone 7 community outreach story. Well I’ve noticed a few things, but the main thing I noticed was the designer haven is non-existent. Looking at the Create.MSDN site which for me appears to be the front-door to “getting-started” with Windows Phone 7, there appears to be no upsell or solicitation in anyway for the “design” community to pay attention to Windows Phone 7.

Huge mistake firstly.


The reason this is not a bright start to the phone, is if you look at all the successful apps on the iPhone and even Android market-places, there actual apps clearly have someone with design muscle flexing their wares proactively. Inside the Windows Phone 7 ethos, it’s admittedly paint by numbers style design (Metro) but still there is potential vein of richness here should you but show some bread-crumbs.

The major selling point for Windows Phone 7 is metro, folks inside the WP7 marketing team can flog “apps” all they like, but in my opinion I’d declare the phone having apps as hygiene (i.e. Well? I expected you to have them so what? you want a high five?..what else you got?). Metro is the differentiator, despite my grievances with User Interface experience(s) I do recognize that pushing these bitter points aside, the phone needs to focus on this and this alone when it comes to the consumers?

Sitting down and having designed a UI for this phone for an upcoming (reveled later) I’m a little frustrated at the amount of Googling (Yes, I said Google, not Bing. Bing is an ass backwards Search engine imho) I’ve had to spend in finding vector icons, inspiration (design stealing) and lastly techniques / resources others have framed when it comes to handling design related issues.

For instance, I’m not a fan of accent colors inside the phone – in that I like certain amount of colors but Red, Green and Orange are imho off-limits. The reason being is most situations that call for “state” often rely on a stop-light palette. If you have your entire UI Green and you have “You’re now connected” green highlight somewhere, well..it gets lost in the accent theme.

On top of that the dark/light auto-inversing is a funny beast to tackle. I get that it inverses the color palette's in a fairly smart way at the same time it catches you a little off guard when you sit down to design. As now you have to keep that in the forefront of your mind whilst designing and at the same time accommodating for foreground and accent color adjustments as they occur.

To a developer this is simply state flipping in and out but for an average designer that’s a lot of conscious palette planning / thinking going on there and not a lot of resources around hinting at that either (Try googling that now, tell me what you find!).

These are the typical scenarios you’re likely to face as a designer, the techniques that go beyond “Look mah, I used the default color palette and I managed to ship! gimme my $1million app store sales now mkay!” moments.  It goes deeper and you can’t rely on external blogging threads to carry this workload. As they also have a habit of becoming out dated mixed with spam sites re-gurgitating your blog feeds as their own in order to sucker punch you with Google ads.

My point is simple, the designers are clearly not part of the conversation here and whilst developers, developers  and developers is the normal mantra of Microsoft it’s also the major reason you’re failing at the products. If you want proof, go check out he MSDN metrics around Expression sales and uptake of Silverlight solutions that go beyond the default theme(s) created by either Microsoft or Telerik, ComponentOne, Infragistics etc.

Paint by numbers gets you the default positioning of your product and nothing is wrong with prescribed UI. That is until you scope out the iPhone AppStore reviews long enough to see that your application now needs to do something beyond Tip Calculators / FlashLights and Twitter feeds. If you come up short on Function then you better at least deliver on Form.

Microsoft’s AppStore is filled with overloaded function it now needs personality and it needs more design focused bloodlines to underpin the Metro differentiation. If Microsoft can’t factor this into the outbound marketing today, then at least make a start as this will also set Microsoft up for a stronger position for when Windows 8 arrives (given Metro seems to be full steam ahead).

Point and case. Try for giggles, re-create the Office UI inside Wp7 today without leaving Create.MSDN.com and using the default Icons out of the directory found buried inside Program Files (which somehow we’re supposed to inherently know)?

How about Brandon  (Marketing Director for Wp7) take the $1k ransom for Scott Adams (Dilbert) and put that towards the funding for hiring a designer minded person to run the wp7 community outbound initiatives. There’s a lot of people who could lift that burden and if anyone in Microsoft want some recommendations, ping me, I’ve got a list of candidates.

Related Posts: