<?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>iPassion</title>
	<atom:link href="http://www.ipassion.it/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ipassion.it</link>
	<description>Mauro Dalu, proud to be a Surgeworker</description>
	<lastBuildDate>Sun, 28 Feb 2010 13:41:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>iPad Characteristics</title>
		<link>http://surgeworks.com/blog/general/ipad-characteristics</link>
		<comments>http://surgeworks.com/blog/general/ipad-characteristics#comments</comments>
		<pubDate>Sun, 28 Feb 2010 13:41:50 +0000</pubDate>
		<dc:creator>Ivan Kalaica</dc:creator>
				<category><![CDATA[Blogosphere]]></category>

		<guid isPermaLink="false">http://surgeworks.com/blog/?p=1395</guid>
		<description><![CDATA[This is abstract about key iPad features and characteristics. Here you can learn few differences between iPhone and iPad phenomenon. :)

Split view – you can use this iPad-only element to display more than one view onscreen at a time, such as to present data in a master-detail or source list–style arrangement. The split view is a [...]]]></description>
			<content:encoded><![CDATA[<p style="font-size: 14px; line-height: 1.4em; margin-top: 3px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;">This is abstract about key iPad features and characteristics. Here you can learn few differences between iPhone and iPad phenomenon. :)</p>
<ol style="margin-top: 3px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;">
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 3px; padding-right: 0px; padding-bottom: 3px; padding-left: 0px; font-size: 14px; line-height: 1.4em;">Split view – you can use this iPad-only element to display more than one view onscreen at a time, such as to present data in a master-detail or source list–style arrangement. The split view is a common organizational element in iPad applications because it helps flatten the information hierarchy.</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 3px; padding-right: 0px; padding-bottom: 3px; padding-left: 0px; font-size: 14px; line-height: 1.4em;">Popover – you can use this iPad-only view to temporarily display additional information, controls, or choices related to content in the main view. The main benefit of the popover is that it can contain information or choices that don’t need to be in the main interface all the time.</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 3px; padding-right: 0px; padding-bottom: 3px; padding-left: 0px; font-size: 14px; line-height: 1.4em;">Results list button – you can use this system-provided button to reveal search results from a search bar.</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 3px; padding-right: 0px; padding-bottom: 3px; padding-left: 0px; font-size: 14px; line-height: 1.4em;">Modal views have new presentation styles – you can use styles such as full screen, partial screen, and form to present a modal interface that’s more closely tailored to your application’s user experience and visual design.</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 3px; padding-right: 0px; padding-bottom: 3px; padding-left: 0px; font-size: 14px; line-height: 1.4em;">Toolbars can be in additional locations – you can place a toolbar at the top or the bottom of a screen. You can also use a toolbar inside a split view or a popover.</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 3px; padding-right: 0px; padding-bottom: 3px; padding-left: 0px; font-size: 14px; line-height: 1.4em;">The edit menu can display custom items – you can supply menu items to augment or replace the standard Cut, Copy, Paste, Select, and Select All commands.</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 3px; padding-right: 0px; padding-bottom: 3px; padding-left: 0px; font-size: 14px; line-height: 1.4em;">The keyboard view can be customized – you can replace the system-provided keyboard view with a custom view that contains custom buttons.</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 3px; padding-right: 0px; padding-bottom: 3px; padding-left: 0px; font-size: 14px; line-height: 1.4em;">The keyboard view can include custom input accessories – you can supply auxiliary keyboard controls that users can tap to input application-defined content.</li>
<li style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 30px; padding-top: 3px; padding-right: 0px; padding-bottom: 3px; padding-left: 0px; font-size: 14px; line-height: 1.4em;">Custom text views can support text in multiple styles and offer advanced editing features – You can offer word-processing capabilities and support spell checking and autocompletion for text entry.</li>
</ol>
<p style="font-size: 14px; line-height: 1.4em; margin-top: 3px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;"><strong>iPhone Applications – iPhone applications are optimized to run on iPhone and iPod touch. These applications run on iPad in their original resolution or can be optionally set to be pixel- doubled to accommodate for the larger display.</strong></p>
<p><strong> </strong></p>
<p style="font-size: 14px; line-height: 1.4em; margin-top: 3px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;"><strong>iPad Applications – iPhone </strong><span><strong>SDK 3</strong></span><strong>.2 supports the development of iPad applications that are optimized to take advantage of iPad features, but run only on iPad.</strong></p>
<p style="font-size: 14px; line-height: 1.4em; margin-top: 3px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;"><strong>Universal Applications – iPhone <span>SDK 3</span>.2 supports the development of Universal applications. A Universal app is optimized to run on all iPhone OS devices—itʼs essentially an iPhone app and an iPad app built as a single binary.</strong></p>
<p style="font-size: 14px; line-height: 1.4em; margin-top: 3px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding: 0px;"><strong><span style="font-weight: normal;">Cheers!</span></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://surgeworks.com/blog/general/ipad-characteristics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iBoobs banned from the App Store: no more sexy ladies (or men) on the iPhone.</title>
		<link>http://surgeworks.com/blog/iphone/iboobs-banned-from-the-app-store-no-more-sexy-ladies-or-men-on-the-iphone</link>
		<comments>http://surgeworks.com/blog/iphone/iboobs-banned-from-the-app-store-no-more-sexy-ladies-or-men-on-the-iphone#comments</comments>
		<pubDate>Mon, 22 Feb 2010 17:44:01 +0000</pubDate>
		<dc:creator>Mauro Dalu</dc:creator>
				<category><![CDATA[Blogosphere]]></category>

		<guid isPermaLink="false">http://surgeworks.com/blog/?p=1392</guid>
		<description><![CDATA[With iPhone OS 3.0, Apple added an age rating system for applications. This not only allowed parents to set appropriate application access for their families, but also opened up the potential for developers to release applications with more adult-oriented content, until Apple received &#8220;numerous complaints&#8221; from users asking for the &#8220;Wobble iBoobs&#8221; app to be [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1391" title="iPhone-Bans-Boobs-5000-apps" src="http://surgeworks.com/blog/wp-content/uploads/2010/02/iPhone-Bans-Boobs-5000-apps.jpg" alt="iPhone-Bans-Boobs-5000-apps" width="300" height="300" />With iPhone OS 3.0, Apple added an age rating system for applications. This not only allowed parents to set appropriate application access for their families, but also opened up the potential for developers to release applications with more adult-oriented content, until Apple received &#8220;numerous complaints&#8221; from users asking for the &#8220;Wobble iBoobs&#8221; app to be removed from the App Store.<span id="more-1392"></span></p>
<p>Developer ChilliFresh, creator of the offending application which has been removed from the App Store last week, claimed that a discussion with Apple revealed the company removed more than 5,000 &#8220;overtly sexual&#8221; applications from the App Store. However, other adult oriented content, such as the official 99 cent Playboy app, remains for sale.</p>
<p>The developer, ChilliFresh, claimed that an Apple representative said images of both women and men in bikinis are inappropriate, as are words that have a sexual connotation. Apple allegedly is not allowing applications that can be &#8220;sexually arousing,&#8221; or that imply sexual content.</p>
<p>That number was supported by tracking from AppShopper.com, which found that more that nearly 4,000 applications were removed last Friday, Feb. 18. The total number of removed applications is said to have amounted to roughly 3 percent of the entire App Store.</p>
]]></content:encoded>
			<wfw:commentRss>http://surgeworks.com/blog/iphone/iboobs-banned-from-the-app-store-no-more-sexy-ladies-or-men-on-the-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel Moblin + Nokia Maemo = MeeGo</title>
		<link>http://surgeworks.com/blog/iphone/intel-moblin-nokia-maemo-meego</link>
		<comments>http://surgeworks.com/blog/iphone/intel-moblin-nokia-maemo-meego#comments</comments>
		<pubDate>Fri, 19 Feb 2010 11:49:36 +0000</pubDate>
		<dc:creator>Mauro Dalu</dc:creator>
				<category><![CDATA[Blogosphere]]></category>

		<guid isPermaLink="false">http://surgeworks.com/blog/?p=1383</guid>
		<description><![CDATA[Intel&#8217;s Mobilin and Nokia&#8217;s Maemo, two Linux-based mobile operating systems, will be merged into one platform. Intel and Nokia said the MeeGo platform will extend beyond smartphones and will be flexible enough to scale to larger devices like full-fledged computers or in-car systems.
The first devices running MeeGo, including a new phone from Nokia, are expected [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://surgeworks.com/blog/wp-content/uploads/2010/02/MeeGo-Intel-Nokia-OS.jpg" alt="MeeGo-Intel-Nokia-OS" title="MeeGo-Intel-Nokia-OS" width="300" height="300" class="alignleft size-full wp-image-1384" />Intel&#8217;s Mobilin and Nokia&#8217;s Maemo, two Linux-based mobile operating systems, will be merged into one platform. Intel and Nokia said the MeeGo platform will extend beyond smartphones and will be flexible enough to scale to larger devices like full-fledged computers or in-car systems.</p>
<p>The first devices running MeeGo, including a new phone from Nokia, are expected to arrive later in 2010.<span id="more-1383"></span></p>
<p>Both companies will keep their separate application stores: Intel&#8217;s AppUp for netbooks, and Nokia&#8217;s Ovi software store will remain.</p>
<p>Intel announced its Moblin operating system for low-cost notebooks based on the Atom processor. And Nokia&#8217;s Maemo 5.0, first introduced last summer, was expected to replace Symbian in the company&#8217;s high-end smartphones. The move would seem to signal the end of both platforms. The recent move to <a href="http://surgeworks.com/blog/iphone/nokias-symbian-goes-open-source-market-share-dropping-still-dominates-the-market">open source symbian</a> also means Nokia still intends to sell smartphones based on its Symbian platform, likely on entry level devices.</p>
]]></content:encoded>
			<wfw:commentRss>http://surgeworks.com/blog/iphone/intel-moblin-nokia-maemo-meego/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nokia’s Symbian goes open-source: market share dropping, still dominates the market.</title>
		<link>http://surgeworks.com/blog/iphone/nokias-symbian-goes-open-source-market-share-dropping-still-dominates-the-market</link>
		<comments>http://surgeworks.com/blog/iphone/nokias-symbian-goes-open-source-market-share-dropping-still-dominates-the-market#comments</comments>
		<pubDate>Fri, 19 Feb 2010 11:36:46 +0000</pubDate>
		<dc:creator>Mauro Dalu</dc:creator>
				<category><![CDATA[Blogosphere]]></category>

		<guid isPermaLink="false">http://surgeworks.com/blog/?p=1376</guid>
		<description><![CDATA[Nokia, the world&#8217;s largest cell phone maker, launched Symbian OS 10 years ago. It established the market for smart phones and helped propel Nokia to its market dominance. More than 330 million cell phones running Symbian OS have been produced by a number of makers, including Nokia, Samsung, Sony Ericsson, Motorola, LG, Sharp, Fujitsu, and [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://surgeworks.com/blog/wp-content/uploads/2010/02/Symbian-Open-Source.jpg" alt="Symbian-Open-Source" title="Symbian-Open-Source" width="300" height="300" class="alignleft size-full wp-image-1377" />Nokia, the world&#8217;s largest cell phone maker, launched Symbian OS 10 years ago. It established the market for smart phones and helped propel Nokia to its market dominance. More than 330 million cell phones running Symbian OS have been produced by a number of makers, including Nokia, Samsung, Sony Ericsson, Motorola, LG, Sharp, Fujitsu, and Huawei. The Symbian OS ended 2009 with a 48% global market share for smart phones, says ABI Research. That&#8217;s down from 63% in 2007, the year that saw the iPhone launch.</p>
<p>&#8220;Symbian has a huge installed base, but a prevailing issue is that the user interface is not good,&#8221; said William Stofega, an analyst at research firm IDC. &#8220;If Nokia is going to stick with Symbian, as they have said, (the operating system) has to be revitalized.&#8221;<span id="more-1376"></span></p>
<p>&#8220;The question is: can Symbian garner enough interest in the marketplace outside of Nokia?&#8221; said Jack Gold, principal of research firm J.Gold Associates. &#8220;Look at who&#8217;s endorsed Android: Motorola, Samsung, LG, HTC; it&#8217;s a long list. How many vendors are concentrating on Symbian?&#8221;</p>
<p>In an effort to completely open Symbian in order to better compete against Apple, RIM and Google, in June 2008 Nokia paid $410 million to Sony Ericsson, Panasonic and Samsung to buy all of the Symbian platform. Before that, Nokia owned 48%.</p>
<p>On Feb. 4, the Symbian Foundation released the first completely open-sourced version of its mobile phone operating system, a move it hopes will make it easier for developers to improve the software and create applications for use on Symbian-based phones. Developers will be able to download, modify and use the software at no charge.</p>
<p>The foundation also hopes to get more handset firms making Symbian phones.</p>
<p>&#8220;This is a significant milestone,&#8221; said Lee Williams, executive director of the London-based Symbian Foundation. &#8220;It makes us a stronger competitor.&#8221;</p>
<p>By 2012, Google&#8217;s Android will surpass Windows Phone and the iPhone to become the world’s No. 2 most popular mobile operating system behind Symbian, according to Gartner. As rival software gained market share, support for Symbian began to flag. Symbian hopes the new, open-sourced software will help reverse the slide. “We’ll see proliferation of converged devices based on Symbian happen this year,” says Larry Berkin, general manager for Symbian in the U.S.</p>
<p>Personally, I see Symbian as the OS for &#8220;cheap&#8221; smartphones. There are very many phones running Symbian well below the price tag of Android phones. People will go on buying Symbian powered phones because they are cheap, widespread (they likely already know how to interact with the device), and they provide the closer experience to a modern smartphone that they can afford. People will also tell you that Nokia phones are more feature packed then an iPhone: better camera, FM radio, powerful stereo speakers&#8230;</p>
<p>The system has undergo a great facelift. They are working toward a centralized app store, together with a workflow that will make purchasing apps easier. But only a change in Symbian&#8217;s average user behavior in regards to apps and a peak of apps sales has the hope to ignite a &#8220;Rinascimento&#8221; effect for this platform. Considering <a href="http://surgeworks.com/blog/iphone/intel-moblin-nokia-maemo-meego">Nokia&#8217;s recent partnership with Intel</a>, it looks like the No. 1 maker is not betting on Symbian their future.</p>
<p>So the point is, who is interested into building apps for a platform that is at the end of its life cycle?</p>
]]></content:encoded>
			<wfw:commentRss>http://surgeworks.com/blog/iphone/nokias-symbian-goes-open-source-market-share-dropping-still-dominates-the-market/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starting with Titanium and Android</title>
		<link>http://surgeworks.com/blog/iphone/starting-with-titanium-and-android</link>
		<comments>http://surgeworks.com/blog/iphone/starting-with-titanium-and-android#comments</comments>
		<pubDate>Thu, 18 Feb 2010 13:08:57 +0000</pubDate>
		<dc:creator>Radu Cojocaru</dc:creator>
				<category><![CDATA[Blogosphere]]></category>

		<guid isPermaLink="false">http://surgeworks.com/blog/?p=1338</guid>
		<description><![CDATA[Appcelerator Titanium is one of the 3 cross-platform mobile frameworks (the other 2 are Rhodes and PhoneGap). Similar to PhoneGap, it exposes devices capabilites through Javascript and you write your app using HTML, CSS and of course, Javascript. What really sets Titanium apart is its user interface API: you can use Javascript to create table [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1370" title="titanium-appcellerator-android" src="http://surgeworks.com/blog/wp-content/uploads/2010/02/titanium-appcellerator-android.png" alt="titanium-appcellerator-android" width="180" height="180" /><a href="http://www.appcelerator.com/">Appcelerator Titanium</a> is one of the 3 cross-platform mobile frameworks (the other 2 are Rhodes and PhoneGap). Similar to PhoneGap, it exposes devices capabilites through Javascript and you write your app using HTML, CSS and of course, Javascript. What really sets Titanium apart is its user interface API: you can use Javascript to create table views or other specific user interface controls. This leads to the best replication of the native look &amp; feel.<span id="more-1338"></span></p>
<h3>Android SDK installation</h3>
<p>* Download Android SDK from: <a href="http://developer.android.com/sdk/index.html">http://developer.android.com/sdk/index.html</a><br />
* Decompress the archive to <em>~/Library</em> for example<br />
* Run <em>~/Library/android-sdk-mac_86/tools/android</em><br />
* Go to <em>Settings</em>, check &#8220;<em>Force https://&#8230;&#8221; sources to be fetched using http://&#8230;</em>&#8221; and click <em>Save &amp; Apply</em></p>
<div><img class="image" title="android_settings" src="http://surgeworks.com/blog/wp-content/uploads/2010/02/android_settings.jpg" alt="android_settings" width="635" height="367" /></div>
<p>* Go to <em>Available Packages</em>, expand the default URL, select all and click <em>Install Selected </em>(it will take a while to download all SDK versions and you can find them in <em>~/Library/android-sdk-mac_86/platforms/</em>)</p>
<div><img class="image" src="http://surgeworks.com/blog/wp-content/uploads/2010/02/android_packages.jpg" alt="android_packages" width="694" height="366" /></div>
<p>You have now all versions of Android SDK installed on your machine.</p>
<h3>Titanium installation</h3>
<p>Download Titanium Developer from <a href="http://www.appcelerator.com/products/download/">http://www.appcelerator.com/products/download/</a>. This software allows you to create projects and build for simulator or device.</p>
<h3>Creating a project</h3>
<ol>
<li>Click <em>New Project</em> in Titanium</li>
<li>Fill <em>Mobile</em> for <em>Project type</em> (after this selection iPhone SDK and Android SDK at the bottom)</li>
<li>Click <em>Android SDK</em> and select the folder where you have the <em>Android SDK</em> (~/Library/android-sdk-mac_86_2/); a green check mark should appear after a few moments. <img class="aligncenter size-full wp-image-1344 image" title="titanium_create_project" src="http://surgeworks.com/blog/wp-content/uploads/2010/02/titanium_create_project.png" alt="titanium_create_project" width="450" height="466" /></li>
<li>Fill in the rest of the fields and click <em>Create Project</em> (a very basic app will be generated for you).<em><br />
</em></li>
<li>Now you should be able to select your project in the left panel (under <em>Projects</em>). In your project view, click <em>Test &amp; Package</em> and then <em>Run Android Emulator</em></li>
<li>It will take a few moments for Titanium to analyze what Android SDK versions you have on your machine. When it&#8217;s ready, you can select a version and click <em>Launch <img class="aligncenter size-full wp-image-1345 image" title="titanium_launch" src="http://surgeworks.com/blog/wp-content/uploads/2010/02/titanium_launch.jpg" alt="titanium_launch" width="500" height="42" /><br />
</em></li>
</ol>
<p>Android simulator takes longer to load than iPhone simulator, so be patient. If you want to see some sample projects you can download them from Titanium Mobile Dev Center: <a href="http://www.codestrong.com/timobile/samples/">http://www.codestrong.com/timobile/samples/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://surgeworks.com/blog/iphone/starting-with-titanium-and-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 Phone Series: Microsoft is doing something “new” and “original”?</title>
		<link>http://surgeworks.com/blog/iphone/windows-7-phone-series-microsoft-is-doing-something-new-and-original</link>
		<comments>http://surgeworks.com/blog/iphone/windows-7-phone-series-microsoft-is-doing-something-new-and-original#comments</comments>
		<pubDate>Tue, 16 Feb 2010 10:35:00 +0000</pubDate>
		<dc:creator>Mauro Dalu</dc:creator>
				<category><![CDATA[Blogosphere]]></category>

		<guid isPermaLink="false">http://surgeworks.com/blog/?p=1332</guid>
		<description><![CDATA[Just four months after Windows Mobile 6.5 hit the market, Microsoft has officially introduced Windows Phone 7 Series, the new multitouch-capable mobile operating system designed to defeat Apple&#8217;s iPhone.
We were all looking at the iPad and suddenly, Microsoft comes with this new, impressive, and I would dare to say &#8220;original&#8221; take on the mobile phones [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1333" title="Windows-7-Phone-Series" src="http://surgeworks.com/blog/wp-content/uploads/2010/02/Windows-7-Phone-Series.jpg" alt="Windows-7-Phone-Series" width="300" height="300" />Just four months after Windows Mobile 6.5 hit the market, Microsoft has officially introduced Windows Phone 7 Series, the new multitouch-capable mobile operating system designed to defeat Apple&#8217;s iPhone.</p>
<p>We were all looking at the iPad and suddenly, Microsoft comes with this new, impressive, and I would dare to say &#8220;original&#8221; take on the mobile phones with a whole new OS. Yes, you read it well, I, the guy coming from Apple&#8217;s EvangeList, am saying Microsoft has done something &#8220;new&#8221; and &#8220;original&#8221;&#8230; How&#8217;s that? Read on to find out.<span id="more-1332"></span></p>
<p>The new Microsoft Windows 7 Phone Series has a terrible name, but looks amazing. Microsoft mobile market share has been free falling since the iPhone introduction, while Android made things just worse for them. The software giant had to take action and they did by reinventing their mobile experience from scratch and for once, they didn&#8217;t just copy Apple.</p>
<p>&#8220;In a crowded market filled with phones that look the same and do the same things, I challenged the team to deliver a different kind of mobile experience,&#8221; Microsoft Chief Executive Steve Ballmer said. &#8220;Windows Phone 7 Series marks a turning point toward phones that truly reflect the speed of people’s lives and their need to connect to other people and all kinds of seamless experiences.&#8221;</p>
<p>Apple&#8217;s iPhone has a static home screen that shows you a list of apps. Period. It has a customizable dock on which you&#8217;ll surely want to keep the Phone and Messages apps, leaving you just 2 spaces for quick access to other features. The App Store has outgrown the OS interface so much that I have 10 pages of apps on my device, and in many cases, Spotlight won&#8217;t be enough to help me find what I need (how can I recall 160 app names?). Of corse, you can keep everything organized using iTunes and keep on the first page of your phone the most used apps, but that is kind of cumbersome.</p>
<p>Microsoft is not likely to have this problem right now: their marketplace isn&#8217;t even comparable, and whatever they do to attract developers, their platform hasn&#8217;t the market share, sales traction and revenue promises to get developers attention. They know it, and they didn&#8217;t bet on that: if you look at the new Windows 7 Phone Series, you will hardly see where the 3rd parties apps fit in the mix.</p>
<p>Instead, their bet is on the social aspect of the phone. They made their platform a hub of all the social activities: live Facebook (and Windows Live) status updates, photos, location aware internet searches. And they populated the home screen with lots of quick access &#8220;badge-able&#8221; buttons (recent calls, messages, unread e-mail, people&#8230;). The new software&#8217;s &#8220;Start&#8221; screen includes constantly updated &#8220;live tiles&#8221; that show users real-time content. Microsoft has touted these as &#8220;breaking the mold of static icons that serve as an intermediate step on the way to an application.&#8221;</p>
<p>For example, creating a tile for a contact would allow live updates on the person, such as newly uploaded Facebook photos or status updates. The information could be gleaned from the Start page without ever loading an application.</p>
<p>Windows Phone 7 Series includes &#8220;integrated services&#8221; that Microsoft has dubbed &#8220;Hubs.&#8221; These are divided into six categories that aim to make it easy for users to gather information: People, Pictures, Games, Music + Video, Marketplace, and Office.</p>
<p>They added to the mix a bunch of eye candy&#8230; animations, effects, items scrolling at different speeds. Everything says &#8220;look, I&#8217;m amazing and your iPhone doesn&#8217;t do any of this&#8221;.</p>
<p>The six hubs in Windows Phone 7 Series were selected because they represent the activities and information that are most important to people, Microsoft said. The following is a breakdown of the hubs included in the new software:</p>
<ul>
<li>People: Ties in live feeds from social networks and photos to contacts. Includes a central place to post updates to Facebook and Windows Live.</li>
<li>Pictures: Allows users to share photos and videos with a social network. Also integrates with the Web and PC, allowing users to view their entire picture and video collection.</li>
<li>Games: Connects with Xbox Live and plays games. Allows users to see a gamer&#8217;s Xbox Live avatar, achievements and gamer profile.</li>
<li>Music + Video: Brings &#8220;the best of Zune,&#8221; Microsoft said, to the mobile phone. Includes online music services, syncing with content from a PC, and a built-in FM radio. Also connects with Zune Social for sharing music.</li>
<li>Marketplace: Microsoft&#8217;s own app store gives access to certified applications and games.</li>
<li>Office: Offers access to Microsoft Office, oneNote and SharePoint Workspace. Users can read, edit and share documents. Also offers access to Outlook Mobile.</li>
</ul>
<p>Microsoft is building this targeting the 2010 holiday season, and is not compromising: no phone on the market today will run this. They built all this targeting the latest and greatest hardware available this year. The new OS comes with a new, specific hardware design that has 3 buttons: start, search and back. The dedicated Bing button will allow one-click access to search from anywhere within the phone. Integration with Bing search allows the system to automatically locate the user and allows them to conduct a local search.</p>
<p>The Start button is all about branding: it has the windows logo. You won&#8217;t need to dig into the phones specs to get what OS that model is running.</p>
<p>Microsoft has partnered with a number of carriers and manufacturers around the world to bring the first Windows Phone 7 Series handsets to market later this year. Mobile operators include AT&amp;T, Deutsche Telekom AG, Orange, SFR, Sprint, Telecom Italia, Telefónica, Telstra, T-Mobile USA, Verizon Wireless and Vodafone. Manufacturers include Dell, Garmin-Asus, HTC Corp., HP, LG, Samsung, Sony Ericsson, Toshiba and Qualcomm Inc.</p>
<p>All we have to look at now are screenshots and a couple of videos on YouTube. The platform looks very promising and is finally giving people something else that is worth too look at as a &#8220;different&#8221; alternative to the iPhone.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="295" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/7IOTrqlz4jo&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="295" src="http://www.youtube.com/v/7IOTrqlz4jo&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Now let&#8217;s look at the doubts for a minute.</p>
<p>Live updates on the home screen: that is awesome&#8230; but how will that affect battery life?<br />
We have people turning off push notifications on the iPhone for that reason, so what drain will these live updates represent? Is this done through a similar technology (one connection to get all updates) or will this use multiple connections to multiple servers for different sources of contents?</p>
<p>Will the home screen be customizable? It looks like 3rd parties applications will be able to add new &#8220;live&#8221; elements to the home screen. If that is the case, what degree of customization will be possible? How much control will the user have on what is happening on the device?</p>
<p>How did they solve multi-tasking and application switching? Did they design everything in the OS to be as polished and refined as this front-end they are showing off or behind it we&#8217;ll find a &#8220;C prompt&#8221; thing and a scary &#8220;task manager&#8221;?</p>
<p>Will 3rd parties develop for this device?<br />
Microsoft is moving toward XBox Live integration. At the time they entered the console market, the software giant acquired several smaller games development companies (including the Mac games developer Bungie, that became famous on the XBox thanks to the Halo series) &#8212; so they have the means to keep their marketplace filled with quality games and software even without opening the doors to third parties. I would expect the Windows 7 Phone Series marketplace to be populated by titles from bigger developers (namely Electronic Arts, Gameloft) rather then a place in which an Indie can make a living.  Microsoft is already including Office in the mix, so I doubt they will attract many productivity apps developers.</p>
<p>Will Apple catch up?<br />
We are waiting for a major release in June (iPhone OS 4). Apple now has 3 very different devices to support with their OS (a phone, a music player and an ebook reader)&#8230; Will they effort spread too thin to keep up with the competition? Is there something in Jobs hat that will blow this away?</p>
]]></content:encoded>
			<wfw:commentRss>http://surgeworks.com/blog/iphone/windows-7-phone-series-microsoft-is-doing-something-new-and-original/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 Phone Series: Microsoft is doing something “new” and “original”?</title>
		<link>http://surgeworks.com/blog/iphone/windows-7-phone-series-microsoft-is-doing-something-new-and-original</link>
		<comments>http://surgeworks.com/blog/iphone/windows-7-phone-series-microsoft-is-doing-something-new-and-original#comments</comments>
		<pubDate>Tue, 16 Feb 2010 10:35:00 +0000</pubDate>
		<dc:creator>Mauro Dalu</dc:creator>
				<category><![CDATA[Blogosphere]]></category>

		<guid isPermaLink="false">http://surgeworks.com/blog/?p=1332</guid>
		<description><![CDATA[Just four months after Windows Mobile 6.5 hit the market, Microsoft has officially introduced Windows Phone 7 Series, the new multitouch-capable mobile operating system designed to defeat Apple&#8217;s iPhone.
We were all looking at the iPad and suddenly, Microsoft comes with this new, impressive, and I would dare to say &#8220;original&#8221; take on the mobile phones [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1333" title="Windows-7-Phone-Series" src="http://surgeworks.com/blog/wp-content/uploads/2010/02/Windows-7-Phone-Series.jpg" alt="Windows-7-Phone-Series" width="300" height="300" />Just four months after Windows Mobile 6.5 hit the market, Microsoft has officially introduced Windows Phone 7 Series, the new multitouch-capable mobile operating system designed to defeat Apple&#8217;s iPhone.</p>
<p>We were all looking at the iPad and suddenly, Microsoft comes with this new, impressive, and I would dare to say &#8220;original&#8221; take on the mobile phones with a whole new OS. Yes, you read it well, I, the guy coming from Apple&#8217;s EvangeList, am saying Microsoft has done something &#8220;new&#8221; and &#8220;original&#8221;&#8230; How&#8217;s that? Read on to find out.<span id="more-1332"></span></p>
<p>The new Microsoft Windows 7 Phone Series has a terrible name, but looks amazing. Microsoft mobile market share has been free falling since the iPhone introduction, while Android made things just worse for them. The software giant had to take action and they did by reinventing their mobile experience from scratch and for once, they didn&#8217;t just copy Apple.</p>
<p>&#8220;In a crowded market filled with phones that look the same and do the same things, I challenged the team to deliver a different kind of mobile experience,&#8221; Microsoft Chief Executive Steve Ballmer said. &#8220;Windows Phone 7 Series marks a turning point toward phones that truly reflect the speed of people’s lives and their need to connect to other people and all kinds of seamless experiences.&#8221;</p>
<p>Apple&#8217;s iPhone has a static home screen that shows you a list of apps. Period. It has a customizable dock on which you&#8217;ll surely want to keep the Phone and Messages apps, leaving you just 2 spaces for quick access to other features. The App Store has outgrown the OS interface so much that I have 10 pages of apps on my device, and in many cases, Spotlight won&#8217;t be enough to help me find what I need (how can I recall 160 app names?). Of corse, you can keep everything organized using iTunes and keep on the first page of your phone the most used apps, but that is kind of cumbersome.</p>
<p>Microsoft is not likely to have this problem right now: their marketplace isn&#8217;t even comparable, and whatever they do to attract developers, their platform hasn&#8217;t the market share, sales traction and revenue promises to get developers attention. They know it, and they didn&#8217;t bet on that: if you look at the new Windows 7 Phone Series, you will hardly see where the 3rd parties apps fit in the mix.</p>
<p>Instead, their bet is on the social aspect of the phone. They made their platform a hub of all the social activities: live Facebook (and Windows Live) status updates, photos, location aware internet searches. And they populated the home screen with lots of quick access &#8220;badge-able&#8221; buttons (recent calls, messages, unread e-mail, people&#8230;). The new software&#8217;s &#8220;Start&#8221; screen includes constantly updated &#8220;live tiles&#8221; that show users real-time content. Microsoft has touted these as &#8220;breaking the mold of static icons that serve as an intermediate step on the way to an application.&#8221;</p>
<p>For example, creating a tile for a contact would allow live updates on the person, such as newly uploaded Facebook photos or status updates. The information could be gleaned from the Start page without ever loading an application.</p>
<p>Windows Phone 7 Series includes &#8220;integrated services&#8221; that Microsoft has dubbed &#8220;Hubs.&#8221; These are divided into six categories that aim to make it easy for users to gather information: People, Pictures, Games, Music + Video, Marketplace, and Office.</p>
<p>They added to the mix a bunch of eye candy&#8230; animations, effects, items scrolling at different speeds. Everything says &#8220;look, I&#8217;m amazing and your iPhone doesn&#8217;t do any of this&#8221;.</p>
<p>The six hubs in Windows Phone 7 Series were selected because they represent the activities and information that are most important to people, Microsoft said. The following is a breakdown of the hubs included in the new software:</p>
<ul>
<li>People: Ties in live feeds from social networks and photos to contacts. Includes a central place to post updates to Facebook and Windows Live.</li>
<li>Pictures: Allows users to share photos and videos with a social network. Also integrates with the Web and PC, allowing users to view their entire picture and video collection.</li>
<li>Games: Connects with Xbox Live and plays games. Allows users to see a gamer&#8217;s Xbox Live avatar, achievements and gamer profile.</li>
<li>Music + Video: Brings &#8220;the best of Zune,&#8221; Microsoft said, to the mobile phone. Includes online music services, syncing with content from a PC, and a built-in FM radio. Also connects with Zune Social for sharing music.</li>
<li>Marketplace: Microsoft&#8217;s own app store gives access to certified applications and games.</li>
<li>Office: Offers access to Microsoft Office, oneNote and SharePoint Workspace. Users can read, edit and share documents. Also offers access to Outlook Mobile.</li>
</ul>
<p>Microsoft is building this targeting the 2010 holiday season, and is not compromising: no phone on the market today will run this. They built all this targeting the latest and greatest hardware available this year. The new OS comes with a new, specific hardware design that has 3 buttons: start, search and back. The dedicated Bing button will allow one-click access to search from anywhere within the phone. Integration with Bing search allows the system to automatically locate the user and allows them to conduct a local search.</p>
<p>The Start button is all about branding: it has the windows logo. You won&#8217;t need to dig into the phones specs to get what OS that model is running.</p>
<p>Microsoft has partnered with a number of carriers and manufacturers around the world to bring the first Windows Phone 7 Series handsets to market later this year. Mobile operators include AT&amp;T, Deutsche Telekom AG, Orange, SFR, Sprint, Telecom Italia, Telefónica, Telstra, T-Mobile USA, Verizon Wireless and Vodafone. Manufacturers include Dell, Garmin-Asus, HTC Corp., HP, LG, Samsung, Sony Ericsson, Toshiba and Qualcomm Inc.</p>
<p>All we have to look at now are screenshots and a couple of videos on YouTube. The platform looks very promising and is finally giving people something else that is worth too look at as a &#8220;different&#8221; alternative to the iPhone.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="295" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/7IOTrqlz4jo&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="295" src="http://www.youtube.com/v/7IOTrqlz4jo&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Now let&#8217;s look at the doubts for a minute.</p>
<p>Live updates on the home screen: that is awesome&#8230; but how will that affect battery life?<br />
We have people turning off push notifications on the iPhone for that reason, so what drain will these live updates represent? Is this done through a similar technology (one connection to get all updates) or will this use multiple connections to multiple servers for different sources of contents?</p>
<p>Will the home screen be customizable? It looks like 3rd parties applications will be able to add new &#8220;live&#8221; elements to the home screen. If that is the case, what degree of customization will be possible? How much control will the user have on what is happening on the device?</p>
<p>How did they solve multi-tasking and application switching? Did they design everything in the OS to be as polished and refined as this front-end they are showing off or behind it we&#8217;ll find a &#8220;C prompt&#8221; thing and a scary &#8220;task manager&#8221;?</p>
<p>Will 3rd parties develop for this device?<br />
Microsoft is moving toward XBox Live integration. At the time they entered the console market, the software giant acquired several smaller games development companies (including the Mac games developer Bungie, that became famous on the XBox thanks to the Halo series) &#8212; so they have the means to keep their marketplace filled with quality games and software even without opening the doors to third parties. I would expect the Windows 7 Phone Series marketplace to be populated by titles from bigger developers (namely Electronic Arts, Gameloft) rather then a place in which an Indie can make a living.  Microsoft is already including Office in the mix, so I doubt they will attract many productivity apps developers.</p>
<p>Will Apple catch up?<br />
We are waiting for a major release in June (iPhone OS 4). Apple now has 3 very different devices to support with their OS (a phone, a music player and an ebook reader)&#8230; Will they effort spread too thin to keep up with the competition? Is there something in Jobs hat that will blow this away?</p>
]]></content:encoded>
			<wfw:commentRss>http://surgeworks.com/blog/iphone/windows-7-phone-series-microsoft-is-doing-something-new-and-original/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is Apple looking into licensing the iPhone OS?</title>
		<link>http://surgeworks.com/blog/iphone/is-apple-looking-into-licensing-the-iphone-os</link>
		<comments>http://surgeworks.com/blog/iphone/is-apple-looking-into-licensing-the-iphone-os#comments</comments>
		<pubDate>Sat, 13 Feb 2010 01:00:04 +0000</pubDate>
		<dc:creator>Mauro Dalu</dc:creator>
				<category><![CDATA[Blogosphere]]></category>

		<guid isPermaLink="false">http://surgeworks.com/blog/?p=1311</guid>
		<description><![CDATA[Could Apple bet on the App Store revenues and licensing revenues and give away the iPhone OS to third parties?
Will we ever see a Motorola or HTC built phone running the iPhone OS? Will we ever see inexpensive chinese phones running it?&#8230; Let&#8217;s see what that would mean to Apple.
Apple&#8217;s iPhone with its iPhone SDK [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1092" title="iphone-os-licensed-devices" src="http://surgeworks.com/blog/wp-content/uploads/2010/01/palmOS-devices.jpg" alt="iphone-os-licensed-devices" width="300" height="300" />Could Apple bet on the App Store revenues and licensing revenues and give away the iPhone OS to third parties?</p>
<p>Will we ever see a Motorola or HTC built phone running the iPhone OS? Will we ever see inexpensive chinese phones running it?&#8230; Let&#8217;s see what that would mean to Apple.<span id="more-1311"></span></p>
<p>Apple&#8217;s iPhone with its iPhone SDK is currently the reference smartphone operating system everybody is looking at and together with the App Store, it is the business model every other company is competing with.</p>
<p>Apple is in the strongest position in the market: with more then 40 millions iPhones and iPods Touch sold and with the iPad coming soon, the iPhone OS is quickly establishing itself as the leading platform for mobile software and gaming.</p>
<p>The App Store recently reached 3 billion downloads: its success was so great everybody is trying to replicate the model. In 2008, Steve Jobs said: &#8220;Who knows, maybe it will be a $1 billion marketplace at some point in time [...] I&#8217;ve never seen anything like this in my career for software. Phone differentiation used to be about radios and antennas and things like that,&#8221; Jobs said. &#8220;We think, going forward, the phone of the future will be differentiated by software.&#8221;</p>
<p>Intel, AT&amp;T, Microsoft, Google, Palm, Nokia and RIM have their own software catalogs now. All these companies realized that user experience is the most important factor in the smartphones market and a new wave of operating system has started spreading since the iPhone was first introduced. Google Android, Palm&#8217;s WebOS, Windows Mobile and in the future Nokia&#8217;s Maemo and Samsung&#8217;s Bada OS.</p>
<p>With an estimated <a href="http://www.appleinsider.com/articles/09/06/24/cost_to_build_apples_new_iphone_3g_s_estimated_at_179.html" >production cost</a> below 200$, some &#8220;maccheroni math&#8221; tells us the iPhone is likely to produce a revenue of about 300$ for each device sold. Let&#8217;s say of those 40 millions devices 30 were iPhones. That&#8217;s something like $9 billion revenue from iPhones since January 2007 or $3 billion per year.</p>
<p>Back in August 2009, Steve Jobs said the App Store was pulling in $1 million a day in sales. Now, that was a long time ago, and the App Store has grown tremendously since then, but let&#8217;s go with that figure for argument&#8217;s sake.</p>
<p>$1 million a day means that Apple would be making $300,000 a day (its 30% cut). Extrapolated out over 12 months that would be about $90 million. Even if the stores doubles its size every year and even if licensing the OS the user base would double the current iPhone&#8217;s user base, and even if the license cost would double the revenue Apple takes form the store&#8230; the numbers would not approach the revenue Apple is making on hardware sales.</p>
<p>Therefore, unfortunately for all of you who would be looking forward to cheaper iPhone OS powered devices, my take is Apple will never license it.</p>
]]></content:encoded>
			<wfw:commentRss>http://surgeworks.com/blog/iphone/is-apple-looking-into-licensing-the-iphone-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code blocks with optional arguments in Ruby 1.8.x</title>
		<link>http://surgeworks.com/blog/general/code-blocks-with-optional-arguments-in-ruby-1-8-x</link>
		<comments>http://surgeworks.com/blog/general/code-blocks-with-optional-arguments-in-ruby-1-8-x#comments</comments>
		<pubDate>Sat, 13 Feb 2010 00:29:17 +0000</pubDate>
		<dc:creator>Cássio Marques</dc:creator>
				<category><![CDATA[Blogosphere]]></category>

		<guid isPermaLink="false">http://surgeworks.com/blog/?p=1323</guid>
		<description><![CDATA[Ruby 1.9 has some cool new features. One of them is the ability to define default values for the arguments passed to code blocks, like in the following example:

pow = proc &#123; &#124;a, b = 2&#124; a**b &#125;
&#160;
pow.call 3, 3
# 27
&#160;
pow.call 3
# 9

This is very useful, for instance, when we dynamically create new methods using [...]]]></description>
			<content:encoded><![CDATA[<p>Ruby 1.9 has some cool new features. One of them is the ability to define default values for the arguments passed to code blocks, like in the following example:</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">pow = <span style="color:#CC0066; font-weight:bold;">proc</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#006600; font-weight:bold;">|</span>a, b = <span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">|</span> a<span style="color:#006600; font-weight:bold;">**</span>b <span style="color:#006600; font-weight:bold;">&#125;</span>
&nbsp;
pow.<span style="color:#9900CC;">call</span> <span style="color:#006666;">3</span>, <span style="color:#006666;">3</span>
<span style="color:#008000; font-style:italic;"># 27</span>
&nbsp;
pow.<span style="color:#9900CC;">call</span> <span style="color:#006666;">3</span>
<span style="color:#008000; font-style:italic;"># 9</span></pre></div></div>

<p>This is very useful, for instance, when we dynamically create new methods using metaprogramming and want some of the arguments for these methods to be optional.</p>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> MyMath
  <span style="color:#9966CC; font-weight:bold;">class</span> <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#0000FF; font-weight:bold;">self</span>
    define_method <span style="color:#ff3333; font-weight:bold;">:pow</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>base, exponent = <span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">|</span>
      base<span style="color:#006600; font-weight:bold;">**</span>exponent
    <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
MyMath.<span style="color:#9900CC;">pow</span> <span style="color:#006666;">3</span> <span style="color:#008000; font-style:italic;"># 9</span>
MyMath.<span style="color:#9900CC;">pow</span> <span style="color:#006666;">2</span>, <span style="color:#006666;">3</span> <span style="color:#008000; font-style:italic;"># 8</span></pre></div></div>

<p>But in Ruby 1.8.x we can&#8217;t do that, we can&#8217;t define default values the arguments of a code block. So what if your application runs on 1.8.x and you need to dynamically create methods with optional arguments? There is a solution, not so elegant as the Ruby 1.9 approach but still very functional and simple:</p>
</pre>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">class</span> MyMath
  <span style="color:#9966CC; font-weight:bold;">class</span> <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#0000FF; font-weight:bold;">self</span>
    define_method <span style="color:#ff3333; font-weight:bold;">:pow</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|*</span>args<span style="color:#006600; font-weight:bold;">|</span>
      base, exponent = args<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>, args<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span> <span style="color:#006600; font-weight:bold;">||</span> <span style="color:#006666;">2</span>
      base<span style="color:#006600; font-weight:bold;">**</span>exponent
    <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
MyMath.<span style="color:#9900CC;">pow</span> <span style="color:#006666;">3</span> <span style="color:#008000; font-style:italic;"># 9</span>
MyMath.<span style="color:#9900CC;">pow</span> <span style="color:#006666;">2</span>, <span style="color:#006666;">3</span> <span style="color:#008000; font-style:italic;"># 8</span></pre></div></div>

<p>When we pass a splat (that thing with an asterisk on the left) as the argument to the block, whatever gets there will be treated as an array. This way, we can simulate the existence of default values for those arguments. We can actually pass any number of arguments and define the default values in any way we want.</p>
<p>What is lost, unfortunately, is the ability to validate the number of arguments that the method should receive when called. But we can do that validating the elements inside the array that the block receives.</p>
<p>I usually use this technique to create methods that can optionally receive an options hash, what is very useful when writing plugins or gems, for instance:</p>
</pre>

<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">module</span> MyModule
  <span style="color:#9966CC; font-weight:bold;">module</span> ClassMethods
    <span style="color:#9966CC; font-weight:bold;">def</span> do_the_magic
      class_eval <span style="color:#9966CC; font-weight:bold;">do</span>
        define_method <span style="color:#ff3333; font-weight:bold;">:magic_method</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|*</span>args<span style="color:#006600; font-weight:bold;">|</span>
          options = args.<span style="color:#9900CC;">first</span> <span style="color:#006600; font-weight:bold;">||</span> <span style="color:#006600; font-weight:bold;">&#123;</span><span style="color:#006600; font-weight:bold;">&#125;</span>
          <span style="color:#008000; font-style:italic;"># ... </span>
        <span style="color:#9966CC; font-weight:bold;">end</span>
      <span style="color:#9966CC; font-weight:bold;">end</span>
    <span style="color:#9966CC; font-weight:bold;">end</span>
  <span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
  <span style="color:#9966CC; font-weight:bold;">def</span> <span style="color:#0000FF; font-weight:bold;">self</span>.<span style="color:#9900CC;">included</span><span style="color:#006600; font-weight:bold;">&#40;</span>base<span style="color:#006600; font-weight:bold;">&#41;</span>
    base.<span style="color:#9900CC;">extend</span> ClassMethods
  <span style="color:#9966CC; font-weight:bold;">end</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
<span style="color:#9966CC; font-weight:bold;">class</span> MyClass
  <span style="color:#9966CC; font-weight:bold;">include</span> MyModule
  do_the_magic
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
obj = MyClass.<span style="color:#9900CC;">new</span>
obj.<span style="color:#9900CC;">magic_method</span> <span style="color:#008000; font-style:italic;"># works</span>
obj.<span style="color:#9900CC;">magic_method</span> <span style="color:#ff3333; font-weight:bold;">:abra</span> <span style="color:#006600; font-weight:bold;">=&gt;</span> <span style="color:#996600;">&quot;cadabra&quot;</span> <span style="color:#008000; font-style:italic;"># also works!</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://surgeworks.com/blog/general/code-blocks-with-optional-arguments-in-ruby-1-8-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get 5 star reviews from your iPhone app’s happy users</title>
		<link>http://surgeworks.com/blog/iphone/how-to-get-5-star-reviews-from-your-iphone-apps-happy-users</link>
		<comments>http://surgeworks.com/blog/iphone/how-to-get-5-star-reviews-from-your-iphone-apps-happy-users#comments</comments>
		<pubDate>Thu, 11 Feb 2010 14:07:40 +0000</pubDate>
		<dc:creator>Radu Cojocaru</dc:creator>
				<category><![CDATA[Blogosphere]]></category>

		<guid isPermaLink="false">http://surgeworks.com/blog/?p=1271</guid>
		<description><![CDATA[ Analyzing how users are prompted to review iPhone apps,  it seems that our apps are more likely to get negative reviews. Here&#8217;s why: a user is prompted to rate an app when he deletes it. When the app is deleted, it is pretty safe to say that the user was not satisfied with it, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-1272" title="iphone_app_reviews" src="http://surgeworks.com/blog/wp-content/uploads/2010/02/iphone_app_reviews.png" alt="iphone_app_reviews" width="276" height="327" /> Analyzing how users are prompted to review iPhone apps,  it seems that our apps are more likely to get negative reviews. Here&#8217;s why: a user is prompted to rate an app <a href="http://surgeworks.com/blog/iphone/apples-reviews-system-on-the-app-store-is-unfair">when he deletes it</a>. When the app is deleted, it is pretty safe to say that the user was not satisfied with it, so the review will be a negative one. That&#8217;s ok, if the app is not good enough, other users should know that. But what about the good/great apps, the ones that you use successfully and don&#8217;t delete. Shouldn&#8217;t you be encouraged to leave a review in this case too? That review would probably be a positive one, or at least constructiv (you might say what you would like to see improved).</p>
<p>Read on to learn how we solved this and get the full source code to add this feature to your own app!<span id="more-1271"></span></p>
<p>Why not invite the user to leave a review for your app, after 10, 20 or 30 days of use? An alert will pop up, similar to the image above, and the user will have the options to go to the App Store in order to leave a review, hide the alert temporary or permanently.</p>
<p>After how many days should you show this alert?<br />
If you&#8217;re publishing a new app, more days is probably better than less. Our class defaults to 10 days, which we find to be a good compromise. Choosing fewer days might get you more reviews, but if someone is still using the app after a couple of weeks, it is a lot more likely that he will leave a 5 stars review.</p>
<p>If you&#8217;re publishing an update to your app, you can have the pop-up shown at the very first launch, because people updating will be likely to leave a positive review. If you know your app has a good user base, then you can bet on your loyal users because first time users would be more likely to just dismiss the dialog.</p>
<p>Let&#8217;s see now the technical part. The good news is that you can add this to your project really easy: add the following Objective-C class, ReviewsAlert, to your project, and include this line of code in your <em>applicationDidFinishLaunching</em> method:</p>

<div class="wp_syntax"><div class="code"><pre class="objective-c" style="font-family:monospace;">[ReviewsAlert showReviewsAlert];</pre></div></div>

<p>You should also modify the reviews URL (put the id of your app); line 59 in ReviewsAlert.m:</p>

<div class="wp_syntax"><div class="code"><pre class="objective-c" style="font-family:monospace;">[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@&quot;http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=307757516&amp;amp;pageNumber=0&amp;amp;sortOrdering=1&amp;amp;type=Purple+Software&quot;]];</pre></div></div>

<p>You can change the number of days on line 39:</p>

<div class="wp_syntax"><div class="code"><pre class="objective-c" style="font-family:monospace;">int daysToWait = (3600 * 24) * 10; // 10 days</pre></div></div>

<p>NSUserDefaults class is used to store the initial date (when the user first ran the app). Every time the app is launched, we substract that date from the current date and calculate if the required number of days passed already.</p>
<p>NSUserDefaults is also used to store boolean variables like <em>reviewsAlertBanned</em> (set on YES if the user tapped <em>Don&#8217;t ask again</em>) and <em>userDidRate</em> (if the user tapped <em>Go to the App Store</em>).</p>
<p>Here are the 2 files that you need to download:</p>
<ul>
<li><a href="http://surgeworks.com/blog/wp-content/uploads/2010/02/ReviewsAlert.h">ReviewsAlert.h</a></li>
<li><a href="http://surgeworks.com/blog/wp-content/uploads/2010/02/ReviewsAlert.m">ReviewsAlert.m</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://surgeworks.com/blog/iphone/how-to-get-5-star-reviews-from-your-iphone-apps-happy-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
