Windows 9 – replacing it with a triumvirate of products

This morning I saw a question posted to the local OzDotNet mailing list I subscribe to (i love me some DL action).  I thought I’d keep this response on my blog for two reasons – I love the sound of my own voice (dah) and this is starting to become a default response I keep giving over and over privately and in parts publicly?

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.

Related Posts:

Inserting the UX into an existing Agile Project.

It is a Wednesday afternoon in Sydney North Ryde, humidity is quite hot and I am walking up a fairly steep hill panting and cursing to myself about getting to the gym sooner rather than later. I glance over to my left and I see this person riding a unicycle up a hill whilst listening to music and moving at a pace that is faster than my walking (yes that is how unfit I am).

I simply stopped in my tracks and first chuckled at how amazingly insightful that was to witness as I immediately thought “that basically was the visual for my role as a UX Architect” – which was to say, “Poor me, how hard is my job as only an idiot would ride a unicycle up a hill”.

Sometimes life is like riding a unicycle up a hill.

Sometimes life is like riding a unicycle up a hill.

As I continued to walk, I started to think about how much effort that person is putting into attacking the hill before him. Firstly he has to balance whilst at the same time maintain a steady forward momentum (too fast he falls, too slow he falls). Secondly, he is listening to music while he attacks the hill that I can only assumes helps him focus on the mission ahead by blocking out distraction(s).

That encounter inspired me, it gave me a renewed sense of energy at facing down the biggest problem I have today – “how do you integrate UX into existing Agile projects cleanly”. I mean to say the task before me is not easy, it is filled with many uphill battles such as balancing between function and form, whilst at the same time not spooking stakeholders into cost blow out panic attacks. I also am required to have a concentration level that simply at times feels inhuman given the unchartered territory ahead.

The difference between that role and the actual guy on the unicycle is well at least he gets to see what’s ahead of him whereas a UX in Agile world is typically doing the same thing blind folded.

Discovery vs Delivery.

I spent over three years travelling around Australia in every capital city visiting “developer” teams for all types of companies (enterprise, startups, government etc.). I have seen the same thing happen over and over, whereby each company swears by their agile manifesto and how important it is to maintain “agile” discipline. I also notice they cherry pick agile each time to make sure it fits in with their culture and more importantly to not take it as an absolute but more a relative approach to designing software.

The part that often sticks in my craw is not the sprint cycle(s) or the sprint backlog creation. Nope, the part that I immediately notice as being the fatal flaw to why User Experience is often the sacrificial lamb in the development process is well the discovery of the said feature(s).

For instance, a team will often sit down in a room with a whiteboard and then begin coming up with some stories around what they are hoping to achieve with the software. They then will likely document these stories with the usual “As a User I want the ability to do X so that I can do Y” style sentences. After that process they, would likely then unpack these at a later time into developer task(s) along with success/fail criteria (tests, definition of done blah blah)?

I would guestimate that 90% of the hundreds of developer teams I have visited do pretty much the above. Furthermore, I would often be invited into some of these teams at around the last few sprints to help “make it look UXy” as if there was some way I could just “Integrate” into the team(s) development process, fix the UX problems, low impact to the code and do the aforementioned in a timely manner (Usually I say: “You don’t need a UX Architect, you need a priest as this thing is dead and all you’re after is a lot of prayers to reanimate the corpse”).

Let me simply say this, as a contractor I would love nothing more than to have you do the above, especially if I am charging you per hour. I could simply tread water and extract large amount of free useless work hours knowing either outcome still does not result in a successful delivery.

Ethics 101 aside, today, I am not that contractor, I am a UX Architect and I have a queue of other products waiting in line for my same attention. I do not have time to drag the timelines out so I have to instead get the above optimized.

The flaw in this aforementioned process of white boarding features is the part that you first make your biggest and ultimately largest mistakes when it comes to making a software product (which is a general argument to make, but hear me out). As when you sat down to the feature, you did not document whom you are making the product for. In addition, how much time did you spend on refining the process other than the first bunch of fragmented ideas? Lastly, how do various stories influence one another?

Agile is not an excuse to just deliver a project without planning and planning doesn’t mean you have to spend the bulk of your time in “waterfall” delivery purgatory either.

Great quote from Jeff

It is probably a good point to say that if you are focused on delivery and you spent little time on discovery, well you are basically in for a lot of turbulence and “UX Tetris” in the coming sprint cycles.

Unpacking the Discovery phase.

Take an existing project you are on today, now look at the User Stories you have (ignore your tasks). Now grab these stories whilst grabbing some pens & notepads. Now take some of these stories (does not matter where you start) and begin drawing a comic book of your product, that is “how would you draw an activity from the moment the user clicks on an icon to the splash screen and then to what they see first”.

Example – If I was building Outlook I’d say scene(1) is user clicks on icon, scene(2) splash screen loads, scene(3) outlook opens in default folder view, scene(4) user creates new email etc.

uxblur

The objective behind this in the first part of the discovery phase is to illustrate that your story whilst at first sounds perfectly fine is not really “done”.  How many UX Personas did you draw in the comic? I would wager maybe one? Moreover, how many times did you redraw this process before you exhausted the steps into what you would consider “simplicity”.

  • How much influence did iPhone, iPad, Microsoft Office, Outlook, Windows 8, Adobe Photoshop, Adobe Illustrator, Visual Studio etc. all play in the mental model you had for the software(s) design?
  • How many DataGrids and Tree controls did you “assume” existing in the UI as you drew the comic story?
  • Did you draw the UI as a wireframe or just abstract shapes? (If you did wireframe, stop, rub it out and keep it abstract).

A Definition of a Story is “An account of imaginary or real people and events told for entertainment” – the key words from that definition are “An account”. That is to say, it is your own personal bias coming through on how you foresee the event taking place based on existing ideas or experiences from the past.

Now, to bake your noodle, grab three or four of your colleagues and get them to do the same process on the said story but be very careful not to lead them on the same path you just took (e.g.: “draw a comic book for how our customer can create a new email. STOP. No more information”).

I have done this a few times and usually what happens if done correctly (i.e. everyone is in isolation) is the story typically has similar patterns but the ordering and approach taken often has mixed result(s) (especially if its domain specific to your companies problems and not generic like email checking).

First lesson learnt here is that we all approach the design with a bias in mind and yes, we feel that if we all share the same pattern in design it will in turn invoke less agitation on the end user(s). Agitation such as this is still good and most of the time the behavior of the said end-users will likely follow the approach defined.

Problem is you are not in the business of “good enough” anymore. Software today is expected to rise above mediocrity and everyone is under pressure to deliver products as “simpler” and less “dense” in terms of feature(s) and/or layout design(s).

With that, it is your job to put this entire story design on a very strict diet that should take more time than you probably anticipated. Typically you will want to time box this process as it can drag out and I highly recommend you grab a healthy mix of developers, customers (trusted), sales, marketing and if possible receptionists (i.e. people who aren’t your target user) in the creation process. The more diverse the background the more likely you can feed of each other’s ideas of “simplicity” without having blinders on. Lastly make sure it’s in a room where everyone can draw their ideas and do not break these sessions into hourly mini meetings – make them days, in that spend five days in a room fighting, crying, swearing, hugging and so on (as you will take two days to get everyone in a relaxed mode whereby failure won’t be seen as embarrassing – humans are funny like that).

ProTip: Simplicity can be measured.

A Comic style slice of all your user stories can feel like a complete time waste, especially if you have pressure to deliver. In order to do this you have to justify how this can improve cost of delivery whilst at the same time it looks dangerously close to “Waterfall”.

Truth be told, in under a week or maybe two you could potentially visualize your entire current story catalog in a way that would likely reduce countless hours of communication issue(s) around design which in turn would without a doubt reduce communication costs. That being said, that is a very loose “return on investment” pitch to make.

  1. For giggles, take the existing slice you have designed and then unpack that into tasks with forecasts attached. Record that number and cost it out in terms of effort.
  2. Now, for giggles again, take your team and tell them “make it simpler” that is refine the story further, squeeze it to the point where you automatically feel it is not as “Powerful” in terms of feature design.
  3. Once that occurs, run your costs against that.

If done in a way that I am assuming you should see a fluctuation between the two cost(s) and it can be either higher or lower in terms of cost.

You have the first measurement to add to the “simpler” cost center, in that if it’s lesser in terms of cost – awesome, see we just reduced a lot of excess coding time!.

If it is higher then well how badly do you want a better user experience for the product you are making? (Sneaking this past people usually ends badly, so be honest and if executives do not subscribe then you have an answer on how they feel regarding “experience matters”).

Often when I do it, the cost initially increases (i.e. short term loss, long term repeatable win) because as I am refining the stories I am looking to make the behavior of the user less effort for them. That is to say I am thinking how the software’s job is to make their life easier and that it should do 90% of the work for them and that means at times decluttering the task from the usual user interface design and being context specific (i.e. isolate the user to carry out a task that’s reduced of distractions).

An example.

If you mapped out Outlook comic story you would probably have imagined outlook as it is today, whereby you have the tree of folders, you click “new” and prompted the same way it does today. 

I think of it differently, I think that whatever behavior I invoke that triggers “new” is initiated, the entire user interface goes into “new mail mode” that is the existing chrome/HUD is screened back and all the specific requirements I have for “new email” is in front of me. To my left there is a smart way to access my contacts, especially given I’m in a large enterprise and often have issues between first/lastnames and aliases”. To my right I have a different way to create an email in that am I creating just a text email or am I creating something that I want to insert media into for all to visualize my point?.

My point here is I could easily increase the development cost in order to assemble the user interface in a way that for me puts all the necessary pieces the end user will need in order to carry out the said task. Simpler doesn’t mean minimal (as that can often be misleading) it means how does one make the life of the persona simple in carrying out the task – given software is made to make our lives easier right?

UX Personas are not what you may think they are.

Having redesigned the new email some may declare “..hang on, you didn’t specify the feature criteria fairly..” which is true, I did not. The next thing one needs to learn is my idea of a user and your ideas of a user are highly likely two different types.

Example of Useless "UX Persona"

Example of Useless “UX Persona”

A UX Persona discovery will fix the assumption failure(s), whereby if you sit down and you unpack the word “user” to the point you exhaust your collective knowledge of that means. A UX Persona is not a story about “Jim who is 22, likes fishing and blah blah” as bottom line who gives a shit who he is or what he likes. A Persona designed like that is used for marketing purposes to help sales teams position the messaging & roles the said product will likely excite.

A UX Persona typically needs to focus on two simple areas, that is what behaviors they are currently exhibiting (AS-IS) and what behaviors they should be exhibiting (TO-BE). The word “User” needs to absorb the fact that sure, a user is doing xyz today but you are in the business of innovation so you in turn need to move them to a new set of behaviors!

Eg: When Apple sat down to design the iPod touch they were not pandering to existing behaviors user(s) were exhibiting on mp3 players. They moved us all over to the touch interface and it was initially confusing but today I see five year olds queuing music & playing games.

Defining a UX Persona for me is mainly about breaking their behaviors into four categories

uxagile-fld-geo

  • Influence (low to very high). Take training, mentoring, buying power, optimization etc. as categories you can help shape the low to very high score. Basically how much influence does this persona have over the adoption of your new product, the training burden required in order to use your new product and lastly the output of the product (i.e. are they the end customer for your customers customer).
  • Usage  (low to high). Similar to influence but now how much of the actual product are they going to be using? Specifically which modes of the product are they using (e.g. Visual Studio – Build time, Debug & Runtime). If you are writing software for both an executive assistant and their boss, then basically it is likely the assistant is going to have a higher rating then the boss depending on the scenario (vice versa).
  • Form Factor. What are they using to access the product? Given tablets, smartphones, laptops etc. are all evolving technology what is the likely input of choice. Do not just isolate this to device/platforms but also are they using stylus pens, are they using modified keyboards etc.
  • Environment. What is type of environment are they using the product in? Is it inside a coal mine where it is dark (i.e. white vs. black colors are a safety issue), is there many hazardous issues nearby? Is it noisy (distraction and cannot hear sounds), is it inside an office? Is it inside an operator building where your product is one of sixteen screens? 

    Environment is really an important amount of information that gets lost in the “Story” creation. As we really need to pay attention to how much duress, the user is under in order to make their life simpler.

Notice I never discussed usability issues such as their age, sight quality, gloves vs no gloves, color blind vs non color blind and so on? Well, if you did not now you have. Usability is a completely new chapter on its own, suffice to say I typically design for extreme in mind that is I assume the worst and hope for the best, make the process accessible and it in theory should put you in a position to refine for specific usability & accessibility scenarios (ie design garden sheers for people with arthritous and in theory you will design for both people with and without in mind).

Keep breaking the UX Personas you design down until you simply cannot come up with new ones. Then go grab some customers you have today or want to have tomorrow and play a game of “Guess Who” with the existing ones you have defined. If you cannot line them up with what you have or you end up with orphan UX Persona(s) then consider how to merge or separate until you reach a “best guess” group of personas to attack with your new product.

The trick here is also to focus more on “TO-BE” not “AS-IS” as the moment you release your product to market you are changing the rules of usage. You are invoking change in an area where existing mental models are either hard wired into the users or have no concept of said feature(s) even existing.

Once you have the list of Persona(s) grouped in a way you feel make sense (make tribes if it helps with the grouping) then I want you to divide into two piles – first being 80% and second being 20%.  Dividing these personas into the 80% and 20% piles gives you two options going forward.

The 20% pile could be the first target users, these are the ones you want to launch version (1) of your new product with. It means you have a much simpler feature set to attack but it also means you can iron out the kinks in this new process whilst illustrating the value of “simplicity”.

The 80% pile could be the same as the 20% or it can be the persona(s) that are distracting you from simplicity, which is they aren’t as important for the first round of delivery? Either way you choose to approach this just settle on one of these piles as your “target” user base.

The truth is you will never hit 100% of your persona(s) needs in your ongoing deliveries, and once you make peace with that, the pressure of being everything to everyone will be reduced. It means that over time, you will have to work harder to regain the lost personas back but that is fine, provided you stick to that mission and remain calm.

Example – When Silverlight was being built, the first version pretty much took the 20% path with a focus on video persona(s). As more and more versions of the product where released it then would take the missing 80% pile and subdivide that into 80/20 and again, take that 20% and chip away at those personas that wanted more than video.

ProTip: Consider putting these personas into a deck of “Cards” and hand them out to all members in your team. As when you are discussing problems in your day to day development get into the habbit of keeping them in view when you say the words “Customer” or “Users”.

You are in the patterns business.

Do not fool yourself into thinking the software you are working on is unique and never been done. There are elements to the software you are making that is fresh in terms of features here and there but ultimately you are highly likely re-using existing UI patterns found in software today.

The question is what UI patterns are you using and why have you changed them? That is to say which Color Modal are you going to use and why don’t you like existing patterns out there should it be different?

uxpattern

It’s at this micro level you isolate your users actual behavior and can be majority of the time field tested with customer(s) to establish what is “usable” and which isn’t. It is also at this point you can attach “who” the UI pattern is designed for.

If  you catalog these UI patterns you can also begin the “visual” treatment process before any code is even written (in parallel) as its really about which assets are missing, which you already own and when they can be queued for delivery.

Lastly and the most important point of all is that you can identify which Patterns are “Fresh” and begin your patent application(s) for retaining your intellectual property rights whilst at the same time ensuring that you’re not infringing on other existing patents out there.

 (i.e. have you read the terms & conditions of Office Ribbon, Adobe vs. Microsoft legal case around panel snapping etc.?)

Discovery integrates with delivery.

To recap, you have taken the simple “user stories” and you have mapped them into visual stories that help illustrate the “before” and “after” in terms of refining them down into “simplicity”. You have also identified whom the actors or “user” actually are finite detail that even talks to what, where and how.

So, discovery phase is done right?

No. This is the easy part as now you have information and you have a sense of possibilities. What comes next is the part where you often will lose the executive owners of your team. It’s the prototyping phase of discovery, that is take your ideas and come up with some wireframes or small time boxed interactive prototypes of how the comic stories can be achieved.

I say you lose them as if you do not handle this carefully you will position this phase as being “wasteful” or “not as important – function vs. form”. The trick is to factor this phase as being part of your “delivery” but knowing it is actually more to do with “discovery”, (it is as if you Jedi mind tricked the project management & executive fears).

Prototypes, Wireframes and Comic Stories are deliverable that works the same as actually writing the code itself in a normal agile scenario (i.e. they too can follow sprint cycles). You can do it parallel (if you are in v2 of this process) or you can do it sequential but the key is to deliver something that shows the investment is not wasted. You also iron out the unknown and can often deliver drops to candidates for the software(s) release to get a sense of what success/fail will look like had you spent months coding it for real.

Remember Windows Longhorn? Yeah most of that was Macromedia Director. Remember Silverlight on the Nokia N9 back in MIX keynotes? Yeah that was kind of a mini PowerPoint style animation! Point is when you demo something, nobody 99% of the time asks to see how many lines of code it took to make.

This approach builds confidence that your development has balanced the feature(s) required with market readiness/attractiveness whilst at the same time maintains a disciplined delivery schedule. It also allows  you to really validate your UX personas against the features that they are attached to, as then you can start to formulate a fairly accurate understanding of what feature(s) are going to make the release and who they are being targeted for. Having just this alone can improve your “feature” cutting when the time for reducing scope occurs; again, you know more about the impact than a general “user” statement.

It also helps to know this when forecasting costs for a new products development, which is how much this will cost to produce and who the first, second, third round of releases will likely excite. It also helps training / documentation teams begin preparing their work streams on how to manage change management issues. This also helps testing teams understand how to attack their tests to ensure the said quality gates are kept intact and aren’t being approached from “generic” scenarios (i.e. play the role of the UX persona not the roles like “let’s see how much of this I can break”).

Finally, it helps Marketing/Sales teams get actually ready for the “launch” in a way that hits your target market squarely in the places it should.  I.e. they know who to avoid making eye contact with during launch time should that UX Persona group not make the cut).

Sunlight is the best disinfectant.

Before I close out this poorly written tomb, let me say that no matter what choices you decide to make, ensure you keep it all open and transparent. There is nothing worse than having all the discovery and delivery processes being locked up in the hands of a select few or worse making it available but displayed in such an abstract format that it simply holds no clarity around what just happened.

The combination of UX and Code delivery needs to happen clearly, there needs to be KPI’s set and lastly you need to ensure everyone in the room has a visual simple display as to what is being worked on.

uxkpi

An executive does not care about your “Done” board in agile and they do not care about how many stories you have to write code against either. They also do not care you have unpacked a generic User persona into five sub personas and lastly they do not care about how you have improved the “AS-IS” comic style user stories into the “TO-BE”. The assume you do this normally, so don’t expect an “Adda boy/girl” pat on the back as well it’s like being asked for a high five for knowing how to check email?

The mostly care about progress reports – where is their money being spent and why. They will care at times when visiting peers or their power brokers come by for a visit, in which case bring all the above out for a full show & tell (factory visits is what I call them).

If you can justify the costs in a meaningful way that does not involve reading text then you are miles ahead of other teams who assume that just because a Story is written down that everyone “gets” where they are heading. Visualization of your products early often gives everyone in the room clear communication around what the vision will end up looking like. There is less pressure for demos to be at a fairly high standard given comic stories, prototypes & wireframes will paint that end point in a much more cleanly digestible way (which ultimately will mean memory recall – which is what you all want).

Lastly, before I close out, can I just say aloud – everybody relax. The agile movement is simply about taking a lot of big lumpy problems and breaking them down into really small bite sized pieces that are easier to manage. This is a strategy that is not unique and exclusive to software development; other industries do this daily and without as many issues as we often create.

An Example of this process is grab 3-4 unique small “beads” and drop them into a bucket of sand. Mix the sand up, then using just a small scoop, plastic bags and a scale come up with a strategy on how you can sample the said mix evenly.

Solve that problem and you can have a future in geology but at the same time, you will also be in a better position to understand how Agile + Forecasting actually work.

 

 

Related Posts:

The Unofficial Windows 8 Developer FAQ

Early this week I’ve been talking to a few current and former Microsoft staffers about all things Windows 8. In my discussions I’ve started to gather some gossip in around what happened to Silverlight and lastly the specifics around the DevDiv fall out between Steve Sinofsky and Soma.

Should I share the chat logs it is an entertaining read however what did struck me throughout the conversations was how much positivity Microsoft has been squandering due to petty internal squabbles or “dare not speak of that, for the overlord Sinofsky shall smite thee down for saying the nameless one out loud”.

Today, I’m going to attempt to do something Microsoft staff should have done long ago or didn’t do correctly or simply were held back from doing so. I’m going to release the Unofficial FAQ on “What Just happened” in Microsoft for developer(s) worldwide.

Note: This is all based off internal gossip, second hand information and blah blah, so if you want to call bullshit on the below do so but back it up with specifics on what actually happened – don’t just say “that’s b.s” as we’ll take that as a deflection attempt at setting the record straight.

Ready.. (Remember this is from the perspective of “if I was still a Product Manager at Microsoft positioning not official etc.).

The Unofficial FAQ

Q. Is WPF Dead?

A. Yes and No. Yes WPF as you see it before you is end of life that is to say no more code will be written for the “platform” given Windows 7 and Windows 8 have different DNA going forward. No as in when we decided to move everything over to leaner Windows 8 platform we had to put both Silverlight and WPF on a diet in order to get Mobility parity / compatibility in check. The Upside is we’ve fixed some of the UI rendering issues that have plagued you in the past; the down side is we’ve had to sacrifice features here and there in the process.

 

Q. If I make an Application today in WPF it won’t work in Windows 8 tomorrow.

A. Not correct. Expression Blend uses WPF still in Windows 8, so in a way you’re covered as long as VS2012 and Blend continue to take their cue from the previous XAML Rendering that has been in place since Windows 7. There are certain things you can’t do in Windows 8 going forward though, that is to say new features won’t work in both Windows 7 and Windows 8 for obvious reasons. If they aren’t obvious then …stop coding now.

 

Q. Do I have to learn HTML5 or C++ in Windows 8 now?

A. No. The neat trick here is that we took the body of work found in Silverlight and made it handle the rendering of XAML. Now we didn’t take it as-is we again had to scale it back and use it as a starting point for a reboot of WPF/Silverlight to ensure two things happen going forward. The first is that we have WPF/Silverlight parity issues resolved in terms of performance and developer centric API changes whilst at the same time we had to find a way to make Steve Sinofsky believe that Silverlight was killed off. The last point wasn’t a technical issue it was more of a political one and so in order to help give him the illusion of Silverlight’s death we renamed a few namespaces and adjusted a few features here and there to give the appearance of “new” on the “old”.

 

Q. Why did you change so much in Windows 8 to confuse us all on old vs. new?

A. We had to find a way to put Internet Explorer back into the hands of the masses in a more aggressive manner. In order to facilitate this internal metric we needed to also scale back Silverlight’s popularity given when you think about its future roadmap and Internet Explorer the two will end up competing with one another. Having Internet Explorer start taking over the HTML5 discussion would also help us win hearts and minds with the non-.NET crowd which would then help boost our internal metrics around Linux, Php, Apache and MySQL/Oracle compete (that has often plagued us for many a fiscal year).

Once we’ve placed Internet Explorer onto many devices worldwide we will then ask developers to fork their beloved HTML5 in a way that lets them access Windows 8 further. This in turn will help us regain the lost dominance we once had before all of our Internet Explorer staff left the company to work for Google Chrome. Additionally, it will help us with our many year attempts at attracting more developers to our Windows Server & Tooling business units.

Now to answer your actual question it’s important to know the previous strategy for Internet Explorer as now the problem we face both internally and externally is how we are going to balance Internet Explorer’s future with XAML given the old “Silverlight” concept was directly competing with this strategy. In short we had to make it feel there was a lot of change in the room and decided that letting you believe that what’s really happened is that WPF & Silverlight were merged as one and that Silverlight 5 wasn’t the last release as really Windows 8 is Silverlight 6 Desktop.

Letting you believe that would keep you preoccupied with that branch of thought where what we need you to do is come back to the Internet Explorer way of thinking – there is no plugin only a browser.

Q. So… you saying Windows 8 is really Silverlight 6?

A. Yeah in concept yes. Technically no, but if you take a step back from our bad messaging, public relation screw-ups and lastly our idiotic executive we pretty much did what you asked – we fixed WPF and Silverlight parity & performance and we made it also work on both desktop and mobile. I give you Windows 8.

 

Q. Well ..why didn’t you just say that? Why did you scare us with C++ or HTML5 rhetoric?

A. I have no answer suffice to say there was lots of infighting going on and I don’t see Soma and Sinofsky sharing a beer or two at a BBQ in the near future unless the bottle was broken and one has the other pinned down with a desire to kill..

 

Q. You said mobility and parity are you saying Windows 8 is compatible with Windows Phone?

A. Yes. Windows Phone 7 was kind of a hold our place in the line while we figure out what to do next release. It was badly marketed and in the end we were too late to enter the market – not to mention we weren’t ready to talk about the work we were doing with Windows 8.

Now that we’ve finally hit reset on Windows Phone via our 8.0 releases we’ve now found a way to put the XAML rendering we have in Windows 8 onto the phone. Well to be fair we really kept Silverlight’s DNA alive in both which has now let us enable you to write applications on both platforms via our new upgraded API’s and tooling (again to give the appearance of new).

This is in part why you can’t use Windows Phone 8 code on Windows Phone 7.x compatible devices,  Additionally you would see how we swapped the two out and start to guess what really happened during the Soma vs. Sinofsky fight.

Q. I don’t think that’s technically correct.. if you look at Windows Phone 7 and then look at…

A. I’ma let you finish by stating that the phone may not have changed radically but Windows did that is to say if you were going to drag Silverlight’s work into the new Windows 8 whilst releasing Windows Phone 7 previously then which of the two do you change? The phone or operating system? – Answer is you do both but incrementally.

Q. Hang on so all of Windows 8 is now Silverlight? That doesn’t make sense..

A. No. Windows 8 core is,  (as the messaging and PowerPoint decks say,) new. Now the XAML piece that bolts on top of that core is what I’d call “Silverlight 6” that is it’s all the work that has been done on WPF/Silverlight since their birth converging as one.

Q. Why did Sinofksy and Soma duke it out?

A. It comes back to Sinofsky’s dislike for Silverlight that was in place years before Windows 8. Internally what had happened was the Windows 8 Planning teams felt that Microsoft had lost its way on the importance of web both from a tooling and platform perspective. Silverlight was simply a distraction that got out of control and what they felt was that HTML5 was getting more and more market acceptance. As such it was time to put the genie back in the bottle and double down on Internet Explorer again with an eye this time on integrating the web with the operating system via some minor fork in both JavaScript and HTML5 (eg iecompatiability tag)

This of course didn’t go down well with Developer Division as this in turn meant that they had to scrap all the work done with Silverlight to date! The Silverlight team then went to work proving that both options are still viable and that for XAML, Silverlight would be a better candidate to ensure that path continues to occur.

Essentially it was an internal two horse race for a while with the deciding vote going to Sinofsky. Unfortunately it was an unfair race given his alleged dislike towards Silverlight, so this in turn become a tense standoff between the head of DevDiv and the head of Windows. It’s rumoured that Soma and Steve had a huge falling out over settling old scores and as a result Silverlight was put into a “do not talk about it” status mode.

Despite the executive fallout the Silverlight team (aka XAML team) were moved under the Windows org chart and put to work dragging the old into the new but with a clear direction to forever wipe the name Silverlight from their minds. It’s rumoured that in planning meetings the words compatibility and Silverlight were no-go words.

It’s all gossip in the end, but that’s what’s being said at the local water fountain anyway.

It could explain why Scott Guthrie went over to Azure. It could explain why you see some of the old Silverlight bloodlines talking in the Windows 8 presentations but finally, it could also explain why the “strategy has changed” remark got former Executive Bob Muglia in a whole world of trouble.

Summary

Look. The above could very well be fiction and time will tell exactly what has happened here but the more I think about Windows and it’s Phone counterpart the more I start to think what has really happened is a clean reboot to WPF/Silverlight has occurred for the greater good.

The downside is that we’ve all been preoccupied with the new UI of Windows 8 and lastly the community wanted to know what the future of the brand Silverlight/WPF was per say (this is awkward). Instead of getting actual answers they were given deafening silence and finally, to this day the overall developer relations overall from Microsoft has been both lazy and poorly executed.

What we are seeing is Microsoft power brokers asleep at the helm, specifically their evangelism is dead and lastly their messaging around the transition for Silverlight/WPF has been fumbled to the point where it’s easier now to believe Microsoft has hit “Shift+Delete” on these two products rather than to read the above (too much carnage on the roadmap now).

If Microsoft had of come out and said something to the effect – “Look you asked us to fix WPF and Silverlight. We did that, we came up with a way now that lets you develop for our platform in three ways. The first is C++ if you want deeper access to Windows then we’ve tided up our Com++ API’s to a way that C# developers have found palatable. If you don’t want to do native code then you can build applications like you have done with Silverlight in the past, but the difference is it will now  Windows only (sorry). If you then want to build apps that are cross-platform then again we’ve got HTML5 and Internet Explorer story brewing, whilst it’s important to understand that we will not be looking to expand our developer story beyond Windows anymore (there is a certain amount of control HTML5 will give but we still believe Internet Explorer is a better bet overall).

Then they show a few slides on how you can write-once deploy to both Desktop, Tablet and Mobile via the XAML/HTML5 and C++/C# story then it becomes a bit of a consolidation discussion vs. a “they’ve killed my favourite toy” discussion we see today.

They didn’t do that. That would require actually someone in the company with a backbone or marketing muscle that goes beyond ass kissing to Sinofsky. The problem we have right now ladies in and gents is we are all suffering from Microsoft’s internal bickering and as a result companies are looking to seek alternative to Microsoft for fear that this petty squabbling will continue to spread from not  only the mobility market share losses but to potentially the operating system as well.

Microsoft also has to figure out how to also re-engage their hardware vendors going forward given their failure rates in Windows Phones weren’t profitable for these guys and now with Microsoft Surface sending mixed signals it well has now turned into a bit of a question mark above the companies head around whether it can survive beyond its current dominance of desktop market share.

Inside Microsoft Server share has dropped significantly and it’s why you see a lot of effort in the web platform stack around enticing Php and MySQL folks back to the logo.

The only thing left for Microsoft to control is Office, Desktop and XBOX. Beyond that, they don’t have dominance anymore.

Again someone explain to me why Steve Balmer is good for the company?

 

Related Posts:

Windows Phone 8 is the reset we have to have.

I’ve been reading quite a lot of narrative around Windows Phone 8 and mostly around how existing devices are going miss out on functionality.

Looking at the two phones) in theory there is little stopping existing Windows Phone 7 users from having such features) but in truth I don’t think this was ever a technical discussion.

Windows Phone 8 is the entry point.

I’ve pretty much said a number of times over the past 2 years around how I think Windows Phone 7 will fail with consumers) and to be clear and to the point, it has. Nokia sales are poor, the units adopted vs. shipped are a mathematical failure and lastly the uptake and adoption excitement hasn’t been as attractive as it could have been – despite Nokia’s positive influence in their brilliant marketing blitz.

Bottom line is the Phone itself has and always been a “save my position in line until I’m ready to enter the market” strategy. It had to rely on Silverlight teams work to firm up the UX platform strategy and entice an existing development mindset onto the phone.

The early marketing campaigns were just embarrassing to watch, there was no structure to the developer engagement model(s) and it was very reactive and haphazardly handled.

I stated in 2010 the phone would fail simply because I got a sense this was about to happen, as the more I looked at the future strategies of Microsoft from an insider perspective the more I could see it wasn’t about consumers or developers, it was more about internal staff shuffling and jockeying for power to appear to be solving these problems.

Today, Windows Phone 8 plans have been trickled out, and even as I type this I can’t but help criticize the approach taken during the release keynote – excluding Kevin Gallo, given out of the entire keynote it was one guy’s clarity and approach that provided a sense of confidence behind what was brewing.

That all being said, I’m positive about Windows Phone 8 going forward. I think Microsoft are finally starting to suffocate the internal politics and are starting to firm up a coherent strategy around what they think the UX Platform of the future is likely to be.

The strategy is still a work in progress and despite how polished that the company appear to be around what’s coming up next they are still fumbling their way through the evangelism and marketing rhythms that still have large amounts of work to be done.

Windows Phone 8 is the release we should have had, it’s in many ways like the old historical “service pack that fixed the release” which is commonly associated with Microsoft Windows (ie I won’t
install until they release a service pack mentality).

The phone itself has a lot of potential successful entry points to help kickstart an economy and adoption curve that could definitely, if architected (and I mean a big if!) correctly.

Firstly, the phone finally has a what looks like to be a clear vision around how Enterprise adoption can take hold of the said phone that I’m hoping (yet to clarify this) that Windows 8 tablet(s) can also make use of.

This one small but significant feature is what I think can make the adoption cycles stand out from the rest as given there is so much ratcheted excitement around the idea of having smartphones and devices handling complex business focused solutions, this is the first of a united platform strategy that has not only less friction for developer(s) to adopt but also feels more natural within most organisations (given .NET adoption to date is deeper within enterprise than ever before).

Secondly, the wallet feature is still a bit of a left of center idea around how to commercialize and monetize future solution(s) with regards to the Smartphone/Device market(s). What I mean to say is this is kind of the “Deep Zoom” functionality within Silverlight whereby at first glance you could see usage for it but it really isn’t something that was widely adopted or specifically asked for.

I’m hopeful that this feature will get traction across all device(s) more to the point I am dreaming of the day I can buy my coffee from a cafe via my phone vs having to take out my wallet (given they constantly break my notes into coins or I don’t have actual cash on me when I need a coffee).

The technology for a phone-wallet like approach is in place but it will still take a large amount of maturity from both the developer community and Microsoft to get this into the market in a meaningful way (which I’m sadly skeptical will happen – much like Cardspace days, good idea just bad execution).

Thirdly the NFC/Bluetooth and App to App functionality is quite a powerful little gem when you stop and contemplate its future potential. This one requires some visionary, go on a leap of trust with me ask.

The idea that I can have an application and then “bump uglies” with a fellow phone user to not only get the app i’ve just recommended but also potentially share information on the spot, is something that actually makes sense.

I’ve personally sat in meetings where i’ve watched people fumble around with sharing information or better yet in desperate search for the idea of continuous client whereby sharing amongst many as the user navigates the said data would be quite a powerful communication tool.

This feature I believe will wash over the consumer base with hardly an impact but I do see in the Enterprise space it will definitely have a lot more potential than it has to offer today – provided the phone gets traction, attracts the right designer/developer mindset and lastly can remove all friction roadblocks that may impact its clear line of communication (it’s hard to isolate these given the specifics aren’t clear at the time of writing this).

So it’s a going to be successful right?

I said it has potential and I didn’t say it was going to be successful. There is still some blood in the water around those who own the Windows Phone 7 device today being basically given the “thanks for bleeding on our bleeding edge of discovery”. I don’t think this will be an easy hurdle to jump over and should they succeed it’s only due to the fact that the Phone’s consumer failings are going to ensure this level of distrust / toxic venom isn’t as loud as it could have been.

I think it will also require a lot of strategic and careful evangelism on Microsoft’s part to seed this within all those organisations hanging onto their sharepoint / .net way of life with a death grip.

In order to solve that problem, Microsoft really need to sit down and have a detailed heart to heart with the developer base on what their plans are specifically around WPF/Silverlight/WinForms development today. Kevin Gallo in the Windows Phone 8 presentation actually gave clear guidance on this but I think his message needs to be broadcasted as clearly and cleanly has he gave it.

Kevin in my view should be the one who faces the hordes of Developer(s) out there given Scott Guthrie has been shunted to the geek-celeb fame left. Despite this annoyance that the one guy you’d love to hear the most from (Scott Guthrie) isn’t speaking loudly as you’ve grown acustom to is somewhat of a large mistake on Microsoft developer relations part. None the less they definitely need to give Kevin the stage and make him the consistent face amongst many “who cares who this VP is” Microsoft executive crowd.

In order to win this over they really need to pick a team that can be the consistent personalities, it’s why Robert Scoble got success in the early Microsoft days. He was your trusted camera guy who roamed the halls of redmond giving you insight into what’s being published from the Software factory known as Microsoft.

Microsoft have lost this element of success, they are producing technical solutions that may or may not win hearts & minds but ultimately they aren’t clear on what they want to say about the said solutions. They are preoccupied with letting some random executive get on stage and have his & her say to which you never either see them again or you’re still confused as to who they are and why you should listen to them?

In order to have Windows Phone 8 win the day, they need to really just drive home the message calmly, clearly and in a unified voice that builds trust.

Lastly the entire UX platform strategy is starting to bend inwards, in that they are starting to unite the teams under the one vision which is why I’ll simply leave off with one last ranty thought.

I suffer from bipolar but so does Microsoft marketing, in that their entire website strategy is a confusing mess of stupidity and creates more of a problem than it solves. I truly hope Microsoft abandon the “File-New-Website” approach to messaging Windows 8 and Windows Phone by reversing the engines, that is to say unite the entire vision under just one site.

Don’t let internal politics screw this next 1-2 years up, unite and build or you’re just going to be yet another ongoing punchline to a bad technology joke.

Windows Phone 8 is the reset we have to have simply because it starts to be an additive to a united vision (whether you like it or not).

Related Posts:

Ex-Silverlighters and how they influence the vNext

On the Interwebz, when you stumble your way through the various “Silverlight is dead”-style blog posts, what you will most likely see is the theme around skill transference.
Silverlight advocates of the past, who have now switched over to WinRT, have begun to spread the message that not all is lost. You can take your Silverlight skills to WinRT!

It’s Kool Aid Time: this year’s batch is Raspberry.

When I read posts like these, I simply shake my head and admittedly get a little annoyed at the existence of such posts. More to the point, I’m also getting weary of seeing MVP’s of the Silverlight of yesterday flipping the script and now putting out a public audition for WinRT MVP auditions.

I get the mindset that often goes into these style posts, and in many ways you have to give these folks credit, as they have simply have moved on. Unfortunately like most people inside cubicles around the world, the luxury of riding the new wave(s) is often restricted to a small cluster of adopters and influencers.

You know these people: they are usually the same people on stage at a conference somewhere telling you what you’re doing wrong and how you should adopt vNext tech to do better.

Back to reality.

I’ve been at the birth of a new technology; I’ve been in a team that spent millions on marketing and seeding the new technology to over 6 million .NET devs and around 500 million PC’s worldwide. You could say I’ve seen a lot and learnt a lot from that experience.

The one consistent ingredient to seeding a technology is what we collectively call the “influencer”. The idea is you round up a bunch of Community Leaders, you shower them with Glass Awards, titles like MVP, or at the very least make them feel important or as your “favorite”, and then you get them to tell people your message (as the theory is that this in turn adds authenticity to your message).

When I was an Evangelist, I went from being an unknown non-.NET developer in an Adobe/Macromedia scene, to being suddenly invited to speak at Microsoft Conferences, Twitter Followings, Facebook Friend Requests, Invites to Business Deals/Meetings and so on. You feel as if you’re now the one being dated whilst at the same time you in turn make others feel the same the ripples of influence continue.

That’s how you artificially pump a community up around a technology adoption. There are different flavors to the approach, but ultimately, your job is to become a band manager and not the rock stars (you scale more).

The messaging framework.

When the time comes where you need to broadcast your message to the crowd of followers, your main focus is to ensure you get traction around repeatable messaging. That is to say, you ensure that you all sing from the same hymn sheet and with enough repetition this message will be the consistent soundbyte you hear at a local conference near you.

For example:

  • Silverlight isn’t dead; it will be around for 20 years.
  • You can take your Silverlight skills today and reuse them with Win8 tomorrow, as in the end it’s just XAML and C#, right?
  • And so on..

These are examples of how you frame the conversation to break down resistance, or what Steve Jobs would call the “distortion field”. It’s sneaky, and often if you’re not paying too much attention, it will creep up on you and then you find yourself saying the above as if it became suddenly your idea (kind of a mutated confirmation bias at work?).

Change is the enemy.

That’s how you flip the script; that’s how you get people to stop looking behind and start thinking about what’s coming up. You can shift an entire community from the old to new in under 2-3 years using that formula mixed with enough conference blitz, blog post(s) and so on.

This is, however, all a false sense of change. That is to say at the conference / front lines, it looks as if things are moving forward fast, quick everyone get on the new wave!

At the cubicle level, the environment that when the conference etc. is over and everyone retreats back to their various developer enclosures. They are still likely staring at WinForms, Windows XP, WPF, Silverlight and so on for the next 1-2 years minimum.

This is where the thinking around change truly festers, as now it’s less about having XAML and C# skills but more about how to use them in an upcoming project. The bottom line is if you are writing Silverlight/WPF, the very notion or idea that you can transfer your skills in 2-3 years when Windows 8 dust settles is really pie in the sky broad stroke thinking.

Today, you have to File-New Silverlight/WPF Project, as it’s realistically the environment in which you are likely to get success in this .NET space. You could go down the path of HTML/JS and really get ready for devices of tomorrow, but that’s tomorrow, this is today.

Silverlight is at the end of it’s life, and in turn anything that takes a dependency on it is sure to decay over the next year or so. Windows 8 is not a desktop release; it’s a tablet release. The future around how Windows 8 plays a role in businesses of tomorrow is still a huge unknown.

Microsoft really needs to stop switching gears so fast here. If the future is to gravitate towards the next wave, then fine. Change is good, yet do so in a manner that has clarity attached.

Stop hiding behind the sound bytes of the usual muffin eaters at the same conference(s). Stop just abandoning the toys of today because they aren’t as shiny as the ones you make tomorrow.

Spend more time in the transition or bridging between the old wave and the new wave, whilst lastly settle on a message around how you transfer and not throwaway messaging of “well if you know how to write code you can write better code tomorrow”.

I think it’s clear we all can learn a language or two. That’s not the point, the point is: What incentive do I have to relearn (or go backwards in) in order to move forward?

WinRT is Silverlight 1.1 or 2.0 when it comes to development experiences. Windows Phone 7 Development vs. Windows 8 Development isn’t as clear as it could be. Lastly, if Silverlight has no more releases left in it, then how do other products like Lightswitch, Expression Blend, Visual Studio, etc. get affected by the end of life stigma?

Related Posts:

The mission to land a .NET developer on Jupiter.

image

Ask not what Microsoft can do for you but what you can do for Microsoft. That’s really the inspiring quote that President of the new colonization group – aka Windows  – needs to say to the unwashed masses of tomorrow.

Microsoft is taking on a mission that looks to go beyond the moon, they want to land on Jupiter and it will be done with Apollo. Still confused?

If you’ve not paid attention to all the codenames flying about the place you’d be forgiven to be confused as there’s a space theme happening and with these code names its quite interesting to see how the objectives for the next generation of Microsoft is likely to shape up.

Jupiter is rumored to be the reset button to Windows Presentation Foundation (WPF) and Silverlight. A reset is the latest suspicion as just yesterday I found out that the XAML ethos within Microsoft has been disbanded and set to various corners of the company.  Some went to Internet Explorer team, some went to Windows teams and others went to Google, Amazon and Facebook.

Why disband the teams? It is time for pencils down folks, let us stop piling on code for the existing stuff but now let us set our sights for the future, let’s be bold. Let us be daring. Why land on the moon when you can land on Jupiter floating on a cloud of Azure? (Ok, I lost myself in that metaphor as well).

Ok fine, I have gone through the seven stages of Silverlight/WPF grief and I am at acceptance I think.

The Mission.

In order to better prepare for the mission ahead, let us think about the various things we need to account for prior to launch (September).

Replace Crew Members.

image

Inside Microsoft there is a lot of toxic turmoil going due to internal re-orgs (which is fairly common) that fueled with how the Global Financial Crisis has affected employees etc. it’s no secret that Microsoft are losing some quite influential and dare I say, hard to replace staff to places like Google, Facebook, Amazon and so on. I personally know of three employees who have hated working for Microsoft for quite some time but have been stuck due to housing prices in Redmond etc not being ready enough for a resale – that is – until Google, Adobe, Facebook and soon Amazon have campuses of their own in Seattle.

Now the super geeks have alternative employment options. Microsoft is now on notice, treat me better or I will leave. The later choice has been winning in my opinion and the more the new found employees have sent me messages of "Omg, its way better over here than Microsoft" which has to be salt in some current employee’s wounds whom are likely staring down the barrel of uncertainty in the company given its end of year commitment scoring mixed with the demise of what we used to call the Silverlight/WPF & Blend ethos. What to do!.

Reaching Parity. 

image

A gentleman and fellow .NET scholar Jose has done the best he could in reverse engineering Direct UI (rumored to be the leaked incarnation of Jupiter). He has some insights that are both great and disappointing at the same time. The great part is it could very well be the next iteration of what has to come in the landscape of C# and XAML for tomorrow’s UX Pioneers.

The downside is its 3-5 or maybe more steps backwards in the current feature parity you have all eagerly waited for over the past 4 years. There are some fundamentals in the room whilst there are concerns around some of the other features that may or may not make the cut for version one.

If I know Microsoft and I like to think I do, this is likely to be yet another one of those traditional "version 1" moments whereby the team(s) behind the product eventually stumble across the finish line, exhausted but barely breathing enough to shout "Give me feedback on what you want in version 2, it will be better I promise" followed by some metaphor about how it’s a marathon and not sprint to the finish line (We got great mileage out of that with Silverlight and I dare say you could get a few more products out of it yet).

The tooling is likely to be not in place during this version 1 lifecycle as my sources tell me that the Blend Team aren’t cranking out the vNext improved world of Microsoft. I know Steve Sinofsky has had a few ambitions about what the Tooling should look like in the perfect world of Windows vNext frontier and I am guessing he did not play well with others in the Devdiv team(s) to share such ambitions.

That being said, either there is a skunk works tooling team hidden in some random building in Microsoft that others do not know about or the tooling story behind this next frontier is unlikely to be in place before Sept or for whenever this next version of our beloved Silverlight/WPF ethos occurs.
What I mean to say is welcome all to Microsoft 2005. Hold onto your Winforms or ASP.NET MVC  for a little bit longer and for those of you in Silverlight/WPF investment land(s) – try to not focus on the future but the now (best to keep your code base as lean as possible and not to tightly wound in client-side logic).

Put vital organs into Escrow.

image

Microsoft are quick to throw technology at a problem first and then ponder as to why the problem existed. I’ve often personally seen strategies – wait, that’s not correct, strategy requires forward thinking – tactical decisions (better) made around trying to grow developer audiences.

The assumption are

"ok, we’re not making our tech palatable enough, lets steal stuff from Ruby On Rails, Apple or Oracle to make it better".

The absolute harsh reality is often a lot of non-Microsoft customer(s) etc. just don’t like Microsoft (Ever liked a girl/guy and they don’t like you back? You try changing your clothes, hair, car etc. and still nothing. Welcome to the Microsoft Developer outreach program, you will fit right in).

The other side of this coin I guess is those of you who adore Microsoft for what they are. You spend thousands of your own dollars to go to various events to listen to Microsoft confuse the absolute crap out of you. The problem is lately, they seem to be a company you just cannot bet on for the future.

Grandiose plans to land on Jupiter may be bold, daring and exciting but is it dependable? Can this company commit to a master plan and is this a plan or just a tactical political brain dump mixed with a lot of Microsoft experimentation.

Is it a case now of not waiting for the next Service Pack but now waiting to see if a product can get past version 3 and 5 before you really consider it as a viable option of the future?

In order to prepare for this next mission, someone has to donate some good will to the fans of Microsoft technology. That means you cannot stick to the ye olde "need to know information" mentality. You got to bring your roadmap(s) for the future and you got to show us that you’re telling the truth that you want to aim for Jupiter and not some closer planet or worse – the unknown void beyond Jupiter.

Commit and stop being assclowns.

image

Commit to us so that we may commit to you. No more lies, No more "I’ve got a secret, can you guess!" and lastly no more internal political child play spilling over and into the blogosphere. It’s time to be a big boy company and use big boy strategies with big boy plans mixed with a lot of big girl personality (somehow that did the ladies no favors).

If we are to take on this mission, it’s time for a smarter playbook around transparency and if Steve Sinofsky is willing to bring the "come to Jesus" moment for the company around consolidating the entire product lines into a consistent continuous experience across all devices with a developer/designer experience to boot. Great, I personally will print out a t-shirt that says "I’m back in team Steve" (heh my old team inside Microsoft was called Team Steve…Steve the manager though was a arrogant jerk, different story, different time).

Right now its just a case of me holding up a really sick puppy that others have kicked and telling you all about the neglect its owners have given it. (If I quote that metaphor I was given last night by a friend).

Related Posts:

The rise and fall of Microsoft’s UX platform – Part 2

Tribes are something we humans seem to never quite shake off and will often seek out mini tribe clusters in everything we do. If you’re into cars, you will typically find a club or social arena where others like you dwell, same with chess, fishing, running, riding bikes etc. pick your hobby and chances are there are others like you surrounding you.

This primitive trait is consistent in technology today, if you are a hardcore Adobe Flash developer you’ll defiantly be hanging out in a spot where others like you hang. If WPF is your cup of tea, you’ll do the same whether it be online or offline. It’s how we learn, communicate and develop our careers into new areas of expertise and it something large corporations know on some level that this is vital to the future success of the company in questions future.

In this second part to my coverage of Microsoft UX Platform state of play, I’m going to zero in on the first generation of tribal elders – Evangelists. As its important to get this part out of the way as in Part 3, I’ll be talking more about how the Design discussion inside Microsoft has been abandoned – or should I simply say, shut down / suspended.

Every tribe pedigree needs an evangelist.

image

This tribal mentality is why Evangelism is commercially sponsored as by hiring a bunch of people who are passionate about sharing and asking them to go off and spread the gospel of the respective companies technology is part of the overall marketing via influence. Evangelism isn’t a sales role, it’s in fact a marketing role. A good evangelist is someone who can market a product from a basis of trust, meaning they actually believe in what they are talking to others about – thus why Evangelism and religion often are similar in DNA.

The downside with Microsoft Evangelism is that recently I think it’s lost its way, that somehow it’s gotten into this rut of now being metric focused evangelism. It’s now become obvious that depending on each fiscal year the evangelism team(s) within Microsoft will often suddenly switch gears and start talking about a completely different product than they would have before – simply because it’s new and has to be seeded.

The metric system suffocates evangelism.

image

Let me explain what I mean by that having been both a Microsoft Evangelist and Product Manager.

Firstly, as a Product Manager the goal for us as a team was to find Evangelist to flood the market in and around what’s coming up and why it’s important everyone in the field as we called it, paid full attention. Asking the field to do this without a metric attached was simply a weak posture for us as a team to have, as it meant that any who did evangelize our products did so for free, but on the flip side when it came to these said Evangelists handing in their homework for the year (i.e. the fiscal metrics and commitments) they could really only use this kind of work stream as "extra credit".

Extra credit was the carrot you would dangle, but the harsh reality is that being an Evangelist you have basically nearly every team inside Microsoft asking the same thing of you "Please Evangelize this new thing". This in turn would give you some interesting and often absurd metrics to go after when it came to figuring out what you as an Evangelist was about to do for the year.

For example, one year I picked the metric "Grow Silverlight by 20% in the community" and committed to my manager on this. This was essentially me gaming the metrics as in truth, if others world-wide did their jobs I’d get a 20% bump in developer share simply by turning up to work – so it was a low hanging metric. I also had to pick a harder metric like find "5x Silverlight case studies" back when Silverlight was just given its name let alone had teeth around being an actual product. It was an almost impossible metric to have, and so it mean my entire year would be focused on finding or enticing someone in the community to not only adopt Silverlight but make a professional product out of it all within a fiscal year.

I look back on my Evangelism metrics and almost laugh at how easy they were compared to being a Product Manager where the stakes were now higher, but my point is Evangelism lost its way in that it has become metric focused and less on well natural Evangelism?

Product Team vs. Evangelist

image

It’s not the said Evangelists fault either – actually they are the innocent ones if you ask me – it’s really more the Product Team(s) in question fault (that and the DPE overlords). I say this, as being in a Product Team we used to set metrics for DPE to go off and fight knowing full well they’d either make them with next to no effort or there was no way in hell they could even come close to the benchmark’s we’d set for them (as we’d set the benchmarks high knowing full well our goal metric was much lower, but felt if we gave them the said metric they’d back off the pedal as soon as they hit it? – reverse psychology kind of thing).

This doesn’t sound bad if it’s a 1:1 relationship between an Evangelist and Product Team? If only that were a possibility, the reality is that an Evangelist gets this same kind of dosage from multiple product teams so in this in turn creates the inherit flaw in the overall system – as if the Evangelist is smart, it’s now a case of gaming the metrics to give them ticks in the boxes they need to in turn focus on what they originally were going to do anyway? evangelize a product they have a strong preference / interest behind?.

Confused? don’t be, but watch a TV series called "The Wire" and the above will start to make more sense, as in the end the overall internal culture within Microsoft is pretty much the same – figure out how to game the metric system(s) internally first, figure out how to do what’s actually important to you second as this will ensure you survive the mid and end of year reviews – as this is where the stupidity of the overall system really comes home to roost (read this article for a better explanation of how retarded this is).

Sponsoring an Evangelist vs. Hiring one.

image

Evangelism shouldn’t be about this? it should really be about finding individuals for a given technology set and hiring them or even sponsoring them to evangelize the said topic. Microsoft and other companies realistically shouldn’t make these individuals full time staff? if you ask me and you do simply by reading this post, Evangelist should be put on a 2xYear contract that has very basic level of metrics that are focused on gauging enthusiasm for the said technology and less on faking it. Once the 2year is up, go find others who are then interested in the next wave of technology and so on…

That’s at the subsidiary or geo-location level. The product team’s in question should then be focused on creating street evangelism at the core? in that how do you arm anyone who’s both Microsoft and non-Microsoft with both information, presentation materials and demos etc. so they can in turn evangelize on your behalf? As out of that pool you can then find really good ones to sponsor!

It’s more of a natural evolution, it gets rid of the fat cats who are given this role of a life time and lastly it insures a fresh perspective is put into a community that retains both trust and enthusiasm.

How does this relate to UX Platform?

image

Evangelism is the core of what will make WPF/Silverlight and more importantly design audiences pay attention to the future of this product. It needs to be the machine that sustains the said technology within their respective communities. It also needs to be that area of influence and advocacy as well, as having an Evangelist you can reach out to and discuss things is important – as these are the individuals who should know how to find ways to convince the Product Team(s) on how important xyz feature request or bug is!

Majority of evangelism inside Microsoft has been abandoned and is reduced to random twitter/blog conversations that in truth hold little weight. MSDN Blogs are an abundance of noise and at times Evangelists are more preoccupied nowadays at being geek-famous then they are helping others figure out why xyz product is a good/bad bet!.

Evangelism is a contact sport, individuals need to be on planes/buses etc all heading to technology events and cubicles around the country, informing a variety of decision makers of the said technology they felt passionate about – whether it’s showing Silverlight/WPF to a CIO, Creative Director, Developer, Receptionist whatever…

This fiscal year, you’re going to see most of the Evangelist focus in around 2 main products, Windows Phone 7, Windows Azure and lastly Internet Explorer 9 (with a focus on Php compete). I dare you to find an Evangelist who talks about WPF 24/7 as if it was their only metric?

Scott Out

Related Posts: