Windows Phone 7 – A phone without individuality and coming soon music?

Microsoft has announced the Windows Phone 7 officially, it’s the coming out party for this late to the market device. I’m on record saying that I think it’s a “meh” release, in that its rushed and not cleanly delivered as it could of been had there more time, but given SteveB underestimated the true potential the iPhone had on the market – here we are, today, new phone.

The phone itself technically has a lot of potential in terms of what i can and can’t do, I for one am going to buy one because this is the space I dwell in. As for consumers, i don’t see it being a rush to buy thing given a few issues with the phone that i’ve noticed already.

image

The first issue is lack of individuality, as i scope out the various hardware manufacturers idea of what their Windows Phone 7 world is going to look like there is clearly a lack of remarkable differentiation between the said devices. In that so far, there’s not a lot of personality to the phones other than some minor slide-outs (some opt for physical keyboards etc) but overall it seems very lack luster in range.

Having not a lot of sizzle outside the operating system to me is an early sign of caution, as phones are really part function but also equally part form (it’s a fashion item as well as a worker focused technology).

The most important aspect that I felt the phone has definitely come up short on is the lack of Zune subscription world wide. I’ve got a Zune subscription in the US via my US Credit Card, so for me I’ve been leeching off this cheap approach to solving my music issues. I pay approx $15 USD a month or so, and I get all the music i want for free via my Zune Device and Desktop (It’s DRM and expires in 3 months unless i reconnect to the Zune Marketplace with a content sync).

Not having this subscription channel straight out of the box basically makes the phone part-brain dead as for me this and XBOX-lite games are probably the two focal points of differentiators for “reasons to ditch Andriod/iPhone” for average consumer.

Why is Zune Music subscription important to Windows Phone 7

It firstly seeds an entrenched market, iTunes currently holds supremacy over our music purchases online, and having to pay $2 per song basically creates a polarizing effect on individuals as on one hand buying the album is cheaper than a physical one in stores but on the other hand why buy when you can pirate?

Piracy is an issue that has a lot of tentacles but one component of piracy is lack of access to a credit card. I mean, take an average 15 year old kid who no doubt is into music to get them through puberty blues. These kids don’t have access to credit cards all the time, so the moment they need to buy a song or two, its a case of bugging parents for the said funds. I’d wager most parents give the kid the brush off and so they are left to pirating off their friends etc for the said songs.

Zune subscription however allows parents to buy a monthly/yearly subscription model. This in turn can then be a gift based approach which in turn can also mean the whole house not just the one child can access the said subscription.

It gets better, having this one child gain access to a library of music is one thing but then freely being able to send the said music selection to other friends is also a potential body punch to piracy amongst this said target audience. It also creates a natural evangelism for Zune subscription and if marketed and managed well it basically can put some much needed pressure on Apple iTunes etc, point is this story can be told in a number of different ways all pointing towards an interesting differentiation between Apple and Microsoft.

Combine the subscription model with Microsoft Points (ie XBOX Live etc) and you also have an abstracted currency exchange that can mask users from emotive based purchasing (who knows how much 923pts translates to in real dollar terms off the top of their heads!)

image

Zune needs to go global first time out, it sends a strong message about being feature complete for version 1. Failing to do so and via the usual trickle in late to the party progressive disclosure marketing – aka Microsoft Marketing 101 – simply fails to gain awareness as much as it could or should.

image

Related Posts:

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

I am a little shocked at how fast my tweets spread across the interweb this week regarding my thoughts on HTML5, Silverlight and WPF. I’m not shocked by how fast people picked it up, or the fact that a well-respected journalist like Tim Anderson was able to take these tweets and built out quite a comprehensive story around it that actually fitted to the context of my tweets – I love Tim’s work, as he is one of the few journalist online that actually has integrity.

What shocked me is how arrogant Microsoft staff was to the reaction or the sense of false belief that this was all some secret that everyone outside of Microsoft wasn’t privy to? Again, take a few tweets piece them together and a journalist was able to weave these threads into a pretty informed article or two around it all. I know Mary Jo from ZDNet has similar notes and so on.

Taking a step back understand why the information is just sitting there waiting for a spark or two to ignite it and it has to do with a number of reasons but all center around one theme – internal culture.

Inside Microsoft headquarters most will agree that the company is a very top-down driven organizations in that executives make micro level decisions on behalf of people who were hired to make these level of decisions simply because it’s a combination of politics, trust or what I commonly call “Geek Fame” (being seen to being the one in the know / seat of power). It’s a flawed system and as a result generates a lot of frustration on a variety levels to the point where gossip occurs I think in a more widespread fashion as having knowledge is power.

I draw your attention to this culture and others have as well countless amounts of times, simply to highlight at how well known the HTML5 is the future is within the company – so for Microsoft to establish a “Let’s interview and interrogate all who knew Scott that we know about” is definitely a fool’s errand and classic mistake made.

Why did I do it?

Having said all of this, here is the reason why I said the things I said. It wasn’t about grinding an axe with an executive or ex-manager here and there; it wasn’t about getting a sense of self-inflated power / geek fame it was purely because I felt this conversation needed to be had more broadly and more openly beyond internal politics within the company.

The future of .NET is an important issue that we should all have say in, and I make of point of stating why – Up until now, .NET has been a mixed bag of weird decisions driven either by Scott Guthrie’s org down or via some random fiscally focused team that wants to solve some random metric that in the end has no real sense of purpose other than to look like it’s solving a problem and less solving one.

I say this as my professional career within Microsoft has been both product management and street level evangelism and I see massive disconnects daily between what people inside corp believe to be true and what is actually occurring at the street / cubicle level – massive disconnects. I’m not filled with a sense of arrogant belief that I’m the chosen one to bring about this connection; I’ve tried and failed many times at this problem myself. I am however someone who is indifferent to pissing Microsoft off by exposing this upcoming flawed approach to technology futures to the wider community for further discussion. I’m in a position of knowledge and I could have used this to my own personal advantage. I didn’t, instead of just tipped what I knew onto twitter along with some silent blessings from folks within Microsoft – which came with a cautionary “If you do this, it will help but you will be alone and they’ll attack you from all sides once it happens”.

What did I say?

Everything I’ve said isn’t a massive shock to the core of most out there, in that its pretty well known and established that the Windows Team(s) aren’t a fan of managed code in the wild and as a result there has always been this kind of gang / faction warfare between Developer Division and the Windows Organization. As the reality is, Windows is a titan inside Microsoft given it’s the flagship money earner and as a result they kind of a have this sense of ruling power over many other teams – rainbows and all things “let’s work in harmony” PR aside, deep down that’s basically it in a nutshell.

Silverlight and WPF are something in which a lot of teams internally just aren’t fans of and has a variety of reasons attached but the main one that used to piss the Window’s teams off was that the notion that the CLR should be cross-platform is in many ways an attack point on Windows adoption – furthermore it’s pretty well known that Bill Gates himself allegedly said in a meeting regarding Silverlight as being “the fuckyou windows product” (I wasn’t in that meeting myself, but it’s a story I’ve heard told many times).

The skirmishes between these two org tree’s is pretty common and I’ve seen some of the effects first hand myself, overall though what I am seeing today is that WPF has lost the support it could have had from the start in favor of Silverlight. This in turn has put Silverlight out in front as the preferred UX option in the .NET stack but the problem with Silverlight is that it has a limited amount of features that most dev’s want and furthermore it’s still being plagued with issues around ubiquity (random stats announcements aside, it’s having trouble getting to the magic 70%).

WPF is dead

WPF however has more ubiquity than Silverlight today, it’s got approx. 70%+ ubiquity in Windows based machines and furthermore it’s gotten deeper traction when it comes to Independent Software Vendors (ISV’s) so it presents quite a complex problem in around investment and it’s overall future.

On one hand, it’s pretty widely known within the company that WPF has been ear marked for death for quite some time and had it not had such prolific ubiquity or ISV’s that build software used by many on it (Autodesk 3DSMAX, Visual Studio, Expression etc) it would have been taken out back and shot long ago. It simply is too hard to kill, so the only way Microsoft to date knows how is to either spend majority of its focus on convincing developers that Silverlight is the better option and/or reduce the noise around WPF altogether hoping that others will pick up on the subtle tones that it’s better you don’t adopt but under the Smokey hazed veil of the a-typical response “It depends”.

WPF has no investment, it’s kept together by a skeleton crew and its evangelism / community efforts have little to no funding attached to it. It’s dead, the question now is how is the corpse going to be buried and no amount of cheer leading will change that outcome in the near future.

HTML5 is the future.

Given Silverlight is the preferred platform going forward next comes the discussion around how the web applications of today can be transformed into desktop applications of tomorrow. Rich Internet Applications is a fad, but it does present an interesting question around the role an operating system plays in both start-ups and enterprises of tomorrow – especially given the cloud is being positioned in the market as being the software of tomorrow’s future.

Plug-ins though haven’t had a great run in the past few years, given Apple’s recent boycott it simply presented an ideal opportunity for the Windows team to come out from within their respective development caves to announce that maybe, just maybe they can regain some lost footing in the application development space by meeting HTML5 half-way.

What if, you could take JavaScript and make it faster and easier to develop against whilst at the same time leveraging a basic UX language like HTML5/CSS and in turn create desktop applications? It can be done and if you were to bake in specific API’s within Internet Explorer itself, it can also provide you capabilities to ensure that Windows is a chosen platform of the future especially given it has proven time and time again that it can resell itself in rapid succession (ie: see Windows 7 sales).

You get ubiquity, you get millions more developers beyond your 6million+ saturation levels and lastly you can potentially generate much easier sales beyond what you have today around tooling.

It sounds really good on paper but it’s filled with flaws, irresponsibility and had this been strategic play vs. tactical it could be great. The reality is, Microsoft has a limited vision when it comes to big bets and rarely does it go beyond 1 or 2 fiscal years.

I’m not being bitter or venom filled in my response here, I’m just highlighting what others have said and have seen (including myself) in around where this is all heading.

If you have ever been inside Microsoft planning meetings for products, you will notice a common thread and that is no real strategy is in place its very tactical most of the time – agility is good, but where are you heading tomorrow is the question that often gets ignored or left unanswered.

Knowing this, knowing the culture and behavior models within the company I simply look at this overall discussion and simply feel the need to speak up and say “hey, this sux, because it will impact a generation of developers down the road and you are very dangerous now Microsoft, you really need to slow down a bit and think for a change”.

HTML5 and Silverlight can’t co-exist within the company and no matter how many blog posts on “It depends” you produce, customers want answers that are direct and to the point – even if they don’t agree with you, but knowing where you stand is important.

I’m simply about highlighting the disconnect here and if the Windows 8 / IE teams of today think that Silverlight / WPF is something they can deprecate because they dislike people in DevDiv or its current model then think again, as this is one of those rare moments in time where you have a hung jury in terms of which of the two is really the best bet.

Summary

Microsoft executives can call for heads on who leaked what all they like, they won’t get an accurate answer to these questions here as in the end everybody knows about the on goings of Windows 8 teams future plans, the reason being is the staff below the executives are frustrated and in turn staff are looking for ways to express this frustration beyond internal discussion lists.

After posting my tweets, I’ve gotten more inside information that I’ve ever gotten from staff anonymously of course.

If Microsoft truly wants to beat their competitors and raise an army of happy developers across the globe, they need to stop celebrating mediocrity within, reduce the churn of having top-down politics and lastly stick behind a product through the good and bad times whilst also keeping their eye on the ball beyond 1x fiscal year.

Evangelism isn’t working as it once used to, the community/customers are confused daily in around what’s new inside Microsoft and all they really want from the company is some straight answers that don’t involve the words “It Depends”.

This in turn comes back to the various incentive programs within Microsoft as once you have a large number of over-achievers / smart people being given skewed metrics they in turn game the system for either career power or money? This is how the machine works internally but externally its exactly why you have programs that only work a fiscal year and lastly why there is such a vast amount of rapid succession in product releases that really don’t appear to solve problems? If anything in turn create more.

The question I put to the VP/CVP’s within the company is this – Why do you think my tweets got such large amount of attention? Is because customers are still confused or is it a case of them searching for answers that aren’t as obvious. Rather than look for folks to punish internally for my tweets you should really take stock of why it occurred, how it occurred and what’s going to happen next.

Times up Microsoft, you really need to think long and hard about what it is you’re doing for the future of .NET that is beyond a fiscal year or tactical playbook. Really do a long hard review of the business and if Microsoft thinks its marketing consists of a blog post on Scott Guthrie’s blog? Then there is a problem beyond what some ex-employee once said on twitter.

I’m not a disgruntled employee, I’m just a confused and frustrated customer who has high hopes for the company’s future.

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:

UX Creator Tip: Fear the surrogate user.

image

Ever sat on a project and heard someone give their account as to why the user base won’t like xyz feature or UI change? Ever sat in a cubicle and listen to someone rail against the idea of change for fear it would upset the user base to the point where the helpdesk would be flooded with “Please Explain” calls.

Surrogate User – people used as a substitute or representative for users, in order to provide information in design meetings, user testing, and so forth.

The reality is this, end users are surprising beasts and often will surprise you in what they can and can’t do. The end user especially in enterprise is so used to crap-tac-ula software day in day out that anything really that you do as of today onwards is highly likely to be much simpler to what they are used to (especially given the consumerism within Enterprise these days). Furthermore should they dislike the software they aren’t likely to all abandon their jobs simply because of a bad UX decision – as 9/10 they are under duress around crappy software decisions made by other teams anyway.

Instead, the end user is probably thirsty as ever for software that feels simpler to use and actually looks like someone took the time to think about them and their needs instead of how it solves one finite problem only. Software’s job is to react to the end user, not make the user react to it! 🙂

End users are also making use of a variety of software so whilst one particular UI pattern that has been adopted is “the way they are used to today” doesn’t necessarily mean they are ignorant of all other UI patterns out there on the market.

The key is to leverage existing muscle memory as much as you can today and less showing off on what you can and can’t do with some of the UX Platforms at your disposal. Be creative but don’t be overly creative, you get no points for showing off.

Layer-in complexity is what I always tell people, as it’s much harder to reduce complexity later than it is to bring it in slowly. It’s also the best discussions to have, as if the business or end users are complaining that the software is too simple – which let’s be clear, I dream of these discussions – then you have more of a baseline to draw from going forward around feature weighting and selection (which plays into UX + Agile in a way).

The surrogate user is someone you should fear in all software projects as they often bring pre-existing bad habits forward and lastly suffer from the “I’m in touch with my audience” arrogance (sometimes without realizing. I’m told that a Surrogate User when done right works, i’m yet to see one of these unicorn beasts, but i’m told just the same.

Whenever I hear someone say “Users don’t like..” my first instinct is to respond “Oh? Did 1 in 5 housewives tell you that or is this something you’re just making assumptions on?” – Meaning is this “I think” or is it “I know”.

Surrogate Users are dangerous unless they are moderated by someone who has the “UX” somewhere buried in their resume, as they can often decode the “personal bias” from the science of what these entities represent.

Related Posts:

Your own Mulit-touch Surface Prototypeboard-thingy.

Today it hit me that a co-worker and I have been using a mini-whiteboard in a way that could easily be used as a way to prototype Surface style applications or ideas you may have.

IMG_0232 Let me explain, there is a partition between me and my co-worker which used to be a locker of some sort (no idea actually). It’s pretty high in terms of size and given its between the co-worker and I it’s kind of suddenly become our meet/greet tabletop.

On top of this partition is a mini-whiteboard that we have (approx 50cm wide and 50cm high) and it’s fast become our “hey got an idea for the UI” or “hey need some help with OOP composition” meeting point. We typically sketch out our problem/idea and then proceed to – yes you heard it first – communicate with one another on what’s possible etc.

We often call it the poor-mans Surface table as a joke, but in reality if i were to work on a Surface / iPad etc style application it’s this little whiteboard I’d love to have in the room. As I’m then able to sketch out the ideas and walk others through it via old skool pen + paper mode but at the same time can allow quicker iterations then “can you hand me that eraser” or “let me get another sheet of paper” ..

Anyway, thought I’d share this little eco-friendly prototyping tool for all to think about.

IMG_0233

Related Posts:

Project Salvaging is Microsprinting

Microsprinter

Situation is simple, you’re someone who has been brought into a project at its last witching hour, there are not a lot of project management fundamentals in the room and everyone is constantly emphasizing the “we have to get this done, no time” analogies and metaphors at you. What do you do? How do you navigate this and salvage what’s left of the project to turn this around into a productive and usable solution.

Answer is Microsprinting.

The past 6 months now, I’ve been constantly brought into projects that have gone off the rails for one reason or another and it typically comes back to scope creep and lack of discipline in terms of leadership or more to the point communication.

This is why SCRUM is a concept that every developer should borrow ideas at the very least from, it’s not so much a rule book but a communication protocol that all can agree to and figure out ways not to bump into one another.

That being said, setting up sprints that go for week(s) are great but when you’re faced with a deadline that is measured in hours whilst having to also work back from an unmovable deadline you simply need to calibrate your effort to a micro format.

The List.

The way forward is this. You first analyze all the features that were expected to be in the release for the project, don’t worry about who did what wrong or where it went pair shape. Sit down, take a deep breath and focus on getting a list together that outlines all the features needed to be done. Take this list and break it down to a point where it’s not to finite but at the same time granular enough that all can accurately see what the effort ahead looks like.

The wireframes aren’t the spec.

A lot of times I see wireframes and folks are looking at these and going “Ok, I need that wireframe to be designed” which is a perfectly valid request, in reality though as an interactive designer your job is to not just paint pixels here but also decide on how the moving parts become interactive. More to the point, you’re also analyzing each of the boxes that say “news” and thinking about how the data template will look per item in the ListBox and so on, you really need to map this out per screen and come up with a fairly comprehensive list of both the interactive specification as well as a list of visual states that need to be designed end to end.

I say this as a box on a wireframe can turn quite dramatically into 2-6hrs worth a work depending on which direction the interactive designer decides – “Ok this box when clicked now will go to this screen and the transition needs to be fade along with a loading of individual boxes to lead the user as to what’s change in an elegant fashion etc”

Break the wireframes into detail as again the project is off the rails you don’t have time to sit back and create high fidelity prototypes for each wireframe around its interactivity. You simply need to outline what’s likely to be the effort and do the best you can to not screw up given the constant variables of time/budget is much shorter than you’d ideally like to work towards.

8 is the number, not 7 or 6 or 2…

Break your day into 8hr segments and these are effectively the Microsprints. Every 8hrs regroup and triage what needs to be done and what has been done, agree and move onto the next microsprint. It’s also important that you work with a stack ranked list, keep it simple, rank it from 1 to whatever and attack the list one by one until you get to the finish.

Chances are you may have 100 items but in reality given the timeframes are short whilst the budgets are tight; you’re effectively likely to end up with 70 items done at the end of the deadline.

It’s time to start sacrificing and yeah it sucks but if the project had of been mapped out properly from the start you’d have the full 100. The reality is its off the rails, you got to start triaging in a cold but fair way sort through the items that are going to have a chance of life and simply send flowers/apologies to those who want the items that aren’t likely to have a chance at life in this project.

Tough decisions but necessary ones.

Stakeholders are likely to be suffering from denial. “I wanted that box. Can’t we just..” the moment I hear “can’t we just..” is the part where I stop and think to myself “ok, is this a new idea or is this simply a creative way of trying to get agreement on something that just can’t be done”.

It’s now a point in time where you have 6 things on the table and you can only have 3. Choose as if you fail to make these tough decisions now, you will end up having less – it’s a reality and fact.

Don’t shoot the project manager.

At some point the project is off the rails, someone steps up and says “ok, I’m now leading this band of misfits”. It’s important that someone lead, but it’s also equally important that all understand that this is probably one of the worst positions to be in now. Projects off the rails remember, someone just stood up and said “I’ll now assume responsibility for this delivery from here on out” – give them the benefit of the doubt as they just did something you weren’t willing to do yourself.

They may say no more than yes, they may ask you to sacrifice your core beliefs on how things should be done in order for a Band-Aid or two. It sucks, but deadline is looming and having a 115 lines of code to do something that can be done in two may piss you off, but ship it. Ship it is the goal, refactor later.

Learn from your mistake.

Typically after I leave everyone has that exhausted look on their face, chances are some of the folks in the team will vow never to work with one another again. Emotions were high, we got it done, it wasn’t great but we got success.

Put your pettiness aside, understand this, it was a group failure that later turned into a group success. You just accomplished something that not a lot of teams can do, you made the deadline.

The thing is also, that whilst you know there is around 30 items off the list, and chances are the end users have no clue as to what those 30 items were. You’re just beating yourself up over a quality issue vs. an actual specific requirement.

Should that requirement manifest into a missing feature, you have the next round now ahead of you only this time, PLAN it.

Get the interactive designer into the planning meetings early; don’t leave the design to last. The interactive designer is responsible for the look, feel and way this user interface is going to interact. The UI designer is the person who will paint the pixels per state and lastly your user experience / usability rock star is the one who will navigate the cognitive science associated to the UI.

If you find a person who can do all three, lock them in and don’t let them leave. If you can’t find a person to do any of the above, start hitting Amazon and start researching as one of you needs to assume that position and take responsibility early for it.

Developers need leadership, someone needs to be the Program Manager, make them accountable for features getting to developers hands early. Project / Release managers are there to co-ordinate what should come first and lastly when.

You can have SCRUM approach, but democracies are only as good as its people. If the people aren’t clued into its virtues, see the above.

Learn from what you did wrong, don’t nail people to the cross for it..just learn from it.

Embrace MVVM.

If you’re doing Silverlight/WPF no excuses use it now. Don’t screw around, get onto it now. A friend said to me yesterday “..Dude, saying MVVM is half the understanding, once they’ve said it then they now know it..i mean Model..View…ViewModel whats the mystery?”

It’s a basic foundation for all to work towards and it’s just easy to set things in order in a solution.

Related Posts:

RIAGENIC is a UX/UI Business.

It’s been a couple of months now since I went full time into focusing on growing a UI/UX business for myself. I thought I’d share my thoughts / notes and adventures along the way so far in the whole Microsoft UX/UI space as a freelancer.

Which are you? a developer or designer?

image

How far we have come and yet how so little we have learnt! As someone who worked in/with the Silverlight/Expression teams to make sure the message that Microsoft has entered the UX space and that we’re essentially building a mutated Developer meets Designer and vice versa pixel ninja type person, the reality is people still need to put you into a category.

I often find myself torn between which side of that fence line I sit. As to be blunt i can do both, I know every single API inside Silverlight/WPF like the back of my hand, I can code in 9 languages outside of .NET and aren’t script kiddy languages either. I can do 3D and 2D design to the point where many have commented on my abilities here as being “eye for design” or “you are freakish good” but still i’m tormented by having to pigeonhole myself either category.

The reality is people aren’t ready to accept the person who can do both just yet and it takes a lot of proof to build trust that you can do both. I’ll let you know how I go with this journey over time but for now suffice to say, its new territory for me and yet still profitable as I can easily pick left or right and just swim in either pool where needed.

I need a UX guy urgently.

image

I’ve seen this a lot in the past 8 months. I get called in at the last sprint or towards the end of a project and find myself having to triage features vs design vs engineering constraints. It’s the worst time to engage a UX/UI person(s) as in the end you’re asking for a Hail Marry – “can you make this UI look good and functional oh and don’t change the code base in the process?” is a common brief.

The trick I’ve learnt is that I can do it, it just takes a lot more patience and focus –, and you really need to know every single backdoor into Blend as well as the Silverlight/WPF API’s. IT is a challenge but can be a success   if there is enough time  and the communication is clear and expectations are set properly.

The bottom line is folks – Engage early and often. Even if its just 1 or 2hrs of their time per week or day, make sure you have someone in the room who bleeds UI/UX from the beginning of the project. Don’t engage late as the price will go up you won’t be able to salvage as much as you think by then  it’s not a UX consultation its just a pixel polish.

I don’t use Blend, just Visual Studio.

image

You are breaking my design heart when you say this to me. Everybody right now who reads this open up Blend and pick a fight with it. If you take the time to get to know it and get to know it well, then when used right can help you out enormously with both Silverlight and WPF development. If you’re a person who likes to indent and keep their XAML neat, stop right now, you are trying to skate up hill.

XAML is not meant to be a hands-on language. It’s a common data format created to allow Design and Code tools to work against the same model without giving up their inherent capabilities. If you are editing it by hand just stop as you are not doing it right.

Pick a color any color.

The amount of times I’ve walked into an engagement and seen a rainbow of colors in the UI has left me thinking that it’s not so much a lack of will power around design it’s more the reality that not everyone is up to speed with color theory (there is a science to color selection).

The easiest tip I give people is this. Typically a brand has one or two colors that are used the majority of the time,  then they  will use white or black for the majority of the content depending on the background composition (white for dark, and black for light). When you design a User Interface for your next Silverlight/WPF project, pick one or two colors and create a ResourceDictionary called [ThemeName]Colors.

ColorePalette Then take that color and break into four shades (2x dark, darker and 2x light, lighter). Now then select what I call your chrome colors, these are the colors you would use for the outer chrome of your UI, in windows its typically around 4x shades of gray (light, lighter, dark, darker) and label them accordingly (i.e. chrmeAccent1, chrmeAccent2) etc. Keep your color naming conventions abstract (use camel or Pascal case – whatever lights your design candle).

Now don’t use any more colors. Lock that in and use these. Don’t deviate at all from this plan unless you have a designer person in the room who is held responsible for retaining the product/projects brand.

Lastly and this is the most important thing I can say to developers world wide:- Don’t use bold colors. Stick to pastel or light colors as you’re typically not ready for the hurdles that bold colors can throw at you. In saying this I did also notice that the MetroTheme that Microsoft has put into play has me a little nervous as it relies heavily on bold color scheming – which is great and cheap way of avoiding depth in a UI but at the same time creates a potential color scheming hazard around highlights vs lowlights and focal areas of your GUI composition.

Typography is also another concern of mine as too much reliance of ye olde text can put UI two steps back instead of forward – people don’t like to read in general, visuals often handle the workload – review the many articles available on “extraneous cognitive load” for proof of this.

MVVM that is all.

image

I get that some of you want to get gung-ho with PRISM, MEF or your own framework. Bottom line is this, if you’re starting out and haven’t figured out the tricks and hacks just yet of WPF/Silverlight then you are better off  sticking to  simple MVVM. It handles 90% of your workload and doesn’t require you to learn  WPF/Silverlight and an extra layer of complexity at the same time.

Keep it simple, work to the idea that the code you write in the first year of WPF/Silverlight is code you will want to throw away or refactor later on. It’s natural you write bad code or work onto something that a year later you’ll look back on and proudly say “What was i thinking”. You’ve got your Microsoft UX training wheels on, embrace this openly and you’ll do just fine. Walk into a room and pretend you have it all under control and you’ll fold eventually as you can’t credibly hold that facade for too much longer.

If you can also check out AutoFac as well, this again will compliment your codebase nicely. MEF/PRISM are really for folks who have a team of engineers and are looking to build a complex mammoth size system – that’s the reality even if Microsoft try to deliver a different message  – I’m an ex Microsoft Product Manager so I can spin with the best of them 🙂 hehe.

UI and UX are two different things.

image

I need to say this out loud. If you ask someone to do UI, then they will do just that; focus on designing a user interface for an existing concept. If you need someone to wireframe and help you figure out how the whole user interface can be built, that’s where a UX person comes in. They are two different work streams just like a developer and a DBA are different.

You can find people who do both, but keep that in mind.

Oh, I need someone local.

Yes, having someone onsite is definitely a goal a team should always be on the hunt for. SCRUM teams etc benefit from this and it doesn’t need to be evangelized further. I will say however though, having someone working remotely can be just as effective especially a guy like me in Australia.

I say this, as at the moment I’m working on a project with Microsoft and it’s working out in our favor as while they sleep I work, while they work I sleep and we’re able to have a show & tell (i.e. remote stand-up) with one another where the design and development work can meet in the middle actually pretty well. As I’m able to say “ok here’s what I’ve done for you, its in your inbox when you wake up” and in the afternoons they’re able to go “ok, here’s what I need for you to start my day tomorrow” and so the cycle is a 24hr development run that works quite well.

It’s not for everyone but so far I’ve found  it works without any issues other than an expensive mobile/cell bill from my end lol.

Show me some of your work?

There’s a reason why painters and builders never work on their own house – same goes for me. This blog as weak as it looks is still the  front door  for my company – RIAGENIC. I need to get off my ass this month and put my site up but the problem I have is distilling what I do into a webpage that makes sense as I’m my worst client (picky, arrogant and will agonize over every pixel and paragraph in the site).

I also need to find  a way to promote me but at the same time associate myself with a brand, so that for me is a tricky marketing hurdle. I’ll soon see if I can pull it off! 🙂

Find people you can trust and don’t have to babysit.

image

I’ve worked with a lot of developers in my time, nothing annoys me more than baby sitting incompetence. I’m fine with newbies learning the ropes, that I find far more rewarding as you’re working with someone who has passion and a determination to learn. It’s the people who are lazy and expect you to spoon feed them every 5mins on “how”. I didn’t learn Cinema4D by sitting next to a 3D wizard and ask “Ok so how do I write an xpresso script that makes the wheels rotate per frame”, I sat on Google and the objective was this “Find how to make wheels rotate in xpresso” and eventually I found it. Along the way I learnt a lot about Cinema4D and Xpresso as i was hunting for my answers.

If you work with me, I will set the benchmark high per person I meet, I will quickly assess your skill set and then raise the bar to challenge you to meet it as I do want to work with people who get it and are smart at what they do.

That being said, I love nothing more than coming into a cubicle of developers and feeling like I’m the newbie in the room as now I’m in learning from others mode.

At the moment I’m working with Joseph Cooney (one of WPF’s first MVP and of learnwpf.com fame). I’m learning heaps from interacting with this guy, and its a fun project at the moment we are on. I don’t have to babysit him and he doesn’t have to babysit me. We just looked at the specifications, agreed on a solution structure and boom, were’ off grinding pixels and code.

The next job I go to where they need a WPF/Silverlight dev etc, Joseph is one i’d recommend – again, its about networking and building relationships and finding people who you can trust and work alongside.

Reputation is a false economy.

image

I often hear how folks worry over their reputation. I’ve watched people spend way to much time either building or recovering it from a bad project etc. The simple truth to this from what I’ve learnt is that if you know your work, you approach things with openly and honesty and don’t dump and run as well as admit mistakes, you’ll come out fine.

Just focus on doing good work, reputation has a habit of following and self regulating itself over time.

At times people I’ve heard bad things about on a project often aren’t the ones at fault as  the recruiter / business development sales person didn’t set expectations appropriately or the project was a train wreck well before this person arrived and they were the last ones to hold the steering wheel as it went off the road.

Agile/SCRUM is not a religion.

I’ve seen a lot of developers follow this concept by the book to the point where I often wonder if they are conscious of how badly they have gotten. The correct way and the natural way are two different things and in the end communication is the core piece to this.

Stop arguing over protocol and just focus on establishing a clear line of communication and work on getting estimations as close as you can while at the same time admitting to your fellow team mates the moment you can’t do something or are over on your estimate – just put up your hand and say a simple word – “help”. I personally work under the assumption I’m the dumbest guy in the room, it keeps me calibrated and if you work with me and think “geez i thought that guy knew all of this” that’s fine, but i probably do, but i’ll ask anyway just to make sure.

I’ve felt the wrath of a false hero before, and I ended up having to do his work and mine at the same time only to be burnt for it later on. I could of thrown this person under a bus and said “well actually it was his fault” but in reality, I just absorbed the blame and avoided working with this person since.

That is all.

Note: I am a UX/UI Ninja for hire.

Contact me at scott at this domain.

Related Posts:

Adobe, you lose.

Like you, I’ve watched from the sidelines this whole Apple vs. Adobe battle take place and can’t but help laugh at Adobe. It’s like watching a geek get all agro because the pretty girl in the class ignores his advances and no matter what he tries, it just isn’t meant to be.

Let’s look at this from a different lens?

image

Apple set out years ago to create a mobile device; they built this idea from scratch and spent millions marketing it to the world. It changed the way we look at mobile devices as fast forward today, the iPhone, has more copycat products on the market than any I’ve seen so far. Apple did what it said it would do, it thought differently and it worked. The problem is that it’s up to Apple what goes on it and what doesn’t and for Adobe to sit on the sidelines and piss and moan about “open” is somewhat boring and pathetic. Here a company like Adobe is lecturing Apple on innovation online? Did I miss the big invention of Adobe somewhere?

Adobe honestly thinks they can turn an entire iPhone user base against Apple?

For instance, I remember being on Microsoft campus the day the iPhone 3Gs came out. I remember working late the night before and creeping back home around 5am, driving past AT&T store at Redmond. There was a line around the block so others could get a slice of the iPhone for themselves and as I drove past I noticed a lot of familiar faces in the Microsoft staff directory, some whom would probably get a scolding or initial look at the time for “buying the competitor”.

Today, it’s rumored 30,000 active iPhone connections exist on campus – yet – Microsoft is one of Apple’s biggest competitors? You have people inside the company who bleed blue and would shoot some venomous action your way at the mere sight of seeing the Apple logo. Still folks lined up around the block at 5am to buy this device.

Adobe’s Marketing and Evangelism have simply lost the plot as they are forgetting this is what they are up against, their sole priority is to discredit Apple – to remind you that Apple are a dictatorship and they are starving the world of “potential” innovation.

Here’s the thing though, I’m yet to see Adobe do anything exciting past its Photoshop and After Effects tooling. Flash is a product where I simply see less value in its existence and a product which I may add that Silverlight has not only caught up to in features but in many ways overtaken.

The thing is they’ve had market share with Flash for almost a decade and nothing bad decisions, terrible product marketing and countless stories of their developer/designer community abandonments. Steve Jobs was right, they are and were lazy. As that’s why Microsoft said “enough, let’s make our own” and that’s why others like Apple are following this line of thinking – two giant brands disregarding Flash? Coincidence?

Same playbook, different victim

image

When we would compete head to head with Flash back in Silverlight’s infancy we often were the ones of their targeted attacks, much like Apple is today. We’d have constant skirmishes back and forth over random events or some snarky blog comment here and there. Basically the same playbook they are using on Apple today came from Microsoft vs. Adobe and yet despite their attempts they’ve never won on both battle fronts.

Adobe want in on the iPhone Apple said no, I have no dog in this fight other than to say, I’m happy with the way Apple have been pushing the innovation in today’s marketplace and I’m yet to see Adobe even come close to both Microsoft or Apple when it comes to the word innovation.

Today, Adobe just seems to be immature and have finally over-inflated the brands ego. I think Adobe is on a downward spiral for a couple of years as this kind of behavior is going to hit their bottom line, which you can guarantee.

I read this latest post from mesh and just roll my eyes and I actively wonder if Mike actually believes in the spin he’s typing?

http://www.mikechambers.com/blog/2010/05/14/adobe-on-open-markets/

How much more kool-aid can one drink?

Related Posts:

Lifting the Apple vs. Adobe compete veil

image

In October 2009 I warned the Adobe community via InsideRIA that Adobe should tread very carefully with Apple and how that if they kept poking the sleeping giant sooner or later they’d react.

It’s now April, and Apple have reacted – and like a great game of chess, it’s not check mate just yet either.

Apple decided this week to update their licensing and block the ability for 3rd party software vendors like Adobe for example, from allowing their tooling and customers to produce iPhone/iPad based solutions that do not make full use of the way Apple intended to enable such vendors in the first place – “It’s my house if you don’t like it leave” is the summary.

A lot of people are asking questions around “why” and a lot of the blame is being pointed at Apple as being unfair and so on. Allow me to interject given I was one of the main Adobe compete leads at Microsoft and secondly my prediction rate on Adobe has been approx 90% correct so far (I guess you’ll have to trust I know a thing or two about the brand).

The lesser of two evils.

image

Adobe or Apple who is to blame? who is innocent and who is trying to do the right thing? these are all immediate questions that come to mind when you start seeing the battle lines being drawn between these two “A” brands.

The answer is – it depends.

The knee jerk assumption is Apple isn’t playing fair here that they are the ones holding innovation back on the beloved iPhone/iPad platform(s). It depends, as in Apple’s defense why would you allow a company like Adobe who’s made no secret about this:- the ability and power to lock down the user experience for all devices into a democratic format like Flash.

That plan is effectively the same playbook as Microsoft has used for Windows, own the platform own the industry its that simple.

If Flash was to gain entry to the iPhone/iPad then it effectively puts app vendors and such on the same playing field as other devices and in many ways the unique form factor of that which is the iPhone today starts to lose its initial appeal as it then becomes yet another device. Apple is a company that prides itself on “thinking differently” in that it appears to approach consumer based products in a very unique and at times stubborn – but profitable – way. The brand likes to ensure its products are different from what people expect and that their experiences are unique and a must-sort after thing.

Adobe is desperately trying to change that, they see their future as being the UX platform to the masses – “use my tools and you can produce on all devices and platforms” is essentially their mantra.

Apple, Microsoft and in parts Google aren’t even slightly interested in agreeing on this as they are all acutely aware of the potential hazard products like Flash can become if left to grow organically.

If your going to have democracy, let it be HTML5 then.

image

User Experience in technology is now fast becoming a consumer focus as well as an enterprise focus. 99% of my workload is visiting Microsoft customers every week helping them figure out their UX story on disparate technology. I’ve never seen this before  and I’ve been a UX plug-in focused designer and developer for the past 15 years and as my bio states, a Product Manager of one of these technologies. It’s inspiring but at the same time fragile and the reason being is HTML5.

HTML5 for me represents an industry slow-down, in that if we all move to abandon plug-ins and support HTML5 in the way it’s being instructed to, we in turn sacrifice the agility of that which is user experience on the web as we know it today.

Apple and Google are ok with this though, for both of them having HTML5 on the horizon is a good thing. It enables them to still control the way in which they run their unique business models but at the same time it still gives them the ability to block competitors from over-taking their said business models.

An example is today, I can log into my bank ANZ.com.au and handle my financial affairs all through a unique iPhone specific experience. One of the largest banks in Australia reacted to the iPhone and produced a solution that befits a device which today still has minority share.

The point of that example is simple, companies will react to where they perceive the value is and enabling their various application domains to have multiple user interface channels is extremely important and one that is visible on all of their roadmaps for the future. They are all acutely aware that the industry is changing and the lines between Desktop and Mobile are blurring and in a manner that  is going to be a lot harder to separate.

HTML5 however represents a unique value proposition to this technology hazard that’s coming up fast. It effectively puts us all on an even playing field and it also strikes at the heart of everything Adobe represents as it effectively deprecates Flash.

If Apple is able to keep large brands reacting to their business models without having to take a technical dependency on products like Flash, then this in turn solidifies their position in the future in a more healthy way. It’s much more profitable today to starve the Adobe ecosystem out  Apple based devices than it is to allow the said technology to co-exist on the devices – as once that technology gets on the phone all bets are off as sure it will become popular.

It’s not about being ethically right, as this isn’t a Disney movie it’s reality. All software vendors are doing everything they possibly can to dominate a niche in the industry without taking a technical dependency on a foreign software company

Where is Microsoft in all this?

image

If i know my old team well, they’d be chuckling at the demise of Adobe and how all their best efforts in marketing CS5 + iPhone just came unstuck overnight. That being said, this is why Silverlight and WPF was built to play by the same rules but differently. Microsoft aren’t interested in holding down a unique experience on their own proprietary devices as well they don’t make hardware. Its in their best interest to keep things on an even playing field provided you buy their operating system first and secondly you develop using their tools for it. If either of those tick boxes are ticked, life is good for Redmond.

If you screw around with those two boxes they will compete against you and hard. Silverlight is a result of this, as it was well known Adobe’s intent was to own the UX platform across it all which in turn interrupts Microsoft’s story in a way that isn’t healthy for the company. Silverlight was born out of that competitive necessity and you’ll soon start to hear random stories on how Windows 8 will solidify their position on counter-acting concepts like Adobe but whilst still embracing the existence of concepts like HTML5.

HTML5 is the brakes for this giant chess game, its the technology safety haven which enables us all to slow the engines down a little and start making stronger bets instead of this ad-hoc technology evolution we seem to be on.

Apple can leverage its concept to propel them forward in a much more controlled fashion. Google will enjoy its splendor as their content business model can remain intact without having content and experiences online forking. Adobe will do what it can to keep their fingers in the HTML5 via their tooling story (and in parts server products) but in reality if HTML5 were to gain dominance it would impact their entire business model in a way that they aren’t yet equipped to deal with.

Apple blocked the Adobe market potential simply out of necessity and future proofing their brand, all you’re seeing this week is one move out of many in this game of industry chess.

Adobe are being attacked on all fronts, they simply MUST stop their immaturity and aggressive behavior in order to survive – otherwise their developer share will continue to drop and Flash will continue to be ignored in lieu of other more appealing approaches to the same thing.

Adobe will win this, public demand will turn in their favor.

image

It’s something I hear often a cry of desperation if you will. Adobe don’t have a groundswell of developers to storm the Apple gates and press outlets like New York Times etc may post an article or two around how unfair it is but it won’t be a sustained momentum as they are more inclined to talk in depth about the engaging devices such as the iPhone and iPad bring than what powers them.

What about consumers by large? Consumers are indifferent to technology choice as Google, Microsoft, Apple, Adobe, Amazon etc are all bombarding them daily with “try my new shiny toy” so it’s hard enough for the tech savvy minded to separate signal from code.

I predict Adobe will lose this bout and despite Adobe’s CTO post today about how they will produce CS5 to do the same as what they had intended and leave it up to Apple to make the next move is a silly move on their part as it effectively devalues CS5’s potential – again. Not to mention his wording just is passive aggressive for example:

First of all, the ability to package an application for the iPhone or iPad is one feature in one product in Creative Suite. CS5 consists of 15 industry-leading applications, which contain hundreds of new capabilities and a ton of innovation. We intend to still deliver this capability in CS5 and it is up to Apple whether they choose to allow or disallow applications as their rules shift over time

The last line in bold was a smart ass response and I took that as being “We will still move forward and we are calling you on your bluff Apple”. As that is a feeble attempt to ignite a public tech riot once the first app gets blocked. Watch how fast it starts and dies down as well.

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: