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

<channel>
	<title>Bri Manning&#039;s Blog &#187; Software Development</title>
	<atom:link href="http://brimanning.com/blog/category/software-development/feed" rel="self" type="application/rss+xml" />
	<link>http://brimanning.com/blog</link>
	<description>A Developnerd&#039;s Take on Being Awesome</description>
	<lastBuildDate>Fri, 13 Apr 2012 15:00:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Flexibility Versus Customization</title>
		<link>http://brimanning.com/blog/flexibility-versus-customization</link>
		<comments>http://brimanning.com/blog/flexibility-versus-customization#comments</comments>
		<pubDate>Mon, 19 Mar 2012 13:58:26 +0000</pubDate>
		<dc:creator>Brian Manning</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://brimanning.com/blog/?p=347</guid>
		<description><![CDATA[I, having wasted time in the past building custom software, think that flexibility usually wins out.]]></description>
			<content:encoded><![CDATA[<p>These are certainly not polar opposites, but in software, they are more than often opposed to one another.</p>
<p>Say a requiest comes in that someone wants to throw up a new random page on your site that you&#8217;ve made. Does that page fit a template you&#8217;ve created? Does it fit within the global styles you&#8217;ve decided upon? Is it something the custom CMS you&#8217;ve built doesn&#8217;t support? Or a case where one page doesn&#8217;t conform to the exact specifications to pages similar to it, but with different content?</p>
<p>This often means that you&#8217;re current solution isn&#8217;t flexible enough and will need to be extended to fit with these new requirements.</p>
<p>On the other side, you&#8217;ve created a very simple CMS that allows anyone to put in the HTML they desire onto a page. Perfect! You&#8217;ve got all the flexibility in the world!</p>
<p>But they want that page to have data that conforms with another 50 pages at all times, and they can&#8217;t spend the time updating those 50 pages whenever a change happens. Now you&#8217;re in a pickle be ause there isn&#8217;t enough customization put into your software.</p>
<p>So, how do you get around this? Sadly, it depends on the particular problem you&#8217;re solving, but I, having wasted time in the past building custom software, think that flexibility usually wins out &#8211; it means less development later, though it often leads to more administration later, a trade-off that can lead to delays, but usually leads to savings also.</p>
]]></content:encoded>
			<wfw:commentRss>http://brimanning.com/blog/flexibility-versus-customization/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Technical Lead&#8217;s Take on the New VEVO Beta Website</title>
		<link>http://brimanning.com/blog/vevo-beta</link>
		<comments>http://brimanning.com/blog/vevo-beta#comments</comments>
		<pubDate>Fri, 09 Mar 2012 18:02:41 +0000</pubDate>
		<dc:creator>Brian Manning</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://brimanning.com/blog/?p=336</guid>
		<description><![CDATA[VEVO recently went through a redesign and rework of its entire front-end to come up with a brand new version of it's website with myself as the technical lead.]]></description>
			<content:encoded><![CDATA[<p><a title="VEVO, the World's Leading Music Video Website" href="http://www.vevo.com">VEVO</a> recently went through a redesign and rework of its entire front-end to come up with a brand new <a title="VEVO Beta" href="http://beta.vevo.com">beta version of it&#8217;s website</a>. I started as a <a title="Starting at VEVO as a Software Engineer" href="http://brimanning.com/blog/software-engineer-at-vevo">software engineer at VEVO back in August</a>, and I became the technical lead in charge of the new beta project in January after it started in late November and led a team of a few developers to its completion. I thought it would be a good opportunity to write about some of the things I&#8217;ve learned and taken away as well as highlight some of the cooler features we&#8217;ve been able to work in and add. I&#8217;ll break it down into: design/usability changes, technical improvements and process experiences.</p>
<p><a href="http://brimanning.com/blog/wp-content/uploads/vevo-see-music-play.jpg"><img class="aligncenter size-full wp-image-343" title="VEVO: See Music Play" src="http://brimanning.com/blog/wp-content/uploads/vevo-see-music-play.jpg" alt="" width="569" height="333" /></a></p>
<h3>Design and Usability Changes and Updates</h3>
<ul>
<li><em>Larger Video Player</em> - This is the first thing that anyone will notice when coming to a video. The player dominates the screen regardless of screen size and acknowledges that the user is there to watch a video.</li>
<li><em>Advanced Social Integration</em> - By making use of Facebook, we&#8217;re able to tell your friends when you&#8217;ve watched a video, share a video with them easily by dragging it to them and seeing your friends playlists. In addition, we create playlists for you based on the music you&#8217;ve liked on Facebook and your iTunes library.</li>
<li><em>Simpler Homepage</em> - The homepage, instead of having a carousel of images and links at the top with a variety of content below, we have one large carousel that really shows the visitor what the highlighted pieces of content are and what&#8217;s new at VEVO.</li>
<li><em>Dynamic Resizing</em> - The entire site fits the browser on every page, using more real estate on the screen and ensuring that the content (video) is truly highlighted.</li>
<li><em>Persistent Navigation and Header</em> - The navigation on the left, the header on the top and the footer are persistent and fixed throughout the site so a user can see their friends and playlists much more easily and search for a video quickly without needing to scroll.</li>
<li><em>Continuous Play</em> - When a user watches a video, we always have a new video to show them after that one finishes. This is a seamless experience for the user and also allows for them to enjoy the music videos without needing to really work to find videos that they&#8217;ll like.</li>
<li><em>Removing Search Results Page</em> - This sounds like it would be a bad idea, however, it improves the likelihood of a good experience. When a user searches for &#8220;Lady Gaga&#8221; but mistypes &#8220;Ladt Gaga&#8221; they, based on their experience on Google and elsewhere, expect to be corrected or brought to the right place anyway. VEVO, however, doesn&#8217;t have the resources or manpower to spend time on creating such advanced search algorithms, so we instead used only lookahead search, then a user quickly sees that they mistyped and corrects themselves, getting the results they want right in front of them.</li>
</ul>
<h3>Technical Improvements</h3>
<ul>
<li><em>Using HTML5 Pushstate</em> - By using the HTML5 pushstate on the playlist and video pages, we&#8217;re able to quickly show new content on the video page and decrease load time and increase overall performance, experience and decrease the number of HTTP requests.</li>
<li><em>Local Caching</em> - By caching artist, video and friend information on a user&#8217;s local machine, that means fewer data requests to our servers and much faster speeds on each additional page, meaning that the user gets a faster and faster experience as they go from video to video.</li>
<li><em>Improved Recommendation System</em> - By leveraging Echonest and their recommendation system, we&#8217;re able to give a user many, many more videos that are far more applicable to exactly what they are looking for, making the continuous play mentioned above all that more memorable and compelling.</li>
<li><em>Cached Pages</em> - By making all user-based calls come after the page loads via JavaScript, that means we can use extensive caching on most pages and modify the pages once the page has started loading on the user&#8217;s end.</li>
<li><em>JavaScript and CSS Bundling</em> - While previous versions of VEVO had this in a sense, there was often repeated JavaScript or CSS or multiple calls to different bundles on different pages. In addition, the system we used was hard to manage or tweak and couldn&#8217;t be debugged or adjusted on the fly. The new system combines all JavaScript and CSS files into two large bundles that are the same on every page, making it fast and simple, with an option to turn it off if debugging is needed and a switch to regenerate the CSS or JavaScript bundles on the fly.</li>
<li><em>Facebook Integration</em> - We were able to heavily leverage Facebook to get information about users of the site, including friends and music likes to greatly personalize the website.</li>
<li><em>iTunes Scanning</em> - We used a Java Applet to allow users to scan their iTunes library and create a playlist based on the artists they have in their library. This was one feature that really got some oohs and aahs and showed people some of the more unknown videos we have in our catalog.</li>
</ul>
<h3>Process Experiences and Lessons Learned</h3>
<ul>
<li><em>Scope Creep</em> - The bane of all projects, large and small is scope creep. While we did limit it in some ways during the project, pushing things back saying we could add or improve them post-beta, that wasn&#8217;t always the case. Especially when we were near the end of the project, the final 10% of work seemed to drag on and on with small, and large, additional changes.</li>
<li><em>Time Management</em> - While you always try to plan to have time to tweak features and eliminate bugs, the reality is that you can never plan enough time for that. Again, that last 10% usually takes the most work and there&#8217;s nothing like having more time to handle that and not needing to scramble.</li>
<li><em>Chaos Versus Agile</em> - While VEVO touts using an agile process, the beta version was given such a short deadline and so many things to accomplish and change that that process started to break down. Tasks were lost along the way or never assigned to developers or designers, so it wasn&#8217;t clear who was assigned what as well as what the status was on a given feature, design or bugfix.</li>
<li><em>Running on Empty</em> - Given that it was a big project with a small team, people were running at their top performance for quite some time. While this can be good for short times, doing it for two or three months discourages people and hurts motivation as well as quality of work due to overwork and general tiredness. In addition, the ideal of doing things fast tends to hurt the ideal of doing things right, so the final stages, often the most crucial, are filled with the most mistakes. Combine this with scope creep and you are left with a frustrated team in general.</li>
<li><em>Beta Means Beta</em> - While I appreciate perfect, often &#8220;done&#8221; is better. And there should be a criteria for &#8220;done.&#8221; This eliminates scope creep, gets things rolled out on time and encourages agile development. We aren&#8217;t releasing a magazine, newspaper or book &#8211; we can always add more features, fix more bugs or improve performance later and start getting user feedback and information sooner.</li>
</ul>
<p>It was a fun and exciting, while stressful, project to be a part of and I&#8217;m looking forward to its reception in the coming days, weeks and months. I&#8217;m sure it will be mixed and that there will be both positive and negative reviews, but I&#8217;m proud of what the team has accomplished in the time we were given and I&#8217;m proud that we were able to change how video sites work and able to make an impact as the second largest video site in the United States.</p>
]]></content:encoded>
			<wfw:commentRss>http://brimanning.com/blog/vevo-beta/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>An Update on Common Browser and OS Misconceptions</title>
		<link>http://brimanning.com/blog/common-browser-os-misconceptions</link>
		<comments>http://brimanning.com/blog/common-browser-os-misconceptions#comments</comments>
		<pubDate>Mon, 21 Nov 2011 15:19:40 +0000</pubDate>
		<dc:creator>Brian Manning</dc:creator>
				<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://brimanning.com/blog/?p=307</guid>
		<description><![CDATA[Until you use it yourself, it's hard to say what the truth is when updates are announced.]]></description>
			<content:encoded><![CDATA[<p>I recently was talking to some friends about the current state of browsers and operating systems and how the next year or two could really shake up what&#8217;s been traditionally considered the norm. You know, the IE sucks, Chrome is the fastest and most standard-compliant browser, OS X has the best usability and Windows is for the plebes mode of thinking that people have fallen into. It&#8217;s an easy mode to get used to, but that could be changing.</p>
<p>First, here&#8217;s some <a href="http://lifehacker.com/5844150/browser-speed-tests-firefox-7-chrome-14-internet-explorer-9-and-more" title="Lifehacker Browser Stats">benchmarks from September 27th from Lifehacker</a>. There&#8217;s an <a href="http://kristopolous.blogspot.com/2011/11/acid3-of-js-has-few-surprises.html" title="IE10 Tops the JavaScript Charts">article about a very promising IE10</a>, then there was a <a href="http://kristopolous.blogspot.com/2011/11/winners-are-opera-ie-firefox-chrome.html" title="Opera Pulls Ahead">follow-up two days later about the upcoming Opera build</a>.</p>
<p>As for <a href="http://windows.microsoft.com/en-US/windows-8/preview" title="Windows 8 Preview">Windows 8</a>, here&#8217;s a <a href="http://www.youtube.com/watch?v=p92QfWOw88I" title="Windows 8 Demonstration">good video from June demoing some features and the updated UI</a> (the Internet&#8217;s <a href="http://www.urbandictionary.com/define.php?term=wadsworth+constant" title="Wadsworth Constant Definition">Wadsworth Constant</a> applies, so feel free to skip to 30% in).</p>
<p>Granted, until you use it yourself, it&#8217;s hard to say what the truth is when updates are announced. Personally, I thought the iPad UI seemed silly because it was just a spread out iPod/iPhone UI with wasted space, but using it is still really nice. So, we&#8217;ll see how things change.</p>
]]></content:encoded>
			<wfw:commentRss>http://brimanning.com/blog/common-browser-os-misconceptions/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Individual Roles Within a Software Development Team</title>
		<link>http://brimanning.com/blog/software-development-roles</link>
		<comments>http://brimanning.com/blog/software-development-roles#comments</comments>
		<pubDate>Thu, 17 Nov 2011 14:44:54 +0000</pubDate>
		<dc:creator>Brian Manning</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://brimanning.com/blog/?p=300</guid>
		<description><![CDATA[Likely the most important of aspect of software creation is your team's structure and the different roles that people take and get things done well.]]></description>
			<content:encoded><![CDATA[<p>When it comes to any one problem to solve, place to get to, goal to achieve, there are limitless ways to get there, especially when it comes to software. Those differences can be in technology used, development lifecycle, team size, test-driven, you name it, there&#8217;s a different way to do it.</p>
<p>One aspect, which is likely the most important aspect of them all, is your team&#8217;s structure and the different roles that people take and how those roles fit into getting things done well. Even when the team is really just one person, that one person has to take on those different roles. Though there are many different names for these roles, I&#8217;ll give them the most generic classifications possible and then give examples of those kind of roles and their relationship to the features or requirements needed for a project or effort.</p>
<p><strong>Source</strong> &#8211; Examples: <em>Client, Business Analyst</em><br />
This is the person who has the inspiration or idea for what should be created and at least some vision of what that will look like. This could be a client who needs a website made, a developer with an idea for the next killer app or a business requirement coming from management. I tend to think of them as &#8220;the Source&#8221; because they are where the work or project is coming from.</p>
<p><strong>Refiner</strong> &#8211; Examples: <em>Project Manager, Lead Developer, Designer</em><br />
Here we have the person who really delves into what needs to happen to make something useful and compelling. They either can be the Source who refines their own idea, or they could have a back-and-forth with the source to really find out what is going to happen, what&#8217;s needed and what benefit the idea is going to provide.</p>
<p><strong>Architect</strong> &#8211; Examples: <em>Technical Lead, Lead Developer</em><br />
After the Source and Refiner have done their jobs and come up with what should be built, the Architect decides how it&#8217;s going to be built and how it&#8217;s going to happen. That can include deciding the technology or methodology that will make the idea into an actual project and how it&#8217;s going to be completed.</p>
<p><strong>Builder</strong> &#8211; Examples: <em>technical Lead, Developer</em><br />
The Builder will take what the Architect, Refiner and Source have put together and make it a reality. They will take the project and actually build or complete it, likely with a fair amount of interaction with the above three as unforeseen or unplanned events, complications or considerations come into play.</p>
<p><strong>Tester</strong> &#8211; Examples: <em>End User, Project Manager, Client, Developer</em><br />
Once the Builder believes they have finished creating the project, or at least portions of it, someone checks to make sure it&#8217;s behaving and works as expected. This Tester will often go back and forth with the Builder when unintended problems are found or missing features are discovered or additional requirements that weren&#8217;t thought of before are found.</p>
<p><strong>User</strong> &#8211; Examples: <em>General Public, Employee, Client</em><br />
Finally, once the project has been completed, there is the actual user of that project. This is the person who the project was built for and who should be the main consideration throughout the project, making their life easier or more enriching in one way or another.</p>
<p>Now that we have these different roles defined, I hope to go into what an ideal structure would be on a given project in a follow-up post.</p>
]]></content:encoded>
			<wfw:commentRss>http://brimanning.com/blog/software-development-roles/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cross-Platform Development Idea, but This Time Not Mobile</title>
		<link>http://brimanning.com/blog/cross-platform-idea-not-mobile</link>
		<comments>http://brimanning.com/blog/cross-platform-idea-not-mobile#comments</comments>
		<pubDate>Fri, 11 Nov 2011 18:48:04 +0000</pubDate>
		<dc:creator>Brian Manning</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://brimanning.com/blog/?p=296</guid>
		<description><![CDATA[Being able to create a channel or app for each of the XBox, Playstation 3 and Wii consoles with a common codebase would be more than helpful for a variety of organizations.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking about <a href="http://phonegap.com/" title="Cross-Platform Mobile Development">PhoneGap</a> and products similar to it that allow you to develop an application once and then deploy it across different environments. This way you can create one application using something like <a href="http://www.sencha.com/" title="Sencha Touch">Sencha</a> or <a href="http://jqtouch.com/" title="jQuery Mobile Development">jQTouch</a> to get a really nice experience. Then you can release an Android app, a Blackberry app or an iOS app with relative ease without putting in the development effort required to create a variety of native apps.</p>
<p>That&#8217;s all old news and the debate is still raging about how to go about it and what tools to use and there are plenty of different, great arguments on both sides.</p>
<p>Then I thought about XBox, Playstation 3 and Wii.</p>
<p>Granted, I haven&#8217;t yet looked into the technical aspects of it, but being able to create a channel or app for each of those common consoles with a common codebase would be more than helpful for a variety of organizations. Whether you&#8217;re creating a small game that you want to run both on mobile and on those consoles without going through the process of distributing disks and working with publishers or you&#8217;re creating an application for an organization like the NFL, being able to roll out on all of those platforms relatively easily and at a lower cost to development would be an amazing asset.</p>
<p>This is just a thought experiment at this point, but it certainly makes me wonder about what could happen when you have that kind of cross platform development available.</p>
]]></content:encoded>
			<wfw:commentRss>http://brimanning.com/blog/cross-platform-idea-not-mobile/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Development and Project Management</title>
		<link>http://brimanning.com/blog/software-development-and-project-management</link>
		<comments>http://brimanning.com/blog/software-development-and-project-management#comments</comments>
		<pubDate>Tue, 03 May 2011 14:03:44 +0000</pubDate>
		<dc:creator>Brian Manning</dc:creator>
				<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://brimanning.com/blog/?p=269</guid>
		<description><![CDATA[While I'd like to cater to my ego and say that developers are the rockstars while project managers are the band managers, I don't think it's quite that simple.]]></description>
			<content:encoded><![CDATA[<p>While I may be a little biased being a developer myself, I recently came across a tremendous article that basically illustrates what happens when software developers get pitted against project managers and they both feel in the right. The <a href="http://www.cindyalvarez.com/communication/5-reasons-why-you-have-no-credibility-with-engineering" title="5 Reasons Why You Have No Credibility with Engineering">project managers lose their credibility with the engineers</a> and it&#8217;s often downhill from there.</p>
<p>While I&#8217;d like to cater to my ego and say that developers are the rockstars while project managers are the band managers, I don&#8217;t think it&#8217;s quite that simple. Of course, each team is different and has different dynamics, so there are no universal truths.</p>
<p>However, with regards to the above article, ultimately, project manager has to have an in-depth understanding of the business rules, business goals and requirements, as well as an accurate understanding of technical practices, methodologies and restrictions.</p>
<p>I say accurate because that&#8217;s really what&#8217;s important. He or she doesn&#8217;t need to know the details of how changing an application to a new framework is a lot of work, just that it is. And when they&#8217;re unsure, they ask questions to get that accuracy. It would be perfect for the project manager to have enough of a technical background to be able to have that in-depth technical understanding, but nothing is truly perfect in this world. <img src='http://brimanning.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://brimanning.com/blog/software-development-and-project-management/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why Browsers Shouldn&#8217;t Matter to Usability and Design</title>
		<link>http://brimanning.com/blog/why-browsers-shouldnt-matter</link>
		<comments>http://brimanning.com/blog/why-browsers-shouldnt-matter#comments</comments>
		<pubDate>Mon, 04 Apr 2011 12:43:45 +0000</pubDate>
		<dc:creator>Brian Manning</dc:creator>
				<category><![CDATA[Usability]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://brimanning.com/blog/?p=243</guid>
		<description><![CDATA[Given the current state of modern browsers, however, there is very little reason that your website design and development can't support the majority of browsers.]]></description>
			<content:encoded><![CDATA[<p>A recent post by Tim Peter about <a title="Firefox? IE? Which browser should you design your site for?" href="http://www.timpeter.com/blog/2011/03/23/firefox-ie-which-browser-should-you-design-your-site-for/">designing for a certain browser</a> got me thinking about design and usability and the current state of the browser wars.</p>
<p>Tim argues that instead of looking at what the general market trends in browser usage is, you should look at what the usage of your users are. I completely agree with that sentiment.</p>
<p>Given the current state of modern browsers, however, there is very little reason that your website design and development can&#8217;t support the majority of browsers. There might be slight display issues in some cases, but the big hitters: IE7/IE8/IE9, Chrome, Firefox and Safari, are all relatively easy to support. Of course, there are occasional bugs here and there (I&#8217;m looking at you IE7) that require special attention (and often additional hair-pulling), there is little reason beyond working with some intense JavaScript or cutting-edge CSS3/HTML5 features that your website will not work in the above browsers.</p>
<p>Once that&#8217;s accomplished, it becomes a business decision how far you want to go to support less common situations or exotic browsers or antiquated browsers (hey, IE6). Just like how <a title="The Importance of A/B Testing" href="http://brimanning.com/blog/importance-of-a-b-testing">how much A/B testing you do becomes a business decision</a>, how much cross-browser compatibility your company is going to pursue is also a business decision.</p>
]]></content:encoded>
			<wfw:commentRss>http://brimanning.com/blog/why-browsers-shouldnt-matter/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Power of Defaults, Especially in Software</title>
		<link>http://brimanning.com/blog/power-of-defaults</link>
		<comments>http://brimanning.com/blog/power-of-defaults#comments</comments>
		<pubDate>Wed, 30 Mar 2011 12:27:27 +0000</pubDate>
		<dc:creator>Brian Manning</dc:creator>
				<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://brimanning.com/blog/?p=238</guid>
		<description><![CDATA[Nudge, a book that covered interesting cases of how people can be affected simply by the way a choice is presented - that's extremely important in software.]]></description>
			<content:encoded><![CDATA[<p>I recently read <em><a title="Nudge Blog" href="http://nudges.org/">Nudge</a></em>, a book that covered some really interesting cases of how people can be affected simply by the way a choice is presented to them.</p>
<p>In the case of software, this is a tremendous issue. How many people use the default theme in Chrome or Firefox? How many people have the grass background in Windows?</p>
<p>Those are certainly mundane examples that matter very little to a user, but there are certainly other cases where the default does change their experience. Take signing up for a newsletter, for example. Or getting notified when there are additional comments on a blog post. Those choices will greatly affect a user&#8217;s experience with that piece of software.</p>
<p>Much of <em>Nudge</em> discusses giving people the option to control their environment and what they want should they want to make an explicit choice. Otherwise, give them a default that will most likely work best for them and educate them about the possibilities out there and what&#8217;s available.</p>
<p>For software, do you make your default something that will make your company money right now? Or money in the long term? Or promote customer retention and recommendations?</p>
<p>Ultimately, those are business decisions. Though, personally, I think it&#8217;s always clear that those last goals go hand-in-hand.</p>
]]></content:encoded>
			<wfw:commentRss>http://brimanning.com/blog/power-of-defaults/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Pros and Cons For Working in Software Development</title>
		<link>http://brimanning.com/blog/pros-cons-of-software-development</link>
		<comments>http://brimanning.com/blog/pros-cons-of-software-development#comments</comments>
		<pubDate>Thu, 03 Mar 2011 15:30:35 +0000</pubDate>
		<dc:creator>Brian Manning</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://brimanning.com/blog/?p=232</guid>
		<description><![CDATA[Recently, I wrote a blog post about site-building for clients with little experience and some of the pitfalls you can run into. This prompted a conversation with a friend of mine about software development in general and what my thoughts and opinions were and what I liked/disliked.]]></description>
			<content:encoded><![CDATA[<p>Recently, I wrote a blog <a title="How To Deal With Clients With Little Experience" href="http://brimanning.com/blog/site-building-client-with-little-experience">post about site-building for clients with little experience</a> and some of the pitfalls you can run into. This prompted a conversation with a friend of mine about software development in general and what my thoughts and opinions were and what I liked/disliked. I thought it was an interesting conversation and really got me thinking about my career in general, so I thought I&#8217;d post some of the thoughts here.</p>
<p>The best way I can describe software development for me is with a list of pros and cons. So, starting with the pros:</p>
<ol>
<li><em>Solving problems</em>. Personally, this gives me a sense of accomplishment, at the end of the day, I can look back and point at something that I did or made or finished.</li>
<li><em>Alone time</em>. I&#8217;ve found over the years, I need alone time. Otherwise, I just get to the point where I can&#8217;t take people. There&#8217;s plenty of alone time in software. This, in particular, is a pro for me, but could be a con for others.</li>
<li><em>Smart people</em>. There are a fair amount of smart people in this field. People who make sense and think logically and, in general, aren&#8217;t crazy. Of course, there are some horribly awkward people, but sometimes that just makes things more fun.</li>
<li><em>Always something to work on</em>. Now, this is both in terms of the job market &#8211; compared to other areas in the current economy, it&#8217;s still quite strong, and in terms of being able to play around with things outside of work and improve yourself.</li>
</ol>
<p>Now, cons:</p>
<ol>
<li><em>Not-so-smart people</em>. There are, as in all areas, the less-than-smart people you have to work with. I think, however, that this is something anyone is going to run into in any field, so it&#8217;s really in the con list of having a career or job at all. However, I certainly do not have the horror stories that some people seem to have.</li>
<li><em>Getting bored</em>. Personally, I get bored with a certain task or single project after a few months. If it&#8217;s the same project, but with a new twist or interesting new updates, that&#8217;s enough to keep my interest.</li>
<li><em>Working on uninteresting things</em>. This is very similar to con #2, but it&#8217;s still slightly different. Generally, I tend get frustrated when I make something that no one is going to use or provides little value.</li>
</ol>
<p>Personally, the pros, especially #1 and #2 are what really makes me love what I do. #4 is also a great thing in terms of long-term value and career, and #3 makes the day-to-day passable.</p>
<p>Then, in discussing where to find work, I wrote:</p>
<blockquote><p>Generally, I&#8217;d say look for a small place, and one who&#8217;s goal is to make websites/software if you can, not <em>just</em> that they do have a software division to make tools to use internally. That&#8217;s not bad, but that means that you&#8217;re always going to be a coder to them, but at a place where software/websites are the goal, then you&#8217;re the MVP and everything is built around you getting your job done the quickest and best way possible. Because of this, they&#8217;re also harder to get a job at a place like this because they are in higher demand.</p></blockquote>
<p>Great reason I&#8217;m happy to work at <a title="New York City Software Development: Bootstrap Software" href="http://www.bootsoft.com/">Bootstrap Software</a>. <img src='http://brimanning.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://brimanning.com/blog/pros-cons-of-software-development/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Importance of A/B Testing and Optimizing the User Experience</title>
		<link>http://brimanning.com/blog/importance-of-a-b-testing</link>
		<comments>http://brimanning.com/blog/importance-of-a-b-testing#comments</comments>
		<pubDate>Fri, 25 Feb 2011 15:35:12 +0000</pubDate>
		<dc:creator>Brian Manning</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://brimanning.com/blog/?p=228</guid>
		<description><![CDATA[What happens far too often with sites is that whoever makes the business decisions on the look or text believes they have the best solution for a site or application.]]></description>
			<content:encoded><![CDATA[<p>I was recently reading Tim Peter&#8217;s blog where he discussed not <a title="Do A/B Tests Worry You?" href="http://www.timpeter.com/blog/2011/02/22/do-ab-tests-worry-you/">being afraid of A/B testing</a> and it got me thinking about why not to A/B test with a website.</p>
<p>The only case I can come up with where one wouldn&#8217;t want to A/B test is really when it just becomes too cost or time-prohibitive to do so or when there are more important business updates (features, fixes or enhancements) that resources should handle first. In addition, you have sites that just might be for personal use that just aren&#8217;t worth the time or effort.</p>
<p>In the cases where those conditions are not true, what happens far too often with sites is that whoever makes the business decisions on the look or text believes they have the best solution. They aren&#8217;t necessarily wrong, but their personal preference or belief isn&#8217;t necessarily going to maximize their site &#8211; whatever maximizing might be for them (purchases, newsletter sign-ups, etc).</p>
<p>Often, what an A/B test will show you is that what you or someone else thought was best was truly not. That&#8217;s the real goal: finding what&#8217;s best, and that&#8217;s what A/B tests do. And who doesn&#8217;t want to be the best?</p>
]]></content:encoded>
			<wfw:commentRss>http://brimanning.com/blog/importance-of-a-b-testing/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

