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:

Microsoft: Stop the shiny object syndrome.

image It’s soon time for yet another product roll out, you’re in the marketing team and faced with a urgent issue – we need example demos to excite the developer base?. Like most other Product Managers you look for the nearest and latest vendor, drop a few hundred thousand in their laps and say the words “Can you make it WoW” and then proceed to wait. The agency at times will come back with a result that's either really fantastic or really short on execution – in my exp I've noticed more of the later. You then take that said demo, slap on the Microsoft branding on it then send it out into the wild as your own – don’t ask, don’t tell is your response on “how”. Those of you who kind of know how the behind the scenes works on these kind of things are ok with it, as its part of the machine in which a market gets seeded with the said product. Those of you who look at the new shiny toy on offer are excited and are waiting for the final result. Waiting… waiting…and more waiting but it doesn’t often come. You probably didn’t get the meme on why end of year reviews come internally come and go which in turn means that all work created in the first fiscal cannot be re-echoed in the second fiscal – so yes, the cool little agency built concept gets thrown out with the previous fiscals trash. This is how Microsoft markets its products daily ranging from websites, applications through to random programs that are meant to simplify your world into a few bullet points or less. The reality is this, it gets to a point where you simply just roll your eyes at every new announcement and essentially approach it with an element of contempt or cynicism. To be fair, you’re suffering from the old “fool me once, shame on you; fool me twice shame on me” effect. Microsoft really needs to knock it off, its getting somewhat annoying for the customer base. At first I just ignored this overall effect as well I was like many part of the said machine. Now being on the outside of Microsoft and hanging out with the “customers” and “developers” I can see the negative effects it has on the perception of Microsoft today first hand. I almost want to grab Steve Ballmer and make him sit down in frontline cubicles incognito – like that show where boss’s go undercover in their companies – and get him to see the negative impacts these poorly executed marketing strategies are having. Disagree? how about this, what if someone were to create a timeline of all the new example apps and promises Microsoft has made in the last 5 years. Then if we were to look at the ones that have sustained beyond a fiscal year, how many do you think would be left? Microsoft needs to re-focus, re-energize and re-think their current strategies as I think its getting to the point now where there is more noise less signal. I should know as I make a tidy profit right now decoding Microsoft to customers and once they get over the initial shock comes anger then acceptance.
example: Customer: “Why didn’t the team do xyz” Me: “Because the other team in the org didn’t like it so they had to work around the said team. It’s not an external factor, just an internal political thing” Customer: “but i loved it!” Me: “Yeah, it was a good idea, anyway..”
Think I'm wrong? ask Microsoft how its going with the design audience discussions? Ask the Windows team what they think of WPF / Silverlight and how HTML5 will play a role? you’ll be quite surprised at the answers of these two questions. I call this “the shiny object syndrome” (ie once the shine leaves or it gets boring, you’re onto the next one and so on like its seasonal fashion)

Related Posts:

Silverlight Installation / Preloader Experience – BarnesStyle.

When I was in the Silverlight Product team, I had many visions of where I wanted to take the product beyond where some of my co-team mates were comfortable with (slow painful incremental growth in terms of change). One of the main focal areas I wanted to fix, was the overall Installation and Preloading Experiences for Silverlight. In that, i think it’s essentially the like the IRAQ war of software (i.e. meaning, its so far embedded now that fixing it is going to take generations of change). Here is how I’d love to see it change course.

Change the way Silverlight Boostraps.

If you new-up a project within VisualStudio or Expression Blend, you will effectively get an automated boostrapped solution, meaning inside your main Silverlight project via App.xaml.cs for example, you should see something like this:


        private void Application_Startup(object sender, StartupEventArgs e)
        {
            this.RootVisual = new MainPage();
        }	

What effectively is happening here is that Application Class is the default root for Silverlight and when you inject “MainPage()” into the RootVisual its pretty much the same as if you went:

	UserControl MyUserControl = new UserControl();
	MyUserControl.Content = new MainPage();
What I would love to see firstly is a separate Project called “BootStrapper” created as part of the new-up Project template – that or it prompts you to create one much like it does at the moment with ASP.NET Website (More on that below) The point is, it draws the developers around the worlds attention to the fact that the Spinning Balls are really bad idea to hand out to public facing websites.
Why are they bad you may ask?
It has to do with the way end users approach your experience and assuming they have Silverlight in place, it’s important that you give the end users some clues as to what they are loading and what is the likely time or more to the point is this going to take forever? Impatience is a virtue all users have so its going to be very hit or miss depending on what the context of your application expected usage is and lastly the end users broadband connection and tolerance for plug-in experiences in general (I counted like 5 variables of failure that can occur per user when I did some research on this back at Microsoft). The rotating balls don’t offer much value, there’s nothing to keep you entertained or interested in the experience other than balls rotating and some % of where I'm at.

Soliciting the end users.

Just like a hooker, your job is to entice the person before you to take faith in the hopeful reality that this will be an experience to remember (ok that analogy just took a nose dive in very bad way). Your job is to firstly convince the end user to install Silverlight should it not be in place and secondly and just as importantly your job is to convince the end user that sticking around is also equally important SHOULD they have the installation in place of Silverlight. You first need to have inside your webpage “You don’t have Silverlight, go get it and here’s what you will get in return” vs the dreaded “Get Silverlight” medallion.
To illustrate this importance; when I was at Microsoft we noticed on Microsoft properties an increase in installation of Silverlight when we actively went out of our way to solicit end users to Install vs the default “Get Silverlight” medallion – information is power, users want power just as much as the next person, power of choice.
Once they jump through that hurdle, you need to again keep their attention on you and try and convince them to avoid the temptation of alt-tabing and twittering etc while they wait – think of all end users as a 3 year old child's attention span and you will be better positioned for success here. You need to create a preloading experience that is as helpful and joyful as the intended experience you’ve just spent $thousands of dollars creating (why drop the ball at the last yard! – for you NFL fans) In this you create something that is part of the theme or take a page out of MAXIS Games where you insert random crap that’s quite funny – example:
“…Initializing launch codes for anti-nuclear attack" ”…Growing Llamas feet so it can walk…” ”…Handing a Monkey a nail gun for entertainment value..”
Keep them informed but not too informed as you want to balance out keeping them informed whilst not making them aware of “time” as that is the enemy, “time”. I’ve even lied once due to a latency hit that I couldn’t avoid, so I put in the initializing splash screen “Checking Security Credentials”  (Given I found end users were more likely to wait for a serious thing like Security to validate vs.. staring at rotating balls of stupidity). That all aside, this is the “Why” both Preloading/Splash Screens and Install Templates are critical for SIlverlight’s future success as this in turn is what end users judge the technology on (Do i need to bring up the “Skip Intro” debacle of the early 2000’s where Flash Intros were all the rage and bad bad experiences with Flash occurred as a result).

First: Install Templates.

Imagine if you will, you new-up a Silverlight Project. You’re asked obviously what type of project you require and then in the next step it prompts you with the below: image You then choose your Install Template and it can be both an Online or Local template (more on Silverlight Marketplace potential later). Once you select the template, this then will take a vanilla themed experience and injects in into your MySilverlightProject.BooStrapper project. You as a developer and/or designer can then focus on swapping out these assets and messaging to suite your intended experience context for your brand etc (much like the larger brands have done with Silverlight today – e.g. MSNBC etc).

Second: Preloaders/Splash Screens.

Same approach as the Install Templates, except it automatically attaches the intended original Silverlight project you wanted as being the “First” to load (but with enough breadcrumbs in code that you can also swap this out should you choose to). image Once you have gone through these three templates, your solution should have 3 projects in place.
  • Project1 – MyProject.Silverlight.BootStrapper This project’s job is to handle the preloading of Project2, as in order to preload you first have to have a project that is very small in size for Silverlight to load, then once it’s loaded, Silverlight can then automatically bring down the .XAP file (secondary but main project) in a more controlled and aesthetically pleasing manner.
  • Project2 – MyProject.Silverlight This is the project you originally intended to use, exact same structure(s) as you have today in Silverlight.
  • Project3 – MyProject.Silverlight.WebThis is the project which is in place today in terms of automatically generating the said ASP.NET / HTML project code you need to test with. Except, it also injects a bunch of files/scripts which handle the “Does the end user have Silverlight?" which then based on a Boolean result reacts and produces a prompt that goes beyond the “Get Silverlight” medallion.

The Marketplace.

Ok, you can technically write a VS Template or WPF/WinForms app today do the above without having to bug Microsoft (i’ve started and stopped 3 times – stopping only due to boredom or busy). Why this needs to come from Microsoft is simply put – Marketplace. We should have a concept where we can buy/sell Themes, Behaviors, Preloaders and Install Templates etc from one another whether it be by cash, XBOX Live Points or whatever currency you want to barter with. Point is, we should foster more of an exchange based community that is more consolidated and branded under a single point of entry for both Silverlight and Expression (say NO to Expression and Silverlight/WPF segregation– designer / developers need to cross-pollinate). I’d love to see a similar concept as preloaders.net and scalenine.com for the Silverlight community only less fragmented and one that has a much smoother tooling integration experience (I’ll come back and work at Microsoft if need be to make this happen).

Summary.

I’d like to see us as a community leap frog the Flash community in terms of handling these two experiences. As the below illustration highlights the fatigue gates associated with any plug-in experience. image Why leap frog Flash? it’s nothing to do with their community it has to do with “learning from their mistakes” as at the moment Flash folks have figured this out and have a bunch of strategies (whilst fragmented) in place to fix this broken situation. We on the other hand are like the retarded step-child twice removed when it comes to picking up on this, and it erks…ERKS..me (for I am ERKED) to see the rotating splash balls and Get Silverlight Medallion – which incidentally were just a placeholder animations and images that someone forgot to come back and replace. We fix this we drive Silverlight installation experiences up by minimum 20% per month, I guarantee you that much. As it will lesson majority friction associated with Silverlight and drive a much more deeper awareness of the product amongst consumers who aren’t reading the blogsphere for “What is Silverlight?” The “What Is Silverlight” is still a question being asked a lot today. It’s one thing to answer that, but it’s another to attach friction to and users experience of the said product once they’ve found a satisfactory answer to that question with bad preloading/installation experiences – OUTSIDE – of Silverlight today. This is both a Microsoft and Community problem that needs immediate resolution. Call to Action: Contact Microsoft and hammer away at this issue, get more of a community groundswell behind it so that we can all move forward. I remember inside the team, community reaction was one thing we often would use to trigger emails with one another on why change is important. Vote here so this can be escalated to the Silverlight Feature planning team! - : http://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions/suggestions/632735-silverlight-installation-and-preloader-experience-

Related Posts:

Do we have one site too many?

In the past month if you’ve interacted with via twitter, email, facebook etc you’ve probably been asked by me “How many sites do you visit a week”.

I only ask is that I've got this theory or ill feeling that we at Microsoft are making far too many websites than we need to, but at this point it’s just a theory (i have no evidence or data to substantiate this theory either)

I’ve created some artist mockups of where I’d love to one day position Microsoft and the way in which we interact with the community  and potential customers. It’s an ongoing project, one that I’m doing to provoke some new thinking inside the company, but first I at times need to pitch what I think the initial problem is. Have a look and tell me if you agree or disagree?

Slide 1 – What do all these sites have in common?

image

Slide 2 – They can be quite frustrating to discover and use?

image

Slide 3 – They require unnecessary persistence.

image

Slide 4 – They echo the same data at times ..at a rate that makes your head spin.

image

Slide 5 – They require you to think in multiple personalities.

image 

Slide 6 – They all try and be different, but the end user is usually the same.

image

That’s the theory anyway. What do you think?

Related Posts:

Apple vs Microsoft – Web Usability.

Microsoft vs AppleI recently found a site via a colleague today, which basically outlines the way in which we approach our customers/consumers via the web compared to Apple.com

[ Click here to view the post ]

At first I just simply groaned, and waited for the beating, as I know internally I've moaned about our approach, so i was expecting to see us slaughtered in a pro-Apple fashion. The Author however, did approach the post from an unbiased perspective in my opinion, and i don’t see anything outrageous about the post (other than the stupidity in the comments in parts).

I happen to agree with the majority of the points and have arrived in many ways at similar conclusions to the author.

For me, I recently (early this month) took ownership of our Microsoft.com/Silverlight site (specifically the User Experience) and it’s a site I've agonized over for weeks on how to fix. The current version of the site is not one we as a team are content or happy with. We can do better, and we will, but its posts like this that help me navigate the best approach with regards to user experience and information architecture.

Silverlight is one of these products that we are keen to simplify more in terms of understanding of what it is, why its important you invest in and lastly what the possibilities are in using it.

Keep it Simple, Don’t make me think – are the mantra for my next version of the site and it was blog posts like the one mentioned that simply help.

I love this kind of open raw feedback, we need to see more of it.

Send me your vision of how we should build Microsoft.com 2.0, i.e. what is it we can do better, what we aren’t doing, lets paint a vision of the future? If you feel in the mood to redesign the sites and want to pitch your design to that team, PLEASE DO SO.. I will walk your pitch to the team(s) myself personally.

Related Posts: