<?xml version="1.0"?>
<rss version="2.0">
    <channel>
    <title>Macadamian Blog</title>
    <link>http://www.macadamian.com/</link>
    <description>A list of blog posts at Macadamian.com, sorted by date.</description>
    
    <item>
      <title>Exposing your team… to your users!</title>
      <link>http://www.macadamian.com/blog/post/the_benefits_of_exposing_your_team_to_your_users_of_course/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/the_benefits_of_exposing_your_team_to_your_users_of_course/#When:12:15:41Z</guid>
      <description><![CDATA[<p>A great <a href="http://www.uie.com/articles/user_exposure_hours/">blog article</a> was sent to me by a fellow researcher regarding a way to improve the designs teams produce.  The solution&hellip; more exposure hours.  It was found that by exposing all team members to the design&rsquo;s end users helped improve the final product.   </p>
<p>Exposing team members to end users means participating in field visits and listening in on interviews and usability tests that help uncover user&rsquo;s goals and objectives.  </p>
<p>For a project I recently worked on, I conducted field visits and interviews with a number of users and user groups.  Reporting on the findings to stakeholders that had not participated in the research activity led to some conflicts and discussions at design and product development meetings since they weren&rsquo;t as familiar with certain ways their product was being used. Not connecting with their end users has lead their design to become more complex by the addition of features and capabilities so it was great to see that this first step had been taken and an importance placed on user experience (UX).  </p>
<p>Let&rsquo;s compare that scenario to another project.  For this project, a number of stakeholders actively participated in observing design concept walkthroughs and therefore, were much more educated in the subtleties and nuances of users&rsquo; interactions with the design.  Seeing the problems users were running into led to insights behind their potential causes and gave everyone new ideas for a better solution.  When everyone has a chance to come up with solutions, it helps the core design team become aware of other influences to the design, which may not have been considered or mentioned previously.</p><p>One way that we expose stakeholders to end users is to invite them to (silently) observe usability test sessions; whether in-house or remote.  This allows them to become familiar with the users&rsquo; needs and wants so that conversations don&rsquo;t become a battle in the meeting room later.  If time zones or schedules don&rsquo;t permit stakeholders to sit in live for the sessions, we record every one of them so that they can still expose their team members to the research activity at a time that&rsquo;s more convenient.  </p>
<p>Currently, we&rsquo;ve also been involving our developers in projects that aren&rsquo;t UX-only projects.  Our developers have either been encouraged by our UX team members to become familiar with the design&rsquo;s end users or often, the developers have put &ldquo;more UX-exposure&rdquo; onto their yearly review.  When developers see how people are experiencing the design, they can think about the implications from a technology standpoint.  It also gives them a chance to become more knowledgeable so that when something has been created and a roadblock occurs, they know of reasonable alternatives to use.  This enables the whole team to work better together.  </p>
<p>Involving these groups sends a clear message of the importance of UX and I&rsquo;m excited to see how this leads to greater experiences for our end users!</p>]]></description>
      <pubDate>Fri, 25 May 2012 12:15:41 -0400</pubDate>
    </item>
    
    <item>
      <title>Designing with a Rubber Stamp Doesn&#8217;t Work</title>
      <link>http://www.macadamian.com/blog/post/designing_with_a_rubber_stamp_doesnt_work/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/designing_with_a_rubber_stamp_doesnt_work/#When:17:27:02Z</guid>
      <description><![CDATA[<p><i>&quot;</i><i>Fred, our app is everywhere and not one single platform is the same, aside from our icon</i>.&quot;  That's a quote verbatim I get from time to time. My client in this case  is expressing a need that he would like to have the app the same  everywhere. It reminds me of a rubber stamp; I have a design and  I&nbsp;duplicate&nbsp;it everywhere. This is a tempting approach to save cost  because we think it's the way to go,&nbsp;but it doesn't work. We all know it  doesn't work that way to a certain&nbsp;degree - clients included - still  what is the root cause of this kind of comment?</p><p><b>Why Rubber Stamping?</b><br />
</p>
<p>Getting an application to work on the web, on the mobile, on  the TV etc. is very expensive. So my reflex to bring my costs down could  be to apply one design for all.<br />
<br />
There is another more&nbsp;insidious reason and this is that sometimes we  don't know what we know.&nbsp;&nbsp;Simply put, there are things  we're&nbsp;unconsciously competent about and this is one of them. We all know  a web application doesn't go about performing the same task that a  native mobile, or even a web mobile one would. Yet often when creating  applications, the first thing I see people doing is trying to replicate  the exact same task the same way. That's what I call being unconsciously  competent about something - we intrinsically&nbsp;know the user model for  the web is different from the mobile, yet we don't take that into  account. It's like we keep forgetting to embrace the differences in the  user model and the result is a software product that doesn't deliver on  an experience that users will be expecting and ultimately it will not  deliver on the business goals either.&nbsp;</p>
<p>&nbsp;</p>
<p>At a high level, two things I work hard at keeping front and  center in design activities:&nbsp; the mental model the user is in when using  the said product, and the gaps the product is to address.&nbsp;</p>
<p>&nbsp;</p>
<p><b>Mental Models</b><br />
</p>
<p>An example of mental models to account for with users is how  they are used to use the platform my product is to run on. The web  metaphor of usage for a user is not the same as the mobile or desktop  metaphor. So in the web we've gotten used to the back and forward  button. Still it's very important to help the user find anchor points in  my web application so that he's never lost, so bread crumbs are a  visual indicator used sometimes to help with that. In mobile I still  need to help orient the user, but I won't do it the same way because  it's possible in the mobile application to imply a sequence from its  visual language. Another expression for mental models is context of  use.&nbsp;The two applications need to help orient the user, but because my  user is in a different mental model imposed by the platforms, it means I  must be aware of those differences to deliver a&nbsp;compelling&nbsp;user  experience.<br />
</p>
<p>Mental models encompass a lot of things. It can be  whether or not my user is standing up when using my app or sitting  down; it will make for different expectations on the user's part. Rubber  stamp design is not putting the user at the center of my design by  being aware that their mental models are a critical aspect of the  experience my software will deliver.&nbsp;<br />
</p>
<p><b>Going Back to the Gap the Product is to Address</b><br />
</p>
<p>It's one aspect of my customer's overall business goals. My  customers all want to make money, plain and simple, and more of it. How  the software I'm working with is to go about meeting that goal is highly  dependant on the gap the product is meant to address. The platforms on  which the product is to run are only an ingredient of the overall  business recipe. The web application might be the main use case. The  mobile is there to supplement the experience when the full web  experience is not available to my user. Mobile could also very well  augment the experience of my main use case.&nbsp;</p>
<p>&nbsp;</p>
<p>The gap I'm designing to fix is another reason why rubber  stamp design is no good. Settling for the same design on all platforms  would not enrich the experience to capitalize on opportunities.&nbsp;</p>
<p><br />
<b>Wrapping Up</b><br />
</p>
<p>Rubber stamp design doesn't work because it doesn't embrace  the user models. It doesn't work because by not embracing the user  models, I might not even fully cover the business gap I'm trying to  address in the first place.&nbsp;<span style="font-weight: normal;" class="Apple-style-span">In  short, we all need to strive to become consciously competent about  mental models our users are working under in conjunction with the  business goals in order to create an experience that will encompass  both. Only then do we deliver a product of great value to the users and  the customer - a product of desire.&nbsp;<br />
</span></p>
<div>
<p>Related articles</p>
<p>&nbsp;</p>
<ul class="zemanta-article-ul">
    <li class="zemanta-article-ul-li"><a href="http://blogs.picpacwrack.net/2011/08/has-mobile-created-gap-in-your-product.html">Has the mobile created a gap in your product offering?</a> (blogs.picpacwrack.net)</li>
    <li class="zemanta-article-ul-li"><a href="http://blogs.picpacwrack.net/2011/08/re-mobile-what-have-i-learned-from-web.html">Re Mobile: What have I learned from the web?</a> (blogs.picpacwrack.net)</li>
    <li class="zemanta-article-ul-li"><a href="http://blogs.picpacwrack.net/2011/07/beautifully-designed-product-95-ipad.html">Beautifully designed product : 95% Ipad activation in the enterprise</a> (blogs.picpacwrack.net)</li>
</ul>
</div>
<p>&nbsp;</p>]]></description>
      <pubDate>Thu, 24 May 2012 17:27:02 -0400</pubDate>
    </item>
    
    <item>
      <title>Do Your Homework Before Porting an iOS app to Android</title>
      <link>http://www.macadamian.com/blog/post/do_your_homework_before_porting_an_ios_app_to_android1/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/do_your_homework_before_porting_an_ios_app_to_android1/#When:12:26:16Z</guid>
      <description><![CDATA[<p>With the rise of Android&rsquo;s popularity, product managers with an existing iPhone or iPad product are under pressure to port it to Android. While porting from iOS to Android is certainly possible, we have found teams almost always underestimate the amount of effort required.  </p>
<p>Porting an iOS app is not a trivial matter because there are a number of Android elements not present in iOS, and vice versa. When the product manager or designer tries to preserve as much of the iOS design as possible, developers frequently devote a great deal of time replicating the iOS controls and workflow because they do not exist on Android. The result is a product that releases late, and ultimately alienates Android users who have become accustomed to Android-specific interactions. For those who are planning to port an application from iOS to Android (or are already knee-deep in this surprisingly challenging endeavour), we&rsquo;ve put together a list of recommendations.  </p>
<p><strong>Re-use Data Organization and Grouping of Controls </strong></p>
<p>The data organization and grouping of controls into screens can be reused from an iOS product in a direct mapping. The relative control placement does not need to change, although it is typical to move the &ldquo;tab&rdquo; control from the bottom to the top of the screen.  </p>
<p><strong>Use Native Android Controls</strong></p>
<p>Android controls are much easier (and less costly) to implement than custom controls so they should be used wherever possible. Google, like other UI toolkit makers, spent more effort on its UI controls than most app developers can afford. This makes it difficult or impossible to replicate many iPhone interactions on the Android platform.   </p>
<p>For example, &ldquo;lists&rdquo; on the iPhone can be pulled down to reveal a search control. While this can be easily replicated on an iPhone app, implementing the same behavior on an Android app, and making the transition smooth, would require a significant investment.</p><p><strong>Eliminate the &ldquo;Back&rdquo; Button </strong></p>
<p>Android devices feature a back button in their physical design. A &ldquo;soft&rdquo; back button (such as the one found in iOS apps) could confuse the user or unnecessarily clutter the UI, so it should be eliminated.   </p>
<p><strong>Leverage the &ldquo;Search&rdquo; Button </strong></p>
<p>In addition to a &ldquo;back&rdquo; button, Android devices feature a hard &ldquo;search&rdquo; button. Be sure to eliminate any unnecessary soft search buttons and configure your app to leverage the built-in back button.  Leverage the &ldquo;Menu&rdquo; Button and the &ldquo;Long Press&rdquo; Android menu options can be moved off-screen to a menu that is displayed when the hard button is clicked. Similarly, secondary options can be made accessible by doing a &ldquo;long press&rdquo; on a control. For example, long pressing a list item is one way to obtain the option to delete it.  </p>
<p><strong>Design the Selected State </strong></p>
<p>When a control is selected, a visual representation of the controlled state is needed for designs that incorporate custom backgrounds. Buttons, for example, may need to change color when selected, so your design will need to specify the look and color of the specified state.  </p>
<p><strong>Use 9-patch PNGs </strong></p>
<p>9-patch images allow Android controls to automatically resize images and display them properly on an Android device.  </p>
<p><strong>Set Controls to Density-Independent Pixel Sizes </strong></p>
<p>If your Android UI is defined in pixels, the controls will be large on some screens and tiny on high-resolution screens. To remedy this, set your controls to density independent pixel sizes so that the physical size of the control is maintained on all screens.  </p>
<p>By tailoring your iOS design to suit the Android platform, you can ensure your ported app looks and acts like an Android app &mdash; not simply an iPhone app running on an Android phone. What&rsquo;s more, you will dramatically speed up development and release of the application by eliminating the complicated steps required to replicate the iOS experience on Android. </p>
<p><strong>Summing It Up </strong></p>
<p>Delivering value to app users who are interacting with dozens of different Android mobile devices is challenging and requires the collaboration of product management, design teams and developers. By leveraging Android design tools and understanding the differences between the iOS and Android platforms, you can quickly design and develop an Android app that is visually appealing, intuitive and easily adopted by Android users.  </p>
<p><strong>Talk With the Experts </strong></p>
<p>User researchers trained in User-Centered Design techniques can help you to understand your prospective Android users and how they will be interacting with your app. We invite you consult with our accredited UCD researchers and Android experts who can work alongside you to develop a UI that will maximize the value of your design across the user base.  At Macadamian, our experience and proven ability to design and develop groundbreaking mobile products make us the ultimate partner to support your Android application project. </p>
<p><strong>Further Reading </strong></p>
<p>For more information on designing and developing for Android. Read my whitepaper <a href="http://info.macadamian.com/1stAndroidRelease.html">Your First Android Release, It Can Go Really Well (Or Really, Really, Badly)</a></p>]]></description>
      <pubDate>Tue, 22 May 2012 12:26:16 -0400</pubDate>
    </item>
    
    <item>
      <title>Product Managers, Designers and Developers Need to Work In Parallel</title>
      <link>http://www.macadamian.com/blog/post/teams_that_work_in_parallel/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/teams_that_work_in_parallel/#When:11:06:29Z</guid>
      <description><![CDATA[<p>Perhaps the most challenging aspect of modern software creation is having multiple team members&mdash;designers, developers, architects&mdash;working iteratively and in parallel. Wouldn&rsquo;t it just be easier if Product Managers completed their requirements definition, then handed it off to designers to create the full design, who then handed it off to development to build and test? Easier? Maybe. Will it yield a more successful product? Definitely not. </p>
<p>There are a couple of reasons functions can&rsquo;t &ldquo;take turns&rdquo; sequentially designing and building a product: </p>
<p>1. The steps are not sequential. Designers need to test that a design is working over the course of development. Product Managers need to adapt requirements as they get updated competitive data. </p>
<p>2. Designers need room to be creative, and that means the ability to fail and iterate. </p>
<p>3. Part of success is releasing in time to capitalize on a market opportunity. Working in parallel with daily communication is much faster than sequentially. Here is a glimpse at how we&rsquo;ve seen very successful teams manage this idea of mass parallelization and iteration.  </p>
<p><strong>Start With Back-End Development </strong></p>
<p>Many developers are used to the idea of developing the UI first and then implementing back-end functionality progressively. This is normal&mdash;business stakeholders are visually inclined and have always put more emphasis on having the visible parts of an app built first for things like demos. How many managers do you know that see a UI with no back-end and assume the product must be almost complete, when in fact the back-end has barely been started?  </p>
<p>Developers who are comfortable with the idea of starting on the back-end and making sure to have a robust data model while the designs are being fleshed out typically thrive in modern software environments. They recognize that well architected software has a clear divide between the front-end and back-end and starting with the back-end actually contributes to a solid architecture. What this means is that Product Managers need to work closely with the architect and developers early on to establish the data model based on product requirements. <a href="http://www.macadamian.com/blog/post/product_management_design_and_software_development_groups_working_as_one_te/">Follow the requirements advice</a> we gave earlier, and you should be in good shape.</p><p>The other more unfortunate consequence is that from time to time, developers will be asked to develop the UI and then re-develop it when the design changes. A good software team leader will be sure to offer the right explanations and support, as this could otherwise be a morale killer for developers who see it as inefficient re-work. For the good of the product, it is better to continuously adapt a design than wait for it to be &ldquo;locked&rdquo; before starting development. </p>
<p><strong>Continual Estimation </strong></p>
<p>Once the Design and Development groups have developed trust and are communicating daily, they will often need to discuss time vs. design trade-offs. Many software developers are amazingly creative and can build almost any design&mdash;even an astoundingly complex one&mdash;but it&rsquo;s always a question of time and budget. Since most designers don&rsquo;t have the deep technical knowledge to know upfront which design elements will be costly and which won&rsquo;t, successful development teams get into the habit of continually estimating the time required to develop the proposed designs and provide that information back to the team as the designs evolve.   </p>
<p>Here is an example of this workflow: </p>
<p>1. The designer proposes an initial design concept. </p>
<p>2. A software developer estimates the rough time to achieve the design. </p>
<p>3. The developer highlights specific layouts or controls that will take time, especially if they risk threatening the timeline. </p>
<p>4. The developer gets back to design and product management with this information. </p>
<p>5. All three can discuss alternatives. If a particular design element is deemed critical to product success, the team can decide to leave it in scope despite its time and cost impact.  </p>
<p>Does this constant negotiation-like process take a lot of time? It can, but it&rsquo;s worth it. We have found two elements that can dramatically speed the continual estimation process: </p>
<p>1.	Communication and trust. If these are present, design/development discussions quickly go from harsh negotiations to mutual support. </p>
<p>2.	The developers&rsquo; ability to estimate quickly, which comes with practice and knowledge of the system. Estimates don&rsquo;t have to be 100% accurate. In fact all that is really required is a ballpark estimate to flag any major complexities in the design.  </p>
<p>Several years ago, <a href="http://www.joelonsoftware.com/items/2007/10/26.html">Joel Spolsky</a> recommended a process called <a href="http://www.joelonsoftware.com/items/2007/10/26.html">Evidence-Based Scheduling</a>&mdash;a way of using his company&rsquo;s software so that developers could progressively learn to estimate quickly and effectively. While we have not used his tool, certainly the theory is one we ascribe to.  </p>
<p><strong>Buffer Time For Creative Failure </strong></p>
<p>This is probably the hardest one to achieve with a senior management team that is not bought in to an integrated Agile design process. You need to allow for some buffer for designers to be wrong. Good designers are trying to solve problems much like the scientific process&mdash;they come up with a hypothesis, in this case a design, and try to prove it through prototyping and usability testing. Unless your product strategy is to be first to market at the expense of potential quality trade-offs, the product owner should actively plan for some &ldquo;failure and re-work&rdquo; time. Designers will need this to iterate designs. The additional time may not even push out the release schedule much, as developers can use this time to perform activities that are otherwise notorious for holding up a product release at the end&mdash;refactoring code and fixing last-minute bugs.</p>
<p><strong>Key Takeaways </strong></p>
<ul>
    <li>Software team members need to effectively work in parallel, not sequentially.
    <p>&nbsp;</p>
    </li>
    <li>Developers working from the back-end will allow more time for designers to iterate the design.
    <p>&nbsp;</p>
    </li>
    <li>Developers should continually estimate the time impact of design changes and discuss it with the team.
    <p>&nbsp;</p>
    </li>
    <li>The product owner should buffer time for re-working the design and architecture, unless time-to-market is the key driver over quality.</li>
</ul>
<p>&nbsp;</p>
<p><strong>Further Reading </strong></p>
<ul>
    <li><a href="http://www.agilemodeling.com/essays/agileUsability.htm">Introduction to Agile Usability</a>. (Ambler)
    <p>&nbsp;</p>
    </li>
    <li><a href="http://www.macadamian.com/blog/post/4_ways_to_review_an_estimate_with_limited_time_and_limited_expertise/">Four Ways to Review an Estimate with Limited Time and Expertise</a>. (Macadamian)</li>
</ul>
<p>&nbsp;</p>]]></description>
      <pubDate>Thu, 17 May 2012 11:06:29 -0400</pubDate>
    </item>
    
    <item>
      <title>Argentina innovation: Frozen Beef!</title>
      <link>http://www.macadamian.com/blog/post/argentina_innovation_frozen_beef/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/argentina_innovation_frozen_beef/#When:14:34:52Z</guid>
      <description><![CDATA[<p>Last October I was in Argentina, &nbsp;a vacation my spouse and I were very keen  on. It was a blast and in the cloud 9 experience category. We got to  visit parts of a great country with great people. What I want to talk about though is what I discovered there when doing the tourist stuff.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3 class="post-title entry-title">&nbsp;</h3>
<div class="post-header">&nbsp;</div>
<p><span class="zemanta-img separator" style="clear: right;"><a href="http://commons.wikipedia.org/wiki/File:British_Beef_Cuts.svg" style="clear: right; display: block; float: right; margin-left: 1em; margin-right: 1em;"><img height="177" width="300" alt="These are the common British cuts of beef. Bas..." src="http://upload.wikimedia.org/wikipedia/commons/thumb/6/62/British_Beef_Cuts.svg/300px-British_Beef_Cuts.svg.png" style="border: none; font-size: 0.8em;" /></a></span></p><p><b>Pre 1867:</b><br />
As we were traveling we were reading about Argentina and the places we  were visiting, the buildings etc. Then Manon stumbled on a very  interesting piece of information. <i>Argentina's rendez-vous with fame and glory: Frozen beef!</i>  It speaks to the power of innovation; it transformed people's lives and  a country's future. For Argentina there was pre 1867 and after 1867.  See Argentina has always had a great reputation for producing high  quality beef. The problem they had was they could not sell it to anyone  outside of their internal market. They had no way to ship the meat  without it going bad before it made it to its destination. <br />
<br />
<b>Post 1867:</b><br />
Well this date to Canadians is significant for different reasons, but  for Argentinians it's the date when they figured out something very  important. In 1867 they discovered a way to ship their beef frozen and  keep it frozen long enough for the beef to make it to Europe and still  be good to eat.<br />
<br />
This innovation for Argentina was transformative. They figured how to  freeze beef so they could export it and make huge money from that great  resource they had. Thus was born the expression 'rich like an  Argentinian'.<br />
<br />
<b>Where is my 'frozen beef' in my industry?</b><br />
It is so simple when you think about it. I have a supply and there is a  market for it but I just can't get it there. Then one guy puts two and  two together and a country is transformed. Back in the day, frozen beef  existed. Still the process needed to improve significantly so that  significant breakthrough could be achieved with the beef supply.<br />
<br />
Back in the day, the big innovation was what now looks like a fairly  simple thing and we all know it wasn't. And still the point I want to  make is how incremental this whole&nbsp;innovation&nbsp;was - frozen goods  existed, boats transporting industry existed, beef existed ... still how  very significant <i>keeping beef frozen for a little longer</i> turned out to be.<br />
<br />
The take away for me is this incremental innovation is all around us in  our businesses.&nbsp;It starts with a hitch, it starts with a gap, it starts  with a pain, and next thing you know you might just have an <b>Aspirin </b>like impact.<br />
<br />
The ingredients are here. We need to experiment. We need to continuously mix and remix!&nbsp;<b>So where is the frozen beef moment in your business?</b></p>]]></description>
      <pubDate>Wed, 16 May 2012 14:34:52 -0400</pubDate>
    </item>
    
    <item>
      <title>New HTML5 innovations that speed &amp; simplify development</title>
      <link>http://www.macadamian.com/blog/post/new_html5_innovations_that_speed_simplify_development/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/new_html5_innovations_that_speed_simplify_development/#When:12:57:45Z</guid>
      <description><![CDATA[<p><em>The following is information we learned from Dan Menard (dan-menard.com ) when he gave us an internal presentation on HTML5. This is the second in a series.</em></p>
<p>In my <a href="http://www.macadamian.com/blog/post/html5_frameworks_you_need_to_know_about/">last blog post</a>  I discussed HTML frameworks that simplify the use of HTML5. I&rsquo;m now going to dig a bit deeper and talk about four helpful tools &ndash; some that exist and some that are still in development &ndash; that will help developers in their day-to-day work within those frameworks. </p>
<p><strong>1.	New Client-Side Validation Tools: </strong></p>
<p>Client-side validation is probably one of my least favourite things about development. Luckily, it&rsquo;s getting a whole lot easier with HTML5. When developing forms on the web that handle e-mail addresses, URLs or other user inputs, you usually need to write a lot of validation scripts to ensure that those entries are valid. These scripts can be pretty tedious to create and can&rsquo;t always be ported from one project to another. </p>
<p>Luckily, HTML5 uses input elements that eliminate the need to write complicated validation scripts for common forms. These elements can automatically detect whether the user has inputted a valid entry. </p>
<p>For example, if you want to have a field that can only accept regular expressions, you can use an input pattern attribute to automatically generate the appropriate field:</p>
<p><img width="393" vspace="2" hspace="4" height="186" align="middle" src="/uploads/HTML5_1.jpg" alt="" /></p><p>In this case, the field will only accept regular expression entries. If the user does not input one, as in the above example, the box automatically turns red and displays the message &ldquo;Please match the requested format.&rdquo;  The same type of input can be used for other common form elements like e-mail addresses and URLs as seen here:</p>
<p><img width="396" vspace="2" hspace="4" height="148" align="middle" alt="" src="/uploads/HTML5_2(1).jpg" /></p>
<p>One of my favourite uses of these input patterns is for required fields. Normally you&rsquo;d have to place an asterisk beside the box to indicate that it&rsquo;s a required field, and the user might only realize that they haven&rsquo;t filled it out once they try to submit the form. With HTML5, you can use an &ldquo;input required&rdquo; element. If the user leaves it empty, it will highlight it in red and indicate that it must be filled before submitting the form.</p>
<p>&nbsp;<img width="324" vspace="2" hspace="4" height="138" align="middle" alt="" src="/uploads/HTML5_3.jpg" /></p>
<p>All of these HTML5 input elements make it very easy to create forms quickly and painlessly.</p>
<p><strong>2.	FlexBox </strong></p>
<p>Another great HTML5 innovation is <a href="http://flexbox.codeplex.com/">FlexBox</a>. It&rsquo;s a very flexible jQuery plugin that can be used as a replacement for HTML textboxes and dropdowns. It&rsquo;s useful for when you have to design web page layouts like the one below that can adapt to a variety of screen sizes.</p>
<p><a href="http://www.lukew.com/ff/entry.asp?1514"><img width="300" vspace="2" hspace="4" height="218" align="middle" src="/uploads/HTML5_4.jpg" alt="" /></a></p>
<p>Normally, you&rsquo;d need to use a lot of messy floats and clears to accomplish that, but FlexBox lets you do it with one simple line of code:</p>
<p><b style="mso-bidi-font-weight:normal"><span lang="EN-CA" style="font-size:14.0pt;mso-bidi-font-size:11.0pt;line-height:115%;
font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;mso-ascii-theme-font:minor-latin;mso-fareast-font-family:
Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:&quot;Times New Roman&quot;;mso-bidi-theme-font:minor-bidi;
mso-ansi-language:EN-CA;mso-fareast-language:EN-US;mso-bidi-language:AR-SA">&lt;div style=&ldquo;display: -webkit-flexbox&rdquo;&gt; </span></b></p>
<p>&nbsp;</p>
<p>By adding this code and inputting your normal content, you can create a web layout that will display properly on a wide range of devices.</p>
<p>FlexBox is also very&hellip;flexible! You can assign a lot of different options for rows, columns, wrapped text, ordering and alignment &ndash; both horizontal and vertical. That&rsquo;s nice because it&rsquo;s traditionally been really tough to get vertical alignment right.</p>
<p><img width="383" height="199" src="/uploads/HTML5_5.jpg" alt="" /></p>
<p>The last bullet in the above diagram is one of my favourite aspects of FlexBox. If you&rsquo;re setting the width and height of a FlexBox, you can assign it a positive value, a negative value and the preferred width. It will make your element the preferred width if it can, and it will use the positive value to accommodate any extra space left over and margin it accordingly. If the element doesn&rsquo;t fit, it will use the negative value to align it according to your wishes (left justified, right justified, etc.)</p>
<p>You can learn more about FlexBox and download it on its website: <a href="http://flexbox.codeplex.com/">http://flexbox.codeplex.com/</a></p>
<p><strong>3.	Web Intents </strong></p>
<p>HTML5 also features &ldquo;web intents&rdquo; which are just like Android intents &ndash; they&rsquo;ll find the appropriate activity or tool needed for a particular operation. So, if your app requires someone to input an image, for example, you could create an intent that would recognize the user&rsquo;s social networks and ask if they would like to use an image from Facebook, Twitter, Google+, etc.</p>
<p>Web intents are still at an early stage so I don&rsquo;t know of a version that you can play with in a browser, but I&rsquo;m sure that will change within the next 12 months. I expect these to become very, very popular!</p>
<p><strong>4.	Web Components &amp; Scoped Styles </strong></p>
<p>Two of the most powerful upcoming HTML5 tools (in my opinion) are Web Components and Scoped Stylesheets. I could probably write entire blog posts on each of these, so I&rsquo;ll just give you a taste of what they will make possible. <strong>Web Components</strong> will dramatically simplify the process of creating and re-using widgets through the use of templates, decorators, custom elements and shadow DOMs. You can find some very detailed explanations of all of these aspects here: <a href="http://dvcs.w3.org/hg/webcomponents/raw-file/tip/explainer/index.html ">http://dvcs.w3.org/hg/webcomponents/raw-file/tip/explainer/index.html </a></p>
<p><strong>Scoped Stylesheets</strong> will allow you to create widgets that don&rsquo;t break the rest of a web page. In short, you can restrict certain style rules to only apply to one section of a particular page &ndash; allowing you to cleanly incorporate content from third party sites, for example. You can read a good description and example here: <a href="http://updates.html5rocks.com/2012/03/A-New-Experimental-Feature-style-scoped ">http://updates.html5rocks.com/2012/03/A-New-Experimental-Feature-style-scoped </a></p>
<p><strong>Staying Up to Date on HTML5 </strong></p>
<p>As you can see, there&rsquo;s lots to know and learn about HTML5. In my next post, I&rsquo;ll show you where you can go to learn more about HTML5 and stay up to date on all of the new tips, tools and tricks.</p>]]></description>
      <pubDate>Mon, 14 May 2012 12:57:45 -0400</pubDate>
    </item>
    
    <item>
      <title>Taking the Stage at BlackBerry World 10</title>
      <link>http://www.macadamian.com/blog/post/taking_the_stage_at_blackberry_world_10/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/taking_the_stage_at_blackberry_world_10/#When:19:14:45Z</guid>
      <description><![CDATA[<p>Last week, Daniel Baxter, one of our Senior Developers, and I were on stage at BlackBerry 10 Jam talking about custom frameworks we've been building that work with OpenGL and Cascades. If you haven&rsquo;t seen the video of demo at BlackBerry Jam, <a href="http://crackberry.com/macadamian-demos-custom-controls-using-cascades-and-opengl-blackberry-10-jam">check it out</a>. We were given the opportunity to show off one of our apps that makes use of custom controls that pull in content from various resources to aggregate the information and present it in an attractive and useful UI.  </p>
<p><strong>Background </strong></p>
<p>This all began when we got a sneak peak at BlackBerry 10 a while back, saw some of the concepts like flow and connect, and realized what was possible using  Cascades with a minimal amount of code.  We got excited and decided to create a demo that embodied those concepts in an Enterprise context.  We wanted people to rethink how they might go about building a really rich enterprise app in BB10.</p><p><strong>The App </strong></p>
<p><img width="440" vspace="3" hspace="3" height="248" align="middle" src="/uploads/BlackBerry 10 Jam Macadamian Demo Visual 01.png" alt="" /></p>
<p>Imagine you are the owner of a sports apparel company and its NBA play-off time. Like any business, your biggest problem is predictability.  As the owner you want to see data analytics and visualizations that will help you make inventory purchasing decisions, such as how many team jerseys to buy. Of course you can&rsquo;t predict what is going to happen in the playoffs, so you want to see data showing you things like who&rsquo;s playing well so you can make a more informed purchasing decision.</p>
<p>This app is a combination of Cascades and OpenGL. On the left hand side of this screen shot is a giant Cascades control. It allows you to rotate around through the different NBA teams.</p>
<p>For the data source, we captured &frac12; million tweets over 2 weeks from Twitter for the different NBA play-off teams, in an attempt to get a sense for which team was generating the most interest among fans.</p>
<p><img width="440" vspace="4" hspace="4" height="248" align="middle" src="/uploads/BlackBerry 10 Jam Macadamian Demo Visual 02.png" alt="" /></p>
<p>&nbsp;</p>
<p>We then rendered the data in OpenGL as a screen graph, which shows which team has the most buzz. As you tab through the app, you can see the starting line- ups of the Mavericks and Thunder as well as who has the most play-time in minutes per game.</p>
<p>As you tab through the app, you can see the starting line- ups of the Mavericks and Thunder as well as who has the most play-time in minutes per game.</p>
<p><img width="440" vspace="4" hspace="4" height="248" align="middle" src="/uploads/BlackBerry 10 Jam Macadamian Demo Visual 04.png" alt="" /></p>
<p>In this screen shot, you can see that the app also shows which players have the most rebounds per game.</p>
<p>Both of these charts are drawn in Open GL but all of the rest is done in Cascades. The text and buttons are in Cascades, and OpenGL is dropped in on top. Basically, we&rsquo;ve seamlessly rendered OpenGL in between all the rest of the controls.</p>
<p><strong>The Code </strong></p>
<p>There are 3 parts to the code for the controls we created: an OpenGL thread, 3 different GL renderers (each responsible for drawing one of the graphs), and a custom control that implements straight from the Cascades CustomControl class. Once we had these three parts, we attached the OpenGL thread to the CustomControl using an invisible ForeignWindow and gave our OpenGL thread a reference to the correct renderer.</p>
<p>To use the control, we import the control by name and then just drop it in a QML document like any other Cascades control. The rest of the app is written in straight Cascades. The scene graph is built up by the Cascades engine and the control will integrate seamlessly into your app. It&rsquo;s as easy as that.</p>
<p>If you&rsquo;d like a better look at the code, we&rsquo;ve put it up <a href="https://github.com/blackberry/Cascades-Community-Samples/tree/master/Macadamian">in open source under Cascades samples</a>.</p>]]></description>
      <pubDate>Wed, 09 May 2012 19:14:45 -0400</pubDate>
    </item>
    
    <item>
      <title>Social Platforms Will Make Enterprise Software More Useful</title>
      <link>http://www.macadamian.com/blog/post/social_platforms_will_make_enterprise_software_more_useful/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/social_platforms_will_make_enterprise_software_more_useful/#When:18:25:42Z</guid>
      <description><![CDATA[<p>Listening to Marc Benioff at Web 2.0, I latched onto three things he shared with us:</p>
<div style="clear: both; text-align: center;" class="separator"><span style="clear: both; float: none;" class="zemanta-img separator zemanta-action-dragged"><a style="clear: right; display: block; float: right; margin-left: 1em; margin-right: 1em;" href="http://www.daylife.com/image/09GHc13abV5rB?utm_source=zemanta&amp;utm_medium=p&amp;utm_content=09GHc13abV5rB&amp;utm_campaign=z1"><img width="240" height="155" style="border: none; font-size: 0.8em;" src="http://cache.daylife.com/imageserve/09GHc13abV5rB/150x104.jpg" alt="SAN FRANCISCO, CA - OCTOBER 17:  Salesforce CE..." /></a><span style="clear: both; float: right; margin-left: 1em; margin-right: 1em; width: 150px;" class="zemanta-img-attribution">Image by <a href="http://www.daylife.com/source/Getty_Images">Getty Images</a> via <a href="http://www.daylife.com/">@daylife</a></span></span></div>
<ul>
    <li>
    <p>Facebook is becoming a vision of what the consumer operating system is,</p>
    </li>
    <li>
    <p>Social media is an acceleration,</p>
    </li>
    <li>
    <p>Internet of things concept.</p>
    </li>
</ul>
<p>&nbsp;</p><p>I think as a product designer and creator there is something to be  said about the points Marc Benioff is making. To create the enterprise  software of tomorrow, the biggest trend these days to be aware of is the  '<a href="http://en.wikipedia.org/wiki/Consumerization">consumerization</a>' of the enterprise. &nbsp;<u>This is driving the need for better design back into the enterprise</u>.  Through better design, a better user experience will encompass what  works from the consumer side of things and the new interaction metaphors  the consumer is driving.&nbsp;</p>
<p>&nbsp;</p>
<p><span style="clear: right;" class="zemanta-img separator zemanta-action-dragged"><a style="clear: right; display: block; float: right; margin-left: 1em; margin-right: 1em;" href="http://www.crunchbase.com/company/facebook"><img width="245" height="100" style="border: none; font-size: 0.8em;" src="http://www.crunchbase.com/assets/images/resized/0000/4561/4561v1-max-450x450.png" alt="Image representing Facebook as depicted in Cru..." /></a><span style="clear: both; float: right; margin-left: 1em; margin-right: 1em; width: 245px;" class="zemanta-img-attribution">Image via <a href="http://www.crunchbase.com/">CrunchBase</a></span></span><b><i>&quot;</i><i>Facebook is becoming a vision of what the consumer operating system is</i>&quot;</b></p>
<p><br />
Not to put words in his mouth, but he really is saying <u>Facebook is the model of interaction and use cases that our customers' customer expects to see now</u>.  The users of our enterprise software now are growing up in an FB world -  not a Frederic Boulanger world, but a Facebook one! Facebook for all  its good and bad is setting the bar on how things get done. Whether it's  how information is discovered and shared, or how we interact with it,  Facebook is the only game in town.&nbsp;</p>
<p>To  create the interactions of tomorrow in our business software, we have  to be taking into account the new expectations of the users regarding  the interactions and the experience they unknowingly have.<i> They are the Facebook models of interactions.</i></p>
<p><i><br />
</i></p>
<p><i><b>&quot;Social media is an acceleration&quot;</b></i></p>
<p><br />
<span style="clear: right;" class="zemanta-img separator zemanta-action-dragged"><a style="clear: right; display: block; float: right; margin-left: 1em; margin-right: 1em;" href="http://www.flickr.com/photos/27403767@N00/2671872672"><img width="240" height="155" style="border: none; font-size: 0.8em;" src="http://farm4.static.flickr.com/3211/2671872672_22e685bac6_m.jpg" alt="Twitter + Summize" /></a><span style="clear: both; float: right; margin-left: 1em; margin-right: 1em; width: 240px;" class="zemanta-img-attribution">Image by <a href="http://www.flickr.com/photos/27403767@N00/2671872672">Laughing Squid</a> via Flickr</span></span>Enterprise  software is about enabling quicker decisions for an organization.  Information discovery is a big part of social media. The information  architecture of the products of tomorrow are set to use some of the  social networks concepts because they accelerate propagation of  information that is likely to matter with you. There is a perfect match  in principle for social and enterprise through '<i>acceleration of decisions</i>'.</p>
<div>&nbsp;</div>
<p><b><i>&quot;Mobile, Social and cloud'</i></b>&quot; vs <i><b>&quot;</b></i><b><i>Internet of things</i></b>&quot;</p>
<p><br />
I'm mashing two things I heard yesterday here. Arab Spring was supported  by 'Mobile, Social and cloud', this is why we saw Thank you Facebook  and Thank you Twitter all over the place in Cairo and other cities in  the Middle East. Additionally, in the not so distant future there are  going to be many more devices than we can think of right now.&nbsp;</p>
<p>&nbsp;</p>
<p>The model to have in our heads is - if 'it' consumes energy  it will be connected to the internet. This means all sorts of things  will be helping us make decisions on data received from the cloud  wherever we are and with the ability to share those experiences and  engage.&nbsp;</p>
<div>&nbsp;</div>
<p>Example: I'm driving my car and it slips on a patch of ice;  my car will then push that information up into the cloud and all cars  following me will be notified of that patch of ice and will help their  driver not get into an accident.&nbsp;</p>
<p>&nbsp;</p>
<p>The Mobile, Social and cloud and the internet of things, will  further accelerate the enterprise. Adapting more quickly, avoiding  obstacles and making more decisions are a direct benefit for those who  embrace it. It's only starting - buckle up.</p>
<p>&nbsp;</p>
<p><b>Wrapping Up</b></p>
<p><br />
Our new software products in the enterprise have much to gain to  internalize the models of social networks. The models are there and well  understood by the users, so less training and more engagement are  highly likely. The impact is already seen and known in the consumer  space; information propagation through social network is fast and no  enterprise out there wants to go slow. &nbsp;Decision making and adapting to  an ever changing landscape are optimal with social network.&nbsp;</p>
<p>&nbsp;</p>
<p>So a couple of questions for your next release to embark on the enterprise social software:</p>
<div>
<ul>
    <li>
    <p>How can the social software like Facebook and Twitter interaction metaphors be applied to your software?&nbsp;</p>
    </li>
    <li>
    <p>How can the social network platform help your users accelerate decision making and become more agile?</p>
    </li>
</ul>
<div>&nbsp;</div>
</div>
<div><i><br />
</i></div>
<br />
<div class="zemanta-related">
<p>Related articles</p>
<ul class="zemanta-article-ul">
    <li class="zemanta-article-ul-li">
    <p><a href="http://techcrunch.com/2011/10/17/salesforce-ceo-facebook-is-leading-the-direction-for-where-were-going-as-an-industry/">Salesforce CEO: Facebook Is Leading The Direction For Where 'We're Going As An Industry'</a> (techcrunch.com)</p>
    </li>
    <li class="zemanta-article-ul-li">
    <p><a href="http://www.informationweek.com/news/thebrainyard/social_networking_consumer/231901011?cid=RSSfeed_IWK_All">Facebook Is Web's Future, Say Parker and Benioff</a> (informationweek.com)</p>
    </li>
    <li class="zemanta-article-ul-li">
    <p><a href="http://blogs.wsj.com/digits/2011/10/18/twitter-ceo-costolo-on-apple-privacy-free-speech-and-google-far-from-ipo/">Twitter CEO Costolo on Apple, Privacy, Free Speech and Google; Far From IPO</a> (blogs.wsj.com)</p>
    </li>
    <li class="zemanta-article-ul-li">
    <p><a href="http://blogs.picpacwrack.net/2011/08/re-mobile-what-have-i-learned-from-web.html">Re Mobile: What have I learned from the web?</a> (blogs.picpacwrack.net)</p>
    </li>
    <li class="zemanta-article-ul-li">
    <p><a href="http://blogs.picpacwrack.net/2011/10/what-brad-pitt-and-moneyball-can-teach.html">What Brad Pitt and Moneyball Can Teach Me About Product Design</a> (blogs.picpacwrack.net)</p>
    </li>
</ul>
</div>]]></description>
      <pubDate>Wed, 09 May 2012 18:25:42 -0400</pubDate>
    </item>
    
    <item>
      <title>Designing for the Mobile Clinician: Do Not Be Afraid</title>
      <link>http://www.macadamian.com/blog/post/designing_for_the_mobile_clinician_do_not_be_afraid/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/designing_for_the_mobile_clinician_do_not_be_afraid/#When:13:46:05Z</guid>
      <description><![CDATA[<p>I came across a surprising mobile fact related to the healthcare setting&hellip;. &ldquo;physician smartphone adoption outpaces the general US adult population&rsquo;s adoption of smartphones&rdquo; (<a href="http://www.mhimss.org/blog/top-3-considerations-when-designing-apps-mobile-clinician">Dreyer 2012</a>).  Based on this explosion, many members of the user experience (UX) community may find themselves in a new, exciting area of work.  Healthcare.</p>
<p>Do not be afraid.  Plenty of familiar guidelines and work experience from other industries can be drawn on to support design work for the healthcare industry.</p>
<p>Some of the same considerations for designing mobile apps for the general population exist for clinicians as well.  For example,</p>
<ul>
    <li>Should the app be web, native, or hybrid?</li>
    <li>How will the app function so that expectations are met regarding existing UI guidelines?</li>
    <li>How will the app be used? What goals should be met?</li>
    <li>How will the app fit into the users context of use?</li>
    <li>What is the platform and device to be used?</li>
</ul>
<p>&nbsp;</p><p>There are additional considerations for this sector as well and these should not be skimmed over quickly.  For example,</p>
<ul>
    <li>What type of data will the app display?  Loads of data can be collected from a patient and it needs to be displayed in a useful and usable fashion for the clinician.  Consider taking advantage of data visualization techniques to display patient information especially for providing trending information.  This helps clinicians improve the quality of care through better patient tracking and decision support <a href="http://getadaptiv.com/news/designing-mobilehealthcare">(Adaptiv 2011</a>).
    <p>&nbsp;</p>
    </li>
    <li>Healthcare encompasses people of all ages, mental capacities, physical attributes, skills and knowledge, etc. so who will use your app?  An app that clinicians touch may also be targeted for their patients so check out Barb&rsquo;s blog on &ldquo;<a href="http://www.macadamian.com/blog/post/sometimes_its_not_about_the_user/">Sometimes, it&rsquo;s not About the User</a>&rdquo; or our newly published whitepaper &ldquo;<a href="http://info.macadamian.com/Patient-Software.html">How to Create Engaging Patient Software</a>&rdquo;.</li>
    <li>What other applications or devices will your app talk to?  Don&rsquo;t assume your app is the only tool in the toolbox.  An integrated approach to healthcare is key to its success and the success of the mobile app.  A solution requires a holistic approach that is capable with integrating with heterogeneous systems or applications (<a href="http://www.zslinc.com/Pdf/Best-Practices-and-Trends-in-Developing-Mobile-Health-Apps.pdf">Raja 2011</a>).</li>
    <li>Will security and compliance affect your app?  If so, it is essential that you check out and adopt healthcare compliances and regulations that govern the healthcare sector (e.g. HIPAA, HITECH, ITRF Regulation, PRCI/PHI Compliances, etc.)</li>
</ul>
<p>Not that it should affect how fabulous your app is at the end of the day or how much hard work has been done in user research and design, but keep in mind that your app may be one that healthcare consumers will be told to use instead of choose to use.</p>
<p>Acknowledging these considerations is integral as it allows the healthcare app&rsquo;s UX team to provide the most optimal end user experience.</p>]]></description>
      <pubDate>Sun, 06 May 2012 13:46:05 -0400</pubDate>
    </item>
    
    <item>
      <title>RIM is Back!</title>
      <link>http://www.macadamian.com/blog/post/rim_is_back/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/rim_is_back/#When:16:42:25Z</guid>
      <description><![CDATA[<p>The rumors of RIM's demise have been greatly exaggerated.   </p>
<p>We just got back from BlackBerry World, and I was simply floored by what I saw. We're a longstanding RIM partner, so we've been getting sneak peaks of BlackBerry 10, and we were impressed with what we're seeing, and what we're <a href="http://www.youtube.com/watch?v=3nX_AploVC8">able to create</a> with their new Cascades framework (more on that later). But I wasn't prepared for what we saw in the BlackBerry World Keynote.</p>
<p><strong>Incredible User Experience </strong></p>
<p>The new User Experience of BlackBerry 10 is simply amazing. RIM is really sweating the fine details of the new UI. The transitions are organic and gorgeous. Apple caught everyone unawares when they released iOS, and it's in the fine details like transitions and scrolling where other platforms like Android don't measure up - they simply don't feel as realistic and natural as iOS. The UX and software teams at RIM are clearly making sure that the finer details of the platform feel as good as, and in some cases better than, iOS. I think developers, and the industry, will be really surprised with what you'll be able to do with BB10 and the new Cascades UI framework. Here's a link to the part of the keynote where they show off the new UX - see for yourself, and hang on through the keyboard and camera demo: <a href="http://www.youtube.com/watch?feature=player_detailpage&amp;v=OfHLjlogDS8#t=1208s">http://www.youtube.com/watch?feature=player_detailpage&amp;v=OfHLjlogDS8#t=1208s</a></p><p><b>Innovation in the keyboard</b></p>
<p>The new touch keyboard on BB10 is really wild. There hasn't been a  whole lot of innovation in the keyboard on mobile devices, and the new  BB10 keyboard will take predictive typing to a whole other level. First,  the performance looks really solid. Performance is a constant annoyance  on other mobile platforms, where your thumbs can get ahead of the  keyboard, and it's looking like the RIM team is focused on making the  typing experience one of the best in the industry, just as it was with  the first wave of BlackBerry devices. More importantly, the new swipe  gestures are sheer genius. As it learns which words you use most often,  it starts to make suggestions, and you simply swipe upwards to create  entire sentences with just a few gestures.</p>
<p><b>Flow, Connect, Extend</b></p>
<p>RIM is playing to their strengths, and capitalizing on the weaknesses  of other platforms. One of the weaknesses of iOS is that each app is  it's own island. On BlackBerry 10, data will flow between apps, and the  integration between apps will be far more seamless. There will also be a  focus on Connecting with social media and other systems, and the fact  that BlackBerry 10 is based on QNX will make it easier for BlackBerry to  Extend beyond the glass and interface with the many devices in the rest  of your life, like your car, which, chances are, runs on QNX.</p>
<p><b>Developers, Developers, Developers</b></p>
<p>To borrow a famous Steve Ballmer quote, it's about &quot;Developers,  Developers, Developers&quot;. RIM is paying a lot of attention to developer  tools in BlackBerry 10, and it shows. Look at what we were able to do,  with an Alpha no less, in under 2 weeks.&nbsp;<a href="http://www.youtube.com/watch?v=3nX_AploVC8" target="_blank"><span>http://www.youtube.com/<wbr></wbr>watch?v=3nX_AploVC8</span></a>&nbsp;  We believe that the future of enterprise mobility lie in apps like  these - micro apps that are small, simple, but provide immense value to  the enterprise user. Things like data visualization apps that provide  windows of insight and help enterprise users make day-to-day decisions  while mobile.&nbsp;</p>
<p><b>A winning strategy</b></p>
<p>I'm really impressed by RIM's cohesive strategy, and their intense  focus on making BlackBerry 10 a great platform. At BlackBerry World, it  felt like every fibre of RIM was focused on making BB10 a remarkable  platform. I think RIM is going to exceed expectations with BlackBerry  10. You heard it here first.</p>]]></description>
      <pubDate>Fri, 04 May 2012 16:42:25 -0400</pubDate>
    </item>
    
    <item>
      <title>Insights from Mobile World Congress - The Only List You Need!</title>
      <link>http://www.macadamian.com/blog/post/insights_from_mobile_world_congress_-_the_only_list_you_need/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/insights_from_mobile_world_congress_-_the_only_list_you_need/#When:15:48:00Z</guid>
      <description><![CDATA[<p>As you know, I attended Mobile World Congress 2012 back in February.&nbsp; H<span style="border-collapse: separate;"><span style="font-family: inherit;">ere are some insights I took away from the conference</span></span><span style="border-collapse: separate; font-family: Tahoma;">!</span></p><p>&nbsp;</p>
<div style="clear: both; text-align: center;" class="separator"><a style="clear:left; float:left;margin-right:1em; margin-bottom:1em" href="http://3.bp.blogspot.com/-AgoC2soEU2Q/T6FG7O1bjlI/AAAAAAAACXs/M9YHb7qHGew/s1600/01_continuity.jpg"><img height="106" width="156" border="0" src="http://3.bp.blogspot.com/-AgoC2soEU2Q/T6FG7O1bjlI/AAAAAAAACXs/M9YHb7qHGew/s320/01_continuity.jpg" alt="" /></a></div>
<p><br />
<br />
<br />
<span style="border-collapse: separate; font-family: Tahoma;"><b>The smartphone experience is continuity and engagement</b></span><span style="border-collapse: separate; font-family: inherit;">&nbsp;</span><br />
<span style="border-collapse: separate;"><span style="font-family: inherit;">The  mobile pervasiveness is marching on.&nbsp;From keynotes to demonstrations,  the pattern emerging for brands and winning products is becoming clearer  and clearer. The mobile is with you all the time and it's a great  weapon to connect the dots of what is going on in your life - it's a  continuity engine. The next thing it does very well is engage the user  in context where no engagement was possible before - get ready to  experience the world like no man has experienced it before!&nbsp;</span></span></p>
<div style="clear: both; text-align: center;" class="separator"><a style="clear:right; float:right; margin-left:1em; margin-bottom:1em" href="http://4.bp.blogspot.com/-dQ0q5JP_CEI/T6FHUgwS9JI/AAAAAAAACX4/el4vQ717rJ8/s1600/02_ecosystem.jpg"><img height="106" width="156" border="0" src="http://4.bp.blogspot.com/-dQ0q5JP_CEI/T6FHUgwS9JI/AAAAAAAACX4/el4vQ717rJ8/s320/02_ecosystem.jpg" alt="" /></a></div>
<p><br />
<br />
<span style="border-collapse: separate; font-family: Tahoma;"><br />
</span><span style="border-collapse: separate; font-family: Tahoma;"><b>The ecosystems battle royale</b></span><span style="border-collapse: separate; font-family: inherit;">&nbsp;</span><br />
<span style="border-collapse: separate;"><span style="font-family: inherit;">Is  there really a battle there between iOS, Android, Windows Phone and  soon BB10. At the show, Android was the big gorilla and iOS was the big  elephant nowhere to be seen. The contenders, Microsoft and RIM, need to  cook something special up to make themselves contenders again. Carriers  have been neglected by Apple and Google. We can expect to see Microsoft  and RIM play that card strongly.&nbsp; By showing more love to the carriers  and helping them become relevant again, they provide the carriers with a  huge incentive to move RIM and MS products in front of customers.&nbsp;</span></span><br />
</p>
<div style="clear: both; text-align: center;" class="separator"><a style="clear:left; float:left;margin-right:1em; margin-bottom:1em" href="http://1.bp.blogspot.com/-79H8lEORCbI/T6FHmD7FsCI/AAAAAAAACYE/Ygy4xTNj-Jw/s1600/03_cars.jpg"><img height="110" width="156" border="0" src="http://1.bp.blogspot.com/-79H8lEORCbI/T6FHmD7FsCI/AAAAAAAACYE/Ygy4xTNj-Jw/s400/03_cars.jpg" alt="" /></a></div>
<p><br />
<br />
<span style="border-collapse: separate; font-family: Tahoma;"><br />
</span><span style="border-collapse: separate; font-family: Tahoma;"><b>Cars + Connectivity is the new mobile</b></span><br />
<span style="border-collapse: separate;"><span style="font-family: inherit;">The  car a 100 years ago was the first mobility play. Ford believes the  combination of car + telecom is the new mobile. For a car company to be  one of the keynote they must really believe that story. The middle class  in emerging countries wants their own car and the freedom that comes  with it. To Ford this has huge repercussions on the environment and city  traffic, parking etc. that only the connected cars can address. We saw  the RIM Porsche, the MS Sync Ford car, and the connected home concept  integrating the car into the overall picture. Today is about  entertainment, but already cars on our roads have more than 1million  lines of code embedded in them so we will be getting a lot more than  entertainment soon.&nbsp;</span></span></p>
<div>
<div><span style="border-collapse: separate; font-family: Tahoma;"><br />
</span></div>
<div style="font-family: inherit;"><br />
<div style="clear: both; text-align: center;" class="separator"><a style="clear:right; float:right; margin-left:1em; margin-bottom:1em" href="http://1.bp.blogspot.com/-mK0JkUHLp_Y/T6FIy_O-MeI/AAAAAAAACYc/VdnfJPVFceE/s1600/04_healthcare.jpg"><img height="106" width="156" border="0" src="http://1.bp.blogspot.com/-mK0JkUHLp_Y/T6FIy_O-MeI/AAAAAAAACYc/VdnfJPVFceE/s400/04_healthcare.jpg" alt="" /></a></div>
<p><br />
<br />
<br />
<span style="border-collapse: separate;"><span style="border-collapse: separate;"><b>Healthcare is a two headed beast depending on where &nbsp;you live</b></span></span></p>
</div>
<p><span style="font-family: inherit;">The  problems we have to address in the developed world are very different  from those we have to address in the emerging world. The developed world  is about efficiencies to reduce the costs. The emerging world is about  access to the services for the population. During the talks it became  clear that it's not the same innovation that is required to save  people's lives depending on where you live. The realities of the  emerging world are just very different than ours. As a vendor of  solutions in the health space, insight based solutions design is  essential for success. &nbsp;</span></p>
<div style="font-family: inherit;">&nbsp;</div>
<div style="font-family: inherit;"><br />
<br />
<div style="clear: both; text-align: center;" class="separator"><a style="clear:left; float:left;margin-right:1em; margin-bottom:1em" href="http://1.bp.blogspot.com/-G60zM46OiJs/T6FJHQVkaTI/AAAAAAAACYo/1Nw7Q-jnQWA/s1600/05_bigdata.jpg"><img height="107" width="156" border="0" src="http://1.bp.blogspot.com/-G60zM46OiJs/T6FJHQVkaTI/AAAAAAAACYo/1Nw7Q-jnQWA/s400/05_bigdata.jpg" alt="" /></a></div>
<p><br />
<br />
<span style="font-size: small;"><b>It's a world of BigData more than ever</b></span></p>
</div>
<p>It's  the voluntary data we provide the applications on our phone, it's the  phone collecting information for us, it's all the sensors that are also  collecting data about us and it's the machine to machine data we're  starting to see. The opportunity is making sense of the data in the  moment. It's building the intelligence to factor in the context and  combining it with past data to make predictions, and then presenting the  information so that decisions can be made in the moment.</p>
<div style="font-family: inherit;">&nbsp;</div>
<div style="font-family: inherit;"><br />
<br />
<div style="clear: both; text-align: center;" class="separator"><a style="clear:right; float:right; margin-left:1em; margin-bottom:1em" href="http://2.bp.blogspot.com/-6zIbpKVngsA/T6FJPd41Q_I/AAAAAAAACY0/VHWsyuq1CEg/s1600/06_billion.png"><img height="106" width="156" border="0" src="http://2.bp.blogspot.com/-6zIbpKVngsA/T6FJPd41Q_I/AAAAAAAACY0/VHWsyuq1CEg/s400/06_billion.png" alt="" /></a></div>
<p><br />
<br />
<br />
<b>1b smartphones, 7b people on the planet - it's only getting started</b>&nbsp;</p>
</div>
<p>This is a quote from Eric Schmidt during his keynote. I highly encourage you to view it ( <a href="http://www.theverge.com/2012/2/29/2833535/eric-schmidt-mwc-2012-keynote-youtube-video">Eric Schmidt's MWC keynote on YouTube</a>  ). It puts things in perspective as far as how far along the mobile  revolution really is. Lots of people during the conference, including  Eric Schmidt, called for cheap smartphones. The word on the street is  we're about 18months away from a $120 smartphone. Carriers in emerging  markets are calling for $70 smartphones in order to gain serious  penetration. Huge challenges remain for accessibility, and one huge  opportunity.</p>
</div>]]></description>
      <pubDate>Wed, 02 May 2012 15:48:00 -0400</pubDate>
    </item>
    
    <item>
      <title>HTML5 Frameworks you Need to Know About</title>
      <link>http://www.macadamian.com/blog/post/html5_frameworks_you_need_to_know_about/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/html5_frameworks_you_need_to_know_about/#When:13:29:27Z</guid>
      <description><![CDATA[<p><em>The following is information we learned from Dan Menard (</em><a href="http://www.dan-menard.com/"><em>dan-menard.com </em></a><em>) when he gave us an internal presentation on HTML5. This is the first in a five part series.</em></p>
<p>We&rsquo;re big fans of HTML5 at Macadamian.</p>
<p>Not only does it offer powerful new features and support the latest multimedia, it can speed and enhance development &ndash; especially for mobile apps.   I&rsquo;ve found that there are four excellent HTML5 frameworks that can simplify the process of using HTML5 and reduce cross-platform and cross-browser issues. These are:</p>
<p><strong>1.	Sencha &amp; Sencha Touch </strong></p>
<p><a href="http://www.sencha.com/">Sencha</a> is a company that has created some solid web app frameworks. Its frameworks can help you to build HTML5 apps that look and feel &ldquo;native&rdquo; and run on any device.  Sencha makes big frameworks that include both UI and controller/mode components, and you can use it to write a full MVC (model-view-controller) app.</p>
<p><strong>Sencha for the Desktop </strong></p>
<p>One of its more popular desktop frameworks is <a href="http://www.sencha.com/products/extjs/">Ext JS 4</a>. On modern browsers, Ext JS 4 uses HTML5 features and it defaults back to alternatives on older browsers. Basically, it helps you to build an app that harnesses the power of the web regardless of the browser the end customer might use.</p>
<p>Ext JS 4 also allows you to include nice drag-and-drop functionality into your desktop app. Play around with this live example to see the end result: <a href="http://dev.sencha.com/deploy/ext-4.0.1/examples/desktop/desktop.html">http://dev.sencha.com/deploy/ext-4.0.1/examples/desktop/desktop.html</a></p>
<p>I can&rsquo;t stress enough, though, that Ext JS 4 is for desktop use only &ndash; don&rsquo;t try to run it on a mobile app unless you want it to be unbearably slow. For mobile apps, you should use Sencha Touch.</p>
<p><strong>Sencha Touch for Mobile </strong></p>
<p>As its name implies, <a href="http://www.sencha.com/products/touch/">Sencha Touch 2</a> is designed specifically for devices with touch screens &ndash; namely mobile devices. It gives you the ability to create the most common and expected mobile experiences such as scrolling and bouncing, and it lets you create header elements and back elements quickly and easily.&nbsp;</p>
<p>Sencha Touch is especially nice if you&rsquo;re working on an iOS project because its output looks and feels a lot like what you&rsquo;d see in a typical iOS app. Here are some live examples of what it can do: <A HREF="http://dev.sencha.com/deploy/touch/examples/production/index.html">http://dev.sencha.com/deploy/touch/examples/production/index.html</a> </p><p><strong>Sencha Code</strong></p>
<p>The code used for Ext JS and Sencha Touch is very similar and easy to recognize. Check out these code examples to see what I mean: <a href="http://docs.sencha.com/touch/2-0/#!/guide/first_app http://docs.sencha.com/ext-js/4-0/#!/guide/getting_started"> http://docs.sencha.com/touch/2-0/#!/guide/first_app http://docs.sencha.com/ext-js/4-0/#!/guide/getting_started</a> After working with it, it won&rsquo;t take long for you to look at a piece of code and tell whether or not it&rsquo;s Sencha.</p>
<p><strong>2.	jQuery  </strong></p>
<p>While jQuery is technically a framework, it isn&rsquo;t as big or &ldquo;framework-y&rdquo; as Sencha. It&rsquo;s more of a UI library that simplifies HTML document traversing, event handling, animating, and Ajax interactions.&nbsp;</p>
<p>Use jQuery whenever you need to do something cool with your UI around menus like  transitions, slideshows  or fancy menus. Here&rsquo;s an example of a simple drop-down menu created in jQuery: <a href="http://javascript-array.com/scripts/jquery_simple_drop_down_menu/"> http://javascript-array.com/scripts/jquery_simple_drop_down_menu/</a></p>
<p>Unlike Sencha, jQuery isn&rsquo;t used to manage models or controllers and it isn&rsquo;t an all-encompassing framework that tells you how to do everything. Instead, it&rsquo;s a very plugin-oriented solution that you can use as much (or as little) as you need.&nbsp;&nbsp;</p>
<p>Because of its plugin nature, jQuery plays very nicely with other frameworks so it&rsquo;s safe to use with Ext JS 4 and Sencha Touch. What you <strong>don&rsquo;t</strong> want to do, though, is mix two mobile frameworks. jQuery has a mobile version called jQuery Mobile that is good for mobile development <strong>unless</strong> you&rsquo;re using a mobile framework like Sencha Touch. jQuery Mobile and Sencha Touch have conflicting functionality and will give you a ton of headaches if you try to combine them.&nbsp;</p>
<p>To confuse things, there&rsquo;s a product out there called jqMobi which is actually different from jQuery Mobile but performs many of the same functions. I&rsquo;ve never used it personally, but it can also be used for mobile HTML5 app development.&nbsp;&nbsp;</p>
<p>Lastly, you may have heard of an old version called jQuery Touch. I would not recommend this as it was one of the very first solutions for mobile app development and is quite old and obsolete.&nbsp;&nbsp;</p>
<p><strong>3.	Backbone&nbsp;</strong></p>
<p><a href="http://documentcloud.github.com/backbone/">Backbone.js</a> is an MVC library like Sencha, but it doesn&rsquo;t include widgets for creating fancy UI elements. What it does give you is a lot of really neat model control and excellent documentation. It pairs well with jQuery and jQuery Mobile because you can use their plugins to develop UI elements while taking advantage of the MVC elements present in Backbone.&nbsp;&nbsp;</p>
<p>Here is a nice example of a checklist created with Backbone: <a href="http://documentcloud.github.com/backbone/examples/todos/index.html">http://documentcloud.github.com/backbone/examples/todos/index.html&nbsp;</a></p>
<p>While it&rsquo;s very similar to Sencha, I find the documentation and explanations provided by Backbone to be more helpful than those created by Sencha. While they are both large frameworks, Backbone&rsquo;s documentation is much more readable and not as overwhelming as Sencha&rsquo;s.&nbsp;</p>
<p><strong>4. Cordova </strong></p>
<p>You probably haven&rsquo;t heard of <a href="http://phonegap.com/">Cordova</a> because up until a few weeks ago it was called PhoneGap. Keep that in mind if you go looking for Cordova tutorials because you may need to look for both Cordova and PhoneGap resources until people standardize on the new name.</p>
<p>Unlike Sencha, jQuery and Backbone, Cordova isn&rsquo;t a JavaScript library. All of the other frameworks I&rsquo;ve talked about are written in JavaScript but Cordova isn&rsquo;t entirely JavaScript &ndash; it&rsquo;s more of a bridge between JavaScript and native device APIs.</p>
<p>What I like about Cordova is that it works with any mobile framework. You can use it with JavaScript, Sencha Touch,  JQuery, Backbone and JQuery Mobile &ndash; pretty much anything. In fact, it&rsquo;s good to combine them to maximize functionality and give yourself a powerful framework. Using multiple frameworks with Cordova won&rsquo;t make it easier to work with, but it can save you from having to develop a lot of functionality yourself.</p>
<p><strong>HTML5 Innovations</strong></p>
<p>In my next post, I&rsquo;ll dig deeper into some of my favourite things about HTML5 and show how you can use particular code innovations to save development time. Stay tuned!</p>]]></description>
      <pubDate>Wed, 02 May 2012 13:29:27 -0400</pubDate>
    </item>
    
    <item>
      <title>Do Your Homework Before Porting an iOS app to Android</title>
      <link>http://www.macadamian.com/blog/post/do_your_homework_before_porting_an_ios_app_to_android/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/do_your_homework_before_porting_an_ios_app_to_android/#When:17:32:44Z</guid>
      <description><![CDATA[<p>With the rise of Android&rsquo;s popularity, product managers with an existing iPhone or iPad product are under pressure to port it to Android. While porting from iOS to Android is certainly possible, we have found teams almost always underestimate the amount of effort required.</p>
<p>Porting an iOS app is not a trivial matter because there are a number of Android elements not present in iOS, and vice versa. When the product manager or designer tries to preserve as much of the iOS design as possible, developers frequently devote a great deal of time replicating the iOS controls and workflow because they do not exist on Android. The result is a product that releases late, and ultimately alienates Android users who have become accustomed to Android-specific interactions. For those who are planning to port an application from iOS to Android (or are already knee-deep in this surprisingly challenging endeavour), we&rsquo;ve put together a list of recommendations.</p>
<p><strong>Re-use Data Organization and Grouping of Controls </strong></p>
<p>The data organization and grouping of controls into screens can be reused from an iOS product in a direct mapping. The relative control placement does not need to change, although it is typical to move the &ldquo;tab&rdquo; control from the bottom to the top of the screen.</p>
<p><strong>Use Native Android Controls</strong></p>
<p>Android controls are much easier (and less costly) to implement than custom controls so they should be used wherever possible. Google, like other UI toolkit makers, spent more effort on its UI controls than most app developers can afford. This makes it difficult or impossible to replicate many iPhone interactions on the Android platform.</p>
<p>For example, &ldquo;lists&rdquo; on the iPhone can be pulled down to reveal a search control. While this can be easily replicated on an iPhone app, implementing the same behavior on an Android app, and making the transition smooth, would require a significant investment.</p>
<p>Eliminate the &ldquo;Back&rdquo; Button<br />
Android devices feature a back button in their physical design. A &ldquo;soft&rdquo; back button (such as the one found in iOS apps) could confuse the user or unnecessarily clutter the UI, so it should be eliminated.</p><p>Leverage the &ldquo;Search&rdquo; Button <br />
In addition to a &ldquo;back&rdquo; button, Android devices feature a hard &ldquo;search&rdquo; button. Be sure to eliminate any unnecessary soft search buttons and configure your app to leverage the built-in back button.</p>
<p>Leverage the &ldquo;Menu&rdquo; Button and the &ldquo;Long Press&rdquo; <br />
Android menu options can be moved off-screen to a menu that is displayed when the hard button is clicked. Similarly, secondary options can be made accessible by doing a &ldquo;long press&rdquo; on a control. For example, long pressing a list item is one way to obtain the option to delete it.</p>
<p>Design the Selected State <br />
When a control is selected, a visual representation of the controlled state is needed for designs that incorporate custom backgrounds. Buttons, for example, may need to change color when selected, so your design will need to specify the look and color of the specified state.</p>
<p>Use 9-patch PNGs <br />
9-patch images allow Android controls to automatically resize images and display them properly on an Android device.</p>
<p>Set Controls to Density-Independent Pixel Sizes<br />
If your Android UI is defined in pixels, the controls will be large on some screens and tiny on high-resolution screens. To remedy this, set your controls to density independent pixel sizes so that the physical size of the control is maintained on all screens.</p>
<p>By tailoring your iOS design to suit the Android platform, you can ensure your ported app looks and acts like an Android app &mdash; not simply an iPhone app running on an Android phone. What&rsquo;s more, you will dramatically speed up development and release of the application by eliminating the complicated steps required to replicate the iOS experience on Android.</p>
<p><strong>Summing It Up </strong></p>
<p>Delivering value to app users who are interacting with dozens of different Android mobile devices is challenging and requires the collaboration of product management, design teams and developers. By leveraging Android design tools and understanding the differences between the iOS and Android platforms, you can quickly design and develop an Android app that is visually appealing, intuitive and easily adopted by Android users.</p>
<p><strong>Talk With the Experts </strong></p>
<p>User researchers trained in User-Centered Design techniques can help you to understand your prospective Android users and how they will be interacting with your app. We invite you consult with our accredited UCD researchers and Android experts who can work alongside you to develop a UI that will maximize the value of your design across the user base.  At Macadamian, our experience and proven ability to design and develop groundbreaking mobile products make us the ultimate partner to support your Android application project.</p>
<p><strong>Further Reading</strong></p>
<p>For more information on designing and developing for Android. Read my whitepaper Your First Android Release, It Can Go Really Well (Or Really, Really, Badly)</p>]]></description>
      <pubDate>Mon, 30 Apr 2012 17:32:44 -0400</pubDate>
    </item>
    
    <item>
      <title>An After Webinar Surprise</title>
      <link>http://www.macadamian.com/blog/post/an_after_webinar_surprise/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/an_after_webinar_surprise/#When:20:28:53Z</guid>
      <description><![CDATA[<p>Last week I presented a webinar User Experience Design within the Seven Phase Product Lifecycle  with <a href="http://www.280group.com/company/team/">Brian Lawley</a>, CEO and Founder of  <a href="http://www.280group.com/">280 Group</a>, and sponsored by <a href="http://www.aipmm.com/"> AIPMM</a>.</p>
<p>During the webinar we talked about how Product managers are in a great position to enforce and evangelize for user experience as a critical part of a cross-disciplinary product development process &ndash; a process that will yield the best results. The webinar was well attended and we had a great Q and A at the end with the participants.</p>
<p><img hspace="4" height="331" align="left" width="206" src="/uploads/aipmm-webinar-17-apr-12-sketchnotes.png" alt="" />After it was over <a href="http://benjaminsnorris.com/2012/04/17/uxproduct-management-webinar/">Benjamin S. Norris</a>, sent me this sketch he created of the event. He really managed to capture many of my key takeaways in such a quick-read, attractive format!</p>
<p>Thank you so much Benjamin, this is really fantastic.</p>
<p>Brian and I will be holding another webinar with AIPMM on Tuesday, May 15th at 2:00. Registration links will be available soon.</p>
<p>&nbsp;</p>
<p><strong>Further Reading</strong><br />
If User experience design and how it can help product management is a topic you&rsquo;re interested in, you may enjoy this whitepaper: <a href="http://info.macadamian.com/wp-pms-sleep.html">UxD: Helping Product Manager&rsquo;s Sleep at Night</a></p>]]></description>
      <pubDate>Thu, 26 Apr 2012 20:28:53 -0400</pubDate>
    </item>
    
    <item>
      <title>The Right Amount of Upfront Planning</title>
      <link>http://www.macadamian.com/blog/post/the_right_amount_of_upfront_planning/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/the_right_amount_of_upfront_planning/#When:20:20:03Z</guid>
      <description><![CDATA[<p>The first generation of software planning processes were termed &ldquo;Waterfall&rdquo; and were severely derided over the past decade for being heavy, time consuming and wasteful. The second generation of processes took on various forms of &ldquo;Agile&rdquo;, where many teams abandoned upfront planning and jumped right into short sprints or iterations.</p>
<p>What we&rsquo;re seeing now is the emergence of a third generation involving just the right amount of upfront planning in something called &ldquo;Sprint Zero&rdquo;, a term borrowed from the Scrum methodology. What you focus on and what you accomplish in your sprint zero will have a tremendous impact on the success or failure of the overall product.</p>
<p><strong>Requirements Upfront</strong></p>
<p>No matter how agile development is, you&rsquo;ll never build a successful product if the work being done isn&rsquo;t aligned to the company strategy and market needs. What level of product requirement detail is needed upfront and how should those requirements be expressed? This is a big topic and already well-covered by Steve Johnson in &ldquo;<a href="http://www.pragmaticmarketing.com/publications/topics/01/0104sj/?searchterm=requirements">Writing the Marketing Requirements Document</a>&rdquo;.</p>
<p>We highly agree with his recommendation to use personas, not only because it is a way of communicating context that would otherwise be challenging to express in a bulleted list of functional descriptions (&ldquo;The software shall perform&hellip;&rdquo;), but also because personas are a key tool used by designers.</p>
<p><strong>The Design Blueprint</strong></p>
<p>It is clear that you need to establish the basic skeleton of your design from the outset, as it will shape the entire product in each subsequent sprint. This requires some upfront planning.</p>
<p>In his paper &ldquo;<a href="http://www.agilemodeling.com/essays/agileUsability.htm">Introduction to Agile Usability</a>,&rdquo; Scott Ambler recommends having at a minimum:</p>
<ul>
    <li>An overall organization for the parts of the UI that fit with the structure of user tasks.</li>
    <li>A common scheme for navigation among all parts.</li>
    <li>A visual and interaction scheme that provides a consistent look-and-feel to support user tasks.</li>
</ul>
<p>We call these information architecture, primary workflows and basic interaction structure, but it matters less what you call them, and more that you do them. In sprint zero, the software architect defines the high-level structure of the system so that the software developers have just enough information to start developing in parallel. Similarly, the lead designer needs to define a UI blueprint that includes just enough of the main UI framework and guidelines that multiple team members can work in parallel with confidence that their individual pieces taken together will form a consistent user experience.</p>
<p><strong>Communication Tools and Artifacts </strong></p>
<p>One of the biggest hurdles that product teams face is understanding what each functional group will be producing, and what they need from each other to do their best work. In a way, designers, developers, and researchers all speak different languages. While a design concept is good at communicating a sense of what something might be, it&rsquo;s far from being in a language that developers will be able to use to implement.</p>
<p>Just think for example of a concept car&mdash;&ldquo;It&rsquo;s the automobile for the new generation, completely integrated with social networks and mobile technologies while being completely simplistic in its operation. The car you feel safe that your teenager can drive and enjoy.&rdquo; Interesting concept; could you build it? At the same time, engineers need to understand how best to communicate technical constraints without snuffing out the design process.</p>
<p>Ambler recommends using modeling tools and artifacts that reflect agile practices and are familiar to designers and the product owner. XP teams, for example, prefer to work with index cards and user stories. AUP teams prefer whiteboard sketches. All of these mediums are used regularly by design professionals.</p>
<p><strong>Everyone Needs to Understand Technology </strong></p>
<p>Contrary to the idea that only developers need to worry about the underlying details of the software technology, we posit that the entire team&mdash;product management, design, analysts, QA, architects and developers&mdash;need to have a firm grasp of the technology that the software product will be based on. Consider the <a href="http://www.android.com/">Android mobile platform</a> as an example&mdash;Android users have become accustomed to the look and feel of popular Android applications developed by <a href="http://google.com/">Google</a> and its partners. These were developed using Android-specific design constructs like activities, fragments and intents that determine how the application behaves.</p>
<p>Using these constructs is vital in developing an application quickly! Developing custom designs that don&rsquo;t leverage these default Android constructs can take up to ten times longer and still not have the right look and feel at the end of the day. What&rsquo;s more, understanding these constructs will ensure the whole team is again speaking the same language. For example, Android developers use the term gravity, which is a close equivalent of the term control alignment on other platforms.</p>
<p>The Android example aside, we&rsquo;ve found this to be true for any of the numerous modern technologies that are proliferating, from <a href="http://www.apple.com/ca/ios/">iOS</a> to <a href="http://www.silverlight.net/">Silverlight</a> to <a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a>. If the designer knows how to use the native controls, the development will be much faster than if the designer or product owner ask for custom controls, and the team will be speaking the same language. To ensure product success, ensure that the entire team has a thorough understanding of the platform, its feature and its constraints.</p>
<p><strong>Key Takeaways&nbsp;	</strong></p>
<ul>
    <li>Plan to have the right information defined and agreed in a short initial project phase (&ldquo;sprint zero&rdquo;).</li>
    <li>Use personas to explain the intent and context behind product requirements quickly.</li>
    <li>Create a design blueprint with basic information architecture, primary workflows and interaction structure.</li>
    <li>Agree on communication tools like index cards or user stories.</li>
    <li>Ensure all team members have an understanding of the technology platform and its constraints.</li>
</ul>
<p>&nbsp;</p>
<p><strong>Further Reading</strong></p>
<ul>
    <li><a href="http://www.sis.pitt.edu/~gray/INFSCI2510/docs/UIModeling/UsageCenteredDesign/webapplications.pdf">Usage-centered engineering for web applications</a>.&rdquo; (Constantine &amp; Lockwood)</li>
    <li><a href="http://info.macadamian.com/1stAndroidRelease.html">Your First Android Release &mdash; It Could Go Really Well or Really, Really Badly.</a>&rdquo; (Macadamian)</li>
    <li>This post is part of a larger whitepaper: <a href="http://info.macadamian.com/wp-software-fast.html">How to Get Amazing Software Out the Door Fast </a></li>
</ul>
<p>&nbsp;</p>
]]></description>
      <pubDate>Wed, 25 Apr 2012 20:20:03 -0400</pubDate>
    </item>
    
    <item>
      <title>Stunning Design &amp;&nbsp; Products using Android Tools</title>
      <link>http://www.macadamian.com/blog/post/stunning_design_products_using_android_tools/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/stunning_design_products_using_android_tools/#When:19:30:18Z</guid>
      <description><![CDATA[<p>Too often, designers and developers work as two separate teams. Designers try to express what the product should look like via Photoshop mock-ups, and developers may or may not carry out their vision due to a number of factors that could include:</p>
<ul>
    <li>Whether the designer communicated the design effectively.</li>
    <li>Whether the designer is available over the course of implementation for questions.</li>
    <li>Whether the design can be realistically implemented.</li>
</ul>
<p>Android provides tools that effectively bridge the gap between design and development. If your team is not using these tools &mdash; designers using them as input and developers as output &mdash; you are subjecting your project to risks! To ensure your app&rsquo;s interface looks as good as your designer&rsquo;s Photoshop concept designs, your team will need to leverage the following Android tools and features:</p>
<p><strong>9-patch Tool  </strong></p>
<p>Android supports 9-patch PNG images, which can specify the area that should be stretched when it is re-sized. These PNG files will scale properly for all screen sizes and contained text, making them ideal for most control backgrounds. For example, a single 9-patch PNG can be used for all buttons of your app in all languages. Certain developers may be able to create these resources, but very few are artists, so it makes sense to have your visual designers create these images. While 9-patch images take longer to create than regular imagery, they can greatly reduce overall app development time by eliminating the need to create custom imagery for a variety of screen sizes.</p>
<p><strong>ShapeDrawable Objects </strong></p>
<p>ShapeDrawable objects are a programming construct that developers can use to create basic shapes and manage their presence on the screen. ShapeDrawable objects give your interface a &ldquo;slick&rdquo; look by preventing the banding effect that occurs with re-scaled PNGs.</p>
<p>To use ShapeDrawable images, designers provide the start and stop color of the gradient and its angle. With this information, developers will be able to ensure shapes are drawn correctly and dynamically.</p>
<p><strong>Alternate Resources </strong></p>
<p>9-patch PNGs and ShapeDrawable objects should be used as often as possible to ensure buttons and backgrounds scale smoothly across screen sizes. In cases where they can&rsquo;t be used, designers should provide alternate design resources such as standard PNG images for various Android screen densities. As with screen sizes, designers and developers only need to handle four main screen densities:</p>
<ul>
    <li>Low: around 120 dpi</li>
    <li>Medium: around 160 dpi</li>
    <li>Large: around 240 dpi</li>
    <li>Extra Large: around 320 dpi</li>
</ul>
<p>The Android OS can rescale images, but the image quality will not be as high as when designed in Photoshop. Providing four PNGs of each image that accommodate the screen densities listed above will allow imagery to look crisp on all devices.</p>
<p>By designing for the most popular screen densities and leveraging Android specific tools such as ShapeDrawable objects and the 9-patch tool, developers and designers can ensure the stunning visual mock-ups developed during the design phase of the project are translated quickly and accurately to the app&rsquo;s final design.</p>
<p><strong>Takeaways</strong></p>
<p>Android offers specific UI controls, activities, interactions, layout and resize options, as well as special constructs like fragments and intents. While on the surface these appear to be things that the design team needs to work with, we contend that the entire team must be immersed in Android to coordinate design, workflow and execution into a single, intuitive application &mdash; one that grabs users&rsquo; attentions and draws them in to the real value of your product.</p>
<p><strong>Further Reading </strong></p>
<p>For more information on designing and developing for Android. Read my whitepaper <a href="http://info.macadamian.com/1stAndroidRelease.html">Your First Android Release, It Can Go Really Well (Or Really, Really, Badly)</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></description>
      <pubDate>Mon, 23 Apr 2012 19:30:18 -0400</pubDate>
    </item>
    
    <item>
      <title>Mobile Applications Creation – What To Care About?</title>
      <link>http://www.macadamian.com/blog/post/mobile_applications_creation_what_to_care_about/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/mobile_applications_creation_what_to_care_about/#When:19:32:03Z</guid>
      <description><![CDATA[<p>I was at Mobile World Congress 2012 back in February and it triggered a  quite few thoughts. While there were many that I had, some are more  appropriate for this blog than others. So what is it that matters in the  mobile space and where is it that innovation needs to take place?</p>
<p>Marketers are taking over &ndash; I know it&rsquo;s tough to swallow. We&rsquo;re  collecting data, we're following our users like never before, we&rsquo;re  always with them either with a pocket mobile or with a smart wristband  as examples. This is a dream come true for marketers - they can now  create a much stronger link with their brand and with social use the  social connections to influence a whole slew of people I know for FREE  through my social network. Marketing budgets will explode!<br />
<br />
Here are the places that scream opportunity to me.<br />
<br />
<b>Experience</b>:&nbsp; It transcends all layers and goes beyond (see my post <a href="http://blogs.picpacwrack.net/2012/04/mobile-reframing-my-model.html">Mobile &ndash; Reframing My Model </a>).  No one really owns all the pieces and it&rsquo;s a big challenge. The  experience equation is: Hardware + Software + Services + Applications.  As Peter Chou, CEO of HTC puts it, &quot;the experience has to be Simple,  Human and Crafted&quot;. In other words, easy to use, compelling through an  emotional connection ie. working for people and lastly stylish and  sophisticated. All of the above has to be with the mindset that <b>continuity</b> matters to users.</p>
<p style="margin-left: 40px;">As an application designer and creator, the big picture is critical to  me. I need to get out there to observe and engage my users. I need to  get out there to engage the service providers and integrate them  seamlessly in the continuum of the experience of my application. I have  to understand the context where I take over from the current task and  where I hand off, and do it seamlessly.</p>
<p><b>Ecosystem</b>:&nbsp; Competition is good and it always pays off in the end  for the users. At the same time, I&rsquo;m afraid of the barriers the  platform vendors are putting up across ecosystems. There is room for a  #3 and maybe a #4. For Nokia, as per Elop, they want to build a platform  that answers the &lsquo;where&rsquo; question ALL the time (see my post <a href="http://blogs.picpacwrack.net/2012/04/nokias-mobile-strategy-mobile-world.html">Nokia&rsquo;s Mobile Strategy @ Mobile World Congress </a>). I like the odds of Windows Phone, and for RIM there are still a few tricks they can play that could change the trend.</p>
<p style="margin-left: 40px;">Ultimately though how many of us will have a full blown Apple house and  work, or Windows, or Google. I really like the odds of dropbox like  services that are going to help me cross the chasm between all the  players. I see opportunity in more services like dropbox to glue the  ecosystems together.</p>
<p><b>Big Data</b>:&nbsp; The monetization model has changed forever even if a  few apps companies are making a killing. The money is in data and  leveraging users' involvement and participation in some ways. Dennis  Crowley of Foursquare opened with &quot;everywhere you see a map there should  be a foursquare dot on it&quot;.</p>
<p style="margin-left: 40px;">This is how to build the barriers of entry - the more data I have and  the smarter I can be about it, the better the experience I deliver will  be. The power in analytics is the ability it gives me to get good at  putting a context around what is going on in the user universe and  deliver that second to none experience.</p>
]]></description>
      <pubDate>Fri, 20 Apr 2012 19:32:03 -0400</pubDate>
    </item>
    
    <item>
      <title>What is a Product Manager Responsible For?</title>
      <link>http://www.macadamian.com/blog/post/what_is_a_product_manager_responsible_for/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/what_is_a_product_manager_responsible_for/#When:11:47:12Z</guid>
      <description><![CDATA[<p>What is a Product Manager responsible for? The answer to this question changes with every company. Product managers tend to be jacks of all trades with as many as 40 different responsibilities, according to the <a href="http://www.pragmaticmarketing.com/pragmatic-marketing-framework">Pragmatic Marketing framework</a>. We&rsquo;ve encountered product managers responsible for QA testing, investigating legal liability for their product, and even developing code.</p>
<p>What about a business analyst, software architect, design researcher, or interaction designer? What are they responsible for? Ask and you get a stunning number of different answers. The fact that every company expects different things from different roles is not, in and of itself, a major barrier to product success. What does affect success is when team members aren&rsquo;t clear on their role within the team, their co-worker&rsquo;s roles, and their responsibilities to one another.</p>
<p><strong>First, Understand Each Other&rsquo;s Goals and Motivations...</strong></p>
<p>&ldquo;That jerk! He just doesn&rsquo;t understand what we need to do here.&rdquo; While this may express a common frustration between functional groups, <a href="https://www.stephencovey.com/">Steven Covey</a>, author of <a href="https://www.stephencovey.com/7habits/7habits.php">7 Habits of Highly Effective People</a>, famously said: &ldquo;Seek First to understand, then be understood&rdquo;. In a nutshell, to work as a team, all groups must understand each other&rsquo;s goals, motivations and priorities.</p>
<p>The following generally hold true from company to company:</p>
<p><strong>Product management </strong>is responsible for the overall success of the product in the market. This can be tied to product revenue, or simply getting a product out the door that satisfies a particular set of business requirements.</p>
<p><strong>Designers</strong> are looking to design the best possible experience for the user. This group is measured on design success and, to some degree, product success in the market.</p>
<p><strong>Developers</strong> are measured on speed and quality. They need to deliver on time and on-budget and their code needs to be bug free (which only adds to the on-time problem, since bug-free code takes time).</p>
<p>Understanding these main differences is key. Developers aren&rsquo;t pushing back on feature requests because they&rsquo;re stubborn, but because they&rsquo;re responsible for maintaining timeline and quality. A designer doesn&rsquo;t look to change the design &ldquo;yet again&rdquo; because he gets a giddy thrill each time he pushes out the timeline&mdash;it&rsquo;s because he needs to make sure that users will love the product.</p>
<p>To ensure your teams understand each other, consider investing in basic training around each others&rsquo; disciplines. There are a growing number of experienced consultancies that offer half or day-long seminars for product teams on this very subject.</p>
<p><strong>Focus on The Gray Areas </strong></p>
<p>Since product managers are ultimately responsible for the success of a product in the market, we recommend they take the lead on clarifying roles and responsibilities throughout the team, ensuring team members are each put into a position where they are maximizing their strengths.</p>
<p>For example, though product managers often take on the development of personas as well as requirements and workflow definition, these are all specialties of trained design researchers. Effective delegation of these tactics to the design researcher will free up more time for strategic business-level product planning.</p>
<p>What about the design? Who has the final say? In our experience, there needs to be a lead designer who takes feedback from the team and uses his or her experience and judgment to make the best design decision for the good of the product. This doesn&rsquo;t mean the designer &ldquo;takes over&rdquo; product management, which is the last thing we&rsquo;d recommend. It also does not mean the designer should ignore technical considerations. Instead, the lead designer should &ldquo;own&rdquo; final design decisions in the same way that your chief architect or lead developer likely has the last say on challenging architecture decisions.</p>
<p>And what if a particular feature will impact the timeline? Who decides if it is in or out of scope? We&rsquo;ve often seen this call made by the development team, but ultimately we believe this is a product management call. The product management team should decide whether to ship late with a fuller scope, or earlier with a limited scope.</p>
<p>To ensure all team members are clear on their respective roles, we recommend writing out a list of these responsibilities. Before the project begins, determine who the team will count on for each deliverable so you can avoid arguments down the road and committee decisions that ultimately slow down the process and hurt product success.</p>
<p>Ultimately, what&rsquo;s truly important to the organization is revealed at the top. Organizations serious about delivering acclaimed products in the market often invest in a VP of Product Management who is separate from the Marketing department.</p>
<p>A more recent trend is the addition of a VP of User Experience (like myself). This VP ensures emphasis is placed on the user&rsquo;s overall perception of the product during use. The best way of growing business is through referrals from satisfied users.</p>
<p>If you are a GM or CEO reading this post, who is on your management team? Does it reflect the priorities you have for software product success?</p>
<p><strong>Key Takeaways </strong></p>
<ul>
    <li>Product Managers, Designers and Developers are evaluated differently on product success.</li>
    <li>Each function needs to understand the others&rsquo; motivations through communication and training. &bull;	Agree upfront on roles and responsibilities of each function within the product context.</li>
    <li>Focusing primarily on the gray areas where there is overlap (product management / design researcher, interaction designer/software architect, etc.).</li>
</ul>
<p>&nbsp;</p>
<p><strong>Further Reading </strong></p>
<ul>
    <li><a href="http://www.macadamian.com/insight/critical_path_detail/did_you_bring_a_knife_to_a_gun_fight_3_reasons_your_ux_design_investment_ma/">Did you bring a knife to a gun fight? Three reasons your UI design investment isn&rsquo;t paying off</a>. (Macadamian)
    <p>&nbsp;</p>
    </li>
    <li><a href="http://www.pragmaticmarketing.com/pdf/Living_in_an_Agile_World.pdf">Living in an Agile World&mdash;Product Management when Development Goes Agile</a>. (Johnson)
    <p>&nbsp;</p>
    </li>
    <li>This post is part of a larger whitepaper: <a href="http://info.macadamian.com/wp-software-fast.html">How to Get Amazing Software Out the Door Fast</a></li>
</ul>
<p>&nbsp;</p>]]></description>
      <pubDate>Wed, 18 Apr 2012 11:47:12 -0400</pubDate>
    </item>
    
    <item>
      <title>Mobile – Reframing My Model</title>
      <link>http://www.macadamian.com/blog/post/mobile_reframing_my_model/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/mobile_reframing_my_model/#When:11:49:20Z</guid>
      <description><![CDATA[<p>As you know, I attended Mobile World Congress 2012 back in February. While there I was fortunate to be able to sit in on a few keynotes. One of them was about mobile platforms and mobile apps. We were treated to a talk by three great guys - Dennis Crowley, CEO of Foursquare, Peter Chou, CEO of HTC and Stephen Elop, CEO of Nokia. The talk forced a reflection for me as after listening I realized I now understood the landscape better. The epiphany came when Peter Chou said: &quot;Experience is HW+SW+SRV+APPS&quot;. To have a truly well designed product, the experience has to be top notch with all components working on their own AS WELL AS working well together.</p>
<p>Here is my new model:</p>
<ul>
    <li>layer 0 - hardware is relevant again - no more only beige boxes with  a different brand sticker. The innovation on phone hardware is very  real and happening with hardware and sensors integration.</li>
    <li>layer 1 - this is the platform - one heck of a battle is brewing at that level and competition is going to get more fierce.</li>
    <li><i>layer 2 &ndash; the services &ndash; caught in between layer 1 and layer 2  because some will be coming from the platform, and others will be from  the outside, independent services. This is the new kid on the block for  me, I didn&rsquo;t realize it could play such a big role as to have its own  layer. </i></li>
    <li>layer 3 - the app layer &ndash;&nbsp; lots of innovation happening making  everyone&rsquo;s head spin already, and it&rsquo;s only starting. Connectivity and  BigData working hand in hand is bound to yield a lot more to make our  lives better.</li>
</ul>
<p><b>From where I sit &ndash; here is what I see &ndash;&nbsp;</b> <br />
No ones owns the full stack and it&rsquo;s really a good thing. Competition is  good. I think the battle for the platforms and ecosystems is only  starting with MS entry and to some extent RIM&rsquo;s unclear way forward.  It&rsquo;s going to get ugly. The platforms are after my data; they want to  lock me down. The applications are after my data too - do they want to  know me to ultimately sell me more stuff. Owning the data and collecting  analytics about me rhymes with loads of cash for those guys. An  independent service layer is a really good thing, as long as there are  many providers of services.</p>
<ul>
    <li>Think dropbox getting bigger and offering more than file sharing,  like they are tipping their toe in with the mobile photo upload sync  released recently. I hope this will force the hands of Google, MS, and  Apple, just like apps developers to integrate dropbox like they would  integrate Flickr.</li>
    <li>It&rsquo;s a source of innovation; more services can be created that will  collect specific data from the ever growing list of sensors we are  using.</li>
    <li>It also had the drawback that it&rsquo;s now one more place where data is going to be collected about us.</li>
</ul>
<p>Overall, the independent services layer is good because it creates  alternatives at a critical point in the stack. It gives power to the  mobile user, me, to choose where my data should go. It also makes it  more difficult for one vendor to own the whole stack, and have way too  much power over what advertising and suggestions I&rsquo;m being pushed to  through my mobile behaviors.</p>]]></description>
      <pubDate>Mon, 16 Apr 2012 11:49:20 -0400</pubDate>
    </item>
    
    <item>
      <title>7 Key Android Concepts</title>
      <link>http://www.macadamian.com/blog/post/7_key_android_concepts/</link>
      <guid isPermaLink="false">http://www.macadamian.com/blog/post/7_key_android_concepts/#When:12:50:53Z</guid>
      <description><![CDATA[<p>Although the Android platform is open and customizable, Android users have become accustomed to constructs developed by Google for Android devices. These constructs are vital in developing an application quickly &ndash; custom Android designs can take up to 10X longer!</p>
<p><strong>Android UI Controls </strong></p>
<p>Android provides a number of standard UI controls that enable a rich user experience. Designers and developers should thoroughly understand these controls because they are faster to implement and ensure good performance.  By implementing standard controls, you can eliminate the need to test, revise and improve custom controls. Creating a &ldquo;clean&rdquo; custom control from scratch can take a significant amount of design and development time. Google, however, has already thought about these interactions and developed standard controls to properly address them.</p>
<p>Android users expect standard controls. Through their interactions with other Android apps, users become accustomed to Android&rsquo;s standard controls. Deviating can confuse and frustrate users, making them less likely to want to use your app.</p>
<p><strong>Activities </strong></p>
<p>Android applications are composed of &ldquo;activities&rdquo; which are unique, focused actions a user can take. Because it can be difficult or time consuming to scroll, zoom in, or click links on a small screen, it is recommended that an app display only one activity per screen. While a screen can expose multiple tasks, it should help the user complete just one activity at a time.</p>
<p><strong>User Interactions </strong></p>
<p>When a user first downloads your application, he will make snap judgments on the usability and intuitiveness of the application within the first few minutes of use. So it&rsquo;s crucial to balance the creativity of your app with the standard Android user interactions These include:</p>
<ul>
    <li>Hard buttons: including Back, Menu, Home and Search buttons. Soft buttons that duplicate these features will only confuse or frustrate Android users.</li>
    <li>Long press elements: Items of a list can be long pressed to open a context menu that provides secondary information.</li>
</ul>
<p><strong>Layouts </strong></p>
<p>Android UI screens are frequently resized, both on the fly via pinch and zoom as well as at startup when Android adjusts the size of the UI to fit the screen. In order to make the most of the screen size and handle this resizing gracefully, Android provides a number of screen layout options. First, Android developers must specify whether each screen should follow a linear layout (the most common) which manages controls in a horizontal or vertical fashion, or a relative layout which manages controls in relation to one another. A relative layout defines the position of controls by their relationship to other components on the same screen.</p>
<p>&nbsp;</p>
<p>Android also offers specific layout properties to control the way in which screen elements are displayed across Android devices and during use:</p>
<ul>
    <li>Weight: allows the developer to determine how free space is divided on the screen.
    <p>&nbsp;</p>
    </li>
    <li>Gravity: the term used for control alignment (right, bottom, top, or left) on an Android device.
    <p>&nbsp;</p>
    </li>
    <li>Density independence: Your application achieves &ldquo;density independence&rdquo; when it preserves the physical size (from the user&rsquo;s point of view) of user interface elements displayed on screens with different densities. Without density independence, a UI element (such as a button) will appear larger on a low-density screen and smaller on a high-density screen.</li>
</ul>
<p>So who specifies all of these properties? In our experience, best practice is to have the designer document the layout and resize behavior of each screen to the development team via a series of wireframes, if not a full style guide. The designer should then stay in close communication with the development team as the developers work to determine the right combination of Android layout properties to realize the design.</p>
<p><strong>Screen Size </strong></p>
<p>A common misconception is that an Android app should be designed to support only a specific set of Android devices. In reality, Android offers you tools needed to develop a visually impressive interface that supports the full range of devices and screen sizes on the market.</p>
<p>To help you accommodate the range of Android screen sizes, Android recommends designing four versions of the application UI:</p>
<ul>
    <li>A small version for screens under 3&rdquo;. &bull; A normal version to accommodate 3&rdquo; to 4.5&rdquo; screens.
    <p>&nbsp;</p>
    </li>
    <li>A large version for viewing on 4.5&rdquo; to 10&rdquo; screens.
    <p>&nbsp;</p>
    </li>
    <li>An extra large version for devices with screens larger than 10&rdquo; (tablet).</li>
</ul>
<p>It&rsquo;s  not strictly necessary to create a design for all four versions &ndash; in some cases; one &ldquo;normal&rdquo; and one 'extra-large' version may suffice.</p>
<p>Fragments</p>
<p>A smart phone should only display one activity per screen due to its small screen size. Tablet devices, however, offer additional screen real estate and are often used in a similar setting as a desktop or notebook, meaning the application could show more information at once on the screen. Using an Android construct called fragments, designers and developers can merge portions of the UI onto one large screen or split them into individual screens for use on small screens. This can help to reduce the number of interactions a user must perform on a device with a large screen and eliminate wasted space.</p>
<p>If you anticipate your app will someday be used on a tablet device, we strongly recommend you incorporate fragments into your design. By designing custom, reusable fragments for each screen activity at the beginning of the project, you can eliminate the need to create an entirely new layout for a tablet device.</p>
<p><strong>Intents </strong></p>
<p>Android applications typically borrow from other applications already on the device. Using intents you can simplify both the programming requirements for your app and offer simpler, less cluttered screens.</p>
<p>If your app needs to perform a function beyond its core abilities such as opening a photo, looking up a contact, etc., the team should investigate whether a tool that can perform that function already exists in the OS or in a popular third-party app. If so, you can leverage that functionality using intents.</p>
<p><strong>Takeaways</strong></p>
<p>Android offers specific UI controls, activities, interactions, layout and resize options, as well as special constructs like fragments and intents. While on the surface these appear to be things that the design team needs to work with, we contend that the entire team must be immersed in Android to coordinate design, workflow and execution into a single, intuitive application &mdash; one that grabs users&rsquo; attentions and draws them in to the real value of your product.</p>
<p><strong>Further Reading</strong></p>
<p>For more information on designing and developing for Android. Read my whitepaper <a href="http://info.macadamian.com/1stAndroidRelease.html">Your First Android Release, It Can Go Really Well (Or Really, Really, Badly)</a></p>]]></description>
      <pubDate>Thu, 12 Apr 2012 12:50:53 -0400</pubDate>
    </item>
    
    </channel>
</rss>
