<?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; Tips &amp; Tricks</title>
	<atom:link href="https://invoicebus.com/garage/category/tipstricks/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>
		<item>
		<title>Make Smooth Looking and SEO Friendly Headers</title>
		<link>https://invoicebus.com/garage/make-smooth-looking-and-seo-friendly-headers/</link>
		<comments>https://invoicebus.com/garage/make-smooth-looking-and-seo-friendly-headers/#comments</comments>
		<pubDate>Mon, 25 Jun 2012 18:04:06 +0000</pubDate>
		<dc:creator><![CDATA[Dimitar Stojanov]]></dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://garage.invoicebus.com/?p=2105</guid>
		<description><![CDATA[<p>Web site headers are one of the most important parts of your copywriting and marketing strategy Headers are the first thing your web site visitors will see, so you must be sure they look perfect. But not always the browser display big sized letters in good quality. If you&#8217;re looking to optimize engagement and boost [&#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='Dimitar Stojanov' src='https://secure.gravatar.com/avatar/0aad93b255f7ff76e3c32f5154432887?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/justd100">Dimitar Stojanov</a></h4>
<div class="ts-fab-description" style="margin-bottom:0.5em"><em><span>Co-founder</span> at <a href="https://invoicebus.com"><span>Invoicebus</span></a></em></div>
</div>
<p><!-- /.ts-fab-header -->
<div class="ts-fab-content" style="margin-bottom:0.5em">
<p><b>Dimitar</b> is co-founder of <a href="https://invoicebus.com">Invoicebus</a>, an online invoicing tool for easy invoice management. He's passionate about creating beautiful and simple web applications and occasionally writes on this blog about web design, online business, and fighting the status-quo. Follow him on <a href="http://twitter.com/justd100">Twitter</a> and <a href="http://facebook.com/dimitar.stojanov">Facebook</a>.</p>
</div>
<div class="ts-fab-footer"> | <a href="http://twitter.com/justd100">Twitter</a> | <a href="http://www.facebook.com/dimitar.stojanov">Facebook</a> | <a href="http://plus.google.com/+DimitarStojanov">Google+</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/make-smooth-looking-and-seo-friendly-headers/">Make Smooth Looking and SEO Friendly Headers</a> appeared first on <a rel="nofollow" href="https://invoicebus.com/garage">Garage</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Web site headers are one of the most important parts of your copywriting and marketing strategy</h2>
<div style="height: 20px;"></div>
<p><img class="alignleft size-full wp-image-2139" style="margin-bottom: 20px;" title="Fonts" src="http://garage.invoicebus.com/wp-content/uploads/2012/06/inboicebus_make_smooth_fonts.jpg" alt="" width="600" height="399" /></p>
<p>Headers are the first thing your web site visitors will see, so you must be sure they look perfect. But not always the browser display big sized letters in good quality. If you&#8217;re looking to optimize engagement and boost your online presence, it&#8217;s also important to find <a href="https://themarketingheaven.com/buy-youtube-comment-likes/">sites to buy youtube comment likes</a>. To see what I’m talking about I’ll show you an example of the biggest text on the front page, and actually the biggest text of the whole site <a href="https://invoicebus.com">invoicebus.com</a>. The text <strong>Fast &amp; Easy Invoices</strong> as displayed in Mozilla Firefox browser looks like this:</p>
<p><img class="aligncenter size-full wp-image-2128" style="border: 1px solid #dadada; margin: 15px auto;" title="Pixelated font" src="http://garage.invoicebus.com/wp-content/uploads/2012/06/invoicebus_big_font11.png" alt="" width="469" height="145" /></p>
<p>You can notice all letters that are curved look pretty pixelated, so they are not so appealing to look at, and we need to find a way to display them smoother. The first think we got in mind was to drop a shadow for the text so the letter borders will become smoother, with the CSS3 property text-shadow. Although this property is not supported in all browsers that Invoicebus officially supports, we gave it a shot. After applying a text shadow with radius of 2 pixels we got the following:</p>
<p><img class="aligncenter size-full wp-image-2129" style="border: 1px solid #dadada; margin: 15px auto;" title="Pixelated font with text shadow" src="http://garage.invoicebus.com/wp-content/uploads/2012/06/invoicebus_big_font21.png" alt="" width="469" height="145" /></p>
<p>The text got smoother but it also became to blurry, difficult to read, and painful for the eyes. On top of that the pixelated curves still were noticeable, so we had to do something different to fix this issue. The thing we got in mind was to replace all big sized text and headers with images, and after a couple of hours in photo editing software (Photoshop) with support of text <a href="http://en.wikipedia.org/wiki/Anti-aliasing">antialiasing</a>, we replaced our headers with images. The final result we got for the Fast &amp; Easy Invoices was:</p>
<p><img class="aligncenter size-full wp-image-2130" style="border: 1px solid #dadada; margin: 15px auto;" title="Text displayed with image" src="http://garage.invoicebus.com/wp-content/uploads/2012/06/invoicebus_big_font31.png" alt="" width="469" height="155" /></p>
<p>Looks better, isn’t it? This &#8220;fix&#8221; actually is nothing new in the web design sphere, but it is worth design trick. With this you’ll also have cross browser look of the text because you don’t have to worry about the browsers text rendering techniques. Additionally, incorporating Search Engine Optimization (SEO) plays a vital role in <a href="https://gettheclicks.com/seo/the-ultimate-seo-checklist-boost-your-rankings-with-these-helpful-tips/">boosting organic traffic</a> and enhancing your website&#8217;s visibility on platforms like Google and Bing, further improving the user experience across different browsers.</p>
<p>But for every step forward there is a step backward so with this good looking text we lose one of the most important things in the internet world. That is the text scanning of the search engine bots. They simply can’t scan images and the text they contain, so the headers with images can’t be used for increasing of the <a href="http://en.wikipedia.org/wiki/Organic_search">organic search</a> ranking.</p>
<p>That’s why we have another trick in our sleeves for you. The trick is to leave the text in the</p>
<pre class="brush: xml; gutter: false; title: ; notranslate">&lt;h1&gt;&lt;/h1&gt;</pre>
<p>tags and apply specific styles. The example is given below:</p>
<p>The header:</p>
<pre class="brush: xml; gutter: false; title: ; notranslate">
&lt;h1 class=&quot;header&quot;&gt;&lt;a&gt;Fast &amp; Easy Invoices&lt;/a&gt;&lt;/h1&gt;
</pre>
<p>The header class:</p>
<pre class="brush: css; gutter: false; title: ; notranslate">
.header {
    background: url(&quot;fast_easy_invoices.png&quot;);
    text-indent: -99999px;
    ...
}
</pre>
<p>As you can see we put the background image to be our header, and we give large negative indent for the text of -99999 pixels, so the text won’t be displayed in the browser but the search engines bots can still scan the</p>
<pre class="brush: xml; gutter: false; title: ; notranslate">&lt;h1&gt;&lt;/h1&gt;</pre>
<p>tag and find the right text. This way you’ll ensure excellent SEO for you site and for even more SEO friendliness we wrap the text in</p>
<pre class="brush: xml; gutter: false; title: ; notranslate">&lt;a&gt;&lt;/a&gt;</pre>
<p>tag. Plus, with a <a href="https://www.conversionteam.com">Trusted conversion optimization team</a>, you can maximize engagement and drive better results.</p>
<p>If you have some SEO and design tricks, use the comments section below to tell us, and if we find them interesting we’ll cover them in the next blog post.</p>
<p><em>Top photo credit: <a href="http://www.flickr.com/photos/anoibionix/5818094890/">Anon DePlume</a></em></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='Dimitar Stojanov' src='https://secure.gravatar.com/avatar/0aad93b255f7ff76e3c32f5154432887?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/justd100">Dimitar Stojanov</a></h4><div class="ts-fab-description" style="margin-bottom:0.5em"><em><span>Co-founder</span> at <a href="https://invoicebus.com"><span>Invoicebus</span></a></em></div></div><!-- /.ts-fab-header --><div class="ts-fab-content" style="margin-bottom:0.5em"><p><b>Dimitar</b> is co-founder of <a href="https://invoicebus.com">Invoicebus</a>, an online invoicing tool for easy invoice management. He's passionate about creating beautiful and simple web applications and occasionally writes on this blog about web design, online business, and fighting the status-quo. Follow him on <a href="http://twitter.com/justd100">Twitter</a> and <a href="http://facebook.com/dimitar.stojanov">Facebook</a>.</p>
</div><div class="ts-fab-footer"> | <a href="http://twitter.com/justd100">Twitter</a> | <a href="http://www.facebook.com/dimitar.stojanov">Facebook</a> | <a href="http://plus.google.com/+DimitarStojanov">Google+</a> | </div><!-- /.ts-fab-footer --></div><!-- /.ts-fab-text --></div><!-- /.ts-fab-wrapper --><p>The post <a rel="nofollow" href="https://invoicebus.com/garage/make-smooth-looking-and-seo-friendly-headers/">Make Smooth Looking and SEO Friendly Headers</a> appeared first on <a rel="nofollow" href="https://invoicebus.com/garage">Garage</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://invoicebus.com/garage/make-smooth-looking-and-seo-friendly-headers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Start Invoicebus from your Desktop</title>
		<link>https://invoicebus.com/garage/start-invoicebus-from-your-desktop/</link>
		<comments>https://invoicebus.com/garage/start-invoicebus-from-your-desktop/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 17:28:44 +0000</pubDate>
		<dc:creator><![CDATA[Dimitar Stojanov]]></dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[google chrome]]></category>
		<category><![CDATA[interesting]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://garage.invoicebus.com/?p=1705</guid>
		<description><![CDATA[<p>Launching you favorite invoicing software Invoicebus has never been easier, straight from your desktop. First let see how Invoicebus is started in &#34;conventional way&#34;, and after that I will show you a little trick how you can speed up the launching. As you can guess everything starts with a browser, and I&#8217;ll share with you [&#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='Dimitar Stojanov' src='https://secure.gravatar.com/avatar/0aad93b255f7ff76e3c32f5154432887?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/justd100">Dimitar Stojanov</a></h4>
<div class="ts-fab-description" style="margin-bottom:0.5em"><em><span>Co-founder</span> at <a href="https://invoicebus.com"><span>Invoicebus</span></a></em></div>
</div>
<p><!-- /.ts-fab-header -->
<div class="ts-fab-content" style="margin-bottom:0.5em">
<p><b>Dimitar</b> is co-founder of <a href="https://invoicebus.com">Invoicebus</a>, an online invoicing tool for easy invoice management. He's passionate about creating beautiful and simple web applications and occasionally writes on this blog about web design, online business, and fighting the status-quo. Follow him on <a href="http://twitter.com/justd100">Twitter</a> and <a href="http://facebook.com/dimitar.stojanov">Facebook</a>.</p>
</div>
<div class="ts-fab-footer"> | <a href="http://twitter.com/justd100">Twitter</a> | <a href="http://www.facebook.com/dimitar.stojanov">Facebook</a> | <a href="http://plus.google.com/+DimitarStojanov">Google+</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/start-invoicebus-from-your-desktop/">Start Invoicebus from your Desktop</a> appeared first on <a rel="nofollow" href="https://invoicebus.com/garage">Garage</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>Launching you favorite invoicing software Invoicebus has never been easier, straight from your desktop.</h2>
<div style="height:20px;"></div>
<p>First let see how Invoicebus is started in &quot;conventional way&quot;, and after that I will show you a little trick how you can speed up the launching. As you can guess everything starts with a browser, and I&#8217;ll share with you that Google Chrome is my personal favorite, so let launch it.<br />
<img style="margin:25px 0px;" src="http://garage.invoicebus.com/wp-content/uploads/2012/03/invoicebus-chrome-badge.jpg" alt="invoicebus-chrome-badge" title="Chrome Badge" width="600" height="356" class="alignnone size-full wp-image-1738" /><br />
In the Chrome address bar, also known as <a href="http://support.google.com/chrome/bin/answer.py?hl=en&#038;answer=95440">&quot;omnibox&quot;</a> we enter <a href="https://invoicebus.com/login/?blog_post">invoicebus.com/login</a>.<br />
<img style="margin:25px auto;" src="http://garage.invoicebus.com/wp-content/uploads/2012/03/invoicebus_omnibox.png" alt="invoicebus_omnibox" title="Google Chrome omibox" width="402" height="37" class="aligncenter size-full wp-image-1714" /><br />
After the login screen is loaded you&#8217;ll need to enter your Invoicebus username and password, and you&#8217;re ready to invoice your clients. But what if you can jump some of the steps, and go straight to invoicing with just one or two clicks. In Google Chrome there is something called <a href="http://support.google.com/chrome/bin/answer.py?hl=en&#038;answer=95710">application shortcut</a>, and we’ll use this to place Invoicebus shortcut on our desktop. To create application shortcut:</p>
<ol style="margin:20px 0px; padding-left:45px;">
<li>Go to the login screen in Invoicebus, enter your username and password, and don&#8217;t forget to check &quot;Remember me&quot;. This will save a cookie on your computer so you won&#8217;t need to enter your username and password all the time you launch Invoicebus.
<div style="background:#ffffe0; padding:10px; border:1px solid #E6DB55; margin-bottom:15px; margin-top:10px;"><b>Note:</b> If you’re using shared computer don&#8217;t check &quot;Remember me&quot; option otherwise the security and confidentiality of your invoices may be jeopardized.</div>
</li>
<li>Click on the wrench icon <img src="http://garage.invoicebus.com/wp-content/uploads/2012/03/invoicebus-chrome-wrench.png" alt="invoicebus-chrome-wrench" title="Chrome Options" width="27" height="27" class="alignnone size-full wp-image-1716" /> in the upper right corner.
</li>
<li>Now go to Tools, and select the first option from the menu &#8211; Create application shortcuts.<br />
<img src="http://garage.invoicebus.com/wp-content/uploads/2012/03/invoicebus-chrome-options-menu2.png" alt="invoicebus-chrome-options-menu" title="Chrome Options Menu" width="557" height="254" class="alignnone size-full wp-image-1734" />
</li>
<li>You will see the screen (on Windows 7):<br />
<img style="margin:20px 0px;" src="http://garage.invoicebus.com/wp-content/uploads/2012/03/invoicebus-google-app-shortcut.png" alt="invoicebus-google-app-shortcut" title="Chrome Application Shortcut" width="420" height="375" class="alignnone size-full wp-image-1713" />
</li>
<li>Check the locations you want the Invoicebus shortcut to be placed and click Create.
</li>
<li>Voila, now you can start Invoicebus straight form you desktop or taskbar.
</li>
</ol>
<p>Do you know other tricks of creating &quot;desktop&quot; web applications? Come on, share them with us &#8211; would love to hear from you.</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='Dimitar Stojanov' src='https://secure.gravatar.com/avatar/0aad93b255f7ff76e3c32f5154432887?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/justd100">Dimitar Stojanov</a></h4><div class="ts-fab-description" style="margin-bottom:0.5em"><em><span>Co-founder</span> at <a href="https://invoicebus.com"><span>Invoicebus</span></a></em></div></div><!-- /.ts-fab-header --><div class="ts-fab-content" style="margin-bottom:0.5em"><p><b>Dimitar</b> is co-founder of <a href="https://invoicebus.com">Invoicebus</a>, an online invoicing tool for easy invoice management. He's passionate about creating beautiful and simple web applications and occasionally writes on this blog about web design, online business, and fighting the status-quo. Follow him on <a href="http://twitter.com/justd100">Twitter</a> and <a href="http://facebook.com/dimitar.stojanov">Facebook</a>.</p>
</div><div class="ts-fab-footer"> | <a href="http://twitter.com/justd100">Twitter</a> | <a href="http://www.facebook.com/dimitar.stojanov">Facebook</a> | <a href="http://plus.google.com/+DimitarStojanov">Google+</a> | </div><!-- /.ts-fab-footer --></div><!-- /.ts-fab-text --></div><!-- /.ts-fab-wrapper --><p>The post <a rel="nofollow" href="https://invoicebus.com/garage/start-invoicebus-from-your-desktop/">Start Invoicebus from your Desktop</a> appeared first on <a rel="nofollow" href="https://invoicebus.com/garage">Garage</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://invoicebus.com/garage/start-invoicebus-from-your-desktop/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Protect Your Email Address From Spam Crawlers</title>
		<link>https://invoicebus.com/garage/how-to-protect-your-email-address-from-spam-crawlers/</link>
		<comments>https://invoicebus.com/garage/how-to-protect-your-email-address-from-spam-crawlers/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 22:26:21 +0000</pubDate>
		<dc:creator><![CDATA[Stefan Chachovski]]></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[email protection]]></category>
		<category><![CDATA[spam]]></category>
		<category><![CDATA[spam crawler]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://garage.invoicebus.com/?p=1429</guid>
		<description><![CDATA[<p>The email addresses are not always stolen by leaving footprints on other sites. In most cases, they are stolen directly from your own web site. What are spam crawlers? Spam crawlers are automatically programmed bots that steal your email address from the web by various mechanisms and use it in bulk email or other purposes [&#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/how-to-protect-your-email-address-from-spam-crawlers/">How to Protect Your Email Address From Spam Crawlers</a> appeared first on <a rel="nofollow" href="https://invoicebus.com/garage">Garage</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>The email addresses are not always stolen by leaving footprints on other sites. In most cases, they are stolen directly from your own web site.</h2>
<div style="height:20px;"></div>
<h3>What are spam crawlers?</h3>
<p>Spam crawlers are automatically programmed bots that steal your email address from the web by various mechanisms and use it in <a href="http://en.wikipedia.org/wiki/Distribution_list">bulk email</a> or other purposes usually referred as <a href="http://en.wikipedia.org/wiki/Email_spam">spam</a>. This process is also known as email address harvesting.</p>
<p><img style="margin:20px 0px;" src="http://garage.invoicebus.com/wp-content/uploads/2012/03/online-invoicing-spam-crawler.png" alt="Spam Crawler" title="Spam Crawler" width="600" height="420" class="alignnone size-full wp-image-1517" /></p>
<p>Contact details, terms and policies, about pages and pretty much everywhere on your site where you publicly expose your email address, is a great resource for crawlers.</p>
<p>The crawler or so called harvester automatically searches the HTML content of your web site, usually scanning the link tag <center>
<pre class="brush: xml; gutter: false; title: ; notranslate">&lt;a&gt;&lt;/a&gt;</pre>
<p></center> and searching the <b>href=&#8221;mailto:&#8221;</b> attribute inside.</p>
<h3>So what’s the idea?</h3>
<p>There’re few workarounds for protecting email addresses and you’ve probably seen solutions like displaying the email in format: info (at) invoicebus (dot) com, embedding the email into an image, implementing contact form etc. However, in all cases you don’t get clickable email link, so here we&#8217;re going to use a little hack.</p>
<p>Beside the <b>href=&#8221;mailto:&#8221;</b> attribute, the spam crawler scans every HTML code that contains “@” sign, so can easily figure out and extract the actual email address. Our objective is to keep the crawler task difficult as much as possible.</p>
<p>In fact, we&#8217;ll programmatically hide the email address behind variable and dynamically print it in run-time, exactly when the page is rendered by the browser. The crawler won’t be able to find it anywhere in the code.</p>
<div style="font-weight:bold; margin-top:20px; margin-bottom:10px;">How to assign a value to the variable so to the crawler couldn&#8217;t see it? </div>
<p>If we divide the email address on 3 parts,<br />
<img style="margin:20px 0px;" src="http://garage.invoicebus.com/wp-content/uploads/2012/03/online-invoicing-3parts-email.png" alt="Parts of the email address: Username, at sign, domain name" title="Parts of the email address: Username, at sign, domain name" width="306" height="65" class="alignnone size-full wp-image-1538" /><br />
we can assign the value sequentially in two steps by concatenating strings.<br />
Here’s the JavaScript snippet for it:</p>
<pre class="brush: jscript; gutter: false; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;

     var emailE = 'invoicebus.com';
     emailE = ('support' + '@' + emailE);
     document.write('&lt;a href=&quot;mailto:' + emailE + '&quot;&gt;' + emailE + '&lt;/a&gt;');

&lt;/script&gt;
</pre>
<p>The code will display the following link in the browser:</p>
<p><img src="http://garage.invoicebus.com/wp-content/uploads/2012/03/online-invoicing-support-email.png" width="151" height="17" class="alignnone size-full wp-image-1546" /></p>
<p>You can even write your own JS function that transforms the letters with custom pattern, but for now I’ll stick to the basics.</p>
<div style="background:#ffffe0; padding:10px; margin:20px 0px; margin-bottom:30px; border:1px solid #E6DB55;"><b>Note:</b> If the visitor of the site has disabled the JavaScript in his browser, the email address won’t be shown.</div>
<p>Of course, you also have another option of not using the JavaScript by directly encoding the value of the HREF attribute with HTML <a href="http://www.w3schools.com/tags/ref_ascii.asp">ASCII encoding</a> or <a href="http://www.w3schools.com/tags/ref_urlencode.asp">URL encoding</a>.<br />
<br/></p>
<div style="background:#f8f8f8; border:1px dotted #ccc; padding:20px; margin-bottom:25px;">
Clear HTML:</p>
<pre class="brush: xml; gutter: false; title: ; notranslate">
&lt;a href=&quot;mailto:yourname@domain.com&quot;&gt;yourname@domain.com&lt;/a&gt;
</pre>
<p><br/><br />
ASCII encoded HTML:</p>
<pre class="brush: xml; gutter: false; title: ; wrap-lines: false; notranslate">
&lt;a href=&quot;&amp;#109;&amp;#97;&amp;#105;&amp;#108;&amp;#116;&amp;#111;&amp;#58;&amp;#121;&amp;#111;&amp;#117;&amp;#114;&amp;#110;&amp;#97;&amp;#109;&amp;#101;&amp;#64;&amp;#100;&amp;#111;&amp;#109;&amp;#97;&amp;#105;&amp;#110;&amp;#46;&amp;#99;&amp;#111;&amp;#109;&quot;&gt;&amp;#121;&amp;#111;&amp;#117;&amp;#114;&amp;#110;&amp;#97;&amp;#109;&amp;#101;&amp;#64;&amp;#100;&amp;#111;&amp;#109;&amp;#97;&amp;#105;&amp;#110;&amp;#46;&amp;#99;&amp;#111;&amp;#109;&lt;/a&gt;
</pre>
</div>
<p>In both cases, the browser will display the following:</p>
<p><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;"> &#121;&#111;&#117;&#114;&#110;&#97;&#109;&#101;&#64;&#100;&#111;&#109;&#97;&#105;&#110;&#46;&#99;&#111;&#109;</a></p>
<p><br/></p>
<div style="background:#ffffe0; padding:10px; border:1px solid #E6DB55; margin-bottom:15px;"><b>Note:</b> Some spam crawlers can extract the email address even HTML encoded.</div>
<p><script language="javascript">
function invoicebus_encode(id1, id2) {
    var string = document.getElementById(id1).value;
    var str = '';
    for (i = 0; i < string.length; i++) {
        str = str + '&#038;#' + string.charCodeAt(i) + ';';
    }
    document.getElementById(id2).value = str;
}
</script></p>
<p>I quickly wrote a simple HTML ASCII encoder that can be used to encode your email addresses or any text you want.</p>
<table cellpadding=0 cellspacing=0 borders=0 style="text-align:center; margin-top:20px; margin-bottom:30px;">
<tr>
<td style="vertical-align:middle;">
Enter your email/text<br />
<textarea style="height:80px; width: 180px;" id="not_encoded"></textarea>
</td>
<td style="vertical-align:middle; text-align:center;">
<input style="width:150px; height:25px;" value="Hit me to Encode" type="button" onclick="invoicebus_encode('not_encoded', 'encoded');">
</td>
<td style="vertical-align:middle;">
Copy the encoded text<br />
<textarea style="height:80px; width: 180px;" id="encoded"></textarea>
</td>
</tr>
</table>
<p>There’re couples of other methods available, but I believe these two are the most effective ones, so far. It’s up to you which one you’ll choose. For us, JS method works pretty well.</p>
<p>A little effort and a few lines of code on your site will save you from tons of unsolicited and junk email later.<br />
<br/><br />
<b>Now let me hear your thoughts on it.</b><br />
Have any suggestions of how to improve these methods, or maybe some others we haven't heard about?</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/how-to-protect-your-email-address-from-spam-crawlers/">How to Protect Your Email Address From Spam Crawlers</a> appeared first on <a rel="nofollow" href="https://invoicebus.com/garage">Garage</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://invoicebus.com/garage/how-to-protect-your-email-address-from-spam-crawlers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motherboard for Lunch</title>
		<link>https://invoicebus.com/garage/motherboard-for-lunch/</link>
		<comments>https://invoicebus.com/garage/motherboard-for-lunch/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 15:54:18 +0000</pubDate>
		<dc:creator><![CDATA[Invoicebus Team]]></dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[baking motherboard]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[interesting]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://garage.invoicebus.com/?p=634</guid>
		<description><![CDATA[<p>We had an extraordinary experience last week, probably one of the best in recent times &#8211; we tried to resurrect a dead laptop by baking its motherboard in the oven at 200°C. The extensive everyday usage of laptops tempts us to play with unconventional maintenance methods sometimes. From sloppy water pouring to hairdryer drying, from [&#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='Invoicebus Team' src='https://secure.gravatar.com/avatar/a311597603749cd2495cd7100f4a340a?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>Invoicebus Team</h4>
</div>
<p><!-- /.ts-fab-header -->
<div class="ts-fab-content" style="margin-bottom:0.5em">
<p><a href="https://invoicebus.com/team/">We're</a> a team comprised of a few die-hard code freaks, lovers of beautiful design, stewards of simplicity, and passionately dedicated to the user experience.  Invoicebus is a great vehicle to express what we do best. <a href="https://invoicebus.com/manifesto/">Click here</a> to learn more on our business philosophy and how we actually do it.</p>
</div>
<div class="ts-fab-footer"> | <a href="http://twitter.com/invoicebus">Twitter</a> | <a href="http://www.facebook.com/invoicebus">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/motherboard-for-lunch/">Motherboard for Lunch</a> appeared first on <a rel="nofollow" href="https://invoicebus.com/garage">Garage</a>.</p>
]]></description>
				<content:encoded><![CDATA[<h2>We had an extraordinary experience last week, probably one of the best in recent times &#8211; we tried to resurrect a dead laptop by baking its motherboard in the oven at 200°C.</h2>
<div style="height:15px;"></div>
<p>The extensive everyday usage of laptops tempts us to play with unconventional maintenance methods sometimes. From sloppy water pouring to hairdryer drying, from overheating to deep freezer cooling, from sticky keyboard spilled with Coca-Cola to complete bathtub washing. In fact, every described incident has happened to one single laptop &#8211; the protagonist. However, the most recent one occurred last week when we baked its motherboard in the oven at 200°C. And yes, the oven is those same one where we make pizza.</p>
<h3>Pain in the Neck</h3>
<p>After 4 years of usage, our protagonist stopped working as a result of the graphical chip failure. The symptoms manifested some strange vertical red lines across the screen with distorted graphics during boot-time, preventing the OS to start. After we had contacted manufacturer support, we were advised to return the laptop back to factory because of a well-known <a href="http://esupport.sony.com/US/perl/news-item.pl?mdl=VGNFZ190&amp;news_id=349" target="_blank">problem</a>. However, we didn’t have much time to send it back due to complicated shipping procedures, so we put another two options on plate:</p>
<ul class="myList">
<li>to buy a new laptop,</li>
<li>to try fix the old one by our own</li>
</ul>
<p>We gave priority to the second option because DIY excitement was much bigger than the risk. The laptop was almost dead, so we didn’t mind experimenting a bit.</p>
<h3>Actual Problem</h3>
<p>The graphical chip have dozens of solder connection points to the motherboard, all it takes is one hairline crack to cause malfunction of the chip. Many times in newer laptops, the heat generated causes the solder to get close to its melting point causing these hairline cracks, also known as micro fractures in the solder joints. With a little knowledge in physics and a short research, we found very interesting method to fix these sensitive micro fragments. The method is called <b>&quot;reflow&quot;</b> where the chip on the motherboard is heated under Highly Regulated circumstances for a pre-determined amount of time at a critical temperature. The objective is to &quot;reflow&quot; the solder from the chip to the board via BGA (Ball Grid Array) points on the chip. The question is how to heat the joints to that temperature?<br />
Actually, there are few methods, some of them are sophisticated, some of them are plain, however the simplest and most fun is the &quot;motherboard for lunch&quot; method (as we call it), that requires literally baking the motherboard in the oven. Are we kidding? &#8211; NO!</p>
<h3>The Recipe</h3>
<p>Below are given the exact steps of how we cooked the motherboard. We took a few shots as a memo though.</p>
<ul class="myList">
<li>Carefully disassembled all laptop components, connectors, cables</li>
<li>Removed the motherboard</li>
</ul>
<div style="margin-bottom:15px;">
<table>
<tbody>
<tr>
<td style="padding-left:0px;"><a href="http://garage.invoicebus.com/wp-content/uploads/2011/09/invoicebus_invoicing_laptop.jpg" target="_blank" rel="lightbox[634]"><img src="http://garage.invoicebus.com/wp-content/uploads/2011/09/invoicebus_invoicing_laptop-300x225.jpg" alt="" title="Dissasembling laptop for cooking" width="300" height="225" class="alignnone size-medium wp-image-646" /></a></td>
<td><a href="http://garage.invoicebus.com/wp-content/uploads/2011/09/invoicebus_invoicing_motherboard1.jpg" target="_blank" rel="lightbox[634]"><img src="http://garage.invoicebus.com/wp-content/uploads/2011/09/invoicebus_invoicing_motherboard1-300x225.jpg" alt="" title="Preparing laptop motherboard" width="300" height="225" class="alignnone size-medium wp-image-647" /></a></td>
</tr>
</tbody>
</table>
</div>
<ul class="myList">
<li>Removed all parts from it: CPU, Bluetooth modules, CMOS battery, plastic parts and caps</li>
<li>Cleaned up the CPU and GPU from the thermal paste residues</li>
</ul>
<p><span id="more-634"></span></p>
<ul class="myList">
<li>Turned on the oven to pre-heat at 200°C (392°F)</li>
<li>Made 4 improvised aluminum ball legs to hold the motherboard lifted</li>
</ul>
<div style="margin-bottom:15px;">
<table>
<tbody>
<tr>
<td style="padding-left:0px;"><a href="http://garage.invoicebus.com/wp-content/uploads/2011/09/invoicebus_invoicing_oven.jpg" target="_blank" rel="lightbox[634]"><img src="http://garage.invoicebus.com/wp-content/uploads/2011/09/invoicebus_invoicing_oven-300x225.jpg" alt="" title="Preheating the oven at 200°C" width="300" height="225" class="alignnone size-medium wp-image-649" /></a></td>
<td><a href="http://garage.invoicebus.com/wp-content/uploads/2011/09/invoicebus_invoicing_aliminium_legs.jpg" target="_blank" rel="lightbox[634]"><img src="http://garage.invoicebus.com/wp-content/uploads/2011/09/invoicebus_invoicing_aliminium_legs-300x225.jpg" alt="" title="The aluminum legs to hold the motherboard" width="300" height="225" class="alignnone size-medium wp-image-645" /></a></td>
</tr>
</tbody>
</table>
</div>
<div style="height:15px;"></div>
<ul class="myList">
<li>Foiled up the baking tray, with aluminium cooking foil</li>
<li>Put the motherboard in the tray</li>
</ul>
<div style="margin-bottom:15px;">
<a href="http://garage.invoicebus.com/wp-content/uploads/2011/09/invoicebus_invoicing_motherboard2.jpg" rel="lightbox[634]"><img src="http://garage.invoicebus.com/wp-content/uploads/2011/09/invoicebus_invoicing_motherboard2.jpg" alt="" title="The motherboar in the tray" width="600" height="400" class="alignnone size-full wp-image-648" /></a>
</div>
<p>It&#8217;s cooking time!</p>
<ul class="myList">
<li>The baking took exactly 7 minutes and 45 seconds. After the 6th minute, we felt heavy smell of solder. It was a good sign, something was melting <img src="https://invoicebus.com/garage/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></li>
<li>Left the motherboard to cool down slowly for approximate 30min</li>
<li>Reapplied new thermal paste</li>
<li>Reassembled all other components</li>
<li>Pushed the power button</li>
</ul>
<h3>The Taste</h3>
<p>It smelled like Sheldon’s Bazinga, but actually was Eureka!<br />
The laptop was fully functional with no sign of the issue at all. We are smiling while writing this blog post on that same machine and probably going to smile again and again every time we retell this story. Almost forgot &#8211; this was the second successful baking, after one which happened 12 months ago! How long it will last I don’t know, but it seems this laptop wants to be cooked. After all it doesn&#8217;t cost a thing, only 8 minutes in the oven, right?</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='Invoicebus Team' src='https://secure.gravatar.com/avatar/a311597603749cd2495cd7100f4a340a?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>Invoicebus Team</h4></div><!-- /.ts-fab-header --><div class="ts-fab-content" style="margin-bottom:0.5em"><p><a href="https://invoicebus.com/team/">We're</a> a team comprised of a few die-hard code freaks, lovers of beautiful design, stewards of simplicity, and passionately dedicated to the user experience.  Invoicebus is a great vehicle to express what we do best. <a href="https://invoicebus.com/manifesto/">Click here</a> to learn more on our business philosophy and how we actually do it.</p>
</div><div class="ts-fab-footer"> | <a href="http://twitter.com/invoicebus">Twitter</a> | <a href="http://www.facebook.com/invoicebus">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/motherboard-for-lunch/">Motherboard for Lunch</a> appeared first on <a rel="nofollow" href="https://invoicebus.com/garage">Garage</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://invoicebus.com/garage/motherboard-for-lunch/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>
