<?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>Micro-ISV Insights Blog &#187; programming</title>
	<atom:link href="https://www.dextronet.com/micro-isv-insights/tag/programming-2/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dextronet.com/micro-isv-insights</link>
	<description>A blog for mISVs, startup maniacs, and everyone in the software business.</description>
	<lastBuildDate>Fri, 31 Jan 2014 18:30:24 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex,follow" />
		<item>
		<title>Managing Virtual Machines Efficiently in VirtualBox</title>
		<link>https://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/</link>
		<comments>https://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/#comments</comments>
		<pubDate>Thu, 21 Mar 2013 13:46:25 +0000</pubDate>
		<dc:creator>Michal Novak</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software development]]></category>
		<category><![CDATA[software testing]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[virtual machine testing]]></category>
		<category><![CDATA[virtual machines with office versions]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[vm]]></category>

		<guid isPermaLink="false">http://www.dextronet.com/micro-isv-insights/?p=659</guid>
		<description><![CDATA[Need to test a software application in different environments? Managing virtual machines can be extremely frustrating - unless you know how to do it in a smart way.<p><a href="https://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/">Managing Virtual Machines Efficiently in VirtualBox</a> is a post from: <a href="https://www.dextronet.com/micro-isv-insights">Micro-ISV Insights Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><div class='dd-google1-ajax-load dd-google1-659'></div><g:plusone size='tall' href='https://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/'></g:plusone></div><div class='dd_button'><div class='dd-twitter-ajax-load dd-twitter-659'></div><a href="http://twitter.com/share" class="twitter-share-button" data-url="https://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/" data-count="vertical" data-text="Managing Virtual Machines Efficiently in VirtualBox" data-via="" ></a></div><div class='dd_button'><script src="http://connect.facebook.net//all.js#xfbml=1"></script><fb:like href="https%3A%2F%2Fwww.dextronet.com%2Fmicro-isv-insights%2Fmanaging-virtual-machines-efficiently-in-virtualbox%2F"    layout="box_count" width="50"  ></fb:like></div><div class='dd_button'><div class='dd-linkedin-ajax-load dd-linkedin-659'></div><script type='in/share' data-url='https://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/' data-counter='top'></script></div><div class='dd_button'><div class='dd-dzone-ajax-load dd-dzone-659'></div><iframe class='DD_DZONE_AJAX_659' src='' height='0' width='0' scrolling='no' frameborder='0'></iframe></div><div class='dd_button'><div class='dd_delicious_normal_image dd_delicious'><a href='http://delicious.com/save' onclick="window.open('http://delicious.com/save?v=5&amp;noui&amp;jump=close&amp;url='+encodeURIComponent('https://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/')+'&amp;title='+encodeURIComponent('Managing Virtual Machines Efficiently in VirtualBox'),'delicious', 'toolbar=no,width=550,height=550'); return false;"><span id='DD_DELICIOUS_AJAX_659'></span></a></div></div></div><div style='clear:both'></div></div><div style='clear:both'></div><p>Testing your software on different system configurations and versions of operating systems is a good way to improve quality of your application. But how to do this in practice?</p>
<p>Installing multiple operating systems on your computer might solve the issue but you won&#8217;t like it. It will cut your hard drive into multiple partitions and eat free space from the partition used by your primary system. Also managing such setup is not easy. Each OS will update differently. You will need to install required applications as many times as many operating systems you will install.</p>
<p>In addition, this becomes more difficult if your software depends on another product. Which of course has also different versions and does not offer portable deployment. What than?</p>
<p>Fortunately, Virtual Machines has been invented. However, managing them in efficient way might be very tricky.</p>
<p><em>This article will describe my current setup of virtual machines in VirtualBox and best practices which I have came up with.</em></p>
<p>As a developer you will probably need to work sometimes with different systems to test something, debug something or check something. For this purposes, I recommend you to use VirtualBox. I won&#8217;t describe how to create your first Virtual Machine (VM) as I expect you are already familiar with it. This article is for those, who are now struggling with their VMs and ask how not to make mess of them.</p>
<p>In short:</p>
<ol>
<li>Learn how to use snapshots, use them a lot.</li>
<li>Think in advance (this article is good way to start).</li>
<li>Learn how to use clones.</li>
</ol>
<h2>Snapshots</h2>
<p>What are snapshots? Snapshot is a saved state of your virtual machine to which you can revert any time. It&#8217;s like restore points in Windows but on a very base level – on VM level. You can take snapshot from powered off system as well as from running or paused system. Basically, it will save current HDD state, RAM, processor state, etc. of your virtual machine. This can be very useful.</p>
<p>After snapshot is taken, any changes in VM are recorded as difference to last snapshot. The result is that no data are duplicated after taking a snapshot. This is an important feature to keep in mind.</p>
<p>Snapshots are composed into a tree. Each snapshots has parent snapshot set, except for the first snapshot which is the root of the tree. What it means? When you install/configure/do something in your Virtual Machine and take snapshot of that it will be present in all derived snapshots. That is another important feature worth mentioning.</p>
<p><b>Best practices for snapshots:</b></p>
<ul>
<li>Again, use snapshots a lot.</li>
<li>Prefer snapshots of powered off system to paused or running system. Even though it&#8217;s inconvenient to setup it will save you some hard drive space.</li>
<li>Fill in descriptive snapshot names and description. Really, do it. It&#8217;s important not to lost track of changes made by a snapshot.</li>
</ul>
<h2>Thinking in advance</h2>
<p>This is closely related with the previous section. Try to think of all supplementary software or configuration you will need in future while working with your virtual machine. If you install it in some base snapshot, you won&#8217;t need to install it multiple times again, which is both annoying, time consuming and space consuming.</p>
<p>By supplementary software, I mean all useful applications where you don&#8217;t need to track their version. It might be 7-zip, Java, PDF viewer, text editor, Total Commander, or even IDEs.</p>
<p>If you forgot to install into the common snapshot some software you will need, you have two options:</p>
<ol>
<li>Install it separately on all derived snapshots (which will make you swear).</li>
<li>Remove all derived snapshots and correct your base snapshot, than recover deleted snapshots by manually making changes again (will will make you swear even more, and maybe destroy things in reach).</li>
</ol>
<p>Therefore think twice before branching snapshots.</p>
<p><b>Best practices for thinking in advance</b>:</p>
<ol>
<li>Install all supplementary software at base snapshot.</li>
<li>Consider using <a href="http://ninite.com/">Ninite</a>. It will install most common applications for you, and you won&#8217;t need to go through every single installer. It will save you a lot of time.</li>
</ol>
<h2>Clones</h2>
<p>Cloning your virtual machine will result in a copy of selected virtual machine at current state or selected snapshot. There are two types of clones, primarily the latter is similar to snapshots:</p>
<ul>
<li>Full clone</li>
<li>Linked clone</li>
</ul>
<p><strong>Full Clone</strong> will copy all the virtual machine data and make a new machine based on this copy. Therefore full-cloning will take up as much space as the base virtual machine takes. All virtual machine files are duplicated.</p>
<p><strong>Linked Clone</strong> will create a new virtual machine, but virtual hard drive won&#8217;t be copied. Instead, a new hard drive will be made and will link to the base virtual machine hard drive in given snapshot. Linked clones are therefore space-efficient. It&#8217;s like making snapshots but with new virtual machine being created.</p>
<p><strong>Best practices for Clones:</strong><br />
Prefer linked clones to full clones (it will save you hard drive space).</p>
<ol>
<li>Understand differences between clone types</li>
<li>Prefer linked clones to full clones (it will save you HDD space).</li>
</ol>
<h2>Example</h2>
<p>Putting all the advice together, I will show you an example how to manage virtual machines:</p>
<p>In this example, let&#8217;s assume we need to test an Office Add-In which would be compatible with all versions since Office 2003. That counts 6 versions (2003, 2007, 2010 32-bit, 2010 64-bit, 2013 32-bit and 2013 64-bit). We do not have any VMs installed yet.</p>
<p><b>Creating base virtual machine</b></p>
<ol>
<li>Create new virtual machine called “Windows XP Sandbox”.</li>
<li>Install operating system to the machine.</li>
<li>Log in for the first time and do not install any updates.</li>
<li>Activate operating system.</li>
<li>Configure UAC (turn off most probably).</li>
<li>Configure desktop icons.</li>
<li>Configure task bar (you might want to turn on Quick Launch).</li>
<li>Configure your mouse and keyboard (you might want to turn off mouse acceleration).</li>
<li>I recommend you to turn off system restore at this point.</li>
<li>Turn on Shared Clipboard and Bidirectional Drag&#8217;n'Drop. Even though Guest Additions are required for this features to work, the configuration will be stored in snapshot and you won&#8217;t have to think about enabling this features later.</li>
<li>Also configure Shared folders ASAP.</li>
<li>Clean up hard drive from temporary files.</li>
<li>Unmount all mounted CD/DVD images.</li>
<li>Turn off the machine and take first snapshot of the machine called “Raw Install”.</li>
<li>Run machine and install the VirtualBox Guest Additions. Still do not install any updates. Restart and adjust resolution, than turn off VM.</li>
<li>Clean up hard drive from temporary files.</li>
<li>You might want to place shortcuts to shared folders to your desktop.</li>
<li>Unmount all mounted CD/DVD images.</li>
<li>Take second snapshot called “with Guest Additions”.</li>
<li>Run machine, install all available system updates and clean up hard drive.</li>
<li>I also recommend turning automatic updates off. Otherwise they will be bugging you every time you start VM after some time it has been inactive.</li>
<li>Unmount all mounted CD/DVD images.</li>
<li>Turn VM off and take third snapshot called “Updated Install”.</li>
<li>Run machine, install supplementary software (eg. using <a href="http://ninite.com/">Ninite</a>), clean up hard drive and turn off.</li>
<li>Take fourth snapshot called “with Apps”. I recommend to include installed apps into snapshot’s description.</li>
</ol>
<p>This machine represents “virgin” installation of operating system with supplementary software. You might reuse it any time later. I think you have the idea.</p>
<p><strong>Installing Office VMs</strong></p>
<p>For each Office version:</p>
<ol>
<li>Create linked clone of the base virtual machine created in previous section and name it “Windows XP Office [version]”.</li>
<li>Run machine and install given Office version and turn off.</li>
<li>Finally, take snapshot called “with Office [version]”.</li>
</ol>
<h2>Conclusion</h2>
<p>I hope you found this article helpful and you got the idea. Management of your virtual machines should be now easier and less frustrating.</p>
<p>Some final notes:</p>
<ul>
<li>Yes, you will need one base virtual machine for each OS you want to play with.</li>
<li>I’m not sure if installation of your IDE should be included in base snapshots or not. IDE is space consuming and you won’t need it in most of the cases.</li>
<li>If you use shared folders, share them in base snapshots as this information is also stored in snapshots.</li>
</ul>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href="http://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/" title="Are you a Zen Coder or Distraction-Junkie?">Are you a Zen Coder or Distraction-Junkie?</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/" title="30 books everyone in software business should read (and why)">30 books everyone in software business should read (and why)</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/" title="Interview with Embarcadero about FireMonkey, mISV business and Delphi">Interview with Embarcadero about FireMonkey, mISV business and Delphi</a></li>
</ul>
<script type="text/javascript"> jQuery(document).ready(function($) { window.setTimeout('loadGoogle1_659()',1000);window.setTimeout('loadTwitter_659()',1000);window.setTimeout('loadLinkedin_659()',1000);window.setTimeout('loadDzone_659()',1000);window.setTimeout('loadDelicious_659()',1000); }); </script><script type="text/javascript"> function loadGoogle1_659(){ jQuery(document).ready(function($) { $('.dd-google1-659').remove();$.getScript('https://apis.google.com/js/plusone.js'); }); } function loadTwitter_659(){ jQuery(document).ready(function($) { $('.dd-twitter-659').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); } function loadLinkedin_659(){ jQuery(document).ready(function($) { $('.dd-linkedin-659').remove();$.getScript('http://platform.linkedin.com/in.js'); }); } function loadDzone_659(){ jQuery(document).ready(function($) { $('.dd-dzone-659').remove();$('.DD_DZONE_AJAX_659').attr('width','50');$('.DD_DZONE_AJAX_659').attr('height','70');$('.DD_DZONE_AJAX_659').attr('src','http://widgets.dzone.com/links/widgets/zoneit.html?url=https%3A%2F%2Fwww.dextronet.com%2Fmicro-isv-insights%2Fmanaging-virtual-machines-efficiently-in-virtualbox%2F&title=Managing%20Virtual%20Machines%20Efficiently%20in%20VirtualBox&t=1'); }); } function loadDelicious_659(){ jQuery(document).ready(function($) { $('.dd-delicious-659').remove();$.getJSON('http://feeds.delicious.com/v2/json/urlinfo/data?url=https://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/&amp;callback=?',function(data) {var msg ='';var count = 0;if (data.length > 0) {count = data[0].total_posts;if(count ==0){msg = '0';}else if(count ==1){msg = '1';}else{msg = count}}else{msg = '0';}$('#DD_DELICIOUS_AJAX_659').text(msg);}); }); }</script><!-- Social Buttons Generated by Digg Digg plugin v4.5.3.4, 
    Author : Yong Mook Kim
    Website : http://www.diggdigg2u.com --><p><a href="https://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/">Managing Virtual Machines Efficiently in VirtualBox</a> is a post from: <a href="https://www.dextronet.com/micro-isv-insights">Micro-ISV Insights Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Are you a Zen Coder or Distraction-Junkie?</title>
		<link>https://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/</link>
		<comments>https://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/#comments</comments>
		<pubDate>Sun, 12 Feb 2012 07:39:49 +0000</pubDate>
		<dc:creator>Jiri Novotny</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[distractions]]></category>
		<category><![CDATA[goals]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[success]]></category>
		<category><![CDATA[time management]]></category>
		<category><![CDATA[work environment]]></category>
		<category><![CDATA[work-flow]]></category>
		<category><![CDATA[zen]]></category>
		<category><![CDATA[zen coder]]></category>

		<guid isPermaLink="false">http://www.dextronet.com/micro-isv-insights/?p=631</guid>
		<description><![CDATA[What you do when compiling can ruin your life. And not just when compiling.<p><a href="https://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/">Are you a Zen Coder or Distraction-Junkie?</a> is a post from: <a href="https://www.dextronet.com/micro-isv-insights">Micro-ISV Insights Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><div class='dd-google1-ajax-load dd-google1-631'></div><g:plusone size='tall' href='https://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/'></g:plusone></div><div class='dd_button'><div class='dd-twitter-ajax-load dd-twitter-631'></div><a href="http://twitter.com/share" class="twitter-share-button" data-url="https://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/" data-count="vertical" data-text="Are you a Zen Coder or Distraction-Junkie?" data-via="" ></a></div><div class='dd_button'><script src="http://connect.facebook.net//all.js#xfbml=1"></script><fb:like href="https%3A%2F%2Fwww.dextronet.com%2Fmicro-isv-insights%2Fare-you-a-zen-coder-or-distraction-junkie%2F"    layout="box_count" width="50"  ></fb:like></div><div class='dd_button'><div class='dd-linkedin-ajax-load dd-linkedin-631'></div><script type='in/share' data-url='https://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/' data-counter='top'></script></div><div class='dd_button'><div class='dd-dzone-ajax-load dd-dzone-631'></div><iframe class='DD_DZONE_AJAX_631' src='' height='0' width='0' scrolling='no' frameborder='0'></iframe></div><div class='dd_button'><div class='dd_delicious_normal_image dd_delicious'><a href='http://delicious.com/save' onclick="window.open('http://delicious.com/save?v=5&amp;noui&amp;jump=close&amp;url='+encodeURIComponent('https://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/')+'&amp;title='+encodeURIComponent('Are you a Zen Coder or Distraction-Junkie?'),'delicious', 'toolbar=no,width=550,height=550'); return false;"><span id='DD_DELICIOUS_AJAX_631'></span></a></div></div></div><div style='clear:both'></div></div><div style='clear:both'></div><p>I just posted a new must-read guest article &#8220;<strong><a href="http://www.componentowl.com/blog/2012/02/zen-coder-vs-distraction-junkie/">Are you a Zen Coder or Distraction-Junkie?</a></strong>&#8221; on Component Owl blog. </p>
<p>It&#8217;s not just about coders or programmers; and it&#8217;s not just about productivity and time management. It summarizes a lot of things I&#8217;ve learned by trial-and-error in my career.</p>
<p>What you do when compiling can ruin your life. And not just when compiling.</p>
<p>Go read it now &#8211; &#8220;<strong><a href="http://www.componentowl.com/blog/2012/02/zen-coder-vs-distraction-junkie/">Are you a Zen Coder or Distraction-Junkie?</a></strong>&#8221; &#8211; There are pictures! ;-)<br />
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href="http://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/" title="Managing Virtual Machines Efficiently in VirtualBox">Managing Virtual Machines Efficiently in VirtualBox</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/" title="30 books everyone in software business should read (and why)">30 books everyone in software business should read (and why)</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/" title="Interview with Embarcadero about FireMonkey, mISV business and Delphi">Interview with Embarcadero about FireMonkey, mISV business and Delphi</a></li>
</ul>
<script type="text/javascript"> jQuery(document).ready(function($) { window.setTimeout('loadGoogle1_631()',1000);window.setTimeout('loadTwitter_631()',1000);window.setTimeout('loadLinkedin_631()',1000);window.setTimeout('loadDzone_631()',1000);window.setTimeout('loadDelicious_631()',1000); }); </script><script type="text/javascript"> function loadGoogle1_631(){ jQuery(document).ready(function($) { $('.dd-google1-631').remove();$.getScript('https://apis.google.com/js/plusone.js'); }); } function loadTwitter_631(){ jQuery(document).ready(function($) { $('.dd-twitter-631').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); } function loadLinkedin_631(){ jQuery(document).ready(function($) { $('.dd-linkedin-631').remove();$.getScript('http://platform.linkedin.com/in.js'); }); } function loadDzone_631(){ jQuery(document).ready(function($) { $('.dd-dzone-631').remove();$('.DD_DZONE_AJAX_631').attr('width','50');$('.DD_DZONE_AJAX_631').attr('height','70');$('.DD_DZONE_AJAX_631').attr('src','http://widgets.dzone.com/links/widgets/zoneit.html?url=https%3A%2F%2Fwww.dextronet.com%2Fmicro-isv-insights%2Fare-you-a-zen-coder-or-distraction-junkie%2F&title=Are%20you%20a%20Zen%20Coder%20or%20Distraction-Junkie%3F&t=1'); }); } function loadDelicious_631(){ jQuery(document).ready(function($) { $('.dd-delicious-631').remove();$.getJSON('http://feeds.delicious.com/v2/json/urlinfo/data?url=https://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/&amp;callback=?',function(data) {var msg ='';var count = 0;if (data.length > 0) {count = data[0].total_posts;if(count ==0){msg = '0';}else if(count ==1){msg = '1';}else{msg = count}}else{msg = '0';}$('#DD_DELICIOUS_AJAX_631').text(msg);}); }); }</script><!-- Social Buttons Generated by Digg Digg plugin v4.5.3.4, 
    Author : Yong Mook Kim
    Website : http://www.diggdigg2u.com --><p><a href="https://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/">Are you a Zen Coder or Distraction-Junkie?</a> is a post from: <a href="https://www.dextronet.com/micro-isv-insights">Micro-ISV Insights Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>30 books everyone in software business should read (and why)</title>
		<link>https://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/</link>
		<comments>https://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 15:49:36 +0000</pubDate>
		<dc:creator>Jiri Novotny</dc:creator>
				<category><![CDATA[Software Business]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[isv]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[microisv]]></category>
		<category><![CDATA[personal development]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[Sales]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software business]]></category>

		<guid isPermaLink="false">http://www.dextronet.com/micro-isv-insights/?p=490</guid>
		<description><![CDATA[I have personally read every book in this list. The enormous value I&#8217;ve gotten out of these books is the sole reason I am recommending them. These books helped me to make my Swift To-Do List very successful. There are no affiliate links in this post. If you have suggestions for other books that would [...]<p><a href="https://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/">30 books everyone in software business should read (and why)</a> is a post from: <a href="https://www.dextronet.com/micro-isv-insights">Micro-ISV Insights Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><div class='dd-google1-ajax-load dd-google1-490'></div><g:plusone size='tall' href='https://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/'></g:plusone></div><div class='dd_button'><div class='dd-twitter-ajax-load dd-twitter-490'></div><a href="http://twitter.com/share" class="twitter-share-button" data-url="https://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/" data-count="vertical" data-text="30 books everyone in software business should read (and why)" data-via="" ></a></div><div class='dd_button'><script src="http://connect.facebook.net//all.js#xfbml=1"></script><fb:like href="https%3A%2F%2Fwww.dextronet.com%2Fmicro-isv-insights%2F30-books-everyone-in-software-business-should-read-and-why%2F"    layout="box_count" width="50"  ></fb:like></div><div class='dd_button'><div class='dd-linkedin-ajax-load dd-linkedin-490'></div><script type='in/share' data-url='https://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/' data-counter='top'></script></div><div class='dd_button'><div class='dd-dzone-ajax-load dd-dzone-490'></div><iframe class='DD_DZONE_AJAX_490' src='' height='0' width='0' scrolling='no' frameborder='0'></iframe></div><div class='dd_button'><div class='dd_delicious_normal_image dd_delicious'><a href='http://delicious.com/save' onclick="window.open('http://delicious.com/save?v=5&amp;noui&amp;jump=close&amp;url='+encodeURIComponent('https://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/')+'&amp;title='+encodeURIComponent('30 books everyone in software business should read (and why)'),'delicious', 'toolbar=no,width=550,height=550'); return false;"><span id='DD_DELICIOUS_AJAX_490'></span></a></div></div></div><div style='clear:both'></div></div><div style='clear:both'></div><p class="update">I have personally read every book in this list. The enormous value I&#8217;ve gotten out of these books is the sole reason I am recommending them. These books helped me to make my <strong><a href="http://www.dextronet.com/swift-to-do-list-software">Swift To-Do List</a></strong> very successful. There are no affiliate links in this post. If you have suggestions for other books that would benefit people in software business, please post them in comments, and I will update the additional list at the end.</p>
<p>There are both new and old books in this list. For the naysayers: Don&#8217;t forget how easy it is to succumb to hype and to phrases like &#8220;anything older than 3 months is irrelevant&#8221;, &#8220;it&#8217;s the age of the app&#8221;, &#8220;desktop is dead&#8221;, and so on. That&#8217;s simply not true. Reading these books can be very beneficial for you and for your business. The concepts are still valid, the ideas can be still utilized. Even if the world has fatalistically moved on (and it hasn&#8217;t), you can&#8217;t catch it up without a strong foundation. <strong>Many things are cyclical or ageless. You can re-combine ideas, find patterns, get inspired and most importantly, learn new things. These books are a nourishment for your mind.</strong> And hey, it can&#8217;t hurt to read something different than you are used to read!</p>
<p>The books are ordered randomly; it would be nearly impossible to come with a satisfying ranking. Apples and pears, you know. </p>
<p>Writing this post took me 5 hours (plus 5 years to find and read the books). <strong>Enjoy.</strong></p>
<ol>
<li><strong><a href="http://www.amazon.com/Dreaming-Code-Programmers-Transcendent-Software/dp/B002RAR25C/" target="_blank">Dreaming In Code</a></strong> (Scott Rosenberg) &#8211; The definitive lessons about over-ambitiousness and idealism in software. True story about spectacular software failure. Dream team, dream budget, and a undreamed-of failure. Reads like a novel. The subtitle of the book is &#8220;Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software&#8221;.</li>
<li><strong><a href="http://www.amazon.com/Peopleware-Productive-Projects-Teams-Second/dp/0932633439/" target="_blank" rel="nofollow">Peopleware: Productive Projects and Teams</a></strong> (Tom DeMarco and Timothy Lister) &#8211; Are you sure you are not chasing marginal productivity gains while the fundamentals are eluding you? Also, chances are, you are not working alone. If you have not read this yet, then better start whistling and go secretly read it under a blanket with a flash light.</li>
<li><strong><a href="http://www.amazon.com/Startups-Open-Sourced-Stories-inspire/dp/0615491928/" target="_blank" rel="nofollow">Startups Open Sourced: Stories to inspire and educate</a></strong> (Jared Tame) &#8211; Entertaining read. Not immediately actionable, but definitely worthwhile. Even if you have a mature business, the fresh look from the startup perspective can give you some ideas what you might improve upon. Interesting tidbit &#8211; reddit founders used to create hundreds of fake user accounts, submissions and comments to get their site started. <a href="http://www.amazon.com/Startups-Open-Sourced-ebook/dp/B004ZULMR6/" target="_blank" rel="nofollow">Kindle edition</a> is listed separately.</li>
<li><strong><a href="http://www.amazon.com/GUI-Bloopers-2-0-Second-Technologies/dp/0123706432/" target="_blank" rel="nofollow">GUI Bloopers 2.0</a></strong> (Jeff Johnson PhD) &#8211; If you think your GUI design could use some improvement, read this. It even includes images! ;-) Negative examples are not only useful, but also fun, and they give you warm fuzzy feeling that your GUI is better. Or is it&#8230;? Some of the bloopers reminded me of <a href="http://homepage.mac.com/bradster/iarchitect/controls.htm" target="_blank" rel="nofollow">Interface Hall of Shame</a>.</li>
<li><strong><a href="http://en.wikisource.org/wiki/The_Elements_of_Style" target="_blank" rel="nofollow">The Elements of Style</a></strong> &#8211; You write a lot of text. This will help you write it better. Your code, writing for web, blog, emails &#8211; all that is text. (The book is public domain now.)</li>
<li><strong><a href="http://www.amazon.com/Search-Stupidity-Marketing-Disasters-ebook/dp/B001C6MQA8/" target="_blank" rel="nofollow">In Search of Stupidity</a></strong> (Merril R. Chapman) &#8211; The subtitle of this book is &#8220;Over Twenty Years of High Tech Marketing Disasters&#8221;. It&#8217;s fun to read because it&#8217;s about failures. It will make you feel good, because you are not failing on such a huge scale. But do not be deceived by that false positive feeling &#8211; unless you are not failing at least a bit, you are not experimenting enough, which is a failure by itself. Even giants like Google are constantly scraping ambitious projects because they simply didn&#8217;t work out.</li>
<li><strong><a href="http://www.amazon.com/Do-More-Faster-TechStars-Accelerate/dp/0470929839/" target="_blank" rel="nofollow">Do More Faster: TechStars Lessons to Accelerate Your Startup</a></strong> (Brad Feld and David Cohen) &#8211; Similar to Startups Open Sourced, basically stories of new startups that were supported by TechStars startup accelerator (which is similar to Paul Graham&#8217;s Y-Combinator).</li>
<li><strong><a href="http://www.amazon.com/Content-Rules-Podcasts-Webinars-Customers/dp/0470648287/" target="_blank" rel="nofollow">Content Rules</a></strong> (Ann Handley, C.C. Chapman) &#8211; A must read. And if you are struggling to grow your businesses to a certain extent, chances are, this book will tell you exactly how to do that.</li>
<li><strong><a href="http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/" target="_blank" rel="nofollow">Code Complete</a></strong> &#8211; In case you have not worked in any software company or team, but just on your own, your code will be probably greatly enhanced once you implement the ideas presented in this awesome book. Many developers swear by it; it&#8217;s their bible.</li>
<li><strong><a href="http://www.amazon.com/Maximum-Achievement-Strategies-Skills-Succeed/dp/0684803313/" target="_blank" rel="nofollow">Maximum Achievement</a></strong> (Brian Tracy) &#8211; There is not much self-help books that I would readily recommend to mISVs. However, Maximum Achievement will help you to live up to your potential, and that <em>has</em> significant impact on your bottom-line.</li>
<li><strong><a href="http://www.amazon.com/Founders-Work-Stories-Startups-Problem-Solution/dp/1430210788/" target="_blank" rel="nofollow">Founders At Work</a></strong> (Jessica Livingston) &#8211; Inspirational and motivational read. Not immediately actionable, but might make you excited again about the fact that you are are in software business.</li>
<li><strong><a href="http://www.amazon.com/Blue-Ocean-Strategy-Uncontested-Competition/dp/1591396190" target="_blank" rel="nofollow">Blue Ocean Strategy</a></strong> &#8211; If you are feeling like innovating, or feel stuck with your current market positioning or product/services portfolio, read this. The subtitle of this book is &#8220;How to Create Uncontested Market Space and Make Competition Irrelevant&#8221;. It is written by example &#8211; lots of cool stories. The stories clearly tell how important is the presentation of your products/services.</li>
<li><strong><a href="http://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554/" target="_blank" rel="nofollow">Hackers &#038; Painters</a></strong> (Paul Graham) &#8211; Really great stuff (that you&#8217;ve probably already read). Paul is excellent essayist, and has some refreshing insights. If you don&#8217;t know Paul Graham, he is the founder of Y-Combinator. All his essays are also freely <a href="http://www.paulgraham.com/articles.html" target="_blank" rel="nofollow">available on his website</a>. The book includes only some of them. My favorite essays are <a href="http://www.paulgraham.com/wealth.html" target="_blank" rel="nofollow">How to Make Wealth</a> and <a href="http://www.paulgraham.com/nerds.html" target="_blank" rel="nofollow">Why Nerds are Unpopular</a>.</li>
<li><strong><a href="http://www.amazon.com/Joel-Software-Occasionally-Developers-Designers/dp/1590593898/" target="_blank" rel="nofollow">Joel On Software</a></strong> (Joel Spolsky) &#8211; Joel is my hero. Joel is a spectacular pragmatist and software business owner with deep knowledge of Microsoft technologies. This book will bring you loads of ideas to improve your business, and will definitely change your views on many things related to technology, Microsoft, development and software business. </li>
<li><strong><a href="http://www.amazon.com/More-Joel-Software-Occasionally-Developers/dp/1430209879/" target="_blank" rel="nofollow">More Joel On Software</a></strong> (Joel Spolsky) &#8211; Same as above. Really, you can&#8217;t get enough of this stuff.</li>
<li><strong><a href="http://www.amazon.com/Best-Software-Writing-Selected-Introduced/dp/1590595009/" target="_blank" rel="nofollow">Best Software Writing</a></strong> (Joel Spolsky) &#8211; That&#8217;s right, Joel now occupies 10% of these 30 books.</li>
<li><strong><a href="http://www.amazon.com/Outliers-Story-Success-Malcolm-Gladwell/dp/0316017930/" target="_blank" rel="nofollow">Outliers</a></strong> (Malcom Gladwell) &#8211; Ever wondered why is Bill Gates so successful?</li>
<li><strong><a href="http://www.amazon.com/Eric-Business-Software-Experts-Voice/dp/1590596234/" target="_blank" rel="nofollow">Eric Sink On The Business Of Software</a></strong> &#8211; This is a classic book from a man who coined the term &#8220;Micro-ISV&#8221;. Everyone in the <a href="http://discuss.joelonsoftware.com/?biz" target="_blank" rel="nofollow">TBoS community</a> knows the book. You&#8217;ve probably already read it; if not, you can still pick a thing or two out of it.</li>
<li><strong><a href="http://www.amazon.com/Words-that-Sell-Products-Services/dp/0071467858/" target="_blank" rel="nofollow">Words That Sell</a></strong> (Richard Bayan) &#8211; If you do your own copywriting, this book will save you hours of work, help you quickly overcome writer&#8217;s blocks, and enable you to create texts that you will finally feel proud about. Just don&#8217;t overdo it with the buzz words ;-)</li>
<li><strong><a href="http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/" target="_blank" rel="nofollow">The Pragmatic Programmer</a></strong> (Andrew Hunt and David Thomas) &#8211; Another classic full of great guidelines and principles related to programming. For example, if it has never occurred to you that it is fairly easy to write code that writes code, and you could probably utilize that in your own projects with great success right now, then this book is a must read for you.</li>
<li><strong><a href="http://www.amazon.com/-Myth-Revisited-Small-Businesses-About/dp/0887307280/" target="_blank" rel="nofollow">The E-Myth Revisited</a></strong> (Michael E. Gerber) &#8211; At first, the principles presented in this book might seem not much applicable to mISVs, but if you switch the word &#8220;employee&#8221; for &#8220;script&#8221;, the book gets whole new (and useful) perspective.</li>
<li><strong><a href="http://www.amazon.com/Business-Software-Manager-Programmer-Entrepreneur/dp/074321580X/" target="_blank" rel="nofollow">The Business Of Software</a></strong> (Michael. A Cusumano) &#8211; Another (perhaps outdated) classic. Read it, it&#8217;s well worth the time only if to gain some structured thinking about (your) software business.</li>
<li><strong><a href="http://www.amazon.com/Anything-You-Want-Derek-Sivers/dp/1936719118/" target="_blank" rel="nofollow">Anything You Want</a></strong> (Derek Sivers) &#8211; Useful for gaining high-level perspective. Reminder that there is more than money in business (and life).</li>
<li><strong><a href="http://www.amazon.com/Permission-Marketing-Turning-Strangers-Customers/dp/0684856360/" target="_blank" rel="nofollow">Permission Marketing</a></strong> (Seth Godin) &#8211; If your email marketing is underutilized, this book will give you the basics for successfully building relationships with your customers via email.</li>
<li><strong><a href="http://www.amazon.com/Ikigai-ebook/dp/B006M9T8NI/" target="_blank" rel="nofollow">Ikigai</a></strong> (Sebastian Marshall) &#8211; This book presents sharp unique thinking related to many areas of life. It is not directly related to software business, but to personal achievement, individualism, productivity, negotiation, and similar things. Both enlightening and entertaining read. For Kindle only.</li>
<li><strong><a href="http://www.copyhackers.com/shop/" target="_blank" rel="nofollow">Copy Hackers</a></strong> (Joanna Wiebe) &#8211; If you write text for web, you are a copywriter. In such case, definitely read these 4 short e-books. Highly actionable advice that can improve the bottom line of your business.</li>
<li><strong><a href="http://www.amazon.com/First-Design-Patterns-Elisabeth-Freeman/dp/0596007124/" target="_blank" rel="nofollow">Head First Design Patterns</a></strong> &#8211; If you don&#8217;t know what is a &#8220;design pattern&#8221; in the OOP world, don&#8217;t think twice before buying this book. Don&#8217;t be discouraged by the fact that the samples are in Java, the sample code is easy to understand even if you don&#8217;t know a thing about it.</li>
<li><strong><a href="http://www.alwinhoogerdijk.com/2009/08/09/the-art-of-ignoring-video/" target="_blank" rel="nofollow">The Art Of Ignoring</a></strong> (Alwin Hoogerdijk) &#8211; This is not really book, but a presentation with slides (and an accompanying video), but reading this stuff is simply not optional. And it&#8217;s free!</li>
<li><strong><a href="http://www.amazon.com/Dip-Little-Book-Teaches-Stick/dp/1591841666/" target="_blank" rel="nofollow">The Dip</a></strong> (Seth Godin) &#8211; Not sure if you should abandon one of your products/services, or <strong>not</strong> abandon them? Subtitle: &#8220;A Little Book That Teaches You When to Quit  (and When to Stick)&#8221;.</li>
<li><strong><a href="http://www.amazon.com/Personal-Development-Smart-People-Conscious/dp/1401922767/" target="_blank" rel="nofollow">Personal Development for Smart People</a></strong> (Steve Pavlina) &#8211; This is probably the best book on conscious self growth ever written. The ageless principles described in this book can be actually implemented into your business, which gives this book a whole new perspective.</li>
</ol>
<h3>Books that didn&#8217;t made it into the list</h3>
<p>These books were a bit disappointing to me, but they might be awesome for you.</p>
<ul>
<li><strong><a href="http://www.amazon.com/Micro-ISV-Vision-Reality-Bob-Walsh/dp/1590596013/" target="_blank" rel="nofollow">Micro ISV: From Vision to Reality</a></strong> (Bob Walsh) &#8211; While excellent for beginners, if you are already running a successful business, this book can&#8217;t help you. It&#8217;s too basic, unfortunately. That being said, it could give you some inspiration, as it includes a couple of interviews with mISVs, too.</li>
<li><strong><a href="http://www.amazon.com/Coders-Work-Reflections-Craft-Programming/dp/1430219483/" target="_blank" rel="nofollow">Coders At Work</a></strong> (Peter Siebel) &#8211; Overly technical and sometimes academical, not actionable. However, it gives you inside look into many brilliant minds.</li>
<li><strong><a href="http://www.amazon.com/Art-Start-Time-Tested-Battle-Hardened-Starting/dp/1591840562/" target="_blank" rel="nofollow">The Art Of The Start</a></strong> (Guy Kawasaki) &#8211; Unless you want to pitch venture capitalists, or are from the venture startup/Mac world, this book is probably not for you. Sorry, I am a Windows guy.</li>
<li><strong><a href="http://www.amazon.com/Reality-Check-Outsmarting-Outmanaging-Outmarketing/dp/1591843944/" target="_blank" rel="nofollow">Reality Check</a></strong> (Guy Kawasaki) &#8211; Same as above.</li>
<li><strong><a href="http://www.amazon.com/MICROSOFT-SECRETS-Powerful-Software-Technology/dp/0028740483/" target="_blank" rel="nofollow">Microsoft Secrets</a></strong> (Michael A. Cusumano) &#8211; While interesting to some (it was for me), it is not really relevant to independent software vendors. And the fact it&#8217;s from 1995 doesn&#8217;t help much either.</li>
<li><strong><a href="http://www.amazon.com/Bootstrap-Lessons-Learned-Building-Successful/dp/0971187304/" target="_blank" rel="nofollow">Bootstrap</a></strong> (Kenneth L. Hess) &#8211; If it wasn&#8217;t 11 years old, it would&#8217;ve been awesome. Don&#8217;t get me wrong, it&#8217;s a great story and excellent material for bedtime reading, but you won&#8217;t get much value out of it other than nostalgic feelings.</li>
<li><strong><a href="http://www.amazon.com/Marketing-Gurus-Lessons-Best-Books/dp/1591841054/" target="_blank" rel="nofollow">The Marketing Gurus</a></strong> (Chris Murray) &#8211; Mainly irrelevant to mISVs; outdated.</li>
<li><strong><a href="http://www.amazon.com/Content-Rich-Writing-Your-Wealth/dp/0979762901/" target="_blank" rel="nofollow">Content Rich</a></strong> (Jon Wuebben) &#8211; Get &#8220;Content Rules&#8221; instead. This one is very basic and not written for computer rock stars like we all are ;-)</li>
<ul>
<h3>Other possibly interesting books:</h3>
<ul>
<li><strong><a href="http://47hats.com/2008/02/microisv-sites-that-sell/" target="_blank" rel="nofollow">MicroISV Sites that Sell!</a></strong> (Bob Walsh)</li>
<li><strong><a href="http://www.amazon.com/Startup-Success-Guide-Books-Professionals/dp/1430219858" target="_blank" rel="nofollow">The Web Startup Success Guide</a></strong> (Bob Walsh)</li>
<li><strong><a href="http://47hats.com/books/" target="_blank" rel="nofollow">The Twitter Survival Guide</a></strong> (Bob Walsh)</li>
<li><strong><a href="http://www.amazon.com/Best-Guerrilla-Marketing--Guerrilla-Marketing-Remix/dp/1599184222/" target="_blank" rel="nofollow">The Best of Guerrilla Marketing</a></strong></li>
<li><strong><a href="http://www.amazon.com/Guerilla-Marketing-Internet-Definitive-Father/dp/1599181940/" target="_blank" rel="nofollow">Guerrilla Marketing on the Internet</a></strong></li>
<li><strong><a href="http://www.amazon.com/Guerrilla-Social-Media-Marketing-Influence/dp/1599183838/" target="_blank" rel="nofollow">Guerrilla Social Media Marketing</a></strong></li>
<li><strong><a href="http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/" target="_blank" rel="nofollow">Design Patterns: Elements of Reusable Object-Oriented Software</a></strong></li>
<li><strong><a href="http://www.amazon.com/Start-Small-Stay-Developers-Launching/dp/0615373968/" target="_blank" rel="nofollow">Start Small, Stay Small</strong></a> (Rob Walling and Mike Taber)</li>
<li><strong><a href="http://www.amazon.com/Program-Product-Turning-Saleable-Experts/dp/1590599713/" target="_blank" rel="nofollow">From Program to Product</a></strong> (Rocky Smolin)</li>
<li><strong><a href="http://www.amazon.com/Software-That-Sells-Practical-Developing/dp/0764597833/" target="_blank" rel="nofollow">Software That Sells</a></strong> (Edward Hasted)</li>
<li><strong><a href="http://www.amazon.com/This-Little-Program-Went-Market/dp/0615345832/" target="_blank" rel="nofollow">This Little Program Went to Market</a></strong></li>
<li><strong><a href="http://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959/" target="_blank" rel="nofollow">The Mythical Man Month</a></strong> (Frederick P. Brooks) &#8211; Another classic.</li>
<li><strong><a href="http://www.amazon.com/Slack-Getting-Burnout-Busywork-Efficiency/dp/0767907698/" target="_blank" rel="nofollow">Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency</a></strong> (Tom DeMarco)</li>
<li><strong><a href="http://www.amazon.com/Death-March-2nd-Edward-Yourdon/dp/013143635X/" target="_blank" rel="nofollow">Death March</a></strong> (Edward Yourdon)</li>
<li><strong><a href="http://www.amazon.com/Secrets-Consulting-Giving-Getting-Successfully/dp/0932633013/" target="_blank" rel="nofollow">The Secrets of Consulting</a></strong> (Gerald M. Weinberg)</li>
<li><strong><a href="http://www.amazon.com/User-Interface-Design-Programmers-Spolsky/dp/1893115941/" target="_blank" rel="nofollow">User Interface Design for Programmers</a></strong> (Joel Spolsky)</li>
<li><strong><a href="http://neildavidson.com/download/dont-just-roll-the-dice/" target="_blank" rel="nofollow">Don’t Just Roll The Dice</a></strong> (Neil Davidscon) &#8211; &#8220;a usefully short guide to software pricing&#8221;. Available as free ebook, or as paperback on Amazon.</li>
<li><strong><a href="http://www.amazon.com/Showstopper-Breakneck-Windows-Generation-Microsoft/dp/0759285780/" target="_blank" rel="nofollow">Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft</a></strong> (Pascal G. Zachary) &#8211; A tip by <a href="https://brainbrowser.cbrain.mcgill.ca" target="_blank">Nicolas Kassis</a>, who says: &#8220;I can&#8217;t recommend the book enough. I&#8217;ve read it a few times already.&#8221;</li>
<li><strong><a href="http://www.amazon.com/PayPal-Wars-Battles-Media-Planet/dp/0977898431/" target="_blank" rel="nofollow">The PayPal Wars</a></strong> (Eric M. Jackson) &#8211; A tip by <a href="http://www.akashkgarg.com/" target="_blank">Akash Garg</a>. Subtitle of the book is &#8220;Battles with eBay, the Media, the Mafia, and the Rest of Planet Earth&#8221;.</li>
<li><strong><a href="http://www.amazon.com/s/ref=nb_ss_gw?url=search-alias%3Daps&#038;field-keywords=The+Art+of+Computer+Programming" target="_blank" rel="nofollow">The Art of Computer Programming</a></strong> (Donald E. Knuth) &#8211; True classic.</li>
<li><strong><a href="http://www.amazon.com/Innovators-Solution-Creating-Sustaining-Successful/dp/1578518520/" target="_blank" rel="nofollow">The Innovator&#8217;s Solution</a></strong> (Clayton M. Christensen) &#8211; &#8220;Creating and Sustaining Successful Growth&#8221;.</li>
</ul>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href="http://www.dextronet.com/micro-isv-insights/uninstall-surveys/" title="Uninstall Surveys">Uninstall Surveys</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/the-new-isvcon/" title="The new ISVCon">The new ISVCon</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/collecting-charity-donations-on-your-order-page/" title="Collecting charity donations on your order page">Collecting charity donations on your order page</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/" title="Managing Virtual Machines Efficiently in VirtualBox">Managing Virtual Machines Efficiently in VirtualBox</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/appillionaires/" title="Appillionaires">Appillionaires</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/" title="Are you a Zen Coder or Distraction-Junkie?">Are you a Zen Coder or Distraction-Junkie?</a></li>
</ul>
<script type="text/javascript"> jQuery(document).ready(function($) { window.setTimeout('loadGoogle1_490()',1000);window.setTimeout('loadTwitter_490()',1000);window.setTimeout('loadLinkedin_490()',1000);window.setTimeout('loadDzone_490()',1000);window.setTimeout('loadDelicious_490()',1000); }); </script><script type="text/javascript"> function loadGoogle1_490(){ jQuery(document).ready(function($) { $('.dd-google1-490').remove();$.getScript('https://apis.google.com/js/plusone.js'); }); } function loadTwitter_490(){ jQuery(document).ready(function($) { $('.dd-twitter-490').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); } function loadLinkedin_490(){ jQuery(document).ready(function($) { $('.dd-linkedin-490').remove();$.getScript('http://platform.linkedin.com/in.js'); }); } function loadDzone_490(){ jQuery(document).ready(function($) { $('.dd-dzone-490').remove();$('.DD_DZONE_AJAX_490').attr('width','50');$('.DD_DZONE_AJAX_490').attr('height','70');$('.DD_DZONE_AJAX_490').attr('src','http://widgets.dzone.com/links/widgets/zoneit.html?url=https%3A%2F%2Fwww.dextronet.com%2Fmicro-isv-insights%2F30-books-everyone-in-software-business-should-read-and-why%2F&title=30%20books%20everyone%20in%20software%20business%20should%20read%20%28and%20why%29&t=1'); }); } function loadDelicious_490(){ jQuery(document).ready(function($) { $('.dd-delicious-490').remove();$.getJSON('http://feeds.delicious.com/v2/json/urlinfo/data?url=https://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/&amp;callback=?',function(data) {var msg ='';var count = 0;if (data.length > 0) {count = data[0].total_posts;if(count ==0){msg = '0';}else if(count ==1){msg = '1';}else{msg = count}}else{msg = '0';}$('#DD_DELICIOUS_AJAX_490').text(msg);}); }); }</script><!-- Social Buttons Generated by Digg Digg plugin v4.5.3.4, 
    Author : Yong Mook Kim
    Website : http://www.diggdigg2u.com --><p><a href="https://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/">30 books everyone in software business should read (and why)</a> is a post from: <a href="https://www.dextronet.com/micro-isv-insights">Micro-ISV Insights Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Interview with Embarcadero about FireMonkey, mISV business and Delphi</title>
		<link>https://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/</link>
		<comments>https://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 13:48:08 +0000</pubDate>
		<dc:creator>Jiri Novotny</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[delphi]]></category>
		<category><![CDATA[delphi prism]]></category>
		<category><![CDATA[embarcadero]]></category>
		<category><![CDATA[firemonkey]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[misv business]]></category>
		<category><![CDATA[multi-platform]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rad]]></category>

		<guid isPermaLink="false">http://www.dextronet.com/micro-isv-insights/?p=441</guid>
		<description><![CDATA[This is my recent interview with Embarcadero. While we don&#8217;t use Delphi, their technologies are probably the most interesting alternative to Microsoft .NET technologies, and Delphi Prism can be used even inside Visual Studio. Their hot new multi-platform FireMonkey technology is very interesting as well. I&#8217;ll be asking some questions related especially to mISV business, [...]<p><a href="https://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/">Interview with Embarcadero about FireMonkey, mISV business and Delphi</a> is a post from: <a href="https://www.dextronet.com/micro-isv-insights">Micro-ISV Insights Blog</a></p>
]]></description>
				<content:encoded><![CDATA[<div class='dd_post_share'><div class='dd_buttons'><div class='dd_button'><div class='dd-google1-ajax-load dd-google1-441'></div><g:plusone size='tall' href='https://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/'></g:plusone></div><div class='dd_button'><div class='dd-twitter-ajax-load dd-twitter-441'></div><a href="http://twitter.com/share" class="twitter-share-button" data-url="https://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/" data-count="vertical" data-text="Interview with Embarcadero about FireMonkey, mISV business and Delphi" data-via="" ></a></div><div class='dd_button'><script src="http://connect.facebook.net//all.js#xfbml=1"></script><fb:like href="https%3A%2F%2Fwww.dextronet.com%2Fmicro-isv-insights%2Finterview-with-embacardo-about-delphi-firemonkey-and-misv-business%2F"    layout="box_count" width="50"  ></fb:like></div><div class='dd_button'><div class='dd-linkedin-ajax-load dd-linkedin-441'></div><script type='in/share' data-url='https://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/' data-counter='top'></script></div><div class='dd_button'><div class='dd-dzone-ajax-load dd-dzone-441'></div><iframe class='DD_DZONE_AJAX_441' src='' height='0' width='0' scrolling='no' frameborder='0'></iframe></div><div class='dd_button'><div class='dd_delicious_normal_image dd_delicious'><a href='http://delicious.com/save' onclick="window.open('http://delicious.com/save?v=5&amp;noui&amp;jump=close&amp;url='+encodeURIComponent('https://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/')+'&amp;title='+encodeURIComponent('Interview with Embarcadero about FireMonkey, mISV business and Delphi'),'delicious', 'toolbar=no,width=550,height=550'); return false;"><span id='DD_DELICIOUS_AJAX_441'></span></a></div></div></div><div style='clear:both'></div></div><div style='clear:both'></div><p>This is my recent interview with Embarcadero. While we don&#8217;t use Delphi, their technologies are probably the most interesting alternative to Microsoft .NET technologies, and Delphi Prism can be used even inside Visual Studio. Their hot new multi-platform FireMonkey technology is very interesting as well. </p>
<p>I&#8217;ll be asking some questions related especially to mISV business, too.</p>
<p><strong>Could you please quickly introduce yourself?</strong></p>
<p>I’m Andreano Lanusse, Technical Lead Evangelist for Embarcadero’s Developer Relations organization. I spend a great deal of my time with developers, both onsite and at conferences and user groups, to ensure the company’s tools meet the expectations of customers. Prior to Embarcadero, I worked at Borland for thirteen years in numerous roles, including support coordinator, engineer and product manager. I also worked as a principal consultant for Borland Consulting Services on the development and management of critical applications. I hold a bachelor degree in business administration from Sumare Institute (Brazil) and an MBA in project management from FGV (Brazil). I’m also certified in Product Management from UC Berkeley, have Borland and Microsoft Certifications, and I am a Scrum Master.</p>
<p><strong>Your new FireMonkey technology allows developers to create multi-platform apps. Do these applications look exactly the same on Windows, Mac and iOS?<br />
</strong></p>
<p>It is the choice of the developer and what they are aiming for. FireMonkey is designed to be a rich platform and applications can look fully native on each platform.  Or applications can take advantage of FireMonkey’s capabilities to deliver fully custom experiences and the same custom appearance on all platforms. </p>
<p>The exception is platform specific characteristics such as menus, common dialogs, etc – for example Mac menus are part of the desktop whereas Windows menus are part of the app, and iOS does not have menus – in these cases FireMonkey always yields to what’s correct for the particular platform. </p>
<p>FireMonkey applications use the GPU to render user interfaces using FireMonkey’s scalable vector powered “style engine” and FireMonkey’s 3D forms. These capabilities allow developers to build “rich” applications with GPU powered effects, transitions, animation, and image processing.</p>
<p><strong>Is it usually necessary to write any platform-specific code when developing FireMonkey-based applications?</strong></p>
<p>It’s usually unnecessary to write platform specific code, but you may need to if there is a platform specific API or library that you wish to use that is not available or is different on other platforms.</p>
<p><strong>The difference between FireMonkey and native Delphi is probably larger than between .NET WinForms and WPF. Would you agree?</strong></p>
<p>Yes, I would say so. Certainly FireMonkey’s multiplatform support is a significant distinction compared to VCL. But, FireMonkey is “native” Delphi. FireMonkey, like VCL, is not a JIT or dynamic language platform. FireMonkey is not aiming to be an entertainment or media platform – it is designed to bring “rich” content and user experiences to business and industry application solutions. But where VCL is a Windows only, FireMonkey is designed to run Windows, Mac, and Mobile devices.</p>
<p><strong>Delphi Prism is a plugin for Visual Studio, which allows you to use Delphi syntax in the .NET environment. What cool things can you do with Delphi Prism that are difficult to do with VB.net/C#?</strong></p>
<p>Like Visual Studio&#8217;s VB.NET and C#, Prism supports all Microsoft .NET Technologies and Windows platforms, but Prism also supports Mono and MonoTouch platforms on Linux, Mac, and Mobile devices. Our partner RemObjects will soon be offering a Prism language compatible compiler that outputs Java byte code. The Prism language has advanced language capabilities not available in VB.net or C# such as deep integration of parallelism into the language, full language integration of nullable types and Aspect Oriented Extensions via Cirrus support.</p>
<p><strong>What are the coolest things that one can do with Delphi XE that are not easy to do with C# or VB.net? I&#8217;m specifically asking about Delphi XE here, because if I get this right, Delphi Prism can do *everything* that C# and VB.net does (and more).</strong></p>
<p>Build applications for all versions of Windows, which support keyboard, touch, gestures, styles, mouse, etc., based on visual development.</p>
<p><strong>Do you believe native applications will become fashionable again, and that mobile applications will drastically slow? Why or why not?<br />
</strong></p>
<p>Native applications have never been out of fashion. Look at Microsoft Windows, Office and games – they are native. Or, look at the iPhone apps – they are also all native and running in mobile devices. The Mac is growing, but lacks the applications necessary to support the users. Windows is a winner in this area, since there are already millions of applications available. The mobile application market is only in its early stages and there is still so much to explore in this area. Five years ago, we couldn’t imagine what we are doing with phones today and, next year, new devices will come out doing things we could not imagine. New devices, social networks and consumer behavior will drive the future of mobile apps.</p>
<p><strong>Do you think that it is still usually unnecessary to think about mobile apps, companion web-apps or multi-platform applications, when running a mISV business with a native desktop app being the main product?</strong></p>
<p>No. Today, end-users make decisions from anywhere, and access to the data is key part of their decisions. If a mISV doesn’t provide an interface, they are quite simply out of the game. Interfaces could be a mobile app, web interface or multi-platform app. The important thing is to allow the end-user to access the data.</p>
<p>In RAD Studio XE2, you can use DataSnap to write and expose business logics through Server Methods, enabling iOS, BlackBerry, PHP, Delphi, C++, .NET and JavaScript applications to call and interact with the server methods. Using this architecture, you don’t write the business logics for each client, you just write the client UI and interact with the business logics on the DataSnap Servers.</p>
<p><strong>Could you name some of the biggest challenges presented by interface guidelines, and how developers can overcome them?<br />
</strong></p>
<p>I don’t see specific challenges related to interface guidelines, the challenge today is to support so many different devices: PC, iPhone, Android, HP WebOS, Web, etc. Users do not exclusively sit in front of desktops anymore; they use all kinds of devices to communicate. The need to support multiple devices became a challenge for developers, since it forced them to use different IDEs and languages. Today with FireMonkey, we allow developers to create business application for Windows, Mac and IOS very easily, and in RAD Studio XE2, they are able to create web-applications optimized for iOS and Android.</p>
<p><strong>Do you think that violating the interface guidelines can sometimes be a good thing? Could you give us an example?<br />
</strong></p>
<p>Yes, in order to improve the user experience, sometimes it is necessary to violate the interface guidelines. As example, a Windows request to support 800&#215;600 as minimum resolution. You can organize and provide more information in a 1024&#215;768, improving the user experience. In fact, the majority of developers today use 1280&#215;800 and higher.</p>
<p><strong>And the last question &#8211; what do you have to offer to mISVs and hobbyist programmers?<br />
</strong></p>
<p>We provide the fastest IDE in the market – the Delphi language, which is easy to learn and use. We also provide the C++Builder IDE for C++ development. Both IDEs are based on the component development, drag and drop, easy to deploy, maintain and run.</p>
<p>We offer the Delphi and C++Builder Starter Edition for mISVs and hobbyists. This version includes a streamlined IDE with a code editor, ultra-fast Delphi compiler, and integrated debugger. It also offers two-way visual designers to speed development, hundreds of visual components, and InterBase Express for connectivity with the InterBase database.</p>
<p>Getting started on realizing a product vision or getting a startup off the ground can be difficult without seed capital or sales revenue. Outfitting developers with professional level tools can be cost prohibitive before they have product to sell. So the Starter Editions have an “indy“ license, which allows developers to build software for themselves, non-profit organizations, friends and so on. If their revenue level reaches a certain point, they can upgrade to a specially priced Professional Edition license. </p>
<p><em>About Andreano Lanusse</em><br />
Andreano Lanusse is a software development expert who is enthusiastic about the industry. At Embarcadero, he is focused on helping to make sure the products being developed meet the expectations of Embarcadero&#8217;s customers, as well as defining market strategies for Latin America. You can find his blog at: <a href="http://blogs.embarcadero.com/andreanolanusse" target="_blank">http://blogs.embarcadero.com/andreanolanusse</a></p>
<h3 class='related_post_title'>Related Posts:</h3>
<ul class='related_post'>
<li><a href="http://www.dextronet.com/micro-isv-insights/managing-virtual-machines-efficiently-in-virtualbox/" title="Managing Virtual Machines Efficiently in VirtualBox">Managing Virtual Machines Efficiently in VirtualBox</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/are-you-a-zen-coder-or-distraction-junkie/" title="Are you a Zen Coder or Distraction-Junkie?">Are you a Zen Coder or Distraction-Junkie?</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/30-books-everyone-in-software-business-should-read-and-why/" title="30 books everyone in software business should read (and why)">30 books everyone in software business should read (and why)</a></li>
<li><a href="http://www.dextronet.com/micro-isv-insights/collecting-charity-donations-on-your-order-page/" title="Collecting charity donations on your order page">Collecting charity donations on your order page</a></li>
</ul>
<script type="text/javascript"> jQuery(document).ready(function($) { window.setTimeout('loadGoogle1_441()',1000);window.setTimeout('loadTwitter_441()',1000);window.setTimeout('loadLinkedin_441()',1000);window.setTimeout('loadDzone_441()',1000);window.setTimeout('loadDelicious_441()',1000); }); </script><script type="text/javascript"> function loadGoogle1_441(){ jQuery(document).ready(function($) { $('.dd-google1-441').remove();$.getScript('https://apis.google.com/js/plusone.js'); }); } function loadTwitter_441(){ jQuery(document).ready(function($) { $('.dd-twitter-441').remove();$.getScript('http://platform.twitter.com/widgets.js'); }); } function loadLinkedin_441(){ jQuery(document).ready(function($) { $('.dd-linkedin-441').remove();$.getScript('http://platform.linkedin.com/in.js'); }); } function loadDzone_441(){ jQuery(document).ready(function($) { $('.dd-dzone-441').remove();$('.DD_DZONE_AJAX_441').attr('width','50');$('.DD_DZONE_AJAX_441').attr('height','70');$('.DD_DZONE_AJAX_441').attr('src','http://widgets.dzone.com/links/widgets/zoneit.html?url=https%3A%2F%2Fwww.dextronet.com%2Fmicro-isv-insights%2Finterview-with-embacardo-about-delphi-firemonkey-and-misv-business%2F&title=Interview%20with%20Embarcadero%20about%20FireMonkey%2C%20mISV%20business%20and%20Delphi&t=1'); }); } function loadDelicious_441(){ jQuery(document).ready(function($) { $('.dd-delicious-441').remove();$.getJSON('http://feeds.delicious.com/v2/json/urlinfo/data?url=https://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/&amp;callback=?',function(data) {var msg ='';var count = 0;if (data.length > 0) {count = data[0].total_posts;if(count ==0){msg = '0';}else if(count ==1){msg = '1';}else{msg = count}}else{msg = '0';}$('#DD_DELICIOUS_AJAX_441').text(msg);}); }); }</script><!-- Social Buttons Generated by Digg Digg plugin v4.5.3.4, 
    Author : Yong Mook Kim
    Website : http://www.diggdigg2u.com --><p><a href="https://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/">Interview with Embarcadero about FireMonkey, mISV business and Delphi</a> is a post from: <a href="https://www.dextronet.com/micro-isv-insights">Micro-ISV Insights Blog</a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.dextronet.com/micro-isv-insights/interview-with-embacardo-about-delphi-firemonkey-and-misv-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
