<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>Dave Mulder's Blog</title>
	
	<link>http://www.davemulder.com</link>
	<description>The blog of Dave Mulder</description>
	<lastBuildDate>Wed, 30 Jan 2013 14:38:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/dave-mulder" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="dave-mulder" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">dave-mulder</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Migrating GoSoapBox: The Journey From PHPFog to AWS</title>
		<link>http://www.davemulder.com/articles/migrating-gosoapbox-the-journey-from-phpfog-to-aws/</link>
		<comments>http://www.davemulder.com/articles/migrating-gosoapbox-the-journey-from-phpfog-to-aws/#comments</comments>
		<pubDate>Tue, 08 Jan 2013 15:00:25 +0000</pubDate>
		<dc:creator>Dave Mulder</dc:creator>
				<category><![CDATA[articles]]></category>

		<guid isPermaLink="false">http://www.davemulder.com/?p=396593549</guid>
		<description><![CDATA[Terrans are not a sexy choice in Starcraft, but when I play, invariably my digital characters are the badass humanoids. ...]]></description>
				<content:encoded><![CDATA[<p>Terrans are not a sexy choice in Starcraft, but when I play, invariably my digital characters are the badass humanoids. The Zerg, an Alien-like species, are the principle nemesis of Terrans, and the major early-game danger is when Zerg players employ a Zergling rush. Terran players knowingly going up against the Zerg must prepare accordingly; if they don&#8217;t, they&#8217;ll be quickly defeated.</p>
<p>One common act of Terran desperation during an attack is to send buildings elsewhere. They lift off and float away, and ground-only invaders (like Zerglings) are unable to cause any more damage.</p>
<p>As a developer, I hate having to move any application from one environment to another. The rationale for doing so is almost always because I am forced, either by rapid user growth, or inadequacies with an existing technology stack.</p>
<h2>PHPFog</h2>
<p>GoSoapBox recently had to migrate away from PHPFog, a PHP-specific host. In November, we received noticethat the creators of PHPFog were shutting down the service to focus on another offering called AppFog. We were given two months to plan and complete our move. In exchange for the major inconvenience, they offered a $100 service credit.</p>
<p>Like many application hosts, PHPFog is an abstraction layer on Amazon Web Services that includes some value-adds like Varnish, but more importantly makes it easy to deploy an application.  Though there are noteworthy competitors, AWS is the redoubtable leader in cloud computing; when they go down, so does half the internet.</p>
<h2>Cloud Hosting</h2>
<p>Cloud hosting&#8217;s true advantage is scalability. In our early days, we kept GoSoapBox on a lone dedicated PAIR Networks server. Though this server handled traffic quite satisfactorily, our concern is that it would not perform as well when the number of visitors increased. Cloud hosting makes it easy to handle that load by adding instances of your application to a server pool.</p>
<p>Application hosts vary in in how they approach scaling. PHPFog required us to manually move a slider and click update; AppFog acts the same. Another service, called Orchestra, purports to offer automated scaling <s></s> when they detect increased load, resources are moved into place without you having to do anything. Xeround, a MySQL provider, also claims to do the same.</p>
<p>Here&#8217;s the rub: These small hosting startups abstracting through AWS or other server farms have pathetic support response. If something ever goes wrong with GoSoapBox&#8217;s connectivity, dozens of teachers will be complaining within minutes, and I will be sweating bullets while waiting for my application host to respond. Support level is a deal breaker.</p>
<h2>Migrating</h2>
<p>Orchestra was the first application host I tested. Deploying was a cinch, SSL was running, and I thought everything was going to be just dandy <s></s> until I applied some load. Using loader.io, I successfully crashed a development instance of GoSoapBox. When I do this, the defeated server typically comes back to life after the load drops off. With Orchestra, it wasn&#8217;t coming back at all. So I emailed their support, and waited. And waited.</p>
<p>Granted, this occurred on December 22nd, just a few days before Christmas, but no one got back to me until mid-day on December 26th. And it wasn&#8217;t even a resolution, just a &#8220;we&#8217;re escalating this&#8221; email. Altogether, the time from problem report to initial response was <em>90 hours</em>.</p>
<p>Nearly four days later, I had already decided to move on. I tried my hand with AppFog but discovered they have serious undocumented problems with requests per second. Their instances topped out around 30/s, by far the most pathetic benchmark number I have seen when testing GoSoapBox. AppFog&#8217;s support response time was much better than Orchestra, but left much to be desired, particularly when the questions were simple items that should have been written somewhere in their documentation.</p>
<p>(Also: How the hell is it okay to advertise Redis when your version of it only supports <em>six</em> concurrent connections? That&#8217;s like a restaurant saying they are open on Sunday, but only between 3:00-3:30 PM).</p>
<p>Eventually, we gave up on third-party services and deployed directly on AWS via Elastic Beanstalk. AWS support has a noted one-hour response time, which amazingly we haven&#8217;t had to use yet, and for more money you can get a 15-minute SLA. We also moved our database away from the autoscaling mess that is Xeround and onto Amazon RDS.</p>
<h2>For the Love of Customer Service</h2>
<p>What I have discovered during this journey is a deep love for services and products with rapid support response, which is why, if I can figure out their cloud services, I would eventually like to move GoSoapBox to Liquid Web. You can email them and they get back to you within minutes; or you can CALL them and a real person will answer.</p>
<p>I didn&#8217;t realize it, but I apply a similar philosophy when responding to support requests with GoSoapBox. When someone sends in a problem report, I move heaven and earth to reply straight away. They&#8217;ve taken the time to use my service and write to me. I am certainly going to try returning the favor.</p>
<h2>Server Administration</h2>
<p>While you&#8217;re reading this, I may come off as someone competent in the area of server administration. Don&#8217;t be fooled &#8211; I have little clue what I&#8217;m doing. But I do understand, conceptually, how everything works, and this has allowed me to have fruitful conversations with engineers about scaling GoSoapBox.</p>
<p>Though there are blogs and books and forums for tech-minded folks to discuss scalability, one thing missing from the market is a service that helps small startups get server administration right. I&#8217;m great with code, but before having to learn about caching and sharding and all the good stuff, I knew diddly about building an application to scale.</p>
<p>I would gladly have paid for advice and direction from a third-party company that would have taken the time to listen and understand my needs. Had an application host been able to do this, I likely would have become a loyal and lifelong customer. But, painstakingly, I had to learn it on my own, and instead of praising services like Orchestra, I am now deriding them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davemulder.com/articles/migrating-gosoapbox-the-journey-from-phpfog-to-aws/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Early Stage Startups Should Think About Partnerships Before Product</title>
		<link>http://www.davemulder.com/articles/early-stage-startups-should-think-about-partnerships-before-product/</link>
		<comments>http://www.davemulder.com/articles/early-stage-startups-should-think-about-partnerships-before-product/#comments</comments>
		<pubDate>Tue, 01 Jan 2013 15:00:03 +0000</pubDate>
		<dc:creator>Dave Mulder</dc:creator>
				<category><![CDATA[articles]]></category>

		<guid isPermaLink="false">http://www.davemulder.com/?p=396593548</guid>
		<description><![CDATA[Within five years, 80% of startup businesses will fail. Of the survivors, another 80% will close their doors during the ...]]></description>
				<content:encoded><![CDATA[<p>Within five years, 80% of startup businesses will fail. Of the survivors, another 80% will close their doors during the following five years. That&#8217;s a 96% ten-year failure rate.</p>
<p>Despite the actuarial reality, digital entrepreneurs are coming out of the woodwork. They are driven by two things: The ease of coding something up in a weekend, and the tales of hundred-million-dollar exits.</p>
<p>&#8220;If we build it, people will come.&#8221; If only it were that easy.</p>
<p>Designers and developers don&#8217;t appreciate marketing. I know I sure didn&#8217;t when we started GoSoapBox. Over a few months, we built <a href="http://www.gosoapbox.com/">an outstanding audience response system that allows teachers to constructively leverage the devices students already bring to class</a>. And then we had to get people to use it.</p>
<p>If we could do it all over, I would take a different approach. Building something is not even half the battle. I would start by seeking partnerships.</p>
<h2>Investors</h2>
<p>Angel investors and venture capitalists are handy partners because they have a direct interest in seeing their investments mature. In addition to financial support, investors tend to be well connected and can give you direct access to the people and places you need to be to succeed.</p>
<p>A great example of an investment partner is the television show Shark Tank, where small business owners pitch their products to sharks (veteran business folks) with deep pockets and unlimited connections. The entrepreneurs give up 5% of their company and 2% of their gross sales <em>just to pitch</em>, and if they strike a deal with a shark they are typically giving up an additional 20-50%. That&#8217;s how valuable the partnership is with one of these individuals.</p>
<p>Funding isn&#8217;t for everyone, and not all investors will be able to guarantee success like those in Shark Tank. But for many entrepreneurs, investment partners are a step in the right direction.</p>
<h2>Development Partners</h2>
<p>Your first customers are enthusiastic about your product. (If they&#8217;re not enthusiastic, you might want to re-think who you&#8217;re selling to.) Rather than build something blindly, you can form a symbiotic relationship with your first customers by asking them to be development partners. Development partners get access to your daily builds, and while acknowledging the bugs and limitations, provide steady feedback. They get something that solves a problem, and you get information that would otherwise cost tens of thousands of dollars in usability research fees.</p>
<h2>Distribution</h2>
<p>Sales can be time-consuming. With Conferences I/O, <a href="http://www.conferences.io/">the award-winning audience response system for events and conferences</a>, we typically do one-on-one demonstrations with prospective customers. Each demonstration takes about one hour; that&#8217;s hard to scale without having a dedicated sales staff.</p>
<p>Distribution partners can put your product in the hands of customers without requiring you to do anything. In exchange, the partner receives a cut of the sale. For example, with Conferences I/O, we offer event planners a percentage of our revenue when they sell our product to their clients. Everyone wins: The event planner&#8217;s client gets a great product, the event planner receives a bonus, and we gain a customer without having to lift a finger.</p>
<p>One great distribution partner can guarantee a company&#8217;s success.</p>
<h2>Marketing</h2>
<p>In the same vein as distribution partners, a marketing partner will help connect you to potential customers. Typically this relationship will include referral fees, and you will still be responsible for the bulk of the sales process.</p>
<h2>Creating Barriers to Entry</h2>
<p>As I mentioned at the outset, designers and developers are attracted to digital entrepreneurship because it is easy to hack something up in a weekend. But that very advantage is also a danger. What&#8217;s to stop someone from copying your idea and stealing customers?</p>
<p>Partners can support your company&#8217;s position by creating barriers to entry for competitors. If you&#8217;re building software for tech-savvy lawyers to use and you get the biggest legal blog to sign on as a marketing partner, it&#8217;s going to be an uphill battle for a competitor to upstage you.</p>
<h2>Conclusion</h2>
<p>I love building beautiful digital products that solve meaningful problems. I&#8217;m product-focused. When I come up with an idea, I want to run out and build it.</p>
<p>But we forget that successful companies don&#8217;t operate in silos. They have relationships with investors, advisors, marketing partners, and distribution partners.</p>
<p>Product is provocative, but partnerships are powerful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davemulder.com/articles/early-stage-startups-should-think-about-partnerships-before-product/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing for Website Performance</title>
		<link>http://www.davemulder.com/articles/designing-for-website-performance/</link>
		<comments>http://www.davemulder.com/articles/designing-for-website-performance/#comments</comments>
		<pubDate>Fri, 02 Nov 2012 14:00:14 +0000</pubDate>
		<dc:creator>Dave Mulder</dc:creator>
				<category><![CDATA[articles]]></category>

		<guid isPermaLink="false">http://www.davemulder.com/?p=396593554</guid>
		<description><![CDATA[Nearly three years ago, I wrote a short post about website performance, arguing that lightweight design would win out over ...]]></description>
				<content:encoded><![CDATA[<p>Nearly three years ago, I wrote a short post about website performance, <a href="http://www.davemulder.com/thoughts/lightweight-design-will-win-out/">arguing that lightweight design would win out over heavyweight design</a>.</p>
<blockquote><p>High-fidelity interfaces, by their very nature, are bulky. Bulky design has no place in a future that will soon see mobile web outpace desktop web. Though improving, mobile web speeds aren’t broadband, and mobile device displays are nowhere near the pixel perfection offered by cinema monitors.</p>
<p>So how’s that heavyweight homepage working out for you? The audience running broadband on their oft-updated, recently-purchased rig probably loves your site. But for everyone else, maybe it loads slow. Maybe it doesn’t load at all.</p></blockquote>
<p>Despite my warning, the web has continued <em>full-throttle</em> toward heavyweight design.</p>
<h2>Performance Matters</h2>
<p>Website performance is <em>essential</em> to creating a positive user experience; nothing annihilates a visitor&#8217;s experience quite like slow-loading pages. Folks who don&#8217;t really care about your site will bounce faster than you can, well, say &#8216;bounce&#8217;.  But if they <em>have</em> <em>to</em> use your website to accomplish some task, all that time wasted waiting for page to load will be converted into a serious grudge. Users will eventually despise you and your website.</p>
<p><img class="alignnone size-full wp-image-396593555" title="notre-dame-load-time" src="http://www.davemulder.com/wp-content/uploads/2013/01/notre-dame-load-time.jpg" alt="Load time for ND.edu" width="600" height="438" /></p>
<p>Hefty websites continue to be churned out by professional design shops, which fail at performance because they use a PSD-driven workflow. Website design at most firms is <em>literally</em> pixel pushing and getting client sign-off before anything is built. When the look and feel is an exact quantity, the developer has to produce code that aligns seamlessly, regardless of the performance cost.</p>
<p>Responsive/adaptive design gives this conversation greater importance. When we design one site for many devices, there&#8217;s a risk that mobile users will be fed a hefty meal that takes minutes to download. If there was a 45-minute wait in line to get fast food at McDonald&#8217;s, would you stick around or just go to Burger King next door?</p>
<h2>Designing for Performance</h2>
<p>Designing for performance means changing your workflow. Get rid of layered PSDs and build an HTML/CSS functional prototype. Start with the overall look and feel, critical points of interaction, and then dive into detailed design work. Add JavaScript libraries only when you need to. As much as possible, merge your visual design and frontend development.</p>
<p>Throwing away the PSD is the most significant change that we need to make. As website designers <a href="http://www.davemulder.com/articles/an-emerging-ethos-for-web-designers-an-developers/">steadily acknowledge the emerging responsive design ethos</a>, it makes increasingly less sense to whip up PSDs for every possible device and resolution.</p>
<p>Over the last few years, my design workflow has evolved to this: Discussion, sketching, and prototyping. Clients tell me what they want to get out of a site, I generate ideas through sketching, and then settle on a consensus by building out a prototype. This process allows me to rapidly construct exceptional, UX-oriented design. Outstanding performance comes naturally with this workflow, because a functional prototype will not pass muster if it does not perform.</p>
<h2>Improving Website Performance (A Technical View)</h2>
<p>Website performance is a combination of two factors: Network latency and server latency. Network latency is the time a request takes to get to and from your server. Server latency is the time that request requires once it hits your server.</p>
<h3>Strategies for Improving Network Latency</h3>
<h4>Reduce Number of Requests</h4>
<p>Websites with fewer assets requests take less time to load.</p>
<p>Imagine that you&#8217;ve just returned home and your car&#8217;s trunk is full of groceries ready to be taken inside. Your groceries are in bags, and even though you&#8217;re strong, you don&#8217;t have the capacity to carry all the bags in at once, so you make multiple trips.</p>
<p>Your web browser behaves similarly. When talking to the server, several asset requests will occur simultaneously to reduce the number of trips that need to be made. But for a page with dozens of separate assets, there will be more back-and-forth time.</p>
<h4>Use a Highly-Available DNS Service</h4>
<p>When you load a website for the first time, your browser has to figure out that website&#8217;s IP address. The process looks like this:</p>
<ol>
<li>Talk to root name servers to determine the name servers for your TLD.</li>
<li>Talk to your TLD&#8217;s name servers to get the authoritative name servers for your website.</li>
<li>Talk to the authoritative name servers to get the IP address.</li>
</ol>
<p>A highly-available DNS service reduces initial IP lookup time by pushing your DNS records to a series of DNS servers around the world. Instead of having to talk to a single authoritative DNS server in the United States to get your server&#8217;s IP address, a user in Europe will get this information faster because of the presence of a local authoritative DNS server.</p>
<h4>Content Delivery Network (CDN)</h4>
<p>CDNs like AWS CloudFront take your static assets and push them to edge servers positioned around the world. Because static assets account for the bulk of initial HTTP requests, this is advantageous as it considerably reduces the distance between the assets and a visitor&#8217;s computer. All serious websites and web applications use a CDN.</p>
<h3>Strategies for Improving Server Latency</h3>
<p>Once a request arrives, your server needs to send a response. Sometimes it&#8217;s easy and just means delivering a static asset like a CSS file or a flat HTML file. Other times, it means hitting an application which needs to perform expensive logic before eventually returning a response.</p>
<p>Because the sources of server latency vary wildly, I will not discuss apache vs nginx, database optimization, in-memory caching, or anything of that nature.</p>
<h4>Output Compression</h4>
<p>Output compression (typically gzip) deflates a response, resulting in generally improved load time. Think of this as crumpling a piece of paper into a ball before throwing it.</p>
<h4>Local Caching</h4>
<p>Most CMS and frameworks have options for page caching. Enabling local caching means that the application will write the response to disk and deliver this, up until the cache expires or is manually removed. Even though a request still hits your server, the response is faster because the database won&#8217;t be involved.</p>
<h4>HTTP Caching</h4>
<p>HTTP Caching (typically Varnish) is often used to front high-traffic websites and web applications. When your server responds to a request, it also sends an expiration header. For example, I might say that a particular page expires in 3600 seconds (60 minutes). Varnish listens to this header and caches the response, then delivers the cached response for subsequent identical requests up until the cache expires.</p>
<p>Performance gains through HTTP caching can mean going from 50-100 server requests per second to 25,000 Varnish requests per second without breaking a sweat. Though a CDN is still better for pure static assets, Varnish is quite powerful for application-driven responses that don&#8217;t change often.</p>
<h2>Conclusion</h2>
<p>Website and web application performance is an important topic that can be addressed from many angles. All projects will benefit from the adoption of a prototype-oriented workflow that allows designers and developers to observe performance as a concept is being produced. From a technical perspective, developers can employ a number of strategies to improve network and server latency, thereby reducing load times and keeping visitors happy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davemulder.com/articles/designing-for-website-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Venture Capital and User Experience</title>
		<link>http://www.davemulder.com/articles/venture-capital-and-user-experience/</link>
		<comments>http://www.davemulder.com/articles/venture-capital-and-user-experience/#comments</comments>
		<pubDate>Tue, 25 Sep 2012 02:36:38 +0000</pubDate>
		<dc:creator>Dave Mulder</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[investors]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[venture capital]]></category>

		<guid isPermaLink="false">http://www.davemulder.com/?p=396593545</guid>
		<description><![CDATA[A common theme in user experience circles is that too many useless startup ideas receive extraordinarily large investments from profit-driven ...]]></description>
				<content:encoded><![CDATA[<p>A common theme in user experience circles is that too many useless startup ideas receive extraordinarily large investments from profit-driven venture capitalists. Theory holds that because investors care about a return on their money more than creating something useful, they drive poor decisions, leading to meaningless products.</p>
<p>Here&#8217;s a <a href="http://whitneyhess.com/blog/2012/09/13/if-vcs-understood-ux/" rel="nofollow">real quote</a> from a fellow user experience designer:</p>
<blockquote><p>Every day I read another story about a startup getting millions of dollars of funding with no defined target audience and no defined problem they’re trying to solve.</p>
<p>These startups only exist to add something new to the world without any intention of taking anything away from it — obstacles, frustration, pain. They create massive amounts of digital garbage and conveniences for no one but themselves. And their VCs give them near-unlimited access to resources to do so.</p></blockquote>
<p>This line is alarmingly similar to political stump speeches that rail against the National Endowment for the Arts, a taxpayer-funded organization that funds artists&#8217; projects. Every election cycle we hear, &#8220;Society should not support this filth!&#8221;, followed by boisterous applause from a partisan crowd.</p>
<p>I don&#8217;t vote for those candidates. I don&#8217;t vote for them because I believe exploration and discovery are essential for cultural growth. We need our scientists to investigate the unknown. We need NASA searching the space beyond our atmosphere. We need the NEA supporting weird shit that we don&#8217;t like. And yes, we need venture capitalists funding <em>some</em> products with no defined target audience and no defined problem. Startups are as much an engine of exploration as the Mars Curiosity Rover.</p>
<p>(Brief aside: I also disagree that these undefined-audience-problem startups are receiving enormous sums of capital. $1M+ rounds of funding go to companies with traction, and traction can only be established when people actually use a product.)</p>
<p>Of course, there is still cause for concern: Entrepreneurs <em>could</em> be doing more for the good of society, and investors <em>could</em> be doing more to encourage positive behavior. Without blinking, we sign NDAs and operating agreements; we need to be more serious about our social contract to make the world a better place for ourselves and our children.</p>
<p>Two final notes on this topic:</p>
<p>First, there <em>are</em> communities of entrepreneurs and invstors trying to do social good. Imagine K12 is an education-focused incubator aiming to improve educational technology for youth worldwide. Kickstarter allows individuals to vote for ideas they want to see through donations. There&#8217;s a lot of good and a lot of good people out there in the startup space.</p>
<p>Second, a fool and his money are soon parted. User experience matters, and  success will favor venture capitalists who <em>get it</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davemulder.com/articles/venture-capital-and-user-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a Useful Product Tutorial</title>
		<link>http://www.davemulder.com/articles/creating-a-useful-product-tutorial/</link>
		<comments>http://www.davemulder.com/articles/creating-a-useful-product-tutorial/#comments</comments>
		<pubDate>Fri, 07 Sep 2012 16:00:23 +0000</pubDate>
		<dc:creator>Dave Mulder</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.davemulder.com/?p=396593533</guid>
		<description><![CDATA[One of our greatest struggles with GoSoapBox, the award-winning student response system, is educating users about our product. Education is ...]]></description>
				<content:encoded><![CDATA[<p>One of our greatest struggles with GoSoapBox, the <a href="http://www.gosoapbox.com/">award-winning student response system</a>, is educating users about our product.</p>
<p>Education is more than about how to navigate an interface. We also need to show our users what features exist, when they would use them, and where to find help. I often refer to this as <em>designing the onboarding experience</em>. That name isn&#8217;t very catchy, though, and if you are interested in the topic you should check out <a href="http://www.slideshare.net/dburka/designing-the-first-fifteen-minutes">the slides from Daniel Burka&#8217;s presentation</a> after reading this post.</p>
<p>What we have found with GoSoapBox is that educators who participate in a live demonstration of the product very quickly grasp the concepts behind it. That is, when we have their attention, they absorb our mental model with ease, and are much more likely  to continue using the product. Teachers who onboard without such a demonstration are less likely to continue using it.</p>
<p>Live demonstrations require a lot of extra time. Because we prefer to keep these sessions one-on-one, there are a limited number of teachers we can onboard in a given week. So for those we cannot reach directly, we offer a thorough knowledge base, videos, and a quick-response support system.</p>
<p>Unfortunately, the resources we have created aren&#8217;t always used. We&#8217;ve been searching for a new approach to hands-off onboarding. I&#8217;m going to mention a few here:</p>
<h2>Desk.com</h2>
<p><img class="alignnone size-full wp-image-396593534" title="desk-dot-com" src="http://www.davemulder.com/wp-content/uploads/2012/09/desk-dot-com.gif" alt="Screenshot of Desk Dot Com" width="401" height="617" /></p>
<p><a href="http://www.desk.com/">Desk.com</a>, a popular support/help system, incentivizes product discovery by giving users bonus flex hours by doing new things. This approach works because Desk.com is a broad application with a lot going on. They believe their product is valuable, and to get users to see that value they want them to sink their teeth in deep during the trial period.</p>
<p>Incentivizing comes easier to Desk.com because they have something to give away, these flex hours (they charge by support agent, and flex hours allow someone to be a part-time agent). For a product like GoSoapBox, the users we want to discover features are not paying anything anyway. To gamify feature discovery, we would have to ger very inventive about what to give away. Maybe a t-shirt.</p>
<h2>Kera.io</h2>
<p><img class="alignnone size-full wp-image-396593535" title="kera-dot-io" src="http://www.davemulder.com/wp-content/uploads/2012/09/kera-dot-io.gif" alt="Screenshot of Kera dot io" width="800" height="457" /></p>
<p>From the screenshot, you are probably having a hard time guessing what <a href="http://www.kera.io/">Kera</a> does. When you click their &#8216;demo&#8217; button, a video playback box appears and you hear the voice of the product&#8217;s founder, Max Cameron. What happens next looks like a standard video, but is actually an automated tutorial. A piece of recorded JavaScript takes over during this audio recording and begins interacting with the page, guiding visitors through the homepage intro slides before inviting them to sign up for the beta.</p>
<p>The potential of Kera is that it can allow a visitor to engage with the tutorial. For example, we could create Kera tutorials for each GoSoapBox feature &#8230; a brief discussion of polling and then inviting the teacher to create their first poll without having to switch between a help page and our product.</p>
<p>For the time being, though, Kera is in a limited beta and not available for widespread consumption. Definitely something to keep an eye on.</p>
<h2>Tutorialize.me</h2>
<p><img class="alignnone size-full wp-image-396593536" title="tutorialize-dot-me" src="http://www.davemulder.com/wp-content/uploads/2012/09/tutorialize-dot-me.gif" alt="Screenshot of Tutorialize dot me" width="700" height="341" /></p>
<p><a href="http://www.tutorialize.me/">Tutorialize</a> is a bit more simplistic, but also provides an interactive approach to a product tutorial. After clicking &#8220;See an example&#8221;, a little yellow box appears on the screen. Clicking &#8216;Next&#8221; within that box opens another dialog elsewhere on the page, and the screen scrolls to that location.</p>
<p>This could be very useful for introducing a complex user interface.</p>
<h2>Pulse App (iOS)</h2>
<p><img class="alignnone size-full wp-image-396593537" title="pulse-tutorial" src="http://www.davemulder.com/wp-content/uploads/2012/09/pulse-tutorial.jpeg" alt="Screenshot of Pulse App tutorial page" width="640" height="480" /></p>
<p>Pulse is a RSS feed reader for iOS devices. The screenshot above is for Pulse&#8217;s iPad version. The first time you load the app, a semi-transparent screen appears above the normal display with instructions and arrows. They point to a few important tools and use the rest of the space to set expectations for use. &#8220;This is how you&#8217;ll use Pulse&#8221;.</p>
<p>Successfully setting expectations is the greatest outcome of a product tutorial. When you transfer your product&#8217;s conceptual model to a user, they will understand how to fit it within their existing workflows, leading to much greater retention than if they&#8217;re not sure what you&#8217;re about.</p>
<h2>Conclusion</h2>
<p>In this article, I have highlighted several approaches to hands-off onboarding. While not perfect, they are interesting alternatives to status-quo knowledge bases and videos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davemulder.com/articles/creating-a-useful-product-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Investigating Conjoined Calls to Action</title>
		<link>http://www.davemulder.com/articles/the-emergence-of-conjoined-calls-to-action/</link>
		<comments>http://www.davemulder.com/articles/the-emergence-of-conjoined-calls-to-action/#comments</comments>
		<pubDate>Wed, 15 Aug 2012 18:00:59 +0000</pubDate>
		<dc:creator>Dave Mulder</dc:creator>
				<category><![CDATA[articles]]></category>

		<guid isPermaLink="false">http://www.davemulder.com/?p=396593520</guid>
		<description><![CDATA[Calls to action are crucial points on a webpage. They are designed to attract a visitor&#8217;s attention and encourage some ...]]></description>
				<content:encoded><![CDATA[<p>Calls to action are crucial points on a webpage. They are designed to attract a visitor&#8217;s attention and encourage some desired behavior, like &#8220;Sign Up&#8221; or &#8220;Buy Now&#8221;.</p>
<p><img class="alignnone size-full wp-image-396593521" title="dropbox" src="http://www.davemulder.com/wp-content/uploads/2012/08/dropbox.gif" alt="Screenshot of Dropbox Dot Com" width="400" height="351" /></p>
<p>When a website has some primary desired action, UXers will recommend that the action be strongly emphasized. There&#8217;s no need to be shy about it, especially if it&#8217;s what a user wants to do anyway.</p>
<p>However, there are usually supporting actions that still lead to the desired behavior and perhaps even reinforce the value in doing so. For example, a tour page can be very useful for explaining a product in greater detail and ensuring that visitors take the next step. Some folks have found that inserting a tour page into their signup funnel will increase overall conversion numbers.  Others have tried inserting the primary action form (like a free trial signup) directly into the landing page.</p>
<h2>The Challenge for UXers</h2>
<p>For UXers, the challenge is finding the right balance. Every business lives within its own context. Sometimes we need to be pushy to get things done, other times we need to back off and create a gentle slope. There is no universal answer.</p>
<p>At <a href="http://www.gosoapbox.com/">GoSoapBox</a>, we have been struggling with how to position our product tour and free trial signup.Presently we have a funnel that looks like this:</p>
<blockquote><p>[Landing Page] =&gt; [Product Tour] =&gt; [Sign Up]</p></blockquote>
<p><img class="alignnone size-full wp-image-396593526" title="gsb-call-to-action" src="http://www.davemulder.com/wp-content/uploads/2012/08/gsb-call-to-action.gif" alt="" width="624" height="278" /></p>
<p>This conscious choice is intended to get prospective educators excited and education about our product such that when they sign up they already have a decent concept of how to use it, leading to improved rates of activation and retention. At least, that&#8217;s the theory.</p>
<p>While we want to give visitors a roadmap to getting started, there is a nagging feeling that we lose some folks who get to the product tour and miss our trial signup links.</p>
<p>So what&#8217;s the answer for our context? We can start by re-examining the placement of secondary actions.</p>
<p>Perhaps we could so something like Wufoo.</p>
<p><img class="alignnone size-full wp-image-396593522" title="wufoo" src="http://www.davemulder.com/wp-content/uploads/2012/08/wufoo.gif" alt="Screenshot of Wufoo dot com" width="541" height="273" /></p>
<p>Not bad. A primary &#8220;Sign Up&#8221; action, followed by supporting actions with acceptable contrast from the desired behavior.</p>
<p>For years, most websites have followed this model. But it has never felt quite right, because the placement of the secondary actions compete for attention with the primary action.</p>
<p>Small tech startups, more recently, have led the charge in dropping secondary calls to action entirely from this space, and increasing the size of the primary action several fold.</p>
<p><img class="alignnone size-full wp-image-396593523" title="giant-button" src="http://www.davemulder.com/wp-content/uploads/2012/08/giant-button.jpg" alt="" width="615" height="457" /></p>
<p>But what about the secondary actions? Is there really no room for those in the same same space as a primary call to action? Are secondary actions doomed to live a life in the de-emphasized void of our websites?</p>
<h2>Conjoined Calls to Action</h2>
<p>Today, there are a few examples of a new style of call to action which I have labeled <em>conjoined</em> calls to action.</p>
<p><img class="alignnone size-full wp-image-396593524" title="combo-desk-dot-com" src="http://www.davemulder.com/wp-content/uploads/2012/08/combo-desk-dot-com.jpg" alt="" width="656" height="417" /></p>
<p><img class="alignnone size-full wp-image-396593525" title="combo-http-watch" src="http://www.davemulder.com/wp-content/uploads/2012/08/combo-http-watch.jpg" alt="" width="705" height="449" /></p>
<p>Conjoined calls to action have the following attributes:</p>
<ul>
<li>Occupy a single visual unit to keep the page from looking cluttered.</li>
<li>Place the primary action on the left.</li>
<li>Use effective contrast between actions so that visitors are aware of the difference.</li>
</ul>
<p>The examples included above also use the text &#8220;or&#8221; to distinguish between the actions. Stylistically, the &#8220;or&#8221; improves contrast, but psychologically it also helps because it creates a simple decision tree in a visitor&#8217;s head.</p>
<blockquote><p>&#8220;Okay, I can do this one thing which seems to be what I ought to do, <strong>or</strong> if I&#8217;m still not sure what this is I can learn more.&#8221;</p></blockquote>
<p>So what&#8217;s keeping conjoined calls to action from proliferating on the web?</p>
<p>First, someone needs to write a blog article about them (we can check that off now). Second, someone needs to objectively test them and show how they improve conversions on a website. And third, Bootstrap and jQuery need to make it easy to implement conjoined calls to action. When these steps are complete, there will be an explosion in conjoined calls to action adoption.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davemulder.com/articles/the-emergence-of-conjoined-calls-to-action/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Emerging Ethos for Web Designers and Developers</title>
		<link>http://www.davemulder.com/articles/an-emerging-ethos-for-web-designers-an-developers/</link>
		<comments>http://www.davemulder.com/articles/an-emerging-ethos-for-web-designers-an-developers/#comments</comments>
		<pubDate>Wed, 09 May 2012 15:30:59 +0000</pubDate>
		<dc:creator>Dave Mulder</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[adaptive design]]></category>
		<category><![CDATA[friendly web]]></category>
		<category><![CDATA[future friendly]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mobile strategy]]></category>
		<category><![CDATA[responsive design]]></category>

		<guid isPermaLink="false">http://www.davemulder.com/?p=396593518</guid>
		<description><![CDATA[Mobile has finally entered the mainstream consciousness of web designers and developers, and the topic on everyone&#8217;s mind is mobile ...]]></description>
				<content:encoded><![CDATA[<p>Mobile has finally entered the mainstream consciousness of web designers and developers, and the topic on everyone&#8217;s mind is mobile strategy.</p>
<p>Last year, I wrote and spoke about the necessity of context when making mobile design decisions. However, context is almost always opaque, and it is impractical for an organization to select a diverse set of development strategies. With these constraints in mind, I reasoned that <a href="http://www.davemulder.com/articles/starting-fresh-on-mobile/">responsive design would play a major role in the future</a>.</p>
<p>Well, the future got here a lot faster than I imagined. An ethos is taking shape, and it looks something like this:</p>
<blockquote><p>Responsive design will become the default web development pattern. Content-first and mobile-first mindsets will be the primary drivers of great websites and web apps. Device-specific and channel-specific apps will only be necessary when context demands them.</p></blockquote>
<p>In other words, we&#8217;re going to have content-oriented design optimized for mobile viewports, and we will use adaptive techniques like media queries and Modernizr to add layers of progressive enhancement.</p>
<p>The only piece missing is inclusive design, which always looks great on paper but never seems to make the cut as a core value. That&#8217;s a shame, but at least some libraries (like jQuery Mobile) are trying to make basic accessibility compliance built-in.</p>
<h2>Distribution Channels are an Obstacle</h2>
<p>Native platform marketplaces are the only significant obstacle blocking the new ethos. These marketplaces serve as major distribution channels, and only native apps are allowed to play. Considering that Apple and Android take a 30% cut on sales, there&#8217;s little incentive to open their marketplaces to the outside.</p>
<p>Therefore, the <a href="http://www.davemulder.com/articles/future-friendly-my-take-a-critique-and-a-criticism/">Friendly Web</a> ethos will be derailed if content creators cannot establish traction without going through an app marketplace.</p>
<p>Let&#8217;s assume that doesn&#8217;t end up being a problem. What&#8217;s going to happen to all those mobile sites already out there?</p>
<p>Mobile sites that only exist for viewport-optimization will fade away because responsive design and a mobile-first mindset make separate versions obsolete. But some mobile sites are different, offering focused functionality specific to the needs of an audience subset. What should we do with these?</p>
<p>Well, when a mobile site is not meant to be the viewport-optimized equivalent of a traditional site, context may demand that it continues on as a separately-branded service. Most mobile sites in higher ed are like this. Whereas the traditional homepage serves up an external focus, the mobile homepage provides easy access to resources for internal audiences like students and staff. As long as there&#8217;s a need for an internal-focused service, there&#8217;s nothing wrong with it existing independent of the university&#8217;s responsive homepage. The same will be true elsewhere.</p>
<h2>Upheaval</h2>
<p>There&#8217;s going to be some upheaval in the mobile space as organizations change tack. I&#8217;m sure that red-faced executives are going to angrily ask why they have to invest even more money into mobile when they just launched something a few months ago. Or maybe they&#8217;re still on the mobile crusade and will wonder who pulled the rug out from underneath. Regardless, a lot of people are going to be annoyed before they realize that they just need to accept it and move on.</p>
<p>Are we done with this for a while? Maybe. There&#8217;s still <a href="http://www.davemulder.com/thoughts/context-and-the-future-of-mobile-slides/">mobile emerging as a mass media</a>, and the forthcoming one-to-many zombie apocalypse. But if you want to roll out a responsive website and take an extended break, you probably won&#8217;t miss much.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.davemulder.com/articles/an-emerging-ethos-for-web-designers-an-developers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
