<?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>cbg</title>
	<atom:link href="http://cbg.me/feed/" rel="self" type="application/rss+xml" />
	<link>http://cbg.me</link>
	<description></description>
	<lastBuildDate>Fri, 19 Feb 2010 03:18:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Multitasking and iPhone OS</title>
		<link>http://cbg.me/2010/02/multitasking-and-iphone-os/</link>
		<comments>http://cbg.me/2010/02/multitasking-and-iphone-os/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 23:14:02 +0000</pubDate>
		<dc:creator>cbg</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[multitasking]]></category>

		<guid isPermaLink="false">http://cbg.me/?p=199</guid>
		<description><![CDATA[

You can&#8217;t believe how many times I&#8217;ve been asked if you can listen to music while browsing the web on the iPad. Or rather, I&#8217;ve been &#8220;told&#8221; that this was the case, with varying levels of certainty.

As anyone who has ever used an iPhone for more than 15 minutes knows very well, this is simply [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/wp-content/uploads/2010/02/iPad-212x300.png" alt="" title="iPad" width="212" height="300" class="alignright" style="border: 0;" /></p>

<p>You can&#8217;t believe how many times I&#8217;ve been asked if you can listen to music while browsing the web on the iPad. Or rather, I&#8217;ve been &#8220;told&#8221; that this was the case, with varying levels of certainty.</p>

<p>As anyone who has ever used an iPhone for more than 15 minutes knows very well, this is simply not true. You <em>can</em> listen to your music while browsing the web. In fact, you can do much more.</p>

<p>Multitasking is the ability of an operating system to run multiple processes (tasks) at the same time<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup>. The last non-multitasking operating system I used was MS-DOS. Of course other single-tasking OSes have been released after DOS<sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup>, but the iPhone OS is, and has always been, a multitasking OS.</p>

<p>What this means is that the iPhone, and therefore the iPad, is capable of running multiple applications simultaneously. In fact, 20 applications are running simultaneously on my non-jailbroken iPhone 3GS right now<sup id="fnref:3"><a href="#fn:3" rel="footnote">3</a></sup>.</p>

<p>So, to answer the question explicitly: yes, you can listen to music while you&#8217;re browsing the web on the iPad. iPod is always running in the background, even if you&#8217;re not listening to music. Mail also always runs in the background, so you&#8217;ll be notified when you have new mail. Finally, thanks to push notifications, you&#8217;ll be able to receive Facebook notifications, MSN messages, etc. while you&#8217;re reading an academic paper, writing an email, or browsing the web.</p>

<h3>Restrictions</h3>

<p>So, what is this &#8220;lack of multitasking&#8221; people can&#8217;t stop talking about? Apple does not allow third-party applications downloaded from the App Store to run in the background. The reason for this is simple: battery life. When an application is running in the background, it uses the CPU, and therefore drains your battery.</p>

<p>Battery life is <em>very</em> important for a mobile device; everyone wants more battery life. But everyone also wants lighter devices. Otherwise, Apple could always build an iPad that has 100 hours of battery life but weighs 5 kilos.</p>

<p>Let&#8217;s consider how we use multiple applications simultaneously on our computers: we either have some applications (email/IM client, music player, etc.) running in the background, or we have a two or more applications running side-by-side on the same screen (a web browser and a word processor, for example).</p>

<h3>Push Notifications</h3>

<p>As I&#8217;ve said before, your email client and music player are already running in the background on the iPhone OS. Technically, you can&#8217;t run IM clients in the background, but thanks to push notifications, you&#8217;ll continue receiving your messages. Apple actively encourages developers of such applications to take full advantage of push notifications, and almost all such applications (Facebook, all important IM clients, some games, etc.) already support them.</p>

<p>I agree that push notifications aren&#8217;t perfect, and that they don&#8217;t work for all applications. For example, a Twitter client could check for new tweets periodically if it could run in the background (and this is what most desktop Twitter clients do), but it&#8217;s infeasible to use push notifications for Twitter<sup id="fnref:4"><a href="#fn:4" rel="footnote">4</a></sup>.</p>

<p>Be that as it may, I argue that responsiveness and battery life are still more important for most users. The iPhone&#8217;s CPU simply isn&#8217;t powerful enough to run more than a couple of third-party apps in the background and still maintain the responsiveness of the frontmost app. If, however, the new <a href="http://en.wikipedia.org/wiki/Apple_A4">A4 chip</a> is powerful enough, Apple could let at least some third-party apps run in the background and leave the decision about battery life to the user.</p>

<p>Now, let&#8217;s focus on the case where you run two or more applications side-by-side on the same screen.</p>

<p>While realizing that this might be an issue for some people, we also have to realize that iPhone OS devices (iPhone and iPad) do not have enough screen real-estate to fit two or more applications and the keyboard on the screen, and still remain usable<sup id="fnref:5"><a href="#fn:5" rel="footnote">5</a></sup>. The iPad&#8217;s screen has a resolution of 1024 by 768 pixels, while the iPhone has less than 20% the number of pixels with a 480 by 320 pixel screen. These resolutions almost halve when the keyboard is displayed.</p>

<p>In lower resolutions like these, you switch between applications instead of running them side-by-side. This is what everyone was used to doing before high-resolution displays became commonplace a few years ago. Most netbook users I know still complain about, among many other things, being unable to fit two windows on the screen.</p>

<h3>Full Persistence</h3>

<p>There&#8217;s still one fundamental difference between iPhone OS devices and general purpose computers, though: you can&#8217;t minimize or hide an application on the iPhone OS. But here comes the best thing since sliced bread: full persistence. Apple uses full persistence in all their iPhone applications, and encourages all iPhone/iPad developers to do the same.</p>

<p>But what does full persistence mean? It means when you quit and relaunch an application, the application will be in whatever state you left it in. If you quit Facebook while you&#8217;re looking at a friend&#8217;s profile picture, Facebook will be showing your friend&#8217;s profile picture the next time you launch it. If you were in the middle of a sentence when you quit Notes (or Pages), you will be at the same place, having lost not a single word, when you relaunch it. This is known as full persistence, and it blurs the line between minimizing or hiding an application and quitting it.</p>

<p>Of course, I have to admit that the current state of full persistence on the iPhone OS isn&#8217;t without its problems. The most important issue is that not all applications support it. The main reason behind this is that it&#8217;s a lot of work to implement full persistence for a reasonably complex application. However, I expect Apple to add OS-level full persistence support in the near future.</p>

<p>Another problem is that there&#8217;s no Command-Tab equivalent; you have to go through the home screen to switch between applications. I also expect Apple to provide an easier method for switching between applications, at least on the iPad.</p>

<h3>Conclusion</h3>

<p>Apple has very valid reasons for restricting multitasking on the iPhone, and I don&#8217;t see them making any changes with regard to multitasking on the iPhone anytime soon, at least with the current iPhone devices. Some of these reasons are less valid on the iPad, and I believe Apple will at least make this restriction much less noticeable in a future software update, possibly 4.0.</p>

<p>Finally, <a href="http://db.tidbits.com/">TidBITS</a> has recently published an article on the same issue entitled <a href="http://db.tidbits.com/article/10989">&#8220;Does the iPhone OS Need Multitasking?,&#8221;</a> which is well worth a read.</p>

<p><em>P.S. First post in 10 months. I&#8217;m back, baby!</em></p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>Or more precisely, create the illusion of doing so, but I shall not go into further detail. If you want to learn more about multitasking, you can read the <a href="http://en.wikipedia.org/wiki/Computer_multitasking">Computer multitasking</a> article on Wikipedia.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:2">
<p>The most notable one being <a href="http://en.wikipedia.org/wiki/Palm_OS">Palm OS</a>.&#160;<a href="#fnref:2" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:3">
<p>Here&#8217;s the list from iStat: kernel_task, launchd, syslogd, lockdownd, mediaserverd, mDNSResponder, IQAgent, fairplayd, configd, accessoryd, SpringBoard, CommCenter, BTServer, notifyd, MobilePhone, SCHelper, MobileMail, apsd, MobileMusicPlayer, iStat.&#160;<a href="#fnref:3" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:4">
<p>Some Twitter clients on the iPhone use push notifications. <a href="http://itunes.apple.com/us/app/echofon-for-twitter/id286756410?mt=8">Echofon</a> (formerly TwitterFon) is one such client, but it only notifies the user of direct messages and @replies made by other Echofon users.&#160;<a href="#fnref:4" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:5">
<p>Note that Apple has a very high bar when it comes to usability.&#160;<a href="#fnref:5" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://cbg.me/2010/02/multitasking-and-iphone-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Product Mis-placement</title>
		<link>http://cbg.me/2009/04/product-mis-placement/</link>
		<comments>http://cbg.me/2009/04/product-mis-placement/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 01:25:57 +0000</pubDate>
		<dc:creator>cbg</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[microsoft]]></category>

		<guid isPermaLink="false">http://cbg.me/?p=188</guid>
		<description><![CDATA[From Wikipedia:


  Product placement, or embedded marketing, is a form of advertisement, where branded goods or services are placed in a context usually devoid of ads, such as movies, the story line of television shows, or news programs.


Now that we know what product placement is, let&#8217;s see what it&#8217;s not.

Product placement is not putting [...]]]></description>
			<content:encoded><![CDATA[<p>From <a href="http://en.wikipedia.org/wiki/Product_placement">Wikipedia</a>:</p>

<blockquote>
  <p><strong>Product placement</strong>, or <strong>embedded marketing</strong>, is a form of advertisement, where branded goods or services are placed in a context usually devoid of ads, such as movies, the story line of television shows, or news programs.</p>
</blockquote>

<p>Now that we know what product placement is, let&#8217;s see what it&#8217;s not.</p>

<p>Product placement is not putting your logo on other companies&#8217; products:</p>

<p><img src="/wp-content/uploads/2009/04/knight_rider_1.jpg" alt="Microsoft product placement in Knight Rider" title="Microsoft product placement in Knight Rider" width="480" height="270" /></p>

<p><img src="/wp-content/uploads/2009/04/knight_rider_2.jpg" alt="Microsoft product placement in Knight Rider" title="Microsoft product placement in Knight Rider" width="480" height="270" /></p>

<p>&#8230;and it&#8217;s definitely not allowing the use of a cheap imitation of your primary competitor&#8217;s product in a show you basically own (more on the iPhone clone on <a href="http://i.gizmodo.com/5137397/knight-rider-clones-the-iphone-poorly">Gizmodo</a>):</p>

<p><img src="/wp-content/uploads/2009/04/knight_rider_4.jpg" alt="Fake iPhone in Knight Rider" title="Fake iPhone in Knight Rider" width="480" height="270" /></p>

<p><img src="/wp-content/uploads/2009/04/knight_rider_3.jpg" alt="Fake iPhone in Knight Rider" title="Fake iPhone in Knight Rider" width="480" height="270" /></p>

<p>Don&#8217;t be mistaken, I&#8217;m not surprised, not even a bit, because apparently Microsoft decided to take some weight off Apple&#8217;s shoulders by <a href="http://www.youtube.com/watch?v=EIS6G-HvnkU">advertising how cool Macs are</a>. You see, when you spend your money and time  on creating insanely great products, not only do you get free product placement from prime-time shows and blockbuster movies<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup>, you also get your competitors to do the advertising for you.</p>

<p>But at least one product placement deal was made before Microsoft decided to consciously ruin its business not only by producing the crappiest software this world&#8217;s ever seen, but by also spending the better part of its advertising budget to help Apple:</p>

<p><img src="http://cbg.me/wp-content/uploads/2009/04/tdess.jpg" alt="Microsoft Surface in The Day the Earth Stood Still" title="Microsoft Surface in The Day the Earth Stood Still" width="480" height="204" /></p>

<p>Note that Windows, Microsoft&#8217;s flagship product, is nowhere to be seen, except for a fraction of a second in <a href="http://www.imdb.com/title/tt0970416/">The Day the Earth Stood Still</a>. The only thing we seem to have is a couple of stickers and a $12k non-consumer product.</p>

<p>Before I finish my words, I would like to use this opportunity to personally thank Mr. Gates and Mr. Ballmer for their mind-blowing stupidity. They really make life much easier for people like me.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>24, CSI:NY, Heroes, House, Las Vegas, The O.C., The Office, Sex and the City, need I say more?&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://cbg.me/2009/04/product-mis-placement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What to Expect from the App Store</title>
		<link>http://cbg.me/2009/04/what-to-expect-from-the-app-store/</link>
		<comments>http://cbg.me/2009/04/what-to-expect-from-the-app-store/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 18:07:17 +0000</pubDate>
		<dc:creator>cbg</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[eksi-sozluk]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://cbg.me/?p=180</guid>
		<description><![CDATA[It&#8217;s been 12 days since ek$i sözlük appeared on the App Store.

It became the top downloaded free application in the Turkish App Store on its 6th day, but it&#8217;s hard to stay on top when a free VoIP application (coughSkypecough) gets released the day after your app becomes #1.



ek$i sözlük is still #5 in the [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been 12 days since <a href="http://cbg.me/eksi-sozluk">ek$i sözlük</a> appeared on the App Store.</p>

<p>It became the top downloaded free application in the Turkish App Store on its 6th day, but it&#8217;s hard to stay on top when a free VoIP application (<em>cough</em>Skype<em>cough</em>) gets released the day after your app becomes #1.</p>

<p><img src="/wp-content/uploads/2009/04/top_free.png" alt="Top Free Apps" title="Top Free Apps" width="259" height="189" /></p>

<p>ek$i sözlük is still #5 in the Turkish App Store, and even this is fantastic. I wrote ek$i sözlük solely for myself, and I never thought this many people would download, use and like it.</p>

<p>In the 12 days since I released 1.0, I already pushed a bugfix release (1.1), and I&#8217;m getting ready to push 1.2 with a new name and icon, as requested by ek$i sözlük&#8217;s lawyer (more on that in a few days).</p>

<p>Anyway, enough advertising.</p>

<p>After the release, I started receiving a lot of questions about the App Store and iPhone development in general, from people who apparently didn&#8217;t know I&#8217;d been developing for the platform for a while, or were simply impressed by ek$i sözlük&#8217;s success.</p>

<p>Today, I&#8217;ll try and answer one of the most frequently asked questions by sharing the sales graphs for the first 11 days. Your mileage <em>will</em> vary, but I assume this will give you a rough idea of what you can expect from a free, niche application:</p>

<p><strong>Sales Per Day</strong></p>

<p><img src="/wp-content/uploads/2009/04/perday.png" alt="Sales per Day" title="Sales per Day" width="600" height="355" /></p>

<p><strong>Cumulative Sales</strong></p>

<p><img src="/wp-content/uploads/2009/04/cumulative.png" alt="Cumulative Sales" title="Cumulative Sales" width="600" height="355" /></p>

<p>As always, feel free to share your thoughts in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://cbg.me/2009/04/what-to-expect-from-the-app-store/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Some Clarifications Regarding the iPhone 3.0 OS &amp; SDK</title>
		<link>http://cbg.me/2009/03/some-clarifications-regarding-the-iphone-30-os-sdk/</link>
		<comments>http://cbg.me/2009/03/some-clarifications-regarding-the-iphone-30-os-sdk/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 09:48:48 +0000</pubDate>
		<dc:creator>cbg</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://cbg.me/?p=167</guid>
		<description><![CDATA[The iPhone 3.0 Beta SDK &#38; OS announcement left many practical questions unanswered, and I will try to answer some of these questions here.

Availability

The iPhone 3.0 Beta SDK &#38; OS are only available to paid, registered iPhone developers. Even if you were to get your hands on a copy by other (illegal) means, you still [...]]]></description>
			<content:encoded><![CDATA[<p>The iPhone 3.0 Beta SDK &amp; OS announcement left many practical questions unanswered, and I will try to answer some of these questions here.</p>

<h3>Availability</h3>

<p>The iPhone 3.0 Beta SDK &amp; OS are only available to paid, registered iPhone developers. Even if you were to get your hands on a copy by other (illegal) means, you still wouldn&#8217;t be able to use the 3.0 OS, because it requires activation through the developer portal.</p>

<p>The 3.0 SDK, on the other hand, can be used by anyone, but I don&#8217;t think there&#8217;s a registered developer stupid enough to risk his agreement with Apple.</p>

<p>Moral of the story: there&#8217;s a reason why it&#8217;s called a <em>beta</em>. Wait till June if you&#8217;re not a developer.</p>

<h3>Downgrading</h3>

<p>Once you upgrade to the 3.0 OS, there&#8217;s no going back to 2.x. There are people who claim to have downgraded their iPhones to 2.x using the DFU mode, but I can&#8217;t confirm this (and it&#8217;s definitely not approved by Apple).</p>

<h3>Dedicated Computer</h3>

<p>John Gruber and others have <a href="http://twitter.com/gruber/status/1349290314">wondered</a> if the 3.0 SDK must be installed on a separate computer if one wants to continue developing applications for 2.x. This is simply not true, as I have tested and confirmed. You can develop applications for 2.x and 3.0 on the same machine.</p>

<p>Installing the 3.0 SDK in a separate location is an option, but definitely not necessary.</p>

<p>If you have any questions regarding the iPhone 3.0 Beta SDK or OS, don&#8217;t hesitate to ask them in the comments and I&#8217;ll try and answer them as best as the NDA allows me.</p>
]]></content:encoded>
			<wfw:commentRss>http://cbg.me/2009/03/some-clarifications-regarding-the-iphone-30-os-sdk/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>The Hiccups</title>
		<link>http://cbg.me/2009/02/the-hiccups/</link>
		<comments>http://cbg.me/2009/02/the-hiccups/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 19:09:37 +0000</pubDate>
		<dc:creator>cbg</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[flickr]]></category>

		<guid isPermaLink="false">http://cbg.me/?p=164</guid>
		<description><![CDATA[In Summer 2006, I purchased a Flickr Pro account. I was in the US at the time, and Flickr seemed like the easiest way to share my photos with my family and friends back in Turkey.

After I returned to Turkey, I didn&#8217;t use Flickr all that much, so I let my Pro account expire, and [...]]]></description>
			<content:encoded><![CDATA[<p>In Summer 2006, I purchased a <a href="http://www.flickr.com/">Flickr</a> Pro account. I was in the US at the time, and Flickr seemed like the easiest way to share my photos with my family and friends back in Turkey.</p>

<p>After I returned to Turkey, I didn&#8217;t use Flickr all that much, so I let my Pro account expire, and I didn&#8217;t renew it until that unfortunate day in late 2007 when both my internal and external HDDs crashed. Fortunately, I had backups of the most important stuff, and the Apple guys were able to recover all my data from the internal HDD. However, I didn&#8217;t have backups of the photos I took in the US, so I turned to Flickr.</p>

<p>As annoyed as I was about the fact that I had to renew my Pro account just to be able to download <em>my</em> photos, those photos were worth more than $25 to me, so I renewed my Pro account. I downloaded all my photos immediately, and made proper backups. As for Flickr, I said &#8220;this is it, I&#8217;m not renewing a second time.&#8221;</p>

<p>And I didn&#8217;t, until today. For some reason, I found myself browsing Flickr and uploading photos in the last few days. It felt nice, and I wanted to upload some more photos. So I went ahead and renewed my Pro account for the second time.</p>

<p>As it turns out, renewing wasn&#8217;t my best decision. Just after uploading a new batch of pictures, I was granted with this message:</p>

<p><a href="/wp-content/uploads/2009/02/hiccups.png"><img src="/wp-content/uploads/2009/02/hiccups-300x139.png" alt="Flickr has the hiccups" title="Flickr has the hiccups" width="300" height="139" /></a></p>

<p>Hiccups? That&#8217;s just great. So I paid $25 for hiccups? And what the heck is &#8220;hiccups?&#8221; Is this some sort of joke? Is it supposed to be funny or cute? Sorry but I can&#8217;t see it.</p>

<p>And it&#8217;s not just a one-time thing, either. The darn message is everywhere. From my photostream to the support pages. Flickr is completely unusable.</p>

<p>Now, I have a few words of advice to anyone who charges for their software/service. The moment you part your clients/customers/users with their hard-earned money, you forfeit your right to &#8220;have the hiccups.&#8221; You might have technical difficulties (<em>not</em> the &#8220;hiccups&#8221;), and I have the right to a full refund. This is called &#8220;defective goods.&#8221; You can&#8217;t just say the payments are non-refundable and walk away with my money.</p>

<p>I will request a full refund from Flickr, and I will send them a link to this post (if I can open the support pages, that is). I will post updates if/when they reply.</p>

<p><strong>UPDATE 1:</strong> Got a reply from Flickr, rejecting a refund. I requested the customer representative consult with a superior.</p>

<p>Another interesting detail was my IP address and browser/plugin details being included in my original message. I pointed out that I didn&#8217;t agree to sending that kind of information.</p>
]]></content:encoded>
			<wfw:commentRss>http://cbg.me/2009/02/the-hiccups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logitech MX Revolution Dissection</title>
		<link>http://cbg.me/2009/02/logitech-mx-revolution-dissection/</link>
		<comments>http://cbg.me/2009/02/logitech-mx-revolution-dissection/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 19:19:25 +0000</pubDate>
		<dc:creator>cbg</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[logitech]]></category>

		<guid isPermaLink="false">http://cbg.me/?p=158</guid>
		<description><![CDATA[NOTE: Do not try this at home kids, you will destroy your mouse.

So, my 2-year old MX Revolution mouse started acting erratic in the past few days, and I decided the time has come to replace it (probably with another MX Revolution or an MX1100).

Like I do with almost all my dead equipment, I opened [...]]]></description>
			<content:encoded><![CDATA[<p><strong>NOTE:</strong> Do not try this at home kids, you <em>will</em> destroy your mouse.</p>

<p>So, my 2-year old <a href="http://www.logitech.com/index.cfm/mice_pointers/mice/devices/130&amp;cl=roeu,en">MX Revolution</a> mouse started acting erratic in the past few days, and I decided the time has come to replace it (probably with another MX Revolution or an <a href="http://www.logitech.com/index.cfm/mice_pointers/mice/devices/4676&amp;cl=roeu,en">MX1100</a>).</p>

<p>Like I do with almost all my dead equipment, I opened it up just for the heck of it.</p>

<p>Here are the pictures:</p>

<p><a href="/wp-content/uploads/2009/02/img_0426.jpg"><img src="/wp-content/uploads/2009/02/img_0426-150x150.jpg" alt="Logitech MX Revolution" width="150" height="150"/></a>
<a href="/wp-content/uploads/2009/02/img_0422.jpg"><img src="/wp-content/uploads/2009/02/img_0422-150x150.jpg" alt="Logitech MX Revolution" width="150" height="150"/></a>
<a href="/wp-content/uploads/2009/02/img_0423.jpg"><img src="/wp-content/uploads/2009/02/img_0423-150x150.jpg" alt="Logitech MX Revolution" width="150" height="150"/></a>
<a href="/wp-content/uploads/2009/02/img_0424.jpg"><img src="/wp-content/uploads/2009/02/img_0424-150x150.jpg" alt="Logitech MX Revolution" width="150" height="150"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://cbg.me/2009/02/logitech-mx-revolution-dissection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding Directional Antenna and Multiple Interface Support to ns-2.33</title>
		<link>http://cbg.me/2009/02/adding-directional-antenna-and-multiple-interface-support-to-ns-233/</link>
		<comments>http://cbg.me/2009/02/adding-directional-antenna-and-multiple-interface-support-to-ns-233/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 16:27:57 +0000</pubDate>
		<dc:creator>cbg</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[ns2]]></category>

		<guid isPermaLink="false">http://cbg.me/?p=155</guid>
		<description><![CDATA[Following this post, I ported the directional antenna and multiple interface support from TeNs to ns-2.33.

You can download my patches, and re-compile ns-2.33 to enable support for directional antennas and multiple interfaces. Don&#8217;t forget to set the NS_ANTENNA_FILE environment variable.

Assuming $NS2 points to the directory where you have the ns-2.33 sources, and that you&#8217;re using [...]]]></description>
			<content:encoded><![CDATA[<p>Following <a href="/2008/09/compiling-ns2/">this post</a>, I ported the directional antenna and multiple interface support from <a href="http://www.cse.iitk.ac.in/users/braman/tens/">TeNs</a> to ns-2.33.</p>

<p>You can download my <a href="/wp-content/uploads/2009/02/ns-2.33-patches.tar.gz">patches</a>, and re-compile ns-2.33 to enable support for directional antennas and multiple interfaces. Don&#8217;t forget to set the <code>NS_ANTENNA_FILE</code> environment variable.</p>

<p>Assuming <code>$NS2</code> points to the directory where you have the ns-2.33 sources, and that you&#8217;re using the <a href="http://sourceforge.net/project/showfiles.php?group_id=149743&amp;package_id=169689&amp;release_id=588643">ns-allinone-2.33</a> release, here&#8217;s what you have to do:</p>

<pre><code>cd $NS2
patch -p1 &lt; dir-antenna.patch
patch -p1 &lt; multi-if.patch
./configure --with-otcl=../otcl-1.13 --with-tclcl=../tclcl-1.19
make
export NS_ANTENNA_FILE=$NS2/mobile/antenna.txt
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://cbg.me/2009/02/adding-directional-antenna-and-multiple-interface-support-to-ns-233/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Google Quietly Tweaks Gmail Buttons</title>
		<link>http://cbg.me/2009/02/google-quietly-tweaks-gmail-buttons/</link>
		<comments>http://cbg.me/2009/02/google-quietly-tweaks-gmail-buttons/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 00:27:09 +0000</pubDate>
		<dc:creator>cbg</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://cbg.me/?p=151</guid>
		<description><![CDATA[I just noticed that Google quietly tweaked the look of the buttons on Gmail. The new look resembles Cocoa&#8217;s segmented controls, and is definitely a welcome change on my part.


]]></description>
			<content:encoded><![CDATA[<p>I just noticed that Google quietly tweaked the look of the buttons on Gmail. The new look resembles Cocoa&#8217;s segmented controls, and is definitely a welcome change on my part.</p>

<p><img src="http://cbg.me/wp-content/uploads/2009/02/gmail.png" alt="Gmail&#039;s New Buttons" title="Gmail&#039;s New Buttons" width="520" height="35" /></p>
]]></content:encoded>
			<wfw:commentRss>http://cbg.me/2009/02/google-quietly-tweaks-gmail-buttons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Four Twitter Clients for the iPhone</title>
		<link>http://cbg.me/2009/02/four-twitter-clients-for-the-iphone/</link>
		<comments>http://cbg.me/2009/02/four-twitter-clients-for-the-iphone/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 23:26:32 +0000</pubDate>
		<dc:creator>cbg</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://cbg.me/?p=87</guid>
		<description><![CDATA[
th { font-weight: bold; }
td, th { padding: 0 2em 0 0; }
td, thead th { text-align: center; }
.tick, .ex { font-size: 1.5em; }
.tick { color: green; }
.ex { color: red; }
tr { height: 25px; }


Twitter and the iPhone are a match made in heaven. My Twitter client is one of the three most used [...]]]></description>
			<content:encoded><![CDATA[<p><style type="text/css">
th { font-weight: bold; }
td, th { padding: 0 2em 0 0; }
td, thead th { text-align: center; }
.tick, .ex { font-size: 1.5em; }
.tick { color: green; }
.ex { color: red; }
tr { height: 25px; }
</style></p>

<p><a href="http://twitter.com/">Twitter</a> and the <a href="http://www.apple.com/iphone/">iPhone</a> are a match made in heaven. My Twitter client is one of the three most used applications on my iPhone (the other two being Phone and Mail), and I actually think I use it more than Phone.</p>

<p>Today, I review four Twitter clients for the iPhone: <a href="http://www.atebits.com/software/tweetie/">Tweetie</a>, <a href="http://tapulous.com/twinkle/">Twinkle</a>, <a href="http://twitterfon.net/">TwitterFon</a> and <a href="http://iconfactory.com/software/twitterrific">Twitterrific</a>.</p>

<h3>Grading Criteria</h3>

<p>I reviewed and graded each client (except Twinkle, but more on that later) according to two sets of criteria. The first set is the set of features commonly found in Twitter clients, such as deleting tweets or following new people.</p>

<p>The other set is my own, personal gripes with most Twitter clients, and all iPhone apps in general. This set includes criteria like being able to determine my location correctly, using the correct date/time format according to my locale, and scrolling speed.</p>

<h3>Tweetie</h3>

<p><img src="/wp-content/uploads/2009/01/tweetie.png" alt="Tweetie" title="Tweetie" width="70" height="70" class="alignleft" style="border: 0;" /></p>

<p>Tweetie is a relatively new contender in the iPhone Twitter client arena, but it has an almost fanatic following (including <a href="http://daringfireball.net/linked/2008/11/20/tweetie-10" title="Daring Fireball Linked List: Tweetie 1.0">John Gruber</a>), making it the second most popular paid social networking app in the App Store (as of this writing).</p>

<p>I had some major gripes with Tweetie 1.1, and most seem to have been resolved with 1.2, but two important issues remain:</p>

<ol>
<li><p style="font-weight: bold;">Tweetie cannot determine my location correctly</p>
<p>Well, actually it can, but for some reason it doesn&#8217;t translate my location to a city name, and just sets my location to &#8220;iPhone: &lt;latitude&gt;, &lt;longitude&gt;.&#8221; As it turns out, and much to my surprise, the only Twitter client capable of determining my location correctly is Twitterrific.</p></li>
<li><p style="font-weight: bold;">Tweetie doesn&#8217;t use the correct date/time format. (See <a href="#update_1">update</a>)</p>
<p>Tweetie is the only Twitter client I&#8217;ve tried that doesn&#8217;t use relative times. Instead, it displays absolute times, and unfortunately, it fails to display these in the correct format. The previous version displayed all date/time information using the US locale, and 1.2 is even worse: the day names are in Turkish, but it still uses the US format (e.g. Pzt 7/28 4:20 PM).</p>
<p>I can&#8217;t say this is a showstopper, but proper localization is key to a successful Mac application, and iPhone applications <em>are</em> Mac applications. Attention to small details is what makes us Mac users, and I got a news flash for Tweetie developers (and all other developers who don&#8217;t care about proper localization): there&#8217;s life outside the US, and we don&#8217;t use a 12-hour clock or write the month before the day. You should have fixed these <em>before</em> the 1.0 release, but you&#8217;re already at 1.2 and localization still sucks.</p>
</li>
</ol>

<p><strong>Grade: 8/10</strong></p>

<h3>Twinkle</h3>

<p><img src="/wp-content/uploads/2009/01/twinkle.png" alt="Twinkle" title="Twinkle" width="70" height="70" class="alignleft" style="border: 0;" /></p>

<p>Twinkle is one of the first Twitter clients on the iPhone. It was available before the App Store (and the SDK), so I used it for quite some time, and I was very happy with it.</p>

<p>After the SDK and the App Store revolution, I installed Twitterific and didn&#8217;t try the new Twinkle until this review. Well, actually I still haven&#8217;t tried it.</p>

<p>The new (post-SDK) Twinkle requires you to sign up for a Tapulous account. This is apparently because Tapulous is trying to build a <a href="http://friendfeed.com/">FriendFeed</a>-like network, and therefore Twinkle is somehow &#8220;part of a bigger plan.&#8221; Twinkle developer Tristian O&#8217;Tierney explains:</p>

<blockquote>
  <p>What many people want is just a Twitter client, and I’m sorry to say as a basic design decision, that’s just not what Twinkle is or is meant to be.</p>
</blockquote>

<p>Well, I&#8217;m one of those many people, and as much as I like <a href="http://tapulous.com/taptap/">Tap Tap Revenge</a>, I&#8217;m not signing up for yet another account just be able to post and read 140-character messages. No thanks.</p>

<p>I really wanted to know how Twinkle held up against the competition (and I still do), but apparently Twinkle is not just a Twitter client anymore, and is therefore disqualified.</p>

<p><strong>Grade: 0/10</strong></p>

<h3>TwitterFon</h3>

<p><img src="/wp-content/uploads/2009/01/twitterfon.png" alt="TwitterFon" title="TwitterFon" width="70" height="70" class="alignleft" style="border: 0;" /></p>

<p>I tried TwitterFon after a recommendation by <a href="http://twitter.com/mertcetin" title="Twitter / mertcetin">a friend</a>, and I honestly didn&#8217;t think I&#8217;d like it this much. It has all the features (with the exception of multiple accounts) one could wish for in a Twitter client, and it&#8217;s free.</p>

<p>I can say that Tweetie has a slightly better-looking UI, but TwitterFon uses relative times, and therefore doesn&#8217;t suffer from improper localization. For all I can say, TwitterFon is at least as good a Twitter client as Tweetie.</p>

<p><strong>Grade: 8/10</strong></p>

<h3>Twitterrific</h3>

<p><img src="/wp-content/uploads/2009/01/twitterrific.png" alt="Twitterrific" title="Twitterrific" width="70" height="70" class="alignleft" style="border: 0;" /></p>

<p>Twitterrific is <em>the</em> Twitter client for the Mac, and I&#8217;ve used it intermittently since its debut.</p>

<p>I downloaded the iPhone version the day it was released, and I was surprised to see how different (in a bad way) it is from the desktop version.</p>

<p>All lacking features aside, Twitterrific for the iPhone has the worst user experience among the four clients I&#8217;ve reviewed, and scrolling is excruciatingly slow. This may be partly due to the ads, and there&#8217;s an ad-free premium version for $9.99, but that&#8217;s the only difference between the two versions, and I think $9.99 is a ridiculous price to pay for a Twitter client, especially one that lacks critical features and has a mediocre user experience.</p>

<p>Special question to the Twitterrific team: how high were you when you decided to use &#8220;double tapping?&#8221; Thanks.</p>

<p><strong>Grade: 4/10</strong></p>

<h3>Feature Matrix</h3>

<table>
    <thead>
        <tr>
            <th></th>
            <th>Tweetie</th>
            <th>TwitterFon</th>
            <th>Twitterrific</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th>Multiple Accounts</th>
            <td><span class="tick">✓</span></td>
            <td><span class="ex">✗</span></td>
            <td><span class="ex">✗</span></td>
        </tr>
        <tr>
            <th>Delete</th>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
            <td><span class="ex">✗</span></td>
        </tr>
        <tr>
            <th>Follow</th>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
            <td><span class="ex">✗</span></td>
        </tr>
        <tr>
            <th>Search</th>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
            <td><span class="ex">✗</span></td>
        </tr>
        <tr>
            <th>Favorites</th>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
        </tr>
        <tr>
            <th>@Replies</th>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
        </tr>
        <tr>
            <th>Direct Messages</th>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
        </tr>
        <tr>
            <th>Re-tweeting</th>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
            <td><span class="ex">✗</span></td>
        </tr>
        <tr>
            <th>Correct Location</th>
            <td><span class="ex">✗</span></td>
            <td><span class="ex">✗</span></td>
            <td><span class="tick">✓</span></td>
        </tr>
        <tr>
            <th>Ad-free</th>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
            <td><span class="ex">✗</span></td>
        </tr>
        <tr>
            <th>Intuitive UI</th>
            <td><span class="tick">✓</span></td>
            <td><span class="tick">✓</span></td>
            <td><span class="ex">✗</span></td>
        </tr>
        <tr>
            <th>Scrolling</th>
            <td>Fast</td>
            <td>Fast</td>
            <td>Slow</td>
        </tr>
        <tr>
            <th>Price</th>
            <td>$2.99</td>
            <td>Free</td>
            <td>Free</td>
        </tr>
    </tbody>
</table>

<h3>Conclusion</h3>

<p>There&#8217;s a tie between Tweetie and TwitterFon. They&#8217;re both good Twitter clients, but there&#8217;s always room for improvement: TwitterFon could use a bit more polish, and Tweetie developers have to fix the localization problems.</p>

<p>If you&#8217;re American or you just don&#8217;t care about the small details (ie. you use Windows), please go ahead and buy Tweetie. You&#8217;ll be supporting an indie developer ($2.99 is not much, in all probability you paid more for your lunch today).</p>

<p>On the other hand, if you just want a good, free Twitter client, and don&#8217;t have multiple Twitter accounts, use TwitterFon.</p>

<p>As for me, I&#8217;m currently using Tweetie, and I hope the localization problems will be gone with the next release. If they aren&#8217;t, then I&#8217;m switching to TwitterFon for good.</p>

<p><a name="update_1"><strong>UPDATE (Feb. 4):</strong></a> I got an email from <a href="http://blog.atebits.com/" title="atebits blog">Loren Brichter</a>, the guy behind Tweetie, the day I published this post, and he wanted to know more about the localization issues. We discussed (well, most of it was me ranting) the issues at length, and he said he will try and fix them in 1.3.</p>

<p>I would like to thank Loren again for the quick response and consideration.</p>
]]></content:encoded>
			<wfw:commentRss>http://cbg.me/2009/02/four-twitter-clients-for-the-iphone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Palm Announces Pre</title>
		<link>http://cbg.me/2009/01/palm-announces-pre/</link>
		<comments>http://cbg.me/2009/01/palm-announces-pre/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 15:06:27 +0000</pubDate>
		<dc:creator>cbg</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[palm]]></category>
		<category><![CDATA[smartphone]]></category>

		<guid isPermaLink="false">http://cbg.me/?p=72</guid>
		<description><![CDATA[Yesterday, Palm announced its new smartphone, the Pre, at CES.

Now, if I thought Pre was just another iPhone wannabe (like the Samsung Omnia or the BlackBerry Storm), I would have just bashed it on Twitter, but it&#8217;s not.

Palm, which was a sinking ship until yesterday, seems to have created the first real iPhone competitor, and [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, Palm announced its new smartphone, the <a href="http://www.palm.com/us/products/phones/pre/index.html">Pre</a>, at CES.</p>

<p>Now, if I thought Pre was just another <a href="http://www.apple.com/iphone/">iPhone</a> wannabe (like the <a href="http://omnia.samsungmobile.com/">Samsung Omnia</a> or the <a href="http://www.blackberry.com/blackberrystorm/">BlackBerry Storm</a>), I would have just bashed it on Twitter, but it&#8217;s not.</p>

<p>Palm, which was a sinking ship until yesterday, seems to have created the first real iPhone competitor, and even if the device turns out to be not-so-great, I think there&#8217;s a lot to be learned from webOS&#8217;s (Pre&#8217;s new operating system) user interface concepts, even for Apple.</p>

<p><a href="http://osnews.com/">OSNews</a>&#8216; <a href="http://osnews.com/editor/11">Thom Holwerda</a> seems to <a href="http://osnews.com/story/20747/Palm_s_Card-Based_Interface_Paradigm" title="Palm's Card-Based Interface Paradigm">agree with me</a> on this one:</p>

<blockquote>
  <p>To me, it seems as if Palm is the first smartphone manufacturer to develop an interface from the ground up specifically for a mobile device, without windows, applications, or other desktop-centric ideas. Oh, and it does copy/paste. While it&#8217;s dangerous to make any such statements, I do believe that Palm has out-Appled Apple on this one: the iPhone already feels hopelessly kludgey and outdated.</p>
</blockquote>

<p>See the Pre in action for yourself in <a href="http://arstechnica.com/">Ars Technica</a>&#8217;s hands-on video:</p>

<p style="text-align: center;"><object width="400" height="267"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2766236&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=ff9933&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2766236&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=ff9933&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="267"></embed></object><br /><a href="http://vimeo.com/2766236">Ars Technica first hands-on with the Palm pré phone</a> from <a href="http://vimeo.com/arstechnica">Ars Technica</a> on <a href="http://vimeo.com">Vimeo</a>.</p>

<p>Now, the question of the evening: would I buy a Pre? Unlikely. I&#8217;m a sucker for everything Apple makes.</p>

<p>Do I promise not to bash it if it turns out to be a piece of crap? Absolutely no. But I think Palm brings new breath to the smartphone market with the Pre (instead of blindly copying Apple like everyone in the industry has done for the past 33 years), and that&#8217;s enough for me to like it.</p>
]]></content:encoded>
			<wfw:commentRss>http://cbg.me/2009/01/palm-announces-pre/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
