<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>RIAGENIC.com</title>
	<atom:link href="http://www.riagenic.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.riagenic.com</link>
	<description>Where technology + design intersect</description>
	<lastBuildDate>Tue, 27 Jul 2010 03:23:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Microsoft: Stop the shiny object syndrome.</title>
		<link>http://www.riagenic.com/archives/358</link>
		<comments>http://www.riagenic.com/archives/358#comments</comments>
		<pubDate>Tue, 27 Jul 2010 02:51:32 +0000</pubDate>
		<dc:creator>Scott Barnes</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[Experience Matters]]></category>
		<category><![CDATA[Marketing]]></category>

		<guid isPermaLink="false">http://www.riagenic.com/archives/358</guid>
		<description><![CDATA[
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 [...]]]></description>
			<content:encoded><![CDATA[<p><img style="display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;" title="image" src="http://www.riagenic.com/wp-content/uploads/2010/07/image1.png" border="0" alt="image" width="587" height="480" /></p>
<p>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.</p>
<p>The agency at times will come back with a result that&#8217;s either really fantastic or really short on execution – in my exp I&#8217;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”.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>I almost want to grab Steve Ballmer and make him sit down in frontline cubicles incognito – <a href="http://en.wikipedia.org/wiki/Undercover_Boss" target="_blank">like that show where boss’s go undercover in their companies</a> – and get him to see the negative impacts these poorly executed marketing strategies are having.</p>
<p>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?</p>
<p>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.</p>
<blockquote><p><em>example:</em></p>
<p><em><strong>Customer:<br />
</strong>“Why didn’t the team do xyz”</em></p>
<p><em><strong>Me:</strong><br />
“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”</em></p>
<p><em><strong>Customer: </strong><br />
“but i loved it!”</em></p>
<p><em><strong>Me:</strong><br />
“Yeah, it was a good idea, anyway..”</em></p></blockquote>
<p>Think I&#8217;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.</p>
<p>I call this “the <a href="http://www.passionforbusiness.com/articles/shiny-object-syndrome.htm">shiny object syndrome</a>” (ie once the shine leaves or it gets boring, you’re onto the next one and so on like its seasonal fashion)<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://www.riagenic.com/archives/299' title='Silverlight Installation / Preloader Experience &ndash; BarnesStyle.'>Silverlight Installation / Preloader Experience &ndash; BarnesStyle.</a></li>
<li><a href='http://www.riagenic.com/archives/342' title='RIAGENIC is a UX/UI Business.'>RIAGENIC is a UX/UI Business.</a></li>
<li><a href='http://www.riagenic.com/archives/332' title='Adobe, you lose.'>Adobe, you lose.</a></li>
<li><a href='http://www.riagenic.com/archives/314' title='Lifting the Apple vs. Adobe compete veil'>Lifting the Apple vs. Adobe compete veil</a></li>
<li><a href='http://www.riagenic.com/archives/249' title='Windows Mobile 7 the &ldquo;meh&rdquo; release.'>Windows Mobile 7 the &ldquo;meh&rdquo; release.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.riagenic.com/archives/358/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>UX Creator Tip: Fear the surrogate user.</title>
		<link>http://www.riagenic.com/archives/356</link>
		<comments>http://www.riagenic.com/archives/356#comments</comments>
		<pubDate>Tue, 13 Jul 2010 11:33:06 +0000</pubDate>
		<dc:creator>Scott Barnes</dc:creator>
				<category><![CDATA[Developer]]></category>
		<category><![CDATA[Graphical User Interface (GUI)]]></category>
		<category><![CDATA[UX + Agile]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.riagenic.com/archives/356</guid>
		<description><![CDATA[ 
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 [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/07/image.png" width="640" height="355" /> </p>
<p>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.</p>
<blockquote><p><strong><a href="http://www.usabilityfirst.com/glossary/surrogate-users/">Surrogate User</a></strong> &#8211; people used as a substitute or representative for users, in order to provide information in design meetings, user testing, and so forth.</p>
</blockquote>
<p>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. </p>
<p>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! <img src='http://www.riagenic.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>End users are also making use of a variety of software so whilst one particular UI pattern that has been adopted is <em><strong>“the way they are used to today” </strong></em>doesn’t necessarily mean they are ignorant of all other UI patterns out there on the market. </p>
<p>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.</p>
<p>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).</p>
<p>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.</p>
<p>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”.</p>
<p>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.</p>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://www.riagenic.com/archives/352' title='Your own Mulit-touch Surface Prototypeboard-thingy.'>Your own Mulit-touch Surface Prototypeboard-thingy.</a></li>
<li><a href='http://www.riagenic.com/archives/299' title='Silverlight Installation / Preloader Experience &ndash; BarnesStyle.'>Silverlight Installation / Preloader Experience &ndash; BarnesStyle.</a></li>
<li><a href='http://www.riagenic.com/archives/264' title='UX Tip: Just because you can count change, doesn&rsquo;t make you a mathematician'>UX Tip: Just because you can count change, doesn&rsquo;t make you a mathematician</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.riagenic.com/archives/356/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Your own Mulit-touch Surface Prototypeboard-thingy.</title>
		<link>http://www.riagenic.com/archives/352</link>
		<comments>http://www.riagenic.com/archives/352#comments</comments>
		<pubDate>Thu, 24 Jun 2010 08:01:14 +0000</pubDate>
		<dc:creator>Scott Barnes</dc:creator>
				<category><![CDATA[Graphical User Interface (GUI)]]></category>
		<category><![CDATA[Multi-Touch]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.riagenic.com/archives/352</guid>
		<description><![CDATA[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. 
 Let me explain, there is a partition between me and my co-worker which used to be a locker of [...]]]></description>
			<content:encoded><![CDATA[<p>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. </p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="IMG_0232" border="0" alt="IMG_0232" align="right" src="http://www.riagenic.com/wp-content/uploads/2010/06/IMG_0232.jpg" width="180" height="240" /> 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.</p>
<p>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.</p>
<p>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&#8217;d love to have in the room. As I&#8217;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” ..</p>
<p>Anyway, thought I&#8217;d share this little eco-friendly prototyping tool for all to think about.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="IMG_0233" border="0" alt="IMG_0233" src="http://www.riagenic.com/wp-content/uploads/2010/06/IMG_0233.jpg" width="576" height="1024" /></p>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://www.riagenic.com/archives/299' title='Silverlight Installation / Preloader Experience &ndash; BarnesStyle.'>Silverlight Installation / Preloader Experience &ndash; BarnesStyle.</a></li>
<li><a href='http://www.riagenic.com/archives/264' title='UX Tip: Just because you can count change, doesn&rsquo;t make you a mathematician'>UX Tip: Just because you can count change, doesn&rsquo;t make you a mathematician</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.riagenic.com/archives/352/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Salvaging is Microsprinting</title>
		<link>http://www.riagenic.com/archives/347</link>
		<comments>http://www.riagenic.com/archives/347#comments</comments>
		<pubDate>Wed, 23 Jun 2010 23:34:23 +0000</pubDate>
		<dc:creator>Scott Barnes</dc:creator>
				<category><![CDATA[Developer]]></category>
		<category><![CDATA[Graphical User Interface (GUI)]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[UX + Agile]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[Methodology]]></category>

		<guid isPermaLink="false">http://www.riagenic.com/archives/347</guid>
		<description><![CDATA[ 
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 [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Microsprinter" border="0" alt="Microsprinter" src="http://www.riagenic.com/wp-content/uploads/2010/06/image8.png" width="640" height="300" /> </p>
<p>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.</p>
<p>Answer is Microsprinting.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<h2>The List.</h2>
<p>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.</p>
<h2>The wireframes aren’t the spec.</h2>
<p>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.</p>
<p>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”</p>
<p>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.</p>
<h2>8 is the number, not 7 or 6 or 2…</h2>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<h2>Tough decisions but necessary ones.</h2>
<p>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”.</p>
<p>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.</p>
<h2>Don’t shoot the project manager.</h2>
<p>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.</p>
<p>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.</p>
<h2>Learn from your mistake.</h2>
<p>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. </p>
<p>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. </p>
<p>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.</p>
<p>Should that requirement manifest into a missing feature, you have the next round now ahead of you only this time, PLAN it.</p>
<p>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.</p>
<p>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.</p>
<p>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. </p>
<p>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.</p>
<p>Learn from what you did wrong, don’t nail people to the cross for it..just learn from it.</p>
<h2>Embrace MVVM.</h2>
<p>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?”</p>
<p>It’s a basic foundation for all to work towards and it’s just easy to set things in order in a solution.</p>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://www.riagenic.com/archives/342' title='RIAGENIC is a UX/UI Business.'>RIAGENIC is a UX/UI Business.</a></li>
<li><a href='http://www.riagenic.com/archives/225' title='Can you mix UX with Agile?'>Can you mix UX with Agile?</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.riagenic.com/archives/347/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RIAGENIC is a UX/UI Business.</title>
		<link>http://www.riagenic.com/archives/342</link>
		<comments>http://www.riagenic.com/archives/342#comments</comments>
		<pubDate>Thu, 17 Jun 2010 04:08:43 +0000</pubDate>
		<dc:creator>Scott Barnes</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Graphical User Interface (GUI)]]></category>
		<category><![CDATA[UX + Agile]]></category>
		<category><![CDATA[Adoption]]></category>
		<category><![CDATA[Design 101]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Methodology]]></category>

		<guid isPermaLink="false">http://www.riagenic.com/archives/342</guid>
		<description><![CDATA[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&#8217;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?

How far we have come [...]]]></description>
			<content:encoded><![CDATA[<p>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&#8217;d share my thoughts / notes and adventures along the way so far in the whole Microsoft UX/UI space as a freelancer.</p>
<h2>Which are you? a developer or designer?</h2>
<p><img style="display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;" title="image" src="http://www.riagenic.com/wp-content/uploads/2010/06/image.png" border="0" alt="image" width="640" height="287" /></p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<h2>I need a UX guy urgently.</h2>
<p><img style="display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;" title="image" src="http://www.riagenic.com/wp-content/uploads/2010/06/image1.png" border="0" alt="image" width="644" height="292" /></p>
<p>I&#8217;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 &#8211; “can you make this UI look good and functional oh and don’t change the code base in the process?” is a common brief.</p>
<p>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.</p>
<p>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.</p>
<h2>I don’t use Blend, just Visual Studio.</h2>
<p><img style="display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;" title="image" src="http://www.riagenic.com/wp-content/uploads/2010/06/image2.png" border="0" alt="image" width="640" height="257" /></p>
<p>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.</p>
<p>XAML is not meant to be a hands-on language. It&#8217;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.</p>
<h1>Pick a color any color.</h1>
<p>The amount of times I&#8217;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).</p>
<p>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 <strong>ResourceDictionary</strong> called [<strong>ThemeName]Colors</strong>.</p>
<p><img style="display: inline; margin-left: 0px; margin-right: 0px; border: 0px;" title="ColorePalette" src="http://www.riagenic.com/wp-content/uploads/2010/06/ColorePalette.jpg" border="0" alt="ColorePalette" width="307" height="322" align="right" /> 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. <strong>chrmeAccent1</strong>, <strong>chrmeAccent2</strong>) etc. Keep your color naming conventions abstract (use camel or Pascal case – whatever lights your design candle).</p>
<p>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.</p>
<p>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.</p>
<p>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 &#8220;extraneous cognitive load&#8221; for proof of this.</p>
<h2>MVVM that is all.</h2>
<p><img style="display: inline; border: 0px;" title="image" src="http://www.riagenic.com/wp-content/uploads/2010/06/image3.png" border="0" alt="image" width="640" height="312" /></p>
<p>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&#8217;t require you to learn  WPF/Silverlight and an extra layer of complexity at the same time.</p>
<p>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&#8217;ll look back on and proudly say <em>“What was i thinking”</em>. You&#8217;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.</p>
<p>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&#8217;m an ex Microsoft Product Manager so I can spin with the best of them <img src='http://www.riagenic.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  hehe.</p>
<h2>UI and UX are two different things.</h2>
<p><img style="margin: 0px auto; display: block; float: none; border: 0px;" title="image" src="http://www.riagenic.com/wp-content/uploads/2010/06/image4.png" border="0" alt="image" width="640" height="297" /></p>
<p>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.</p>
<p>You can find people who do both, but keep that in mind.</p>
<h2>Oh, I need someone local.</h2>
<p>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.</p>
<p>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 &amp; 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.</p>
<p>It’s not for everyone but so far I&#8217;ve found  it works without any issues other than an expensive mobile/cell bill from my end lol.</p>
<h2>Show me some of your work?</h2>
<p>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).</p>
<p>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! <img src='http://www.riagenic.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>Find people you can trust and don’t have to babysit.</h2>
<p><img style="display: block; float: none; margin-left: auto; margin-right: auto; border: 0px;" title="image" src="http://www.riagenic.com/wp-content/uploads/2010/06/image5.png" border="0" alt="image" width="640" height="206" /></p>
<p>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 <em>“Ok so how do I write an xpresso script that makes the wheels rotate per frame”</em>, I sat on Google and the objective was this <em>“Find how to make wheels rotate in xpresso”</em> and eventually I found it. Along the way I learnt a lot about Cinema4D and Xpresso as i was hunting for my answers.</p>
<p>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.</p>
<p>That being said, I love nothing more than coming into a cubicle of developers and feeling like I&#8217;m the newbie in the room as now I’m in learning from others mode.</p>
<p>At the moment I’m working with Joseph Cooney (one of WPF’s first MVP and of <strong>learnwpf.com</strong> 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.</p>
<p>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.</p>
<h2>Reputation is a false economy.</h2>
<p><img style="display: inline; border: 0px;" title="image" src="http://www.riagenic.com/wp-content/uploads/2010/06/image6.png" border="0" alt="image" width="640" height="298" /></p>
<p>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.</p>
<p>Just focus on doing good work, reputation has a habit of following and self regulating itself over time.</p>
<p>At times people I&#8217;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.</p>
<h2></h2>
<h2>Agile/SCRUM is not a religion.</h2>
<p>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.</p>
<p>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 &#8211; “help”. I personally work under the assumption I&#8217;m the dumbest guy in the room, it keeps me calibrated and if you work with me and think <em><strong>“geez i thought that guy knew all of this”</strong></em> that&#8217;s fine, but i probably do, but i’ll ask anyway just to make sure.</p>
<p>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.</p>
<p>That is all.</p>
<h1>Note: I am a UX/UI Ninja for hire.</h1>
<p>Contact me at <strong>scott at this domain</strong>.<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://www.riagenic.com/archives/242' title='Context and Experience Matters.'>Context and Experience Matters.</a></li>
<li><a href='http://www.riagenic.com/archives/207' title='My Slides: Microsoft UX: What Just Happened '>My Slides: Microsoft UX: What Just Happened </a></li>
<li><a href='http://www.riagenic.com/archives/127' title='Silverlight is creating a mutant designer who can code.'>Silverlight is creating a mutant designer who can code.</a></li>
<li><a href='http://www.riagenic.com/archives/358' title='Microsoft: Stop the shiny object syndrome.'>Microsoft: Stop the shiny object syndrome.</a></li>
<li><a href='http://www.riagenic.com/archives/347' title='Project Salvaging is Microsprinting'>Project Salvaging is Microsprinting</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.riagenic.com/archives/342/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Adobe, you lose.</title>
		<link>http://www.riagenic.com/archives/332</link>
		<comments>http://www.riagenic.com/archives/332#comments</comments>
		<pubDate>Mon, 17 May 2010 00:28:37 +0000</pubDate>
		<dc:creator>Scott Barnes</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Marketing]]></category>

		<guid isPermaLink="false">http://www.riagenic.com/archives/332</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<h2>Let’s look at this from a different lens?</h2>
<p><img style="border-bottom: 0px; border-left: 0px; margin: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/05/image.png" width="640" height="252" /> </p>
<p>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?</p>
<p>Adobe honestly thinks they can turn an entire iPhone user base against Apple? </p>
<p>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&amp;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”.</p>
<p>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.</p>
<p>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.</p>
<p>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. </p>
<p>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?</p>
<h2>Same playbook, different victim</h2>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/05/image1.png" width="644" height="333" /> </p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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?</p>
<p><a title="http://www.mikechambers.com/blog/2010/05/14/adobe-on-open-markets/" href="http://www.mikechambers.com/blog/2010/05/14/adobe-on-open-markets/">http://www.mikechambers.com/blog/2010/05/14/adobe-on-open-markets/</a></p>
<p>How much more kool-aid can one drink?</p>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://www.riagenic.com/archives/358' title='Microsoft: Stop the shiny object syndrome.'>Microsoft: Stop the shiny object syndrome.</a></li>
<li><a href='http://www.riagenic.com/archives/342' title='RIAGENIC is a UX/UI Business.'>RIAGENIC is a UX/UI Business.</a></li>
<li><a href='http://www.riagenic.com/archives/314' title='Lifting the Apple vs. Adobe compete veil'>Lifting the Apple vs. Adobe compete veil</a></li>
<li><a href='http://www.riagenic.com/archives/299' title='Silverlight Installation / Preloader Experience &ndash; BarnesStyle.'>Silverlight Installation / Preloader Experience &ndash; BarnesStyle.</a></li>
<li><a href='http://www.riagenic.com/archives/249' title='Windows Mobile 7 the &ldquo;meh&rdquo; release.'>Windows Mobile 7 the &ldquo;meh&rdquo; release.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.riagenic.com/archives/332/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Lifting the Apple vs. Adobe compete veil</title>
		<link>http://www.riagenic.com/archives/314</link>
		<comments>http://www.riagenic.com/archives/314#comments</comments>
		<pubDate>Sat, 10 Apr 2010 04:45:04 +0000</pubDate>
		<dc:creator>Scott Barnes</dc:creator>
				<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[Marketing]]></category>

		<guid isPermaLink="false">http://www.riagenic.com/archives/314</guid>
		<description><![CDATA[ 
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 [...]]]></description>
			<content:encoded><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/04/image12.png" width="642" height="212" /> </p>
<p>In October 2009 <a href="http://www.insideria.com/2009/10/could-adobe-potentially-harm-t.html" target="_blank">I warned the Adobe community via InsideRIA</a> that Adobe should tread very carefully with Apple and how that if they kept poking the sleeping giant sooner or later they’d react.</p>
<p>It’s now April, and <a href="http://www.google.com.au/search?q=Apple+Iphone+OS4+adobe&amp;hl=en&amp;tbs=nws:1&amp;tbo=u&amp;ei=zQPAS49cw62eB--F_LgK&amp;sa=X&amp;oi=news_group&amp;ct=title&amp;resnum=1&amp;ved=0CBAQsQQwAA" target="_blank">Apple have reacted</a> – and like a great game of chess, it’s not check mate just yet either.</p>
<p>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 &#8211; “It’s my house if you don’t like it leave” is the summary.</p>
<p>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).</p>
<h2>The lesser of two evils.</h2>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/04/image8.png" width="642" height="203" /> </p>
<p>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.</p>
<p>The answer is – it depends.</p>
<p>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:- <em>the ability and power to lock down the user experience for all devices into a democratic format like Flash</em>. </p>
<p>That plan is effectively the same playbook as Microsoft has used for Windows, own the platform own the industry its that simple.</p>
<p>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.</p>
<p>Adobe is desperately trying to change that, they see their future as being the UX platform to the masses &#8211; “use my tools and you can produce on all devices and platforms” is essentially their mantra.</p>
<p>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.</p>
<h2>If your going to have democracy, let it be HTML5 then.</h2>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/04/image13.png" width="642" height="208" /> </p>
<p>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&#160; and I&#8217;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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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&#160; is going to be a lot harder to separate.</p>
<p>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.</p>
<p>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&#160; 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. </p>
<p>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</p>
<h2>Where is Microsoft in all this?</h2>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/04/image14.png" width="642" height="208" /> </p>
<p>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.</p>
<p>If you screw around with those two boxes they will compete against you and hard. <a href="http://www.silverlight.net" target="_blank">Silverlight</a> 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. <a href="http://www.silverlight.net" target="_blank">Silverlight</a> 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.</p>
<p>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. </p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<h2>Adobe will win this, public demand will turn in their favor.</h2>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/04/image15.png" width="642" height="152" /> </p>
<p>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.</p>
<p>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.</p>
<p>I predict Adobe will lose this bout and despite Adobe’s CTO <a href="http://blogs.adobe.com/conversations/2010/04/cs5_countdown_is_on.html" target="_blank">post today</a> 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:</p>
<blockquote><p><em>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 <strong>Apple whether they choose to allow or disallow applications as their rules shift over time</strong></em></p>
</blockquote>
</p>
</p>
<p>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.</p>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://www.riagenic.com/archives/169' title='iPad is still missing iPlugin due to Compete wars'>iPad is still missing iPlugin due to Compete wars</a></li>
<li><a href='http://www.riagenic.com/archives/242' title='Context and Experience Matters.'>Context and Experience Matters.</a></li>
<li><a href='http://www.riagenic.com/archives/358' title='Microsoft: Stop the shiny object syndrome.'>Microsoft: Stop the shiny object syndrome.</a></li>
<li><a href='http://www.riagenic.com/archives/342' title='RIAGENIC is a UX/UI Business.'>RIAGENIC is a UX/UI Business.</a></li>
<li><a href='http://www.riagenic.com/archives/299' title='Silverlight Installation / Preloader Experience &ndash; BarnesStyle.'>Silverlight Installation / Preloader Experience &ndash; BarnesStyle.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.riagenic.com/archives/314/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Silverlight Installation / Preloader Experience &#8211; BarnesStyle.</title>
		<link>http://www.riagenic.com/archives/299</link>
		<comments>http://www.riagenic.com/archives/299#comments</comments>
		<pubDate>Mon, 05 Apr 2010 10:01:00 +0000</pubDate>
		<dc:creator>Scott Barnes</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Experience Matters]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.riagenic.com/archives/299</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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 (<em>slow painful incremental growth in terms of change</em>).</p>
<p>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 <em>IRAQ war of software </em>(i.e. meaning, its so far embedded now that fixing it is going to take generations of change).</p>
<p>Here is how I’d love to see it change course.</p>
<h2>Change the way Silverlight Boostraps.</h2>
<p>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<strong> App.xaml.cs</strong> for example, you should see something like this:</p>
<pre><code class=\'prettyprint\' >
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            this.RootVisual = new MainPage();
        }
</code></pre>
<p>What effectively is happening here is that Application Class is the default root for Silverlight and when you inject “<strong>MainPage</strong>()” into the <strong>RootVisual</strong> its pretty much the same as if you went:</p>
<pre><code class=\'prettyprint\' >	UserControl MyUserControl = new UserControl();
	MyUserControl.Content = new MainPage();</code></pre>
<p>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 <em>(More on that below)</em></p>
<p>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.</p>
<blockquote><p><strong><em>Why are they bad you may ask?</em></strong></p></blockquote>
<p>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?</p>
<p>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).</p>
<p>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&#8217;m at.</p>
<h2>Soliciting the end users.</h2>
<p>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.</p>
<p>You first need to have inside your webpage “<em>You don’t have Silverlight, go get it and here’s what you will get in return</em>” vs the dreaded “<em>Get Silverlight</em>” medallion.</p>
<blockquote><p><em>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.</em></p></blockquote>
<p>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 – <em>think of all end users as a 3 year old child&#8217;s attention span and you will be better positioned for success here.</em></p>
<p>You need to create a preloading experience that is as helpful and joyful as the intended experience you’ve just spent <strong>$thousands</strong> of dollars creating (<strong>why drop the ball at the last yard!</strong> – for you NFL fans)</p>
<p>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:</p>
<blockquote><p>“…Initializing launch codes for anti-nuclear attack&#8221;</p>
<p>”…Growing Llamas feet so it can walk…”</p>
<p>”…Handing a Monkey a nail gun for entertainment value..”</p></blockquote>
<p>Keep them informed but not too informed as you want to balance out keeping them informed whilst not making them aware of “<strong>time</strong>” as that is the enemy, “<strong>time</strong>”. I’ve even lied once due to a latency hit that I couldn’t avoid, so I put in the initializing splash screen “<em>Checking Security Credentials</em>”  (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).</p>
<p>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 <em>(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).</em></p>
<h2>First: Install Templates.</h2>
<p>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:</p>
<p><img style="display: inline; border-width: 0px;" title="image" src="http://www.riagenic.com/wp-content/uploads/2010/04/image3.png" border="0" alt="image" width="426" height="319" /></p>
<p>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 <strong>MySilverlightProject.BooStrapper</strong> 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).</p>
<h2>Second: Preloaders/Splash Screens.</h2>
<p><strong> </strong>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).</p>
<p><img style="display: inline; border-width: 0px;" title="image" src="http://www.riagenic.com/wp-content/uploads/2010/04/image5.png" border="0" alt="image" width="427" height="318" /></p>
<p>Once you have gone through these three templates, your solution should have 3 projects in place.</p>
<ul>
<li><strong>Project1 – MyProject.Silverlight.BootStrapper
<p></strong>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.</li>
<li><strong>Project2 – MyProject.Silverlight
<p></strong>This is the project you originally intended to use, exact same structure(s) as you have today in Silverlight.</li>
<li><strong>Project3 – MyProject.Silverlight.Web</strong>This 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?&#8221; which then based on a Boolean result reacts and produces a prompt that goes beyond the “Get Silverlight” medallion.</li>
</ul>
<h2>The Marketplace.</h2>
<p>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 – <strong>Marketplace</strong>.</p>
<p>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 <em>exchange</em> based community that is more consolidated and branded under a single point of entry for both Silverlight and Expression <em>(say <strong><span style="text-decoration: underline;">NO</span></strong> to Expression and Silverlight/WPF segregation– designer / developers need to cross-pollinate).</em></p>
<p>I’d love to see a similar concept as <a href="http://www.preloaders.net">preloaders.net</a><strong> </strong> and <a href="http://www.scalenine.com ">scalenine.com</a><strong></strong> 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).</p>
<h2>Summary.</h2>
<p>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.</p>
<p><img style="display: inline; border-width: 0px;" title="image" src="http://www.riagenic.com/wp-content/uploads/2010/04/image6.png" border="0" alt="image" width="434" height="268" /></p>
<p>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…<strong>ERKS</strong>..me (<em><strong>for I am ERKED</strong></em>) 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.</p>
<p>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?”</p>
<p>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.</p>
<p>This is both a Microsoft and Community problem that needs immediate resolution.</p>
<p><strong><span style="color: #ff0000;">Call to Action:<em> </em></span></strong><em>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.</em></p>
<p><em><strong style="color: #f01c0e;">Vote here</strong></em><em> so this can be escalated to the Silverlight Feature planning team! &#8211; : <a href="http://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions/suggestions/632735-silverlight-installation-and-preloader-experience-">http://dotnet.uservoice.com/forums/4325-silverlight-feature-suggestions/suggestions/632735-silverlight-installation-and-preloader-experience-</a></em><br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://www.riagenic.com/archives/358' title='Microsoft: Stop the shiny object syndrome.'>Microsoft: Stop the shiny object syndrome.</a></li>
<li><a href='http://www.riagenic.com/archives/342' title='RIAGENIC is a UX/UI Business.'>RIAGENIC is a UX/UI Business.</a></li>
<li><a href='http://www.riagenic.com/archives/332' title='Adobe, you lose.'>Adobe, you lose.</a></li>
<li><a href='http://www.riagenic.com/archives/314' title='Lifting the Apple vs. Adobe compete veil'>Lifting the Apple vs. Adobe compete veil</a></li>
<li><a href='http://www.riagenic.com/archives/264' title='UX Tip: Just because you can count change, doesn&rsquo;t make you a mathematician'>UX Tip: Just because you can count change, doesn&rsquo;t make you a mathematician</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.riagenic.com/archives/299/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>How to hack Expression Blend</title>
		<link>http://www.riagenic.com/archives/275</link>
		<comments>http://www.riagenic.com/archives/275#comments</comments>
		<pubDate>Thu, 01 Apr 2010 13:40:15 +0000</pubDate>
		<dc:creator>Scott Barnes</dc:creator>
				<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[Skinning]]></category>

		<guid isPermaLink="false">http://www.riagenic.com/archives/275</guid>
		<description><![CDATA[I’m the kind of guy who likes to tinker where i shouldn’t and tonight I just couldn’t help myself and decided to see how far I could go in terms of hijacking the UI in Expression Blend.
The reason that sparked this quest was that I wanted to write my own special custom UI Panel for [...]]]></description>
			<content:encoded><![CDATA[<p>I’m the kind of guy who likes to tinker where i shouldn’t and tonight I just couldn’t help myself and decided to see how far I could go in terms of hijacking the UI in Expression Blend.</p>
<p>The reason that sparked this quest was that I wanted to write my own special custom UI Panel for Blend that reflects a Skinning framework I’ve been working on. I was more specifically focused on how to hide Category panels that are basically not required, in that “Skin X Panel” is all I wanted developers to access for my given control (which in turn has all the relevant turnkey properties that they should tweak).</p>
<p>I managed to do this like any “Design-Time” solution can, by basically invoking <strong>BrowsableAttribute.No</strong> in the MetaDataStore.cs (Justin Angel <a href="http://blogs.silverlight.net/blogs/justinangel/archive/2008/11/17/silverlight-design-time-extensibility.aspx" target="_blank">has a brilliant write-up here</a> on how to setup your own at – design time Expression Blend extensibility) which was working, except I noticed PropertyGrids like “Font” and “Grid” wouldn’t hide (Given they are DependencyProperties and are hard-coded into Blend). </p>
<p><a href="http://www.riagenic.com/wp-content/uploads/2010/04/image18.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/04/image18_thumb.png" width="325" height="134" /></a> </p>
<p>Given this was annoying me, I decided to see if there was maybe a way for me to hijack blend via the internal VisualTree in order to react to a control type selection and then switch Category Panels on/off depending on the type that’s being accessed.</p>
<p>Armed with this mission, I proceeded to get a few much needed tools for my upcoming journey. </p>
<h2>Ingredients.</h2>
<p><strong>First: Snoop. </strong>    <br /><a href="http://blois.us/" target="_blank">Peter Blois</a> was a guy I used to always enjoy having coffee with as not only is he one of the Program Managers in Expression Blend team, but he often writes very cool small tools that just basically make your life easier should you wish to run up against the grain. Peter’s written a small open source app which attaches itself to an instance of Blend that you have open and then proceeds to walk the VisualTree within your current view.</p>
<p><a href="http://blois.us/Snoop/" target="_blank">Get Snoop</a></p>
<p><strong>Second: 2x Instances Visual Studio open.      <br /></strong>Obviously the first one is to allow you to access your code base (duh) the second is for debugging Expression Blend, so make sure you attach the second VS instance to debug Expression Blend that you’re about to <a href="http://blois.us/Snoop/" target="_blank">Snoop</a> (i.e. <a href="http://blogs.msdn.com/expression/archive/2008/06/19/debugging-design-time-exceptions.aspx" target="_blank">Attach to Process tutorial here</a>)</p>
<p><strong>Third: VisualTreeWalker </strong>    <br />Jim Baltzell-Gauthier <a href="http://blogs.vertigo.com/personal/jimbg/Blog/archive/2008/10/24/walk-the-visual-tree.aspx" target="_blank">has written a class</a> that basically takes <strong>FrameworkElement.FindName()</strong> and injects some steroids into place. This is important as you’ll need this to hunt specific nodes within Expression Blend’s internal VisualTree.</p>
<h2>Basic Hack.</h2>
<p>Armed with that, the first thing you’ll want to do is create a Construct in your <strong>MetaDataStore.cs</strong> (in your Expression Blend.DesignTime project). In this you’ll need to access the following branch to get yourself started.</p>
<pre class="prettyprint lang-cs"><code class=\'prettyprint\' >Application.Current.MainWindow
</code></pre>
<p>This is pretty much like in Silverlight at runtime, your “root” starting point, from here you’ve pretty much got access to the XAML DOM much like you would in WPF today. To prove my point, try this:</p>
<pre class="prettyprint lang-cs"><code class=\'prettyprint\' >
Application.Current.MainWindow.Title = "RIAGENIC.COM is My Daddy";

</code></pre>
<h2>I can haz your snoop Blend</h2>
<p>Now you have probably some basic skills around how you can hack Expression Blend. The next step is to really screw around in the kitchen, in that let’s break something.</p>
<p>Let’s for example, hide the Panel which shows you what your control’s “Name” property is (ie see below).</p>
<p><a href="http://www.riagenic.com/wp-content/uploads/2010/04/image11.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/04/image11_thumb.png" width="353" height="134" /></a> </p>
<p>To do this, open up Snoop and attach it to your Expression Blend. Then type into Snoop “InfoBar” into your Tree Filter textbox (first one above the actual tree). This should narrow your selection down to the following:</p>
<p><a href="http://www.riagenic.com/wp-content/uploads/2010/04/image4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/04/image4_thumb.png" width="566" height="195" /></a> </p>
<p>Now if you move your mouse over inside Snoop over the actual “<strong>InfoBar</strong>” node, you’ll see a preview of that control (ie snapshot of it). This is the one we want to mess with.</p>
<p>Next, inside your <strong>MetaDataStore.cs</strong> type in the following:</p>
<pre class="prettyprint lang-cs"><code class=\'prettyprint\' >
Border o = VisualTreeWalker.FindName("InfoBar", Application.Current.MainWindow) as Border; 

                if (o != null)
                    o.Visibility = Visibility.Visible;
</code></pre>
<p>Now, inside Expression Blend, <strong>“Rebuild the Project”</strong> and watch the Name Panel disappear.</p>
<p>Pretty cool huh?</p>
<p>The more you “Snoop” around inside the VisualTree the more you can start to see possibilities here on how you can really do some hardcore damage to the beloved Expression Blend. As with anything, with great power comes great responsibility, so do be careful and do understand that anything you touch via this route WILL NOT be supported by Microsoft (use at your own risk – if you could also potentially use this concept to inject time-bombed trial watermarks etc on developers using your 3rd party controls etc).</p>
<h2>Where to from here?</h2>
<p>I’m going to keep tweaking around with this, but basically I want to attach an event to the selection of a said control and then sniff the type. If the end user accesses my controls that I’ve made, I then want to do something unique and fun to provide a specific UI Panel for them to make use of. </p>
<p>Its, again, Unsupported but from what I’ve seen over the years this backdoor in hasn’t changed all that much as the hardest part to get to this point was creating a “Design-Time” project that worked for both WPF and Silverlight (Inside Expression Blend 4, this is fixed).</p>
<p>Have fun.</p>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li>No Related Posts</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.riagenic.com/archives/275/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>UX Tip: Just because you can count change, doesn&#8217;t make you a mathematician</title>
		<link>http://www.riagenic.com/archives/264</link>
		<comments>http://www.riagenic.com/archives/264#comments</comments>
		<pubDate>Tue, 23 Mar 2010 11:43:39 +0000</pubDate>
		<dc:creator>Scott Barnes</dc:creator>
				<category><![CDATA[Developer]]></category>
		<category><![CDATA[UX + Agile]]></category>
		<category><![CDATA[Adoption]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://www.riagenic.com/archives/264</guid>
		<description><![CDATA[I was watching a MIX2010 video from Microsoft’s head UX guru, Bill Buxton on how specifically developers and designers engage with one another. There was a throw away line he put out there, which was stated in reference to developers whom often think that because they have a bit of design muscle deep down that [...]]]></description>
			<content:encoded><![CDATA[<p>I was watching a <a href="http://bit.ly/avKRr3" target="_blank">MIX2010 video</a> from Microsoft’s head UX guru, Bill Buxton on how specifically developers and designers engage with one another. There was a throw away line he put out there, which was stated in reference to developers whom often think that because they have a bit of design muscle deep down that they too can contribute to the design discussion – </p>
<blockquote><p>Just because you can count the change in your pocket, doesn’t mean you’re now a mathematician.</p>
</blockquote>
<p>I laughed when I heard this as yes, design is an art (who knew) and often at times we take it for granted a lot more than we probably care to admit out loud.</p>
<p>For me personally, given I’ve visited countless developers in a variety of scenarios in the Microsoft space, one constant theme I see continues to emerge, developer art.&#160; This consistent pattern is the exact fit for the above analogy.</p>
<p>Allow me to explain further..</p>
<h2>Developer Art</h2>
<p><a href="http://www.riagenic.com/wp-content/uploads/2010/03/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/03/image_thumb.png" width="504" height="358" /></a></p>
<p>Developer art is the composition of a interactive solution that almost looks good enough to ship, but when you start to tease away at the various threads (i.e. DataGrids) you begin to see that there isn’t a lot of structured thought put into place behind the “Why” the screen is structured the way it is. In that, they often tell a story as to why it’s important to cram as many UI elements onto a screen making full use of all the pixels you are given and then some. It has certain hints of developer based design and structure but it comes across very adhoc and chaotic in thought.</p>
<blockquote><p>“Oh yeah, I’ll add that button in later..”</p>
</blockquote>
<p>I admire their intent (truly), but sadly this is really just re-echoing bad habits into a new medium and all we’ve really done going forward is polished the cumbersome UX and it’s attached pixels with a brighter gloss – the problem continues to live on though, and user’s are expected to jump through hoops due to poor software development planning and useless deadlines that in reality are more than likely going to increase the problem rather than decrease it.</p>
<p><em>Note: Most devs i’ve engaged with this, are aware of this as well, and are openly keen to get this fixed (very encouraging days ahead).</em></p>
<p>That being said, developer art tends to lead into <em>Pixel Cramming</em> &#8211; </p>
<h2>Pixel Cramming</h2>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/03/image1.png" width="510" height="388" /> </p>
<p>Having a large screen is tempting to do a lot with, but in the end we must remember an important fundamental about humans, in that we like to chunk information into pieces that make sense to us. We listen to a story and isolate important pieces, in that we tend to skim read large documents and isolate important facts / figures. We often hear a story and isolate key pieces of information and bank that into our working and/or short-term memory. </p>
<p>Chunking is a clue to how your end users approach things in general, yet with developer art UI, it tends to be blatantly ignored. The reason being is, most of the time developers want to take a large resolution of pixels and fit as much data and finite amount at that, onto the one screen – because users like to analyse all of this data is usually the response I often hear.</p>
<p>I could inject countless research papers here on how <strong>humans + density = cognitive overload</strong> and the chances of recall and/or visual encoding are diminished as you layer more and more amounts of data. I don’t though as depending on how you deliver that message can lead to an emotive discussion focused around the words “I think”, less “I know” (which is really the base primitive used to instantiate an argument randomly.</p>
<p>Instead I come at it from another direction, that is asking the developer(s) to consider layering complexity.</p>
<h2>Layer in Complexity.</h2>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/03/image2.png" width="642" height="200" /> </p>
<p>I often tell developers to start easy and then layer in density or complexity (as you learn more about your end users expected habits or paths of access). </p>
<p>I do this for a number of reasons.</p>
<p>Firstly it’s a sneaky trick I play on you, as it forces you to think about the big picture first from an end users perspective, whilst it then removes you from that pesky habit of getting bogged down in the finite details (engineers play chess with UI, they are always trying to guess 3 moves ahead). </p>
<p>Once you structure the surface of your UI in a way that mimics the way humans process information, you just may stand a great chance at producing some UI that doesn’t feel like a page out of the classified section.</p>
<p>Secondly, another reason as to why I ask you to layer in complexity/density is that it can help safeguard you from creating lots of virtual problems that probably don’t need solving. What I mean is that approx 80% of your end users are likely to only use 20% of your features, which in turn means that if you were to ship V1 as a very basic piece of software without the cascading density of UI you would in turn raise questions within your user base that are mostly likely going to yield you a lot of “<strong>I know</strong>” to questions that are probably coming up with “<strong>I think</strong>” today.</p>
<p>(Behind the scenes you are effectively doing an on the fly qualitative analysis on your said upcoming software’s development approach).</p>
<p>What If I were to come into your developer enclosure tomorrow, walk up to your feature task board and steal 30% of the features away from your product randomly. How would your end users react? I know how you’d react, but really, how would you’re end users react. Would they even notice it’s missing and if they did notice it was missing what story would they in turn tell you about why it’s important. Once they do tell you this information, and I only agree to give you half of the features back, how would you weight the importance against what you already have today done or still on the board.</p>
<p>My point, you do this anyway, you often start out with a healthy amount of feature requests, but through the inertia of development these features get squashed, contorted and at times glossed over in the development process. It’s a really negative impact on what started out with so much positivity.</p>
<h2>Bottom line is this. </h2>
<p><a href="http://www.riagenic.com/wp-content/uploads/2010/03/image4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.riagenic.com/wp-content/uploads/2010/03/image_thumb2.png" width="642" height="348" /></a> </p>
<p>Engage a UX Professional as well as a UI Professional, as in the end they think about these various points allot (at times both from different angles), and typically see the world for the chaos that it is and less inclined to care about you the developer<em> (It’s not you, it’s not me either, it’s them, ya know, the end users).</em> If you don’t already, do some persona development around your product and it’s important to do this. If you have done this, then grab some wall space and scrap book various clues about the end user for all to see. Remind yourself daily who it is your developing for and why. Ask yourself “Which person’s life am I going to ignite with this feature being done perfectly, done in an ad hoc fashion and/or not done at all”. You should have an answer to this with a degree of confidence that should be shared by all.</p>
<p>Does this mean all design is hands off to developers?</p>
<p>Yes and no, if you aren’t passionate about the concept of what design is, you really need to step back and let someone who is genuinely curious about solving problems for end users through interface design and less about shipping schedules or how brilliantly they orchestrated their MVVM architecture. As the ironic thing about development patterns is you’re building software to make life easier for developers to be apart of? funny, why can’t you do the same for the end users?</p>
<p>I’m not an expert, far from it, I’m just experimenting out loud with all of this, but the more I data I gather, the more I start to see how all these puzzles fit and all to often, developers are trying to be too many roles at once and well, humans are never really good at multi-threading – hence we chunk.</p>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href='http://www.riagenic.com/archives/342' title='RIAGENIC is a UX/UI Business.'>RIAGENIC is a UX/UI Business.</a></li>
<li><a href='http://www.riagenic.com/archives/299' title='Silverlight Installation / Preloader Experience &ndash; BarnesStyle.'>Silverlight Installation / Preloader Experience &ndash; BarnesStyle.</a></li>
<li><a href='http://www.riagenic.com/archives/242' title='Context and Experience Matters.'>Context and Experience Matters.</a></li>
<li><a href='http://www.riagenic.com/archives/207' title='My Slides: Microsoft UX: What Just Happened '>My Slides: Microsoft UX: What Just Happened </a></li>
<li><a href='http://www.riagenic.com/archives/161' title='Adobe Open Screen Project – reality check.'>Adobe Open Screen Project – reality check.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.riagenic.com/archives/264/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
