<?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>Mr Blog</title>
	<atom:link href="http://mrblog.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://mrblog.org</link>
	<description>Mr Blog.  Very technical, or silly, sometimes absurd.</description>
	<lastBuildDate>Mon, 01 Mar 2010 23:28:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Skype grossly over hyped, even with the Verizon deal</title>
		<link>http://mrblog.org/2010/03/01/skype-grossly-over-hyped-even-with-the-verizon-deal/</link>
		<comments>http://mrblog.org/2010/03/01/skype-grossly-over-hyped-even-with-the-verizon-deal/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 23:28:11 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[business models]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[skype]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=1091</guid>
		<description><![CDATA[Ok, short and sweet here.
The recent hype about Skype, and in particular surrounding the Verizon deal has been blown WAY out of proportion, IMHO. It&#8217;s time to set perspective here.
First, Skype was supposed to have killed off traditional telecom by now. Last I checked, that hasn&#8217;t happen (still a trillion dollar business).  In fact, Skype [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, short and sweet here.</p>
<p>The recent hype about Skype, and in particular surrounding the Verizon deal has been blown WAY out of proportion, IMHO. It&#8217;s time to set perspective here.</p>
<p>First, Skype was supposed to have killed off traditional telecom by now. Last I checked, that hasn&#8217;t happen (still a trillion dollar business).  In fact, Skype actually PAYS traditional telecoms a significant amount per month, thus helping them stay in business.</p>
<p>Second, Skype was supposed to revolutionize everything. Ok, they&#8217;ve done some cool stuff, especially if you like video.  And they introduced the world to HD Voice.  On the other hand, if you look at where Skype gets revenue, oh gee, it&#8217;s from <strong>traditional telecoms services</strong> &#8211; like phone calls, and phone numbers, and voicemail!  Where is the new and revolutionary business model? At the end of the day, Skype is not all that different that other Chat applications with Voice and video.</p>
<p>Third, lets not forget that Skype still is a black eye for E-bay and (now candidate for Governor of California) Meg Whitman. Meg paid (at least) $3 billion US in 2005, then wrote off $900 million. And of course now E-bay sold 65% of Skype to a PE group at a valuation of roughly $3 billion. That&#8217;s zero percent growth in valuation over 5 years. Not quite the wonderful story it&#8217;s perceived to be.  What&#8217;s more, not only did it not appreciate in value, but Skype added no strategic benefit for Ebay either &#8211; it was simply a distraction- a bad deal all around.</p>
<p>So before we go rewriting history, and (once again) claiming how Skype will tear down the telecoms world, maybe a little grounding in fact is in order.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2010/03/01/skype-grossly-over-hyped-even-with-the-verizon-deal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java culture rant</title>
		<link>http://mrblog.org/2010/02/04/java-culture-rant/</link>
		<comments>http://mrblog.org/2010/02/04/java-culture-rant/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 20:42:50 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[software development]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=1081</guid>
		<description><![CDATA[As some of you may know, over the last year or so I&#8217;ve been spending more time with larger and larger Java-based server-side projects (including Quick Bit Notes, Twitmart, Litetext, and iSpykee).  In this process, I&#8217;ve had to &#8220;catch up&#8221; to the Java state-of-the-art and get reacquainted with the Java culture.
Much of this has [...]]]></description>
			<content:encoded><![CDATA[<p>As some of you may know, over the last year or so I&#8217;ve been spending more time with larger and larger Java-based server-side projects (including <a href="http://mrblog.org/2009/10/12/introducing-quick-bit-notes/">Quick Bit Notes</a>, <a href="http://twitmart.org/">Twitmart</a>, <a href="http://mrblog.org/2009/10/26/litetext-for-rendering-text-into-a-bitmap-on-google-app-engine-java/">Litetext</a>, and <a href="http://mrblog.org/2009/03/15/ispykee-open-source-spykee-for-iphone/">iSpykee</a>).  In this process, I&#8217;ve had to &#8220;catch up&#8221; to the Java state-of-the-art and get reacquainted with the Java culture.</p>
<p>Much of this has come with the great patience of my friend <a href="http://radioae6rt.wordpress.com/">Mark Petrovic</a> who has helped me immensely in this endeavor. It has been an overall very positive experience, to the point that Java is now my first choice starting point for server-side and web-app projects.</p>
<p><strong>So here&#8217;s the rant:</strong></p>
<p><em>What is it with Java tool developers that they like to &#8220;improve&#8221; their APIs in non-backwards compatible ways on a semi-regular basis?</em></p>
<p>Perhaps I&#8217;ve just been &#8220;lucky&#8221; but I&#8217;ve experienced this with many of the key packages I&#8217;m using, such as Jetty, Twitter4J, and Lucene.  It&#8217;s almost like it&#8217;s part of the culture to break things, just to shake things up.  Maybe it&#8217;s a &#8220;purity&#8221; thing and they always think their API needs to be cleaner and the only way to get there is to break it (again).</p>
<p>One of the biggest hassles that come with this culture is that it makes it really hard to come up to speed on a tool because you have to also study the full history of it, scattered across countless message boards, blogs, and websites (oh my!).  When you run across examples showing use of the package, they often only work with the specific version of the package/tool from some point in the past. Of course these examples seldom state which version they were written for nor are they updated to bring them current to the latest version. Coming out of the blue, being new to one of these packages, it&#8217;s really hard to tell when the package diverged and in what way the rules changed.</p>
<p>It seems like every Java tool developer thinks their users are, or should be, spending every waking minute on <em>their</em> specific development-talk forum.</p>
<p>Is it just me? Am I really the only one who struggles with this?</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2010/02/04/java-culture-rant/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Followup to Nexus One and my &#8220;right stuff&#8221; comment</title>
		<link>http://mrblog.org/2010/01/15/followup-to-nexus-one-and-my-right-stuff-comment/</link>
		<comments>http://mrblog.org/2010/01/15/followup-to-nexus-one-and-my-right-stuff-comment/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 20:06:19 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[nexus]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=1071</guid>
		<description><![CDATA[The NY Times has an article about Google&#8217;s (lack of) tech. support for the Nexus one phone entitled Hey Google, Anybody Home? The NYT reiterates some of points I&#8217;ve made here before, including in my prior post about Nexus One.


Google’s celebrated algorithms may power the Web’s most popular search engine, but they have not yet [...]]]></description>
			<content:encoded><![CDATA[<div><img class="alignleft size-full wp-image-1075" title="ringy-dingy" src="http://mrblog.org/wp-content/uploads/2010/01/ringy-dingy.gif" alt="ringy-dingy" width="207" height="153" />The <em>NY Times</em> has an article about Google&#8217;s (lack of) tech. support for the Nexus one phone entitled <a href="http://www.nytimes.com/2010/01/13/technology/companies/13google.html?sudsredirect=true" target="_blank">Hey Google, Anybody Home?</a> The <em>NYT</em> reiterates some of points I&#8217;ve made here before, including in <a href="http://mrblog.org/2010/01/06/nexus-one-another-500-unlocked-smartphone-ho-hum/">my prior post about Nexus One</a>.
</div>
<p><br style="clear: both" /></p>
<blockquote><p>Google’s celebrated algorithms may power the Web’s most popular search engine, but they have not yet been programmed to answer a call when a customer has a problem. &#8230;</p>
<p>Some analysts said that Google appeared to have misjudged the service demands that come with being in the business of selling sophisticated gadgets.</p></blockquote>
<p>Time will tell whether Google&#8217;s historic<strong> &#8220;we don&#8217;t provide support, we&#8217;re Google, we don&#8217;t have to&#8221;</strong> attitude is going to carry over from search to U.S. cell phone users.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2010/01/15/followup-to-nexus-one-and-my-right-stuff-comment/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Nexus One &#8211; Another $500 unlocked smartphone &#8211; Ho Hum</title>
		<link>http://mrblog.org/2010/01/06/nexus-one-another-500-unlocked-smartphone-ho-hum/</link>
		<comments>http://mrblog.org/2010/01/06/nexus-one-another-500-unlocked-smartphone-ho-hum/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 19:23:13 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=1065</guid>
		<description><![CDATA[Google finally officially launched their own, much anticipated, mobile phone.
Okay, so it&#8217;s Google, so it will make a bit of a splash, but for now at least, it is a mostly inconsequential moment.
When the news was finally broken that the event was about the Nexus One, nobody in the audience applauded&#8211;it seems even the journos [...]]]></description>
			<content:encoded><![CDATA[<p>Google finally officially <a href="http://www.fastcompany.com/blog/kit-eaton/technomix/did-google-mess-nexus-one-event" target="_blank">launched</a> their own, much anticipated, mobile phone.</p>
<p>Okay, so it&#8217;s Google, so it will make a bit of a splash, but for now at least, it is a mostly inconsequential moment.</p>
<blockquote><p>When the news was finally broken that the event was about the Nexus One, nobody in the audience applauded&#8211;it seems even the journos in the crowd weren&#8217;t enthused.</p></blockquote>
<p>It&#8217;s sort of a hybrid of the iPhone strategy and Nokia strategy. The phone can be purchased bundled with a plan from T-mobile for $179 with two-year contract (the iPhone way) or it can be purchased &#8220;unlocked&#8221; for $529 (the Nokia way).  We&#8217;ve seen all this before &#8211; the only difference is this time it has Google&#8217;s name on it.</p>
<p>In the future, Google says you&#8217;ll also be able to buy the phone with a Verizon plan (Spring 2010).</p>
<p>This is the difference between Apple and Google. When Apple releases a new product, it may not have all the features yet, but the features it has are really slick and polished &#8211; it is fully baked and ready for prime time on day one. With Google, everything is half-baked. At some point Google might finish the product, but in many cases they never do, and the product hangs around in limbo &#8220;beta&#8221; mode forever (take Google Talk for example, or even the Android &#8220;Marketplace&#8221; store). They just don&#8217;t seem serious about most of their products.</p>
<p>I think Google sees mobile telephony as strategic and so they probably want to move Nexus One forward &#8211; question is,<em> can they? </em>- Do they have the <a href="http://stopdesign.com/archive/2009/03/20/goodbye-google.html" target="_blank">right stuff </a>to do it? GOOG has made it pretty clear that their enemies are <strong>telecomm carriers</strong> and <strong>Apple</strong> &#8211; I guess they&#8217;ve gotten bored with Microsoft.</p>
<p>For now, Nexus One is a &#8220;wait and see&#8221; for me. Google is going to have to show me a little more, show me that they&#8217;re serious this time.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2010/01/06/nexus-one-another-500-unlocked-smartphone-ho-hum/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Why I Can&#8217;t Break Up With Cable/Sat TV (yet) but it&#8217;s still doomed</title>
		<link>http://mrblog.org/2010/01/03/why-i-cant-break-up-with-cablesat-tv-yet-but-its-still-doomed/</link>
		<comments>http://mrblog.org/2010/01/03/why-i-cant-break-up-with-cablesat-tv-yet-but-its-still-doomed/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 05:53:31 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[tv]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=1052</guid>
		<description><![CDATA[There are a lot of monthly bills I really don&#8217;t like paying, where I know I&#8217;m not really getting my money&#8217;s worth. My iPhone bill is in that category ($30/mo for data alone!) But today, I&#8217;m going to talk about the Cable bill and, in my case, the DirecTV Satellite TV bill &#8211; yes, I [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-1059" title="kids_health_tv" src="http://mrblog.org/wp-content/uploads/2010/01/kids_health_tv-257x300.jpg" alt="kids_health_tv" width="257" height="300" />There are a lot of monthly bills I really don&#8217;t like paying, where I know I&#8217;m not really getting my money&#8217;s worth. My iPhone bill is in that category ($30/mo for data alone!) But today, I&#8217;m going to talk about the Cable bill and, in my case, the DirecTV Satellite TV bill &#8211; yes, I have both. I pay about $1,800/yr to DirecTV and I pay another $800/yr to Comcast. $2,600 per year.</p>
<p>Needless to say, I grew up in a TV generation.  My wife is even worse. The whole reason we have BOTH Cable and Satellite TV is because the cable lets us hook up the &#8220;extra&#8221; TVs in spare rooms and such around the house without a cable or satellite box. We use DirecTV in the three &#8220;main&#8221; TV rooms.  We have TVs everywhere &#8211; it is so 1992 around here.</p>
<p>So that makes me odd (I&#8217;m sure you&#8217;re surprised) and not exactly a model use case, where the real reason that I continue to just grin and bear it is laziness and habit. But even without these lame excuses, I&#8217;ve looked at some of the reasons why it&#8217;s harder to quit than I&#8217;d like and I think some of these may apply more generally.</p>
<p><strong>Issue 1: The Social Side of TV</strong></p>
<p>One of the positives of TV, especially TV series, is sharing with friends &#8211;  Laughing together about the latest <em>30 Rock</em> etc. You lose this if you haven&#8217;t seen the program yet because it hasn&#8217;t come out on DVD yet. One of the problems with using the Internet or VOD, or worse, Netflix, to watch TV series shows is that you won&#8217;t see the show until it&#8217;s &#8220;old news&#8221; &#8211; you miss out on that sharing experience while it&#8217;s &#8220;new&#8221; and &#8220;hot&#8221;.</p>
<p>I think this is a much bigger deal and I have not seen it come up much in the &#8220;dump cable&#8221; discussions.</p>
<p><strong>Issue 2: HD</strong></p>
<p><img class="size-medium wp-image-1056 alignright" title="idiocracy-tv-dvd11" src="http://mrblog.org/wp-content/uploads/2010/01/idiocracy-tv-dvd11-300x167.jpg" alt="idiocracy-tv-dvd11" width="300" height="167" />We all have paid for that fancy HD TV &#8211; it would be nice to watch HD content on it. Today, there is barely SD content on the Internet or in streaming video.  And HD uses a lot of bandwidth, so one needs a good pipe and good pipe provider to get HD over the Internet. That&#8217;s even worse if there are people watching different shows on multiple TVs.</p>
<p><strong>Issue 3: User Interface</strong></p>
<p><img class="size-medium wp-image-1057 alignleft" title="Super-Sized TV Remote" src="http://mrblog.org/wp-content/uploads/2010/01/Super-Sized-TV-Remote-300x300.jpg" alt="Super-Sized TV Remote" width="300" height="300" />Internet TV is still too clunky and difficult to use. It&#8217;s getting better, but it&#8217;s not there yet. You can&#8217;t get enough content in one place with one interface (no matter what the marketers tell you). A mouse and a keyboard are still the only practical answer if you want to really get to the best content, and a mouse and a keyboard are simply not the ideal TV watching tools. Nobody has a good TV-simple one-thumb remote interface yet. This will be a big factor in <em>crossing the chasm</em> to mass adoption.</p>
<p><strong>Some Good News</strong></p>
<p>There are some areas where things have really improved in recent years.  One is sports. There is a lot of sports TV available on-line. These guys know where the money is and I think they are really leading things (well, after porn that is).</p>
<p>Another is Live TV News. Here in the San Francisco Bay Area, pretty much all the local channels have live feeds of their main news broadcasts. I suspect this is true in most reasonably sized markets.  And of course, you can also get out-of-area &#8220;local&#8221; news, which is something you can&#8217;t get with Cable TV.</p>
<p>I&#8217;m so locked into the old way that I personally may never fully drop Cable/Sat TV &#8211; but I can see how close this is to bursting wide open. What happens to Comcast, DirecTV and DISH etc. in this scenario?</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2010/01/03/why-i-cant-break-up-with-cablesat-tv-yet-but-its-still-doomed/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Windows can try, but it will never be Mac OS X</title>
		<link>http://mrblog.org/2009/12/08/windows-can-try-but-it-will-never-be-mac-os-x/</link>
		<comments>http://mrblog.org/2009/12/08/windows-can-try-but-it-will-never-be-mac-os-x/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 18:37:50 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=1040</guid>
		<description><![CDATA[Microsoft keeps striving to make their interface  look more and more similar to its rival Mac OS X.

But regardless of how similar the UI becomes, it can never offer what Mac OS X can in one respect: real UNIX underneath.
Even if you clone all the UNIX command-line tools (which is something I was doing [...]]]></description>
			<content:encoded><![CDATA[<p>Microsoft keeps striving to make their interface  look more and more similar to its rival Mac OS X.</p>
<div id="attachment_1042" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1042" title="Leopard OS X Theme for Windows 7" src="http://mrblog.org/wp-content/uploads/2009/12/windows-7-rc-transformed-into-mac-os-x-leopard-300x245.png" alt="windows-7-rc-transformed-into-mac-os-x-leopard" width="300" height="245" /><p class="wp-caption-text">Leopard OS X Theme for Windows 7</p></div>
<p style="text-align: center;">
<p>But regardless of how similar the UI becomes, it can never offer what Mac OS X can in one respect: <strong>real UNIX underneath.</strong></p>
<p>Even if you clone all the UNIX command-line tools (which is something I was doing way <a href="http://www.bdt.com/">back in the 1980&#8217;s</a>), you still don&#8217;t have OS-level compatibility.  For instance, here&#8217;s some UNIX bliss:</p>
<pre style="border: 2px solid #666666; margin: 10px 10px 60px 10px; padding: 20px; background: #e0eeb6 none repeat scroll 0% 0%;">if((sockfd = socket(AF_INET,SOCK_DGRAM,0)) == -1)
 {
     perror("sockfd");
     exit(1);
 }

 if((setsockopt(sockfd,SOL_SOCKET,SO_BROADCAST,
 &amp;broadcast,sizeof broadcast)) == -1)
 {
     perror("setsockopt - SO_SOCKET ");
     exit(1);
 }

 sendaddr.sin_family = AF_INET;
 sendaddr.sin_port = htons(port);
 sendaddr.sin_addr.s_addr = htonl(INADDR_ANY);
 memset(sendaddr.sin_zero,'\0',sizeof sendaddr.sin_zero);

 if(bind(sockfd, (struct sockaddr*) &amp;sendaddr, sizeof sendaddr) == -1)
 {
     perror("bind");
     exit(1);
 }

 recvaddr.sin_family = AF_INET;
 recvaddr.sin_port = htons(port);
 recvaddr.sin_addr.s_addr = inet_addr(DEST_ADDR);
 memset(recvaddr.sin_zero,'\0',sizeof recvaddr.sin_zero);</pre>
<p>Isn&#8217;t it pretty?</p>
<p>Due to compatibility libraries, the above code actually does work on Windows. But the ugliness creeps in with stuff like the following:</p>
<pre style="border: 2px solid #666666; margin: 10px 10px 60px 10px; padding: 20px; background: #e0eeb6 none repeat scroll 0% 0%;">#ifdef WINSOCK
        send(svr_sock, Osvr, strlen((char *)Osvr), 0);
#else
        write(svr_sock, Osvr, strlen((char *)Osvr));
#endif

#ifdef WINSOCK
                closesocket(svr_sock);
#else
                close(svr_sock);
#endif</pre>
<p>Yep, the fact that it&#8217;s not really UNIX underneath creeps in.  Microsoft can only fix that by doing what Apple did in 2001, <a href="http://en.wikipedia.org/wiki/Mac_OS_X_v10.0">starting over with a UNIX-derived core</a>.  This was painful in many ways, but in the end, look at the turnaround of Apple prior to 2001 and since, where Apple&#8217;s brand awareness today has never been higher and market penetration is up ten-fold.</p>
<p>Microsoft is never going to do this. Of course they don&#8217;t have to. They still hold a huge market share &#8211; Steve Ballmer calls Mac&#8217;s growth a <a href="http://www.appleinsider.com/articles/09/07/31/steve_ballmer_calls_apples_mac_growth_a_rounding_error.html">&#8220;rounding error&#8221;</a> &#8211; but when people ask me why I use a Mac, it&#8217;s not really because it&#8217;s more reliable, has fewer viruses, or has a better GUI. You can crash a Mac too, if you want to and I really don&#8217;t care about those GUI arguments. The GUI is exactly &#8220;fine&#8221; &#8211; for my tastes, the overall design seems so much more polished, clean, and nicely integrated than Windows (or Linux GUIs for that matter too) &#8211; but for me, it&#8217;s &#8220;good enough&#8221; and that&#8217;s all that matters (the most important must-have for me is virtual desktops, which Windows still doesn&#8217;t have native yet). The GUI is just one part of the experience of the machine. I use a Mac because of the whole picture. It gives me:</p>
<ol>
<li>The apps I need, store-bought like PhotoShop and tons of freeware apps</li>
<li>Compatibility apps like Word, Excel, and Powerpoint so I can easily work with the <em>rest of the world</em> without hassles or even telling them I&#8217;m on a Mac</li>
<li>Terrific development tools (oh yeah, and the development tools are free with the OS btw, not $300 extra)</li>
<li>and&#8230; <strong>usable UNIX underneath</strong>.  You can argue whether it&#8217;s &#8220;real UNIX&#8221; or not, but it&#8217;s UNIX-enough such that most anything will work, including (again, free) seamless support for X11 apps.</li>
</ol>
<p>On a more minor note, Apple includes a lot more apps &#8211; yeah one can (usually) go find equivalent apps for Windows, download and install them &#8211; but it&#8217;s nice that Apple includes so many common apps with the machine, both GUI apps like iMovie and hundreds of UNIX command-line tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2009/12/08/windows-can-try-but-it-will-never-be-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PhoneGnome participatory marketing challenge</title>
		<link>http://mrblog.org/2009/12/03/phonegnome-participatory-marketing-challenge/</link>
		<comments>http://mrblog.org/2009/12/03/phonegnome-participatory-marketing-challenge/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 21:03:21 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[advertising]]></category>
		<category><![CDATA[business models]]></category>
		<category><![CDATA[phonegnome]]></category>
		<category><![CDATA[sip]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=1035</guid>
		<description><![CDATA[It&#8217;s been over 4 years since PhoneGnome&#8217;s initial release.  It has evolved a great deal over that time and I&#8217;ve learned a lot.
Over on the PhoneGnome blog, we look at where it is, and where to go from here:
http://www.phonegnome.com/blog/2009/12/02/phonegnome-participatory-marketing-challenge/

]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been over 4 years since PhoneGnome&#8217;s initial release.  It has evolved a great deal over that time and I&#8217;ve learned a lot.</p>
<p>Over on the PhoneGnome blog, we look at where it is, and where to go from here:</p>
<p><a title="PhoneGnome participatory marketing challenge" href="http://www.phonegnome.com/blog/2009/12/02/phonegnome-participatory-marketing-challenge/">http://www.phonegnome.com/blog/2009/12/02/phonegnome-participatory-marketing-challenge/</a></p>
<p><a href="http://www.phonegnome.com/blog/2009/12/02/phonegnome-participatory-marketing-challenge/"><img class="alignnone size-medium wp-image-1036" title="PhoneGnome Benefits / Decision Tree" src="http://mrblog.org/wp-content/uploads/2009/12/PGbenefittree-300x225.gif" alt="PhoneGnome Benefits / Decision Tree" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2009/12/03/phonegnome-participatory-marketing-challenge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Droids have their sights on iPhone</title>
		<link>http://mrblog.org/2009/10/28/the-droids-have-their-sights-on-iphone/</link>
		<comments>http://mrblog.org/2009/10/28/the-droids-have-their-sights-on-iphone/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 04:10:30 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=1027</guid>
		<description><![CDATA[In the early days of the iPhone, I can recall conversations with executives and strategists of other mobile device manufacturers (who shall remain nameless). At the time, I remember how these companies almost discounted the iPhone. We can understand why. Here they are, with many years of experience in the industry, large market shares, etc. [...]]]></description>
			<content:encoded><![CDATA[<p>In the early days of the iPhone, I can recall conversations with executives and strategists of other mobile device manufacturers (who shall remain nameless). At the time, I remember how these companies almost discounted the iPhone. We can understand why. Here they are, with many years of experience in the industry, large market shares, etc. And there&#8217;s Apple, a nobody, no experience in the market, never built a phone before etc.</p>
<p><img class="alignright size-full wp-image-1031" title="Bluostriche" src="http://mrblog.org/wp-content/uploads/2009/10/Bluostriche.JPG" alt="Bluostriche" width="110" height="125" />I&#8217;m not sure if these wireless companies were in denial at the time, or whether they really believed Apple and their little toy iPhone was not much of a threat. I got the sense, they really believed it.  And I have to admit, I was guilty of a little underestimation of the iPhone&#8217;s potential at the time myself &#8211; that changed pretty fast for me (see <a href="http://mrblog.org/2008/12/02/nokia-n97-when-will-they-get-that-its-not-just-about-a-touchscreen/">this post</a>, or <a href="http://mrblog.org/2009/04/17/nokia-handset-sales-down-19-percent/">this</a>, or <a href="http://mrblog.org/2007/07/04/dont-kid-yourself-apples-iphone-strategy-is-an-itunes-strategy/">this</a>).</p>
<p>I wonder if now, the tables have turned, and is it now Apple who is underestimating Verizon and Motorola&#8217;s new <a href="http://www.pcworld.com/article/174629/game_on_motorola_droid_vs_apple_iphone.html?loomia_ow=t0:s0:a41:g26:r14:c0.010215:b28585319:z0">Droid</a> that was announced today?</p>
<p>In my experien<img class="alignleft size-thumbnail wp-image-1028" style="margin-left: 8px; margin-right: 8px;" title="DROID-by-Motorola-open" src="http://mrblog.org/wp-content/uploads/2009/10/DROID-by-Motorola-open-150x150.jpg" alt="DROID-by-Motorola-open" width="150" height="150" />ce so far with Android-based phones, they are a lot more like the pre-iPhone &#8220;smartphones&#8221; than they are like iPhone &#8211; I call them DIY phones. They are more clunky to use, less intuitive, and <em>much less</em> consistent between apps.  Apple <a href="http://mrblog.org/2009/07/28/apple-bans-google-voice-on-iphone-whats-next/">rules with an iron fist</a> and that has it&#8217;s <a href="http://mrblog.org/2009/08/10/why-most-iphone-users-are-not-jumping-ship/">problems</a>, but it also means the user experience is more consistent, even when using third-party apps.</p>
<p>However, in the U.S. iPhone has the <a href="http://www.neowin.net/news/main/09/07/22/survey-says-34-wont-buy-the-iphone-3gs-because-of-att">AT&amp;T Albatross</a> around its neck. Verizon has created the perception that their network is better. Certainly, iPhone users know the AT&amp;T data network is bad, bad, bad (and the voice calling ain&#8217;t a whole lot better).</p>
<p>Time will tell how this plays out of course, but my advice to Apple is don&#8217;t be like those companies you leapfrogged just a few short years ago. <strong>Don&#8217;t underestimate your opponent.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2009/10/28/the-droids-have-their-sights-on-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Litetext for rendering text into a bitmap on Google App Engine Java</title>
		<link>http://mrblog.org/2009/10/26/litetext-for-rendering-text-into-a-bitmap-on-google-app-engine-java/</link>
		<comments>http://mrblog.org/2009/10/26/litetext-for-rendering-text-into-a-bitmap-on-google-app-engine-java/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 03:21:08 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=1015</guid>
		<description><![CDATA[While developing Quick Bit Notes, I realized that the Google App Engine &#8220;sandbox&#8221; for Java doesn&#8217;t support AWT or other graphics Java classes, so I put together a simple &#8220;old-school&#8221; text rendering class that&#8217;s compatible with App Engine, called litetext.
This small package (less than 1000 lines of Java code) was developed to provide a small [...]]]></description>
			<content:encoded><![CDATA[<p>While developing <a href="http://appgallery.appspot.com/about_app?app_id=agphcHBnYWxsZXJ5chQLEgxBcHBsaWNhdGlvbnMYxcEXDA" target="_blank">Quick Bit Notes,</a> I realized that the Google App Engine &#8220;sandbox&#8221; for Java doesn&#8217;t support AWT or other graphics Java classes, so I put together a simple &#8220;old-school&#8221; text rendering class that&#8217;s compatible with App Engine, called <a href="http://code.google.com/p/litetext/" target="_blank">litetext</a>.</p>
<blockquote><p>This small package (less than 1000 lines of Java code) was developed to provide a small and simple package for rendering text into an image (bitmap). It was developed for Google App Engine use where AWT and BufferedImage et al do not exist. This small utility can be used to render text on App Engine within the constraints of the JRE Class White List. This is derived from the &#8220;pbmtext&#8221; utility from NETpbm Copyright (C) 1991 by Jef Poskanzer.</p>
<p>These are crude black-and-white bitmap fonts &#8211; no anti-aliasing. A small number of BDF fonts in fixed-sizes are bundled into the package: Courier, Lucida-Bold-Italic, Lucida-Medium, Lucida-Medium-Italic, LucidaBright-DemiBold, LucidaTypewriter, LucidaTypewriter-Bold, and a default serif font.</p></blockquote>
<p>The following code snippet demonstrates use of litetext on App Engine:</p>
<div style="margin: 0 20px 6px 20px 0; padding: 6px 20px 6px 20px; background: #e5ecf9"><code> byte[] bmp_data = fm.doRender(inputText, fontname);<br />
ImagesService imagesService = ImagesServiceFactory.getImagesService();<br />
Image bmpImage = ImagesServiceFactory.makeImage(bmp_data);<br />
Transform flipit = ImagesServiceFactory.makeVerticalFlip();<br />
Image newImage = imagesService.applyTransform(flipit, bmpImage, com.google.appengine.api.images.ImagesService.OutputEncoding.JPEG);<br />
</code></div>
<p>You can grab it via SVN at <a title=" litetext Lite Java package for rendering of text into a bitmap using simple bitmap fonts " href="http://code.google.com/p/litetext/">http://code.google.com/p/litetext/</a></p>
<p>There are docs on the project site for <a href="http://code.google.com/p/litetext/wiki/FontDetails" target="_blank">adding fonts</a> and an <a href="http://code.google.com/p/litetext/wiki/AppEngineServelet" target="_blank">example demo servlet</a> is included. See the <a href="http://quickbitnotes.appspot.com/litetextform.html" target="_blank">Live Demo</a>.</p>
<p>Use this command to check out the latest project source code anonymously over HTTP:</p>
<div style="margin: 0 20px 0 20px 0; padding: 6px 20px 6px 20px; background: #e5ecf9"><code>svn checkout http://litetext.googlecode.com/svn/trunk/ litetext-read-only<br />
</code></div>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2009/10/26/litetext-for-rendering-text-into-a-bitmap-on-google-app-engine-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Twitmart ported OFF of Google App Engine</title>
		<link>http://mrblog.org/2009/10/16/twitmart-ported-off-of-google-app-engine/</link>
		<comments>http://mrblog.org/2009/10/16/twitmart-ported-off-of-google-app-engine/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 16:39:45 +0000</pubDate>
		<dc:creator>MrBlog</dc:creator>
				<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[appengine]]></category>

		<guid isPermaLink="false">http://mrblog.org/?p=1004</guid>
		<description><![CDATA[I discussed a few weeks ago how I had ported the Twitmart.org site to Google App Engine for Java as an experiment.  This was an excellent learning experience.  Unfortunately, the performance on App Engine was simply unacceptable, so now the site is back off of App Engine and running on one of my own servers [...]]]></description>
			<content:encoded><![CDATA[<p>I discussed a few weeks ago how I had <a href="http://mrblog.org/2009/10/01/experimenting-with-google-appengine-for-java/">ported the Twitmart.org site to Google App Engine for Java</a> as an experiment.  This was an excellent learning experience.  Unfortunately, the performance on App Engine was simply unacceptable, so now the site is back off of App Engine and running on one of my own servers again.</p>
<p>You can actually compare the difference side-by-side by comparing the performance on a native Java web server (Jetty) platform vs. the exact same code running on App Engine:</p>
<p style="padding-left: 30px;">Java Jetty &#8211;&gt; <a href="http://twitmart.org" target="_blank">http://twitmart.org</a><br />
Google App Engine &#8211;&gt; <a href="http://" target="_blank">http://twitmart.appsport.com</a></p>
<p>This shows pretty clearly that the performance issues aren&#8217;t Twitter (most of the time) nor are they in my Java webapp implementation. The same code is running on both platforms. Nor is it hardware &#8211; the machine running Twitmart.org is a very modest server that is hosting a large number of other sites.</p>
<p>The showstopper problem for <strong>Twitmart</strong> on App Engine is that Twitmart.org is a Twitter mashup using the the Twitter API. It turns out that Twitter API calls from App Engine fail frequently. I&#8217;m not sure why. It should not be due to throttling as the app uses authentication but on the other hand it could possibly be that Twitter is overwhelmed by API calls from the App Engine platform and therefore throttles the entire Google infrastructure. I think the most likely answer is just that App Engine has problems making API calls (HTTP requests) in general, because I&#8217;ve seen this same problem to other APIs besides Twitter from App Engine, such as the <a href="http://mrblog.org/2009/01/30/google-app-engine-teases-but-ultimately-doesnt-deliver/">issues we had with the Taglets API</a>.</p>
<p>Regardless, it&#8217;s bad for App Engine and Twitter Mashups. It means Google&#8217;s platform is not useful for Twitter mashups or any kind of mashups. That sucks and makes the platform much less useful in general.</p>
<p>Beyond that showstopper issue for Twitmart.org (and all Twitter mashups considering using Google App Engine), is the performance / consistency in general. For no clear reason, about 20% of requests just take a ridiculous amount of time on App Engine, even to do the simplest thing. E.g. a url that simply renders a template, that usually takes sub 100ms, will about 20% of the time, take 3-5 seconds or more. That&#8217;s simply too high of a &#8220;near-fail&#8221; rate for a &#8220;serious&#8221; application.</p>
<p>I hope that Google does address these issues and start to take serving &#8220;important&#8221; applications seriously. The idea of cloud computing in general, and Google&#8217;s &#8220;App Engine&#8221; approach specifically, is really cool. It&#8217;s very attractive to have someone else taking care of the servers, the network, patches, etc. However, there is a certain performance bar the service has to meet too, and unfortunately, Google isn&#8217;t making it yet, even for the price of &#8220;free&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://mrblog.org/2009/10/16/twitmart-ported-off-of-google-app-engine/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
