<?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>Spreading Funkyness</title>
	<atom:link href="http://spreadingfunkyness.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://spreadingfunkyness.com</link>
	<description>RIAbilitating the Internet with web apps, ria, iphone and ipad apps.</description>
	<lastBuildDate>Fri, 27 Apr 2012 22:44:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<cloud domain='spreadingfunkyness.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>How To Create a Rotating Wheel Control with UIKit</title>
		<link>http://spreadingfunkyness.com/how-to-create-a-rotating-wheel-control-with-uikit/</link>
		<comments>http://spreadingfunkyness.com/how-to-create-a-rotating-wheel-control-with-uikit/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 16:55:34 +0000</pubDate>
		<dc:creator>Cesare</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://spreadingfunkyness.com/?p=365</guid>
		<description><![CDATA[This tutorial will show you how to build an intuitive rotating wheel interface.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin: 0px 10px 0px 0px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fspreadingfunkyness.com%2Fhow-to-create-a-rotating-wheel-control-with-uikit%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fspreadingfunkyness.com%2Fhow-to-create-a-rotating-wheel-control-with-uikit%2F&amp;source=_funkyboy&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>There may be times you’ve downloaded a cool application with a new kind of user interface component, and you’ve wondered: how was it built? One great example of this is the rotary wheel, used by ConvertBot and other applications as a way for users to select options from a menu. This component is intuitive to use because it resembles many similar controls we use in real life to make choices. For example:</p>
<ul>
<li>A ship’s wheel allows the captain to choose the direction of travel.</li>
<li>To set the volume of your stereo, you use a rotary knob.</li>
<li>You might also remember that we used to call people using rotary dial telephones.</li>
</ul>
<p>Such shared knowledge allows us to recognize the “possible uses” of a rotary wheel, even when it’s a virtual wheel.<br />
Note: A perceived use of an object is also called an affordance, a concept used in such fields as psychology, design, and artificial intelligence.<br />
In brief, a rotary wheel is meant to be spun. Just as with hardware wheels, touchscreen wheels can be configured in many ways. For example, we might include stop points (as in the rotary dial on a phone), ignore initial taps in a given zone, allow just one direction of rotation, etc.<br />
As you may have deduced, this tutorial will show you how to build an intuitive rotating wheel interface. You’ll then be able to integrate this component into your iOS apps and let other people wonder how you built it ;]</p>
<p>Read the rest on <a href="http://www.raywenderlich.com/9864/how-to-create-a-rotating-wheel-control-with-uikit">raywenderlich.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://spreadingfunkyness.com/how-to-create-a-rotating-wheel-control-with-uikit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android&#8217;s throat is now exposed</title>
		<link>http://spreadingfunkyness.com/android-throat-is-now-exposed/</link>
		<comments>http://spreadingfunkyness.com/android-throat-is-now-exposed/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 10:20:44 +0000</pubDate>
		<dc:creator>Cesare</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://spreadingfunkyness.com/?p=364</guid>
		<description><![CDATA[This article from Business Insider got me started. Since I have to time to address potential fanboy arguments let&#8217;s go this way. For each time you think I am a fanboy I&#8217;ll think of you one of the following: - troll - user who has time to loose with lower quality devices/experiences - user who ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin: 0px 10px 0px 0px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fspreadingfunkyness.com%2Fandroid-throat-is-now-exposed%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fspreadingfunkyness.com%2Fandroid-throat-is-now-exposed%2F&amp;source=_funkyboy&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.businessinsider.com/samsung-galaxy-s-phones-ice-cream-sandwich-update-2011-12">This article</a> from Business Insider got me started. Since I have to time to address potential fanboy arguments let&#8217;s go this way. For each time you think I am a fanboy I&#8217;ll think of you one of the following:</p>
<p>- troll<br />
- user who has time to loose with lower quality devices/experiences<br />
- user who likes to accumulate stress</p>
<p>Right now that Eric Schmit is promising that <a href="http://tabtimes.com/news/ittech-os-android/2011/12/07/leweb-2011-eric-schmidt-talks-future-computing-thinks-android-will">Android will soon beat iOS</a> (whatever is the meaning of beating in this context), Android&#8217;s throat is getting more and more exposed. I can&#8217;t provide evidence but I started to feel a while ago that Android has found his way: more and more devices released and much buzz around the topic. But I always got in mind a few key aspects:</p>
<ol>
<li>Fragmentation: it is not easy at all to build an homogeneous experience across many different devices</li>
<li>Too much fanfare about the number of devices activated per millisecond</li>
<li>Nobody has ever revealed how many dollars has Google shared with developers</li>
</ol>
<p>While the second is mainly related to marketing and the too much diffused tendency to reveal meaningless numbers, as a UX designer, developer and entrepreneur I am pretty sensitive to points #1 and #3. The first is pretty a technical reason: developers have to write more code and carry more stress with respect to iOS. The third point is pretty a mystery to me: Apple is known to be pretty secretive, especially when prototyping, but is proud to reveal key numbers to attract more on their platform. Rhetoric questions for developers/entrepreneurs: <strong>which market would you dive in? the one where you know the current volume or the one you don&#8217;t know anything about?</strong> While reflecting on this please don&#8217;t fall into the childish thought that &#8220;more devices more potential buyers&#8221;, unless you are a rookie. Just consider that you are making money by selling applications, and a higher number of devices does not imply a higher number of sales. <strong>The key value is the &#8220;willingness to buy&#8221;</strong>, and the internet is full of articles supporting the idea that iOS users are more prone to buy applications than androiders.</p>
<p>Getting back to the main point of this article the new announcement from Samsung, that won&#8217;t allow upgrades to the new version of the OS on old devices, is really exposing Android&#8217;s throat to attacks. While it was relatively easy to copy (umm &#8230; take inspiration from) iOS and its ecosystem, now I think that Android has reached a pretty unsolvable issue: the one of upgrades. <strong>People who bought an iPhone 3gs (released in June 2009) can still happily use it today with iOS5 and the iCloud. Can you find a similar example in the Android world? I doubt so.</strong> The reason is exquisitely technical: relatively young devices have not enough hardware power to run new versions of Android OS. It is just a physical limit, and I think there is nothing to discuss. My opinion is that it is due to lack of vision. One of the few upgradeable devices is the Galaxy S2, because it is a flagship product, and preventing an update on that would mean users migrating to other devices in a hurry.<br />
I am not a fan of Microsoft but if you bought the first model of Windows Phone you can still happily run the latest version of the OS on that. This means being on track.</p>
<p>Besides technical reasons I think that there is an issue related to the approach. <strong>While it was possible to &#8220;decouple&#8221; hardware and software on the desktop (and Microsoft has built his empire on that) this is much less doable in the mobile world, where hardware power is limited.</strong></p>
<p>Here are a few suggestions for Google, makers and users.</p>
<h2>Makers</h2>
<p>HTC, Samsung and colleagues should follow Amazon approach. The only way to attack a well established market are a few. You can work on:</p>
<ul>
<li>the best product</li>
<li>the best solution</li>
<li>the best price</li>
</ul>
<p>Amazon, to attack the tablet market, is betting on the best price. I don&#8217;t see a simpler way for competitors to undermine Apple&#8217;s iOS ecosystem. Building the best product or solution would take a lot of time.</p>
<h2>Google</h2>
<p>Google should close the gates, reorganize all the code to be more tightly coupled with hardware. They should put a lot of effort in rendering, demanding that (when possible) to the hardware. They should also devise crystalline rules about installation and updates. In 2012 I should not connect my phone to a computer to update the OS and I should not be forced to buy a new device to have the latest version of the OS. The recent acquisition of Motorola<br />
is going toward that direction. If I were HTC or Samsung I&#8217;d be a bit worried, for I suspect new versions of Android will be super optimized for Motorola hardware. That&#8217;s the only solution I see for Android to resurrect.</p>
<h2>Users</h2>
<p>In the current situation, my suggestion is to go cheap. If you buy a $500 Android phone which is not OS-upgradeable it is not easy for you to afford a new purchase. If you have bought a $200 one, you have saved $300 (with respect to an iOS device) and you can think of using that money to buy a new model in one year.<br />
Of course it is not easy to spot which models are upgradeable before you buy them (see crystalline rules above).<br />
In general, we are told that a Google-approved Nexus device, should be eligible for upgrades (my addition: provided that hardware is powerful enough). So if you really like to buy an Android phone/tablet I strongly suggest to stick with those models or buy the new ones which will be released by Motorola in 2012.</p>
<h2>Conclusion</h2>
<p>While Google and friends are just chasing the highest number of activations per day, exposing his throat to competitors&#8217; weapons, Microsoft and Apple are pointing on good experience, simplifying data migration and assuring compatibility with old models. </p>
<p>I&#8217;d like to conclude with a set of questions:</p>
<ul>
<li>where is all the &#8220;freedom&#8221; that Android supporters claim?</li>
<li>do you realize that openness and (supposed) freedom, in the long run, are more costly than &#8220;closed-source&#8221; competitor solutions?</li>
<li>do you see all the ifs you are going to face buying an android powered device?</li>
<li>do you know that all this <a href="http://www.zdnet.com/blog/bott/why-android-updates-are-a-mess-its-the-business-model/4300">is due to a business model</a></li>
<p>?</p>
<li>Not convinced yet? Have a look at <a href="http://theunderstatement.com/post/11982112928/android-orphans-visualizing-a-sad-history-of-support">this graph</a>.</li>
</ul>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fspreadingfunkyness.com%2Fandroid-throat-is-now-exposed%2F&amp;title=Android%26%238217%3Bs%20throat%20is%20now%20exposed" id="wpa2a_2"><img src="http://spreadingfunkyness.com/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://spreadingfunkyness.com/android-throat-is-now-exposed/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Kids are the best teachers</title>
		<link>http://spreadingfunkyness.com/kids-are-the-best-teachers/</link>
		<comments>http://spreadingfunkyness.com/kids-are-the-best-teachers/#comments</comments>
		<pubDate>Thu, 17 Nov 2011 11:48:22 +0000</pubDate>
		<dc:creator>Cesare</dc:creator>
				<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://spreadingfunkyness.com/?p=358</guid>
		<description><![CDATA[He moves like Steve Jobs and his attitude is inspiring as well.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin: 0px 10px 0px 0px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fspreadingfunkyness.com%2Fkids-are-the-best-teachers%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fspreadingfunkyness.com%2Fkids-are-the-best-teachers%2F&amp;source=_funkyboy&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>He moves like Steve Jobs and his attitude is inspiring as well.</p>
<p><iframe src="http://tedxtalks.ted.com/video/TEDxManhattanBeach-Thomas-Suare/player?layout=&#038;read_more=1" width="420" height="331" frameborder="0" scrolling="no"></iframe></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fspreadingfunkyness.com%2Fkids-are-the-best-teachers%2F&amp;title=Kids%20are%20the%20best%20teachers" id="wpa2a_4"><img src="http://spreadingfunkyness.com/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://spreadingfunkyness.com/kids-are-the-best-teachers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting started with iCloud</title>
		<link>http://spreadingfunkyness.com/getting-started-with-icloud/</link>
		<comments>http://spreadingfunkyness.com/getting-started-with-icloud/#comments</comments>
		<pubDate>Mon, 31 Oct 2011 16:07:19 +0000</pubDate>
		<dc:creator>Cesare</dc:creator>
				<category><![CDATA[iCloud]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://spreadingfunkyness.com/?p=356</guid>
		<description><![CDATA[This is an excerpt from my chapter on iCloud included in iOS5 by tutorials. We all have “stuff” we use on our iPhones and iPads regularly like documents, pictures, videos, emails, calendars, music, and address books. But how many times have you tried to quickly open a document and realized “argh, I have it saved ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin: 0px 10px 0px 0px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fspreadingfunkyness.com%2Fgetting-started-with-icloud%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fspreadingfunkyness.com%2Fgetting-started-with-icloud%2F&amp;source=_funkyboy&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><em>This is an excerpt from my chapter on iCloud included in <a href="http://5637fbqplpom3-qkkwnmpijx08.hop.clickbank.net/">iOS5 by tutorials</a>.</em></p>
<p>We all have “stuff” we use on our iPhones and iPads regularly like documents, pictures, videos, emails, calendars, music, and address books. But how many times have you tried to quickly open a document and realized “argh, I have it saved onto another device”?<br />
Well, with the new iCloud feature in iOS 5, that is problem of the past!<br />
iCloud is a service that helps you synchronize your data across devices. It is a set of central servers which store your documents, and make the latest version available to every device/app compatible with iCloud (iPhone, iPod, iPad, Mac, or even PC).<br />
In this tutorial, we’ll investigate iCloud by implementing a set of simple applications which interact with cloud servers to read, write and edit documents. In the process, you’ll learn about the new UIDocument class, querying iCloud for files, autosaving, and much more!<br />
Note to get the most out of this tutorial, you will need two physical iOS devices running iOS 5 for testing, such as an iPhone and an iPad. The simulator does not currently have iCloud support.</p>
<h2>Under the Hood</h2>
<p>Before we begin, let’s talk about how iCloud works. In iOS each application has its data stored in a local directory, and each app can only access data in its own directory. This prevents apps from reading or modifying data from other apps (although there are some alternate methods of transferring data between apps built into the OS). iCloud allows you to upload your local data to central servers on the net, and receive updates from other devices. The replication of content across different devices is achieved by means of a continuous background process (daemon) which detects changes to a resource (document) and uploads them to the central storage.<br />
This works real-time and enables another interesting feature: notifications. For example, whenever there is a conflict about a document, the application can be aware of that and you can implement a resolution policy.<br />
If you ever tried to create something like this with your own apps, you know there are several major challenges implementing this:</p>
<ul>
<li>
<b>Conflict resolution</b>. What happens if you modify a document on your iPhone, and modify the same document on your iPad at the same time? You somehow have to reconcile these changes. iCloud allows you to break your documents into chunks to prevent many merge conflicts from being a problem (because if you change chunk A on device 1, and chunk B on device 2, since chunk A and B are different you can just combine them). For cases when it truly is a problem, it allows you as a developer fine-grained control over how to handle the problem (and you can always ask the user what they would like to do).
</li>
<li>
<b>Background management</b>. iOS apps only have limited access to running tasks in the background, but keeping your documents up-to-date is something you want to always be doing. The good news is since iCloud synchronization is running in a background daemon, it’s always active!
</li>
<li>
<b>Network bandwidth costs</b>. Continuously pushing documents between devices can take a lot of network bandwidth. As mentioned above, iCloud helps reduce the costs by breaking each document into chunks. When you first create a document, every chunk is copied to the cloud. When subsequent changes are detected only the chunks affected are uploaded to the cloud, to minimize the usage of bandwidth and processing. A further optimization is based on a peer-to-peer solution. That happens when two devices are connected to the same iCloud account and the same wireless network. In this case data take a shortcut and move directly between devices.
</ul>
<p>The mechanisms described so far are enabled by a smart management of metadata like file name, size, modification date, version etc. This metadata is pushed to the cloud, and iCloud uses this information to determine what needs to be pulled down to each device.<br />
Note that devices pull data from the cloud when “appropriate”. The meaning of this depends on the OS and platform. For example an iPhone has much less power and “battery dependency” than an iMac plugged into a wall. In this case iOS might decide to notify just the presence of a new file, without downloading it, whereas Mac OS X might start the download immediately after the notification.<br />
The important aspect is that an app is always aware of the existence of a new file, or changes to an already existing file, and through an API the developer is free to implement the synchronization policy. In essence the API allows an app to know the “situation” on iCloud even if the files are not yet local, leaving the developer free to choose whether (and when) to download an updated version.</p>
<p><a href="http://www.raywenderlich.com/6015/beginning-icloud-in-ios-5-tutorial-part-1">Read the rest on raywenderlich.com</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fspreadingfunkyness.com%2Fgetting-started-with-icloud%2F&amp;title=Getting%20started%20with%20iCloud" id="wpa2a_6"><img src="http://spreadingfunkyness.com/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://spreadingfunkyness.com/getting-started-with-icloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Thank you Steve</title>
		<link>http://spreadingfunkyness.com/thank-you-steve/</link>
		<comments>http://spreadingfunkyness.com/thank-you-steve/#comments</comments>
		<pubDate>Thu, 06 Oct 2011 12:14:26 +0000</pubDate>
		<dc:creator>Cesare</dc:creator>
				<category><![CDATA[apple]]></category>

		<guid isPermaLink="false">http://spreadingfunkyness.com/?p=354</guid>
		<description><![CDATA[I&#8217;ll remember you like this, spreading creative fire.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin: 0px 10px 0px 0px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fspreadingfunkyness.com%2Fthank-you-steve%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fspreadingfunkyness.com%2Fthank-you-steve%2F&amp;source=_funkyboy&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ll remember you like this, spreading creative fire.</p>
<p><a href="http://spreadingfunkyness.com/wp-content/uploads/2011/10/steve_jobs_room.jpg"><img src="http://spreadingfunkyness.com/wp-content/uploads/2011/10/steve_jobs_room.jpg" alt="" title="steve_jobs_room" width="580" height="389" class="alignnone size-full wp-image-355" /></a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fspreadingfunkyness.com%2Fthank-you-steve%2F&amp;title=Thank%20you%20Steve" id="wpa2a_8"><img src="http://spreadingfunkyness.com/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://spreadingfunkyness.com/thank-you-steve/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a Jabber client for iOS</title>
		<link>http://spreadingfunkyness.com/building-a-jabber-client-for-ios/</link>
		<comments>http://spreadingfunkyness.com/building-a-jabber-client-for-ios/#comments</comments>
		<pubDate>Tue, 23 Aug 2011 07:39:04 +0000</pubDate>
		<dc:creator>Cesare</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://spreadingfunkyness.com/?p=352</guid>
		<description><![CDATA[I recently published a tutorial series titled &#8220;Building a Jabber client for iOS&#8221;. Here is the complete list/ Part 1: Server setup Part 2: Interface setup Part 3: XMPP integration The source code is available here on github]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin: 0px 10px 0px 0px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fspreadingfunkyness.com%2Fbuilding-a-jabber-client-for-ios%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fspreadingfunkyness.com%2Fbuilding-a-jabber-client-for-ios%2F&amp;source=_funkyboy&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I recently published a tutorial series titled &#8220;Building a Jabber client for iOS&#8221;.<br />
Here is the complete list/</p>
<p><a href="http://mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-server-setup/">Part 1: Server setup</a><br />
<a href="http://mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-interface-setup/">Part 2: Interface setup</a><br />
<a href="http://mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-xmpp-integration/">Part 3: XMPP integration</a></p>
<p>The source code is available <a href="https://github.com/funkyboy/Building-a-Jabber-client-for-iOS">here on github</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fspreadingfunkyness.com%2Fbuilding-a-jabber-client-for-ios%2F&amp;title=Building%20a%20Jabber%20client%20for%20iOS" id="wpa2a_10"><img src="http://spreadingfunkyness.com/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://spreadingfunkyness.com/building-a-jabber-client-for-ios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Upgrade to Mac OS Lion! (Not yet)</title>
		<link>http://spreadingfunkyness.com/dont-upgrade-to-mac-os-lion-not-yet/</link>
		<comments>http://spreadingfunkyness.com/dont-upgrade-to-mac-os-lion-not-yet/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 13:10:33 +0000</pubDate>
		<dc:creator>Cesare</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://spreadingfunkyness.com/?p=350</guid>
		<description><![CDATA[New is cool. I like to try new things, even alpha or beta stuff. I like to see changes, improvements, new directions. I like the way Apple continuously pushes improvements: one new iDevice almost each year, new software solutions, new ways to save data. But I can&#8217;t let the things I like to influence my ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin: 0px 10px 0px 0px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fspreadingfunkyness.com%2Fdont-upgrade-to-mac-os-lion-not-yet%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fspreadingfunkyness.com%2Fdont-upgrade-to-mac-os-lion-not-yet%2F&amp;source=_funkyboy&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>New is cool. I like to try new things, even alpha or beta stuff. I like to see changes, improvements, new directions. I like the way Apple continuously pushes improvements: one new iDevice almost each year, new software solutions, new ways to save data. But I can&#8217;t let the things I like to influence my business in a bad way.<br />
If you are like me you probably have a machine (in my case a MacBook Pro) which is your faithful daily companion. There is everything you need, the tools you use daily. An operative systems is not a toy application you can live without. It&#8217;s part of  that faithful companion, something you count on. <strong>OSX Lion is something I cannot count on yet</strong>. I installed it on a spare Mac mini, which I use for experiments. I like the new interface, the way it is inspired to iOS, the way it is easier to use. But there are tools I work with daily, which are still not fully compatible with Lion.<strong> The first release of new tool is not perfect</strong>, even if it has been extensively tested during the alpha and beta stages. This happens to each product, even if it is built by great developers. Check out the Mac or App store to see how many 1.0.1 or 2.1 versions you can spot. Those minor version changes reflect updates which are needed to improve and fine-tune applications. Not even Apple is immune to that. I bet there will be a Lion 10.7.1 soon. The same applies to other Apple products like XCode. That&#8217;s another tool I use daily. There has been a 4.0, then a 4.0.1, a 4.0.2 and now a 4.1. If you search the Twitterverse it&#8217;s easy to spot people lamenting crashes of Lion or XCode. I can even venture a bet that <strong>50% of Apple developers is still using XCode 3</strong>.<br />
Not to mention 3rd party apps. Part of my daily job is based on the Adobe Creative Suite, which sometimes is buggy per se, regardless of the OS. I don&#8217;t want even imagine how it behaves on Lion, considering that <a href="http://www.wired.com/epicenter/2010/01/googles-dont-be-evil-mantra-is-bullshit-adobe-is-lazy-apples-steve-jobs/">Adobe is lazy</a> (BTW compatibility issues are listed <a href="http://kb2.adobe.com/cps/905/cpsid_90508.html">here</a>) Also historically known applications like <a href="http://panic.com/coda/">Coda</a> are unstable and crashy, in spite the fact it has been upgraded to be Lion compatible. See <a href="https://twitter.com/#!/zhephree/status/96772348270743552">here</a> and <a href="https://twitter.com/#!/jacobdubail/status/96713669915852800">here</a> for example. I remember I had the same approach to Snow Leopard, which I installed at least two months after the first release. </p>
<p>I can understand people which install Lion to test it or <a href="http://www.guardian.co.uk/technology/2011/jul/20/mac-osx-lion-review">review it</a>. But really, <strong>what&#8217;s the sense of installing it and polluting the Twitterverse like screaming kids? Software development is craftsmanship, it takes time</strong>. Or is Apple so trustful that people blindly upgrade without doing any check?<br />
Personally I can support an application crash a week, and a kernel panic error a month. Something more frequent would kill my productivity and raise my stress. My suggestion is to wait at least the next minor release. Moreover:</p>
<ul>
<li>monitor relevant twitterers and bloggers to have a glimpse of the current situation
</li>
<li>talk to people you trust, ask them how is the current release,
</li>
<li>monitor Apple&#8217;s forums,
</li>
<li>check the website/forums of each application you use for your business
</li>
</ul>
<p><strong>And even after that be a bit doubtful</strong>. We are talking business. Or would you prefer to tell your client that the last release got screwed due to <del datetime="2011-07-29T15:24:57+00:00">a Lion crash</del> an app crashing on Lion? :)<br />
That said, when do you plan to install Lion? Did you already install it? How many issues did you have?</p>
<p>Update.<br />
If you like to check whether an app is compatible with Lion you can consult <a href="http://roaringapps.com/">roaringapps</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fspreadingfunkyness.com%2Fdont-upgrade-to-mac-os-lion-not-yet%2F&amp;title=Don%26%238217%3Bt%20Upgrade%20to%20Mac%20OS%20Lion%21%20%28Not%20yet%29" id="wpa2a_12"><img src="http://spreadingfunkyness.com/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://spreadingfunkyness.com/dont-upgrade-to-mac-os-lion-not-yet/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How To Create A Socket Based iPhone App and Server</title>
		<link>http://spreadingfunkyness.com/how-to-create-a-socket-based-iphone-app-and-server/</link>
		<comments>http://spreadingfunkyness.com/how-to-create-a-socket-based-iphone-app-and-server/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 15:05:05 +0000</pubDate>
		<dc:creator>Cesare</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://spreadingfunkyness.com/?p=349</guid>
		<description><![CDATA[This is an excerpt of a tutorial I wrote for raywenderlich.com. Many iOS apps use HTTP to communicate to a web server, because it’s easy, convenient, and well-supported. However, in some cases you might find the need to go a bit lower level than HTTP, and communicate using TCP sockets to your own custom server. ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin: 0px 10px 0px 0px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fspreadingfunkyness.com%2Fhow-to-create-a-socket-based-iphone-app-and-server%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fspreadingfunkyness.com%2Fhow-to-create-a-socket-based-iphone-app-and-server%2F&amp;source=_funkyboy&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><em>This is an excerpt of a tutorial I wrote for raywenderlich.com.<br />
</em></p>
<p>Many iOS apps use HTTP to communicate to a web server, because it’s easy, convenient, and well-supported.<br />
However, in some cases you might find the need to go a bit lower level than HTTP, and communicate using TCP sockets to your own custom server.<br />
The advantages of doing this are several:</p>
<ul>
<li>You can send just the exact data you need to send – making your protocol lean and efficient.
</li>
<li>You can send connected clients data whenever you want, rather than requiring the clients to poll.
</li>
<li>You can write socket servers without a dependency of a web server, and can write in the language of your choice.
</li>
<li>Sometimes you just have to use sockets, if you are connecting to a legacy server!
</li>
</ul>
<p>In this tutorial, you’ll get some hands-on experience writing an iPhone app that communicates to a TCP socket server using NSStream/CFStream. Also, you’ll write a simple socket server for it to connect to, using Python!<br />
The iPhone app and chat server will implement chat functionality, so you can chat between multiple devices in real-time!</p>
<p>This tutorial assumes you have a basic familiarity with Python and iOS programming. If you are new to Python programming, check out the official <a href="http://docs.python.org/tutorial/">Python tutorial</a>. If you are new to iOS programming, check out some of the <a href="http://www.raywenderlich.com/tutorials">iOS tutorials</a> on this site first.<br />
Without further ado, let’s do some socket programming!</p>
<p><a href="http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server">Read the tutorial on raywenderlich.com </a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fspreadingfunkyness.com%2Fhow-to-create-a-socket-based-iphone-app-and-server%2F&amp;title=How%20To%20Create%20A%20Socket%20Based%20iPhone%20App%20and%20Server" id="wpa2a_14"><img src="http://spreadingfunkyness.com/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://spreadingfunkyness.com/how-to-create-a-socket-based-iphone-app-and-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Newspapers are screwed</title>
		<link>http://spreadingfunkyness.com/newspapers-are-screwed/</link>
		<comments>http://spreadingfunkyness.com/newspapers-are-screwed/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 22:38:14 +0000</pubDate>
		<dc:creator>Cesare</dc:creator>
				<category><![CDATA[entrepreneurship]]></category>

		<guid isPermaLink="false">http://spreadingfunkyness.com/newspapers-are-screwed/</guid>
		<description><![CDATA[Things change. Newspapers have been the gates of daily knowledge. Now we have blogs, twitter and so on. Either newspaper will learn how to find their place in this new context or they will die, probably slowly. We are in need of great content. Once only journalist were allowed to write it. Now everybody can. ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin: 0px 10px 0px 0px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fspreadingfunkyness.com%2Fnewspapers-are-screwed%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fspreadingfunkyness.com%2Fnewspapers-are-screwed%2F&amp;source=_funkyboy&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Things change. Newspapers have been the gates of daily knowledge. Now we have blogs, twitter and so on. Either newspaper will learn how to find their place in this new context or they will die, probably slowly. We are in need of great content. Once only journalist were allowed to write it. Now everybody can. That means there will be more crap around, but also many more voices and much more coverage about niches that once were never considered.<br />
In any case blocking the content of a website when you open it on the iPad is just a signal that that newspaper are getting more and more desperate.</p>
<p><a href="http://scripting.com/stories/2011/06/18/theNyPostTheIpadAndTheWeb.html">Here is an interesting piece by Dave Winer</a></p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fspreadingfunkyness.com%2Fnewspapers-are-screwed%2F&amp;title=Newspapers%20are%20screwed" id="wpa2a_16"><img src="http://spreadingfunkyness.com/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://spreadingfunkyness.com/newspapers-are-screwed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feelings before the launch</title>
		<link>http://spreadingfunkyness.com/feelings-before-the-launch/</link>
		<comments>http://spreadingfunkyness.com/feelings-before-the-launch/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 11:37:33 +0000</pubDate>
		<dc:creator>Cesare</dc:creator>
				<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[productivity]]></category>

		<guid isPermaLink="false">http://spreadingfunkyness.com/?p=343</guid>
		<description><![CDATA[Scenario: I am involved in the launch of a new product. My feelings? Thrill and excitement. Many questions are rolling in my head. They can all sum up to how will it go?. I really don&#8217;t know. I am more than convinced that a product has to lead people to think &#8220;it just works&#8221;. I ...]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: left; margin: 0px 10px 0px 0px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fspreadingfunkyness.com%2Ffeelings-before-the-launch%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fspreadingfunkyness.com%2Ffeelings-before-the-launch%2F&amp;source=_funkyboy&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Scenario: I am involved in the launch of a new product. My feelings? Thrill and excitement. Many questions are rolling in my head. They can all sum up to <strong>how will it go?</strong>. I really don&#8217;t know. I am more than convinced that a product has to lead people to think &#8220;it just works&#8221;. I am more than convinced that <strong>an entrepreneur is a trust builder</strong>.<strong> You don&#8217;t just build a product, you build trustful relationships by means of a product</strong>. If people don&#8217;t trust you or your company they don&#8217;t use your products. If you don&#8217;t listen they don&#8217;t use your products.<br />
This attitude, coupled with excitement, is getting along with me these days. I don&#8217;t feel I am ready. I think I will never feel ready. There will always be something that I feel it&#8217;s unfinished. But you have to cut to the chase, otherwise you&#8217;ll never release. Moreover, you risk to work on stuff that is not needed by your audience. </p>
<p>My only commitment: <strong>I will listen</strong>. I am ready to receive mails and tweets that help to co-build the product.<br />
All this stuff is rumbling in my head as we are approaching the beta release of <a href="http://pomo.me">pomo.me</a>, the easiest web application to manage your time with the pomodoro technique.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fspreadingfunkyness.com%2Ffeelings-before-the-launch%2F&amp;title=Feelings%20before%20the%20launch" id="wpa2a_18"><img src="http://spreadingfunkyness.com/wp-content/plugins/add-to-any/share_save_120_16.gif" width="120" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://spreadingfunkyness.com/feelings-before-the-launch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

