<?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>Garage &#187; optimism</title>
	<atom:link href="https://invoicebus.com/garage/tag/optimism/feed/" rel="self" type="application/rss+xml" />
	<link>https://invoicebus.com/garage</link>
	<description>Blog about running a business and solving invoicing and billing problems</description>
	<lastBuildDate>Fri, 17 Apr 2026 12:48:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>5 Ways to Engage Optimism in Software Design</title>
		<link>https://invoicebus.com/garage/5-ways-to-engage-optimism-in-software-design/</link>
		<comments>https://invoicebus.com/garage/5-ways-to-engage-optimism-in-software-design/#comments</comments>
		<pubDate>Mon, 13 Aug 2012 13:06:24 +0000</pubDate>
		<dc:creator><![CDATA[Stefan Chachovski]]></dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[motivation]]></category>
		<category><![CDATA[optimism]]></category>

		<guid isPermaLink="false">http://garage.invoicebus.com/?p=2302</guid>
		<description><![CDATA[<p>Many times, we waste too much time worrying about things that may never happen instead of those which are likely to happen all the time. Leaving some of those worries out can lead us to happier team and better product Estimated Reading Time: 9 Minutes When you start crafting wireframes of an app, you create [&#8230;]<br />
<h3>Author information</h3>
<div class="ts-fab-wrapper" style="overflow:hidden">
<div class="ts-fab-photo" style="float:left;width:64px"><img alt='Stefan Chachovski' src='https://secure.gravatar.com/avatar/f03618a263cf869af3b1ebf44ebf6171?s=64&amp;d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D64&amp;r=G' class='avatar avatar-64 photo' height='64' width='64' /></div>
<p><!-- /.ts-fab-photo -->
<div class="ts-fab-text" style="margin-left:74px">
<div class="ts-fab-header">
<h4><a href="http://twitter.com/chachovski">Stefan Chachovski</a></h4>
</div>
<p><!-- /.ts-fab-header -->
<div class="ts-fab-content" style="margin-bottom:0.5em">
<p>Co-founder of Invoicebus. Huge lover of nature, science, and chocolate cherry cordials. He occasionally writes on this blog about Invoicebus' stuff. Hello him on <a href="http://twitter.com/chachovski">Twitter</a> or subscribe to his updates on <a href="http://facebook.com/cacovski">Facebook</a>.</p>
</div>
<div class="ts-fab-footer"> | <a href="http://twitter.com/chachovski">Twitter</a> | <a href="http://www.facebook.com/cacovski">Facebook</a> | </div>
<p><!-- /.ts-fab-footer --></div>
<p><!-- /.ts-fab-text --></div>
<p><!-- /.ts-fab-wrapper --></p>
<p>The post <a rel="nofollow" href="https://invoicebus.com/garage/5-ways-to-engage-optimism-in-software-design/">5 Ways to Engage Optimism in Software Design</a> appeared first on <a rel="nofollow" href="https://invoicebus.com/garage">Garage</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Many times, we waste too much time worrying about things that may never happen instead of those which are likely to happen all the time. Leaving some of those worries out can lead us to happier team and better product</h2>
<div style="height: 20px;"></div>
<p><b>Estimated Reading Time:</b> 9 Minutes</p>
<p><img class="aligncenter size-full wp-image-2412" style="margin: 20px 0px;" title="Optimism" src="http://garage.invoicebus.com/wp-content/uploads/2012/08/optimism.jpg" alt="" width="600" height="399" /></p>
<p>When you start crafting wireframes of an app, you create branches of possibilities describing the system’s behavior as it responds to requests that originate from outside of that system, also known as “Use Cases”. Since the beginning of my career as an IT professional I’ve always been trained to look few steps ahead and predict almost impossible scenarios in order to make the software behave predictably under unpredictable conditions.</p>
<blockquote><p><center><i>“When you’re trained as a scientist or an engineer, first thing you think of is – How can I prevent the disaster to happen”</i> – Neil deGrasse Tyson, Astrophysicist</center></p></blockquote>
<p>Even though it’s a reasonable way of thinking, many times it may lead to series of “What if” questions and promote worries that may never happen. Although, these kinds of assumptions are essential for building robust system architecture, yet their overuse might lead us to behave more skeptic than normal.</p>
<p>When we started developing Invoicebus’ architecture, we decided to try different and more optimistic concept; a concept that reframe our mindset <b>to hope for the best, but prepare for the worst</b>. It was sort of experimental way of thinking, radically opposite from those we’ve previously been used to.</p>
<blockquote><p><center><i>“Do not anticipate trouble, or worry about what may never happen. Keep in the sunlight.” ― Benjamin Franklin</i></center></p></blockquote>
<p>In real world, web-apps are used by regular users, under normal conditions and in most cases in the right way. Therefore, instead to review dozen of marginal outcomes for one use case, we decided to focus only on two: Positive (the flow that is most likely to happen, the Expected Case) and Negative (for all other cases, the Rollback/Backup Case), always prioritizing the first one. By exploring and implementing this concept, we drew few conclusions that might be useful in designing web based software.<br />
<span id="more-2302"></span></p>
<h3>Conclusion 1: Optimism leads to smoother UX</h3>
<p>Few months ago, while discussing ideas with Dimitar, we started conversation about how Gmail app works so goddamn fast, but Yahoo Mail doesn’t (at least at that time). After a short research, Dimitar came up with great observation: “Well, Gmail behaves optimistically, that’s why. It assumes the app is used regularly by prioritizing normal flow of the events at first place”. And he was totally right. Google is using optimistic approach as an ultimate UX and optimization mechanism. By using full service conveyancing tool, law firms will be able to meet client expectations. From customer relationship management to the automation of repetitive tasks, <a href="https://www.perfectportal.co.uk/blog/the-new-digital-era-coming-to-a-law-firm-near-you">law firm technology</a> helps optimize how your law practice runs.</p>
<p>When you try to take an action or apply some change, both apps behave similar, but yet slightly different. I’m going to paraphrase each one’s behavior.</p>
<p><i><b>Gmail:</b> “Hi, I’m sending your request to the boss (server), but I’m not going to bother you with that, so you can continue doing your job immediately”; </i></p>
<p><b>Yahoo Mail:</b> “Hi, I’m sending your request to the boss (server), but before you can continue doing your job, you’ll have to wait until he checks everything and gives you appropriate response”.</p>
<p>Just a small rearrangement of events causes Gmail users feel tremendous speed-up without a single interruption. Technically the difference is tiny, but ideologically it’s completely different way of thinking. What an awesome concept by Google.</p>
<div style="font-size: 11px; line-height: 1.4em; margin: 10px 0px; border: 1px solid gray; border-left: none; border-right: none; padding: 10px;"><b>Tech-translation:</b> Gmail doesn’t wait the response from the server to make the changes visible for the end-user. Therefore, first it calls local Javascript function (the changes become immediately visible), then asynchronously sends AJAX XMLHttpRequest in the background without user’s knowing, and finally, the server independently processes the request. Yahoo executes these actions in a slightly different order. First it sends AJAX call to the server, then while request is being processed, it shows progress bar and waiting message, and finally, after the server responds it makes the changes visible for the end-user.<b>Interesting fact:</b> By applying Google’s approach, we’ve managed to speed-up the Invoicebus engine more than 300% (oh man, we were so excited). Actually, that wasn’t even a real speed-up, because we only hided the network/server delay in the background.</p>
</div>
<h3>Conclusion 2: Optimism leads to fewer distractions</h3>
<p>“Are you sure you want to delete this item?”, “Are you sure you want to close this tab?”, “Are you sure you want to save the changes?”, “Are you sure you want to do this/that?”. What a time wasting mechanism.</p>
<blockquote><p><center><i>“Customers shouldn’t have to think about every nitty-gritty detail – don’t put that burden on them when it should be your responsibility.”</i> – 37signals</center></p></blockquote>
<p>Of course, some questions could be beneficial and crucial interface features, but each one of them bears its own cost because <b>too many questions lead to distraction, not interaction</b>. So, how do we know if the user should be asked or not? We don’t. We try to maintain the optimistic approach by making assumption on the most likely scenario and deciding on behalf of the customer. Yes, we get wrong sometimes though, but we can always improve and adjust accordingly.</p>
<div style="font-size: 11px; line-height: 1.4em; margin: 10px 0px; border: 1px solid gray; border-left: none; border-right: none; padding: 10px;"><b>Example:</b> While designing the Invoice Editor we faced the doubt if the user should be prompted confirmation dialog when he&#8217;s deleting an item. Thus, upon deletion, we decided to move the item immediately into the trash without any confirmation.</div>
<h3>Conclusion 3: Optimism leads to less validation</h3>
<p>Few weeks before the Invoicebus launch, we’d sent test link to 4 different groups of early riders divided by their IT expertise (from highly skilled geeks to complete IT dummies) to test out the system and push back some feedback. Approximately 40% of the IT skilled people had questions why validation is so minimized or somewhere even completely omitted? The answer was – intentionally.</p>
<p>“But the user can enter text instead of a phone number” – So what? You don’t need to validate every possible field in order to create error-free app. Unless specific data format is absolutely essential for further usage (e.g., email address, web address etc.), <b>more validation is a curse, not a blessing</b>.</p>
<div style="font-size: 11px; line-height: 1.4em; margin: 10px 0px; border: 1px solid gray; border-left: none; border-right: none; padding: 10px;"><b>Interesting fact:</b> To date, we haven’t received a single support ticket regarding validation issue.</div>
<h3>Conclusion 4: Optimism leads to simplification</h3>
<p>“Please retype your password”, “Your password doesn’t match”, “Your password is too short”, “Your password should contain at least one special character”, “Your password this, your password that…”. We think that’s annoying.</p>
<p>“But, the user can make a typo while entering his password during sign-up.” – True. However, less than 10% of the users fall in this category, and the other 90% correctly enter their passwords even if there’s only one field. So why bother all users when only a limited few are butterfingered (even though I personally found myself among them).</p>
<p>Backup scenario: Password reset form with one field and one click.</p>
<h3>Conclusion 5: Optimism leads to liberation</h3>
<p>“Is the web server powerful enough?”, “Which database should be used?, Which one is faster; should we prefer NoSQL?”.<br />
&#8211; It really doesn’t matter because <b>as less we worry in present, as more creative we become in future</b>.</p>
<blockquote><p><center><i>“Worry is a misuse of the imagination.”</i> ― Dan Zadra, Compendium, Inc</center></p></blockquote>
<p>“But what if Forbes publishes an article about us and the server crashes from traffic?”. To be honest, unless you have built space shuttle, that&#8217;s not likely to happen for a while. So, don’t worry because it’s a problem when it’s a problem. If your server ever crashes or slows down due to traffic overload, believe me; you would rather jump around the room celebrating a victory than worrying about the outage. Besides, one or two day slowdown won’t cause apocalypse of the world.</p>
<blockquote><p><center><i>“Don’t waste time on problems you don’t have yet”</i> – 37signals</center></p></blockquote>
<p>Your inspiration is perishable, your time is precious, so don’t let worries build fence between them. Keep it up. Be optimistic. Create. And keep working on that Forbes coverage though <img src="https://invoicebus.com/garage/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /></p>
<div style="height: 20px;"></div>
<p><b>Now it’s your turn.</b> Do you agree with our conclusions? What would you change to them? Please leave your comment below; I would like to hear from you.</p>
<p>Photocredit: <a href="http://www.flickr.com/photos/scjn/4494613395/in/photostream/">Candie_N</a></p>
<h3>Author information</h3><div class="ts-fab-wrapper" style="overflow:hidden"><div class="ts-fab-photo" style="float:left;width:64px"><img alt='Stefan Chachovski' src='https://secure.gravatar.com/avatar/f03618a263cf869af3b1ebf44ebf6171?s=64&amp;d=https%3A%2F%2Fsecure.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D64&amp;r=G' class='avatar avatar-64 photo' height='64' width='64' /></div><!-- /.ts-fab-photo --><div class="ts-fab-text" style="margin-left:74px"><div class="ts-fab-header"><h4><a href="http://twitter.com/chachovski">Stefan Chachovski</a></h4></div><!-- /.ts-fab-header --><div class="ts-fab-content" style="margin-bottom:0.5em"><p>Co-founder of Invoicebus. Huge lover of nature, science, and chocolate cherry cordials. He occasionally writes on this blog about Invoicebus' stuff. Hello him on <a href="http://twitter.com/chachovski">Twitter</a> or subscribe to his updates on <a href="http://facebook.com/cacovski">Facebook</a>.</p>
</div><div class="ts-fab-footer"> | <a href="http://twitter.com/chachovski">Twitter</a> | <a href="http://www.facebook.com/cacovski">Facebook</a> | </div><!-- /.ts-fab-footer --></div><!-- /.ts-fab-text --></div><!-- /.ts-fab-wrapper --><p>The post <a rel="nofollow" href="https://invoicebus.com/garage/5-ways-to-engage-optimism-in-software-design/">5 Ways to Engage Optimism in Software Design</a> appeared first on <a rel="nofollow" href="https://invoicebus.com/garage">Garage</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://invoicebus.com/garage/5-ways-to-engage-optimism-in-software-design/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
