<?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>Spacebug Open Source Initiative</title>
	<atom:link href="http://spacebug.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://spacebug.com</link>
	<description>Keeping Software Simple, Open and Pragmatic.</description>
	<lastBuildDate>Mon, 26 Sep 2011 20:07:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The World First Ever HTML5 Advertisement</title>
		<link>http://spacebug.com/the-world-first-html5-dvertisement/</link>
		<comments>http://spacebug.com/the-world-first-html5-dvertisement/#comments</comments>
		<pubDate>Mon, 26 Sep 2011 20:04:56 +0000</pubDate>
		<dc:creator>Amir Shevat</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://spacebug.com/?p=676</guid>
		<description><![CDATA[We all love new technology, its event better when it is open and standard. But getting your feet wet and actually using the new technology? and in production? and where there is money involved? that is totally a different matter&#8230; Last week I started advertising a big developer event we are holding in November &#8211; [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>We all love new technology, its event better when it is open and standard. But getting your feet wet and actually using the new technology? and in production? and where there is money involved? that is totally a different matter&#8230;</p>
<p>Last week I started advertising a<a href="http://www.google.com/events/developerday/2011/tel-aviv/"> big developer event</a> we are holding in November &#8211; a countdown clock that counts the seconds till Google Developer Day . We considered a Flash ad like we are all used to, but our marketing team though it would be cool to have<a href="http://html5demos.com/"> HTML5</a> ad&#8230;</p>
<p>I am a little a shamed to say that at first I objected, saying that HTML5 is still not fully supported by all browsers. After much deliberation we decided it was worth the extra budget to serve HTML5 for browsers that support it and Flash Ad to deprecated browsers. The reports from the publisher is that this HTML5 ad beats all Flash ads CTR. This is something worth investigating &#8211; is HTML5 ads perform better than Flash ads?</p>
<p>So get ready &#8211; Here is the first world HTML5 ad (click to enlarge) -<br />
<a href="http://spacebug.com/wp-content/uploads/2011/09/Capture.jpg"><img class="alignnone size-medium wp-image-677" title="Capture" src="http://spacebug.com/wp-content/uploads/2011/09/Capture-300x203.jpg" alt="" width="300" height="203" /></a></p>
<p>For the next few days you would be able to view it (with Firefox and Chrome) <a href="http://www.newsgeek.co.il/">here</a>.</p>
<div class="shr-publisher-676"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fspacebug.com%2Fthe-world-first-html5-dvertisement%2F' data-shr_title='The+World+First+Ever+HTML5+Advertisement'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fspacebug.com%2Fthe-world-first-html5-dvertisement%2F' data-shr_title='The+World+First+Ever+HTML5+Advertisement'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fspacebug.com%2Fthe-world-first-html5-dvertisement%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://spacebug.com/the-world-first-html5-dvertisement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gracefully Detect Old Browsers and Fallback from HTML5</title>
		<link>http://spacebug.com/gracefully-detect-old-browsers-and-fallback-from-html5/</link>
		<comments>http://spacebug.com/gracefully-detect-old-browsers-and-fallback-from-html5/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 22:04:41 +0000</pubDate>
		<dc:creator>Amir Shevat</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://spacebug.com/?p=665</guid>
		<description><![CDATA[HTML5 rocks! It even says so in this (highly recommended) great web tutorial, but there are still a lot of browsers out there, that still do not support HTML5, or some of it&#8217;s features. First, What is HTML5? Wikipedia defines HTM5 &#8211; HTML5 is a language for structuring and presenting content for the World Wide [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>HTML5 rocks! It even says so in <a href="http://www.html5rocks.com/en/" target="_blank">this </a>(highly recommended) great web tutorial, but there are still a lot of browsers out there, that still do not support HTML5, or some of it&#8217;s features.</p>
<h3><img class="alignright" title="HTML5" src="http://www.w3.org/html/logo/downloads/HTML5_Badge_256.png" alt="" width="256" height="256" /></h3>
<h3>First, What is HTML5?</h3>
<p>Wikipedia defines HTM5 &#8211; <em><strong>HTML5</strong> is a language for structuring and presenting content for the <a title="World Wide Web" href="http://en.wikipedia.org/wiki/World_Wide_Web">World Wide Web</a>, a core technology of the <a title="Internet" href="http://en.wikipedia.org/wiki/Internet">Internet</a>. It is the fifth revision of the <a title="HTML" href="http://en.wikipedia.org/wiki/HTML">HTML</a> standard (created in 1990 and standardized as HTML4 as of 1997<sup id="cite_ref-HTML5-20110405_0-0"><a href="http://en.wikipedia.org/wiki/HTML5#cite_note-HTML5-20110405-0">[1]</a></sup>) and as of September 2011 is still under development. Its core aims have been to improve the language with support for the latest multimedia while keeping it easily readable by humans and consistently understood by computers and devices (<a title="Web browser" href="http://en.wikipedia.org/wiki/Web_browser">web browsers</a>, <a title="Parser" href="http://en.wikipedia.org/wiki/Parser">parsers</a>, etc.). HTML5 is intended to subsume not only <a title="HTML4" href="http://en.wikipedia.org/wiki/HTML4">HTML4</a>, but <a title="XHTML" href="http://en.wikipedia.org/wiki/XHTML">XHTML</a>1 and <a title="Document Object Model" href="http://en.wikipedia.org/wiki/Document_Object_Model">DOM2HTML</a> (particularly <a title="JavaScript" href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a>) as well.</em></p>
<h3>How do I find out which features are supported in each browser?</h3>
<p>HTML5Rocks keeps track for each features support in each browser another cool site to check would be <a href="http://caniuse.com" target="_blank">caniuse.</a></p>
<p>Now, the really issue is what do you do at run-time? how do you gracefully fallback when there is no support for the great feature you have implemented using HTML5.</p>
<h3>There are two way to detect and fallback from HTML5, the right way, and the wrong way</h3>
<p>So here they are:</p>
<p><strong>WRONG WAY</strong> &#8211; On the server-side, check the User Agent header and serve different pages based on the user agent header&#8230; Not recommended &#8211; first, there a lot of  <a href="http://www.useragentstring.com/pages/useragentstring.php" target="_blank">User Agents</a>, second, this is a very buggy approach because headers change and are not deterministic (FF can easily send IE headers).</p>
<p><strong>RIGHT WAY</strong> &#8211; Use JavaScript to detect when there is no support for a HTML5 feature (AKA object detection) here is an example:</p>
<pre><code> function start(){ if(supports_canvas()){ // Do funky HTML5 canvas fun }else{ // fallback to boring old HTML } } function supports_canvas() { return !!document.createElement('canvas_bogus_name').getContext; } </code></pre>
<p>&nbsp;</p>
<p>Have fun and <a href="http://www.w3.org/html/logo/#badge-builder">support HTML5:</a></p>
<div class="shr-publisher-665"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fspacebug.com%2Fgracefully-detect-old-browsers-and-fallback-from-html5%2F' data-shr_title='Gracefully+Detect+Old+Browsers+and+Fallback+from+HTML5'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fspacebug.com%2Fgracefully-detect-old-browsers-and-fallback-from-html5%2F' data-shr_title='Gracefully+Detect+Old+Browsers+and+Fallback+from+HTML5'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fspacebug.com%2Fgracefully-detect-old-browsers-and-fallback-from-html5%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://spacebug.com/gracefully-detect-old-browsers-and-fallback-from-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finally I Have a Budget to Support Open Source</title>
		<link>http://spacebug.com/finally-i-have-budget-to-support-open-source/</link>
		<comments>http://spacebug.com/finally-i-have-budget-to-support-open-source/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 20:36:59 +0000</pubDate>
		<dc:creator>Amir Shevat</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[Open source]]></category>

		<guid isPermaLink="false">http://spacebug.com/?p=651</guid>
		<description><![CDATA[I have been an Open Source enthusiast for a very long time. I have written several open source projects, and although I have yet to find a perfect open source revenue model, I still contribute and enjoy the ride. I think that open source, even if still not fully main stream, constantly improves our lives, [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://spacebug.com/wp-content/uploads/2011/08/IMG_0497.jpg"><img class="size-medium wp-image-654 alignright" style="border: 0pt none; margin: 20px;" title="IMG_0497" src="http://spacebug.com/wp-content/uploads/2011/08/IMG_0497-300x200.jpg" alt="" width="300" height="200" /></a></p>
<p>I have been an Open Source enthusiast for a very long time. I have written several open source projects, and although I have <a href="http://spacebug.com/ad-supported-open-source-siteblogs-poor-revenue-model/">yet to find a perfect open source revenue model</a>, I still contribute and enjoy the ride.</p>
<p>I think that open source, even if still not fully main stream, constantly improves our lives, even for those of us who are not a tech-geek like me.</p>
<p>Now things are <a href="http://spacebug.com/leaving-microsoft-and-joining-google/">radically different</a>, it is now part of my job to support and ensure the success of open source in my region. Now I finally have some budget to do what I love and believe in.</p>
<p>Last week was my first (and very humble) contribution in <a href="http://en.wikipedia.org/wiki/August_Penguin">August penguin</a>, a local open source event. The organizers did not want us to officially sponsor the event but agreed that I bring food <img src='http://spacebug.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<a href="http://spacebug.com/wp-content/uploads/2011/08/IMG_04941.jpg"><img class="size-medium wp-image-653 alignright" style="border: 0pt none; margin-left: 20px; margin-right: 20px;" title="IMG_0494" src="http://spacebug.com/wp-content/uploads/2011/08/IMG_04941-300x200.jpg" alt="" width="300" height="200" /></a><br />
So here it starts, my first monetary contribution to  an open source initiatives. I hope and plan to support multiple events and projects in order to drive a more open future.</p>
<div class="shr-publisher-651"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fspacebug.com%2Ffinally-i-have-budget-to-support-open-source%2F' data-shr_title='Finally+I+Have+a+Budget+to+Support+Open+Source'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fspacebug.com%2Ffinally-i-have-budget-to-support-open-source%2F' data-shr_title='Finally+I+Have+a+Budget+to+Support+Open+Source'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fspacebug.com%2Ffinally-i-have-budget-to-support-open-source%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://spacebug.com/finally-i-have-budget-to-support-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Voice Recognition API in Android Apps Using RecognizerIntent</title>
		<link>http://spacebug.com/voice-recognition-api-in-android-apps-using-recognizerintent/</link>
		<comments>http://spacebug.com/voice-recognition-api-in-android-apps-using-recognizerintent/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 19:59:15 +0000</pubDate>
		<dc:creator>Amir Shevat</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Software development]]></category>

		<guid isPermaLink="false">http://spacebug.com/?p=634</guid>
		<description><![CDATA[Voice interface is not a common application user interface, we do not usually interact with application&#160;using&#160;voice. But when it comes to mobile it makes more&#160;sense. We are used to talk to a phone all day &#8211; why not talk to our phone apps? Not all voice interaction should look like this video: Here is how [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Voice interface is not a common application user interface, we do not usually interact with application&nbsp;using&nbsp;voice. But when it comes to mobile it makes more&nbsp;sense.<br />
We are used to talk to a phone all day &#8211; why not talk to our phone apps?<br />
Not all voice interaction should look like this video:<br />
<iframe width="425" height="349" src="http://www.youtube.com/embed/l9kKn3mlfV4" frameborder="0" allowfullscreen=""></iframe><br />
<br />
Here is how you use Android Voice Recognition API:</p>
<ol>
<li>Call the RecognizerIntent &nbsp;- your application call the Voice recognition Intent that records the voice.</li>
<li>Intent processes the voice recording &#8211; sends it to the voice Recognition Service and returns</li>
<li>A list of string is passed to an implemented callback method in you&nbsp;application</li>
<li>You process the string and continue the interaction with the user</li>
</ol>
<p>Here is a simple call to the intent:<br />
<code> </code></p>
<pre><code>     /**
     * Fire an intent to start the speech recognition activity.
     */
    private void startVoiceRecognitionActivity() {
        Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
                RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo");
        startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
    }
</code></pre>
<p><code> </code><br />
And here is the callback:<br />
<code> </code></p>
<pre><code>      /**
     * Handle the results from the recognition activity.
     */
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == VOICE_RECOGNITION_REQUEST_CODE &#038;&#038; resultCode == RESULT_OK) {
            // Fill the list view with the strings the recognizer thought it could have heard
            ArrayList matches = data.getStringArrayListExtra(
                    RecognizerIntent.EXTRA_RESULTS);   

          //DO SOMETHING WITH THE MATCHES

        super.onActivityResult(requestCode, resultCode, data);
    }
</code></pre>
<p><code> </code></p>
<p><a href="http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/VoiceRecognition.html">Here is a full code sample</a> &#8211; I played with it today and will very little effort created a Pizza ordering application for my next demo session.</p>
<div class="shr-publisher-634"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fspacebug.com%2Fvoice-recognition-api-in-android-apps-using-recognizerintent%2F' data-shr_title='Voice+Recognition+API+in+Android+Apps+Using+RecognizerIntent'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fspacebug.com%2Fvoice-recognition-api-in-android-apps-using-recognizerintent%2F' data-shr_title='Voice+Recognition+API+in+Android+Apps+Using+RecognizerIntent'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fspacebug.com%2Fvoice-recognition-api-in-android-apps-using-recognizerintent%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://spacebug.com/voice-recognition-api-in-android-apps-using-recognizerintent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Leaving Microsoft and Joining Google</title>
		<link>http://spacebug.com/leaving-microsoft-and-joining-google/</link>
		<comments>http://spacebug.com/leaving-microsoft-and-joining-google/#comments</comments>
		<pubDate>Thu, 05 May 2011 13:44:43 +0000</pubDate>
		<dc:creator>Amir Shevat</dc:creator>
				<category><![CDATA[Best practices]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Open source]]></category>

		<guid isPermaLink="false">http://spacebug.com/?p=619</guid>
		<description><![CDATA[I try to talk about myself as little as possible in this blog, but this is a personal post &#8211; so if you are looking for a tech-post, wait for next week. In the last 5 years I have worked for Microsoft in several positions and done a lot of exciting things &#8211; presenting at [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I try to talk about myself as little as possible in this blog, but this is a personal post &#8211; so if you are looking for a tech-post, wait for next week.</p>
<p>In the last 5 years I have worked for Microsoft in several positions and done a lot of exciting things &#8211; presenting at events, doing business development with Startups, and doing technical sessions for developers and architects all the way to managing the sales of Microsoft Cloud Platform, Azure, in Middle East and Africa.</p>
<p>Lately, I have been approached by Google to do a very exciting role of a Developer Relationship Manager – working with developers, startups and enterprises. Last week, I have decided to accept the offer!</p>
<p>Working for Microsoft has been a great learning experience –big corporate mentality, cross group work, presentation skills, breath of technologies, as well as sales management and processes.<a href="http://spacebug.com/wp-content/uploads/2011/05/image-jekyll.jpg"><img class="alignright size-medium wp-image-620" title="image-jekyll" src="http://spacebug.com/wp-content/uploads/2011/05/image-jekyll-300x265.jpg" alt="" height="265" width="300"></a> Having said that, being an open source guy at heart and working for Microsoft was always challenging – I tried to compensate by collaborating with SUN and the open source community and even presented in their events and invested in joined effort, but in general people around me were not as enthusiastic about openness and free software as I was (what great surprise there!!) so I always felt a little like Dr Jackal and mister Hyde.</p>
<p>In my new role in Google, driving open source projects and FOSS development will be an integral part of my job description. This brings me great childlike joy and excitement, something we tend to forget or loss along the way in the high-tech business.</p>
<div class="shr-publisher-619"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fspacebug.com%2Fleaving-microsoft-and-joining-google%2F' data-shr_title='Leaving+Microsoft+and+Joining+Google'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fspacebug.com%2Fleaving-microsoft-and-joining-google%2F' data-shr_title='Leaving+Microsoft+and+Joining+Google'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fspacebug.com%2Fleaving-microsoft-and-joining-google%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://spacebug.com/leaving-microsoft-and-joining-google/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>On Premise vs. Cloud – Pricing Model</title>
		<link>http://spacebug.com/on-premise-vs-cloud-%e2%80%93-pricing-model/</link>
		<comments>http://spacebug.com/on-premise-vs-cloud-%e2%80%93-pricing-model/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 16:00:55 +0000</pubDate>
		<dc:creator>Amir Shevat</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[SAAS]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://spacebug.com/?p=597</guid>
		<description><![CDATA[Everybody is talking cloud – every startup I meet, every CTO I work with, and all the software vendors are now cloud-oriented. But when it comes to implementation it is a different story all together – most companies realize the value of the cloud (or at least say they do) but very few are ready [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Everybody is talking cloud – every startup I meet, every CTO I work with, and all the software vendors are now cloud-oriented.</p>
<p>But when it comes to implementation it is a different story all together – most companies realize the value of the cloud (or at least say they do) but very few are ready for the paradigm shift – especially when it comes to the pricing model.</p>
<h2>How do we do pricing on premise?</h2>
<p>Before the cloud, architects and IT engineers used to perform an activity called “sizing exercise” or ”sizing estimation”  before buying the actual servers for production. These activities are based on past experience, combined with buffers and optimism:<a href="http://spacebug.com/wp-content/uploads/2011/04/Servers.jpg"><img class="alignright size-medium wp-image-600" title="Servers" src="http://spacebug.com/wp-content/uploads/2011/04/Servers-300x225.jpg" alt="" height="225" width="300"></a><br />
These exercises would go (very generally) like this:</p>
<p><strong>Sizing exercise -</strong><br />
1)	We <strong>think </strong> we are going to have around 10,000 users per day<br />
2)	On the weekends we <strong>hope </strong>are going to spike to 50,000 users per day<br />
3)	The system <strong>should </strong>support at most 100,000 user per day<br />
4)	A user views 3 pages in average<br />
5)	…<br />
6)	…<br />
7)	We estimate that a server would hold 1000 users per day<br />
<strong>Conclusion – we need 10 servers, a nifty Database and 100GB of storage</strong><br />
<em><strong>Production environment cost is $35K</strong></em></p>
<p>The key here is that on premise (in a non-virtualized environment) it is hard and expensive to provision new servers. That is why we need to size properly and put the cost in the IT budget in advance. These costs are Capital expenditures (expenditures creating future benefits)</p>
<p>Cloud advocates would say that these calculations are limited and do not take under account things like backup, IT cost, electricity, and other run-time costs. But in typical Sizing exercise these services are taken or granted.</p>
<h2>How do we do pricing in the cloud?</h2>
<p>In the cloud we do not need to do this initial “sizing exercise”, we start with one or two servers and if we need more we just easily provision more as we see fit. But when it comes to pricing we need to start thinking in terms of usage (I call it “metering exercise”):<a href="http://spacebug.com/wp-content/uploads/2011/04/bill.jpg"><img class="alignright size-full wp-image-598" title="bill" src="http://spacebug.com/wp-content/uploads/2011/04/bill.jpg" alt="" height="251" width="250"></a></p>
<p><strong>Metering exercise &#8211; </strong><br />
1)	How much bandwidth are we going to consume?<br />
2)	How much storage and storage transaction are we using?<br />
3)	How many CPU hours do we need?<br />
4)	Are there periods where we need more/less CPUs<br />
5)	….<br />
6)	….<br />
7)     Our database is going to start with 100MB of data and grow as time pass<br />
<strong>Conclusion –</strong><strong>We <em>estimate </em>that the initially we would be spending $150 per month with a growth rate of 5% per month.</strong></p>
<p>Pricing in the cloud is based on actual usage – meaning you only provision what you need right now and you only pay for what you use. This cost is an operating expenditure (an ongoing cost for running a product)</p>
<h2>The Needed Paradigm Shift</h2>
<p>The problem is that most people are used to “sizing exercise” and Capital expenditures. They want to put something in the budget and forget about it – even if it costs much more. Moreover, some IT pros are not experienced in these “metering exercises” and often get it wrong the first couple of times. I think that making this error is a learning exercise and you often get it right after a few times -“metering exercises” errors often cost much less than “sizing exercise” errors and are more easily corrected.</p>
<p>Some IT organization try to do “sizing exercise” for the cloud – that is a common pitfall these days because you loss the elasticity and “pay for what you use” and in most cases pay much more that you should have- and even if you do this “sizing exercise” you still do not have the predictability that you are used to.</p>
<p>IT managers need to embrace the shift, they need to understand that pricing is changing from “buy” to &#8220;lease&#8221;, and that they should now treat compute costs in the same way they manage their electric bill or cellular cost – because that is the way of the cloud…</p>
<div class="shr-publisher-597"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fspacebug.com%2Fon-premise-vs-cloud-%25e2%2580%2593-pricing-model%2F' data-shr_title='On+Premise+vs.+Cloud+%E2%80%93+Pricing+Model+'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fspacebug.com%2Fon-premise-vs-cloud-%25e2%2580%2593-pricing-model%2F' data-shr_title='On+Premise+vs.+Cloud+%E2%80%93+Pricing+Model+'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fspacebug.com%2Fon-premise-vs-cloud-%25e2%2580%2593-pricing-model%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://spacebug.com/on-premise-vs-cloud-%e2%80%93-pricing-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Make Web Pages Fit and Scale Nicely on Android Web Browser</title>
		<link>http://spacebug.com/how-to-make-web-pages-fit-and-scale-nicely-on-android-web-browser/</link>
		<comments>http://spacebug.com/how-to-make-web-pages-fit-and-scale-nicely-on-android-web-browser/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 15:50:35 +0000</pubDate>
		<dc:creator>Amir Shevat</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Software development]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://spacebug.com/?p=572</guid>
		<description><![CDATA[I just released an Android version of my Cats Idol pet project &#8211; it lets you browse&#160;through photos of cats submitted by other&#160;people, rate the cats, and set the photos as your Android wallpaper. One of the things I wanted to do was to provide users with the ability to upload photos straight from their [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I just released an <a href="http://www.androlib.com/android.application.com-catsidol-xqpBB.aspx">Android version of my Cats Idol pet project</a> &#8211; it lets you browse&nbsp;through photos of cats submitted by other&nbsp;people, rate the cats, and set the photos as your Android wallpaper.</p>
<p>One of the things I wanted to do was to provide users with the ability to upload photos straight from their phone. I decided that a web interface would be the easiest way to go at it. So, my application has a button called &#8220;Add cat&#8221; that launches the Android web browser with a URL of my server-side&nbsp;CakePHP-based upload HTML form.<a href="http://spacebug.com/wp-content/uploads/2011/03/zoom_out.jpg"><img class="size-medium wp-image-573 alignright" style="margin-left: 50px; margin-right: 50px;" title="zoom_out" src="http://spacebug.com/wp-content/uploads/2011/03/zoom_out-202x300.jpg" alt="" width="202" height="300"></a></p>
<h3> The Problem</h3>
<p>Then I ran in to a problem -&nbsp; The HTML upload page was &#8220;zoomed out&#8221; on android, seemed like the&nbsp;browser did not scale the HTML properly and you needed a lot of zooming in&nbsp;order to work with it.</p>
<p>I&nbsp;thought this was a problem with my android code but found that it was actually a server-side issue.</p>
<p>After some digging, I found a solution to this issue.</p>
<h3> The Solution</h3>
<p>Adding these two Meta Tags in the head Tag of the HTML page solved this issue:</p>
<p><strong></p>
<pre><code><strong>&lt;meta name="HandheldFriendly" content="true" /&gt;
&lt;meta name="viewport"
          content="width=device-width,
                 height=device-height, user-scalable=no" /&gt;</strong>

</code></pre>
<p></strong></p>
<p><a href="http://spacebug.com/wp-content/uploads/2011/03/screenshot2.jpg"><img class="alignright size-medium wp-image-579" style="margin-left: 50px; margin-right: 50px;" title="screenshot2" src="http://spacebug.com/wp-content/uploads/2011/03/screenshot2-200x300.jpg" alt="" width="200" height="300"></a><br />
In CakePHP I added these Meta Tags to the mobile.ctp layout so it will affect all pages using the mobile layout.</p>
<p>Using&nbsp;these Meta tags fixed the way Android showed the HTML web page &#8211; The page looks zoomed-in and fits the screen very nicely:</p>
<div class="shr-publisher-572"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fspacebug.com%2Fhow-to-make-web-pages-fit-and-scale-nicely-on-android-web-browser%2F' data-shr_title='How+to+Make+Web+Pages+Fit+and+Scale+Nicely+on+Android+Web+Browser'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fspacebug.com%2Fhow-to-make-web-pages-fit-and-scale-nicely-on-android-web-browser%2F' data-shr_title='How+to+Make+Web+Pages+Fit+and+Scale+Nicely+on+Android+Web+Browser'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fspacebug.com%2Fhow-to-make-web-pages-fit-and-scale-nicely-on-android-web-browser%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://spacebug.com/how-to-make-web-pages-fit-and-scale-nicely-on-android-web-browser/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Integrating CakePHP with Facebook Graph API</title>
		<link>http://spacebug.com/integrating-cakephp-with-facebook-graph-api/</link>
		<comments>http://spacebug.com/integrating-cakephp-with-facebook-graph-api/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 15:17:26 +0000</pubDate>
		<dc:creator>Amir Shevat</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://spacebug.com/?p=557</guid>
		<description><![CDATA[I just move my site (Cats Idol) from Drupal to CakePHP. It has definitely been a good move &#8211; in two weeks, working at night, I have gain a lot of control and flexibility I needed and did not have in Drupal. CakePHP is an easy to use and agile development framework that provide an [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>I just move my site (<a href="http://catsidol.com">Cats Idol</a>) from Drupal to <a href="http://cakephp.org/" target="_blank">CakePHP</a>. It has definitely been a good move &#8211; in two weeks, working at night, I have gain a lot of control and flexibility I needed and did not have in Drupal.</p>
<p>CakePHP is an easy to use and agile development framework that provide an MVC,  a great ORM, and other useful tools for rapid application development.</p>
<p>But more on that in a different post..</p>
<p>Another major feature I needed was integration with Facebook:</p>
<ol>
<li>I wanted to use Facebook Auth and provisioning rather than t write it myself</li>
<li>I wanted users to be able to comment and Like content on the site</li>
<li>I wanted to publish content on users wall when they add content to Cats Idol<img style="float: right;" src="http://cakephp.org/img/cake-logo.png" alt="CakePHP : the rapid development php framework" /></li>
</ol>
<p>I found a very useful plugin, developed by Nick Baker, which provides this functionality and more.</p>
<p>So check the plugin <a href="http://www.webtechnick.com/wtn/blogs/view/238/Facebook_Plugin_v2_0_Graph_System">here</a>.</p>
<p>And you can see a demonstration of it in action <a href="http://catsidol.com">here</a>.</p>
<p>And CakePHP app integrated into Facebook <a href="http://apps.facebook.com/cats_idol/">here</a>.</p>
<p>Thanks Nick, Great Job!</p>
<div class="shr-publisher-557"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fspacebug.com%2Fintegrating-cakephp-with-facebook-graph-api%2F' data-shr_title='Integrating+CakePHP+with+Facebook+Graph+API'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fspacebug.com%2Fintegrating-cakephp-with-facebook-graph-api%2F' data-shr_title='Integrating+CakePHP+with+Facebook+Graph+API'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fspacebug.com%2Fintegrating-cakephp-with-facebook-graph-api%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://spacebug.com/integrating-cakephp-with-facebook-graph-api/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Type of Cloud-Based Offering</title>
		<link>http://spacebug.com/type-of-cloud-based-offering/</link>
		<comments>http://spacebug.com/type-of-cloud-based-offering/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 13:52:33 +0000</pubDate>
		<dc:creator>Amir Shevat</dc:creator>
				<category><![CDATA[SAAS]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://spacebug.com/?p=541</guid>
		<description><![CDATA[The market is now buzzing with Clouds, it seems that everywhere you go in the hi-tech industry you see cloud application, cloud conferences and cloud offerings. I was Asked by some friends &#8211; What you get out of this&#160; &#8220;cloud&#8221;? In a high level, there are three types of cloud-based offering: Software as a service [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>The market is now buzzing with Clouds, it seems that everywhere you go in the hi-tech industry you see cloud application, cloud conferences and cloud offerings.</p>
<p>I was Asked by some friends &#8211; What you get out of this&nbsp; &#8220;cloud&#8221;?</p>
<p>In a high level, there are three types of cloud-based offering:</p>
<h3><u>Software as a service (SaaS)</u></h3>
<p>Sometimes referred to as &#8220;software on demand,&#8221; is software that is <a title="Software deployment" href="http://en.wikipedia.org/wiki/Software_deployment">deployed</a> over the internet and/or is deployed to run behind a firewall on a local area network or personal computer. With SaaS, a <a title="Provider" href="http://en.wikipedia.org/wiki/Provider">provider</a> licenses an application to customers as a <a title="Web service" href="http://en.wikipedia.org/wiki/Web_service">service</a> on demand, through a subscription or a &#8220;pay-as-you-go&#8221; model.<a href="http://en.wikipedia.org/wiki/Cloud_computing#cite_note-50"></a><img class="size-medium wp-image-544 alignright" title="cc" src="http://spacebug.com/wp-content/uploads/2010/08/cc-300x208.jpg" alt="" width="263" height="182"></p>
<p><i>Example of SAAS</i> &#8211; <a href="http://www.google.com/apps/intl/iw/business/index.html">Google </a><a href="http://www.google.com/apps/intl/iw/business/index.html">apps</a>, <a href="http://www.microsoft.com/online/help/en-us/helphowto/99d9ede5-ce15-476c-9a3f-d42a481d287e.htm">Microsoft BPOS</a></p>
<h3><u>Platform as a service (PaaS)</u></h3>
<p>The delivery of a <a title="Computing platform" href="http://en.wikipedia.org/wiki/Computing_platform">computing platform</a> and <a title="Solution stack" href="http://en.wikipedia.org/wiki/Solution_stack">solution stack</a> as a service. PaaS offerings facilitate deployment of applications without the cost and complexity of buying and managing the underlying hardware and software and provisioning hosting capabilities, providing all of the facilities required to support the complete life cycle of building and delivering <a title="Web application" href="http://en.wikipedia.org/wiki/Web_application">web applications</a> and <a title="Web service" href="http://en.wikipedia.org/wiki/Web_service">services</a> entirely available from the Internet.</p>
<p><i>Example of PAAS</i> &#8211; <a href="http://www.microsoft.com/windowsazure/windowsazure/">Windows Azure</a></p>
<h3><u>Infrastructure as a Service (IaaS)</u></h3>
<p>Delivers <a title="Computer" href="http://en.wikipedia.org/wiki/Computer">computer</a> <a title="Infrastructure" href="http://en.wikipedia.org/wiki/Infrastructure">infrastructure</a>, typically a <a title="Platform virtualization" href="http://en.wikipedia.org/wiki/Platform_virtualization">platform virtualization</a> environment as a service. Rather than purchasing servers, software, data center space or network equipment, clients instead buy those resources as a fully outsourced service. The service is typically billed on a <a title="Utility computing" href="http://en.wikipedia.org/wiki/Utility_computing">utility computing</a> basis and amount of resources consumed (and therefore the cost) will typically reflect the level of activity. It is an evolution of <a title="Virtual private server" href="http://en.wikipedia.org/wiki/Virtual_private_server">virtual private server</a> offerings.</p>
<p><i>Example of IAAS</i> &#8211; <a href="http://aws.amazon.com/ec2/">Amazon EC2</a></p>
<p>Some of these offering could be implemented without cloud technologies. You could, for example, have a software-as-a-service hosted on a single computer in your garage, but in general these offerings are moving more and more to cloud-based infrastructure.</p>
<div class="shr-publisher-541"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fspacebug.com%2Ftype-of-cloud-based-offering%2F' data-shr_title='Type+of+Cloud-Based+Offering'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fspacebug.com%2Ftype-of-cloud-based-offering%2F' data-shr_title='Type+of+Cloud-Based+Offering'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fspacebug.com%2Ftype-of-cloud-based-offering%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://spacebug.com/type-of-cloud-based-offering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ad Supported Open Source Site/Blogs – Poor Revenue Model</title>
		<link>http://spacebug.com/ad-supported-open-source-siteblogs-poor-revenue-model/</link>
		<comments>http://spacebug.com/ad-supported-open-source-siteblogs-poor-revenue-model/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 14:15:29 +0000</pubDate>
		<dc:creator>Amir Shevat</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[Opinion]]></category>

		<guid isPermaLink="false">http://spacebug.com/?p=530</guid>
		<description><![CDATA[If you are reading these lines, chances are you will not click on any of my ads. In one of my previous articles, I have explored several revenue models for open source projects. I have promised to update on ad-supported revenue model as a way to make money from open source. In this article I [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>If you are reading these lines, chances are you will not click on any of my ads.</p>
<p>In one of my <a title="how to make money from open source" href="http://spacebug.com/how_to_make_money_from_open_source-html/" target="_blank">previous articles</a>, I have explored several revenue models for open source projects. I have promised to update on ad-supported revenue model as a way to make money from open source. In this article I report back on the relatively poor revenues you get out of this channel.</p>
<p>I have confirmed this fact with many open source bloggers and they all provide the same feedback &#8211; Software developers in general and open source developers even more so, are not interested in clicking on advertisement.</p>
<p>Spacebug, for example, is a dev-blog and has some open source projects hosted in it. <a href="http://spacebug.com">Spacebug.com</a> has moderate popularity &#8211; it gets about 60k unique visits a year. The revenues I see from it is about 100-200$ a year. It covers the expenses but is nothing to write home about.</p>
<p>These are some possible reasons why visitors to dev-blogs do not click ads:</p>
<ul>
<li>Developers are not here to shop – they are not interested in anything other than free content provided in the site.</li>
<li>Developers are so accustomed to ad-supported websites the advertisement are transparent to them.</li>
<li>Developers use ad-blockers and do not get the ads served in the first place</li>
<li>Advertises and ad networks fail to deliver interesting content that fits the developer needs</li>
</ul>
<p>I base these reasons on my behavior as a developer who visit dev-sites and from feedbacks from other open source bloggers</p>
<div class="shr-publisher-530"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Fspacebug.com%2Fad-supported-open-source-siteblogs-poor-revenue-model%2F' data-shr_title='Ad+Supported+Open+Source+Site%2FBlogs+%E2%80%93+Poor+Revenue+Model'></a><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Fspacebug.com%2Fad-supported-open-source-siteblogs-poor-revenue-model%2F' data-shr_title='Ad+Supported+Open+Source+Site%2FBlogs+%E2%80%93+Poor+Revenue+Model'></a><a class='shareaholic-fbsend' data-shr_href='http%3A%2F%2Fspacebug.com%2Fad-supported-open-source-siteblogs-poor-revenue-model%2F'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://spacebug.com/ad-supported-open-source-siteblogs-poor-revenue-model/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

