<?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>MIH SWAT &#187; apple</title>
	<atom:link href="http://www.mihswat.com/tag/apple/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mihswat.com</link>
	<description>Headquarters of the Strategic Worldwide Applications and Technologies Team</description>
	<lastBuildDate>Tue, 31 Jan 2012 09:59:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>My Journey to planet Android</title>
		<link>http://www.mihswat.com/2009/09/28/my-journey-to-planet-android/</link>
		<comments>http://www.mihswat.com/2009/09/28/my-journey-to-planet-android/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 09:11:17 +0000</pubDate>
		<dc:creator>Bradley Wells</dc:creator>
				<category><![CDATA[Mobile]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[swat]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.mihswat.com/?p=838</guid>
		<description><![CDATA[Coming from a Flash Developer background I have had no experience with mobile application development. From the time I saw the first phone to run Android, the G1, I have been itching to get into Android development. So when I &#8230; <a href="http://www.mihswat.com/2009/09/28/my-journey-to-planet-android/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Coming from a Flash Developer background I have had no experience with mobile application development. From the time I saw the first phone to run Android, the G1, I have been itching to get into Android development. So when I was recently given the go-ahead to take this journey into the <a title="Android" href="http://www.android.com/" target="_blank">Android</a> world, plus a shiny new Android phone <img src='http://www.mihswat.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  , I was both excited and nervous<span id="more-838"></span> . Why nervous? Firstly, I had never developed for a mobile device before, secondly I had never written  a Java application before and lastly because I had no idea how the Android framework actually worked . But this is what we as SWAT employees love, new territory to conquer ! If you havent seen a Android device yet, see the video below of the new HTC Hero.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" 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/FKTDSfbcbBU&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0xe1600f&amp;color2=0xfebd01" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="400" height="295" src="http://www.youtube.com/v/FKTDSfbcbBU&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0xe1600f&amp;color2=0xfebd01" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Nowadays it&#8217;s almost impossible to write an article about mobile phones without mentioning the very successful<a title="iPhone" href="http://www.mihswat.com/2009/09/22/i-dont-like-the-iphone/" target="_self"> iPhone</a>. <a title="Apple" href="http://www.apple.com" target="_blank">Apple</a> had practically turned the mobile  industry upside down with its touch screen device. Some people will argue to the death about how the iPhone, or the &#8220;Jesus Phone&#8221; as some call it, is the best thing since sliced bread &#8211; and nobody can argue against how successful this device has become. But I am predicting a total onslaught of Android devices within 2 years. The Android army of phones will be everywhere you look and you will not be able to visit any cellphone store without running into at least 50 different phones running this OS. OK &#8211; maybe that is going a bit far but I think you get the message and already we are seeing signs of it. At the time of writing this article there are 16 official Android devices. How will this army of Android devices be created you ask ? Enter the Open Handset Alliance.</p>
<p>The <a title="Open Handset Alliance" href="http://en.wikipedia.org/wiki/Open_Handset_Alliance" target="_blank">Open Handset Alliance</a> was formed in 2007 and currently has 47 members. It is a consortium of technology and mobile companies all dedicated to bringing us better mobile experiences, with Android being their first project . There are some big names amongst the 47 members, including Google, Intel, Nvidia, HTC, Asus, SonyEriccson, LG, Ebay. With so many big names dedicated to Android development, it is bound to be amongst the top mobile device OS&#8217;s. You can read more about this <a title="before" href="http://www.mihswat.com/2008/10/07/why-android-will-win-or-iphone-in-the-long-run/" target="_self">argument here</a>, let me get to the Android architecture.</p>
<p>Android is a Linux based software stack. On top of the Linux kernel layer lies a layer for the system libraries such as SQLite, SSL, OpenGL, etc. This layer also houses the Android runtime, which runs the Dalvik Virtual Machine. On top of this there&#8217;s the Application Framework, housing the managers like the Activity Manager, Window Manager, etc. Then finally there is the application layer, which is the layer we are most interested in.</p>
<p><img class="alignnone size-full wp-image-844" title="system-architecture" src="http://www.mihswat.com/wp-content/uploads/2009/09/system-architecture.jpg" alt="system-architecture" width="428" height="307" /></p>
<p>Android applications can consist of different sections, namely Activities, Services, Broadcast Recievers and Content Providers. Activities form the User Interface(UI) part of the application, Services run in the background similar to RSS feed readers checking for updates. Broadcast Receivers just listen for particular system broadcasts, for example , when the battery is low. Content Providers just provide content to any asking application , for example your application asking the contact book to provide the users contacts for use within your application. We will mostly be concerned with Activities.</p>
<p>Activities were designed to be totally integrated with one another. What I mean is that Activities can call one another and pass data to one another, basically  like an event driven system, but on a system wide level. An application is thus a group of Activities passing Intents to one another. It is then possible to include , lets say, a Google Maps Activity into your application by passing a Google Maps Intent to it and waiting for a result from it. It would seem to the end user that you created a Google Maps section to your app. I think this is pretty powerful.</p>
<p>To get started with creating these applications you need the free <a title="Android SDK" href="http://developer.android.com/sdk/1.6_r1/index.html">Android SDK</a>, Apple iPhone developers need to register first($99!). Then you going to need an IDE, there is an Eclipse plugin, the <a title="Android Development Tools" href="http://dl.google.com/android/ADT-0.9.3.zip">Android Development Tools</a>(ADT) plugin that has everything including the latest stable SDK. You don&#8217;t immediately need a phone to test on as ADT comes with an Android emulator that you can debug and test with but you will eventually need a phone to properly test with. ADT is pretty awesome as it comes with many tools to tell you exactly whats happening on the phone, which threads are running,it has code completion, wizards to quickly create sub classes and much more. It took me less than 30 minutes to get a  &#8220;Hello World&#8221; application running on the Android emulator from the time I installed the ADT!</p>
<p>Since ActionScript 3 is a lot like Java I could easily jump in even though there were a few syntax differences &#8211; but after about 2 days and the help of ADT I had a basic application drawing a ball bouncing round the screen. But that was only the beginning and have rewritten sections of the game many times. Now after two weeks of lots of learning I have created the game and have it running on my phone. It is still a prototype and even though it needs weeks more spit and polish, after demonstrating the game I have gotten the thumbs up to turn it into a real game which we will be registering in the Android market.  There is still a lot to learn from this wonderful framework but the <a title="Android Groups" href="http://groups.google.com/group/android-beginners">Android groups</a> have been great help, as well as all the <a title="Android forums" href="http://www.anddev.org/" target="_blank">Android forums</a> and of course, <a title="developers guide" href="http://developer.android.com/guide/topics/graphics/2d-graphics.html">the Reference guide</a> which ships with the SDK. It has been a challenge to get to grips with this entirely new development area but it was far easier than imagined it would be. I spent about 10 times longer getting to know Flash, and that was with people available to help me.</p>
<p>What about my experience using the phone? I can honestly say I am now more connected than ever before. My email, both gmail and exchange, is pushed to the phone. My Twitter application runs in the background constantly fetching  tweets, while my Facebook application gets all my buddies&#8217; status updates to me as often as I want to see them. News and weather is updated all the time. My calendar and contacs are synchronised between my phone and my mobile. I never get lost anymore, maps are always available and my Gtalk status is always &#8220;available&#8221; and running in the background, unlike on some other phones <img src='http://www.mihswat.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Oh, and it makes phone calls as well.</p>
<p>I will follow up with another article of my findings, good and bad, this time focusing on the actual Android game development.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mihswat.com/2009/09/28/my-journey-to-planet-android/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPhone Development Rants</title>
		<link>http://www.mihswat.com/2008/10/06/iphone-development-rants/</link>
		<comments>http://www.mihswat.com/2008/10/06/iphone-development-rants/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 09:03:02 +0000</pubDate>
		<dc:creator>Chester do Nascimento</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.mihswat.com/?p=25</guid>
		<description><![CDATA[When we talk about Apple, mankind is pretty much divided into three camps: lovers, haters and developers. Seriously, I never thought the day would come when I&#8217;d say such a thing, but the fact is: Apple needs the other Steve. &#8230; <a href="http://www.mihswat.com/2008/10/06/iphone-development-rants/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When we talk about Apple, mankind is pretty much divided into three camps: lovers, haters and developers. Seriously, I never thought the day would come when I&#8217;d say such a thing, but the fact is: Apple needs the other Steve. <span id="more-25"></span>No, not <a href="http://www.woz.org/">Woz</a> (he is on-and-off there, but that&#8217;s another story). I mean our our sweaty, chair-throwing, monkey-dancer friend Steve Ballmer:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/ftsByyqazF0&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/ftsByyqazF0&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>You can say anything you want about Microsoft &#8211; but one thing is undeniably true: they treat third-party developers as their most valuable resource. Since the first ages of 16-bit Windows consolidation, it was clear that as long as their platform was the mainstream software-running machine (and the minimum bar for hardware support in the PC world), their reign would be safe.</p>
<p>And that translates into treating their developers well. Yes, they have to pay some fees here and there, but they are rarely left behind. <a href="http://msdn.microsoft.com">MSDN</a> and <a href="http://blogs.msdn.com/oldnewthing/default.aspx">competent MS staff</a> reveal all you need to know to develop any sort of application for Windows; backwards compatibility is taken to extremes; and all sorts of developers (from corporate form cut-and-pasters to low-level hackers) are treated as first-class citizens.</p>
<p>In contrast, no matter how sexy the platforms are that Apple makes available for your software to run on, they make it painstakingly clear that users are number one. Cupertino doesn&#8217;t mind at all if a tiny minor new feature creates one or a dozen <a href="http://blog.wired.com/gadgets/2008/07/interview-brent.html">hurdles</a> for developers every other week. This is not &#8220;right&#8221; or &#8220;wrong&#8221; (and both approaches have shown their results), but it <strong>is</strong> something to be aware of when you consider developing for an Apple platform.</p>
<p>This was not seen as much of a problem for most developers, since Apple has always been a niché market (even with Mac OS X putting the Macintosh onto the radar for people outside the Mac cult). However, January 2007 saw the announcement of the iPhone, and since then the handset has received  pretty much all types of review &#8211; from the Apple fanboy praise (blind to the most obvious flaws and limitations) to the most radical states of denial that ignore the (r)evolutionary aspects of the platform.</p>
<p>In the end, however, the number of iPhones on the market (no one has the exact real number, but it can be extrapolated to be at least 4 million after the worldwide 3G expansion) was the only important thing for developers &#8211; those numbers turn it into a big enough market to be considered by anyone that wants to deploy sophisticated mobile software applications.</p>
<p>(J2ME possibly beats those numbers, but having a unified platform for development is an advantage that Jobs has pushed since the early days of the first Macintosh &#8211; even <a href="http://folklore.org/StoryView.py?project=Macintosh&amp;story=Diagnostic_Port.txt">when it was almost against common sense</a>).</p>
<p>Development was not allowed by Apple during the first year of the iPhone&#8217;s existence, but developers found ways to bend the rules, using <a href="http://code.google.com/p/iphone-dev/">alternative ways</a> to build their apps. Distribution was, however, the main hurdle: users needed to &#8220;jailbreak&#8221; their devices to get applications via alternative channels such as <a href="http://iphone.nullriver.com/beta/">Installer.app</a> (a simple, yet fragile distributed system) and <a href="http://www.saurik.com/id/1">Cydia</a> (a wrap-up of the <a href="http://en.wikipedia.org/wiki/Advanced_Packaging_Tool">apt</a> distribution system, which is one of the backbones of software distribution in the Linux world).</p>
<p>The introduction of the App Store (Apple&#8217;s official distribution system) changed the landscape, not only by introducing a legal (and ubiquitous) alternative for developers to distribute apps, but also by giving them a nice opportunity to piggyback on iTunes as a distribution channel. This approach of not having a middle man is an enabling factor for thousands of small-scale developers: one little dirty secret of the mobile application world is that mobile operators (which own the distribution and revenue channel) rarely talk to small developers &#8211; they have to market their apps by means of &#8220;publishers&#8221;, which pretty much stifle innovation and initiative in this field.</p>
<p>Even if you want to distribute your application for free, there are operators and handset makers that will make it hard (if not impossible) for users to download your app or transfer it via Bluetooth from other devices. Apple&#8217;s App Store distributes free content for free (well, you have to pay $99 for the iPhone Developer Membership, but it&#8217;s a fixed, once-off cost).</p>
<p>It&#8217;s not all roses, however: Apple imposes all sorts of restrictions &#8211; ranging from technical ones (you can&#8217;t let an application do background processing) to operational (registration as a developer takes some time to be processed; your app can&#8217;t duplicate functions on Apple&#8217;s apps; if they don&#8217;t like it you are out; you must submit source code to their approval, and nobody knows for sure <a href="http://diveintomark.org/archives/2008/03/07/iphone-gpl">how compatible with licenses such as GPL</a> their model is). Besides that, the code signing process can be a burden to developers not used to it (even if you decide to <a href="http://www.saurik.com/id/8">ignore Apple</a> and limit yourself to jailbroken iPhones).</p>
<p>It is a &#8220;my way or the highway&#8221; situation &#8211; but recently the first handset with Android (Google&#8217;s operating system for mobiles) <a href="http://www.alleyinsider.com/2008/9/live-google-unveils-android-gphone-g1-goog-">hit the market</a>. Some consider it underpowered, but others are excited by the <a href="http://www.youtube.com/watch?v=CO7Yxyux1_k&amp;feature=related">tricks</a> it has on its own (while some even <a href="http://blog.wired.com/gadgets/2008/09/g1-android-phon.html">question</a> its openness). It is a welcome addition not only for users/developers who won&#8217;t be interested on Apple&#8217;s offerings, but also gives iPhonophiles the hope that competition will put some pressure on the Big Cupertino Brother to force it to relinquish some of the grip it has on the market.</p>
<p>I have high hopes that this will happen. But even if it doesn&#8217;t, it won&#8217;t stop a legion of developers (myself included) from working working on my $0.99 app, in the hopes that will be useful for one million people &#8211; and that its success will contribute to their own retirement. That is a really hard argument to beat, and it will keep the iPhone going for a long time. But unless we start to see some retired iPhone Developers on their yachts, Apple would do themselves a favor by treating iPhone developers a little bit better &#8211; or they will jump ship at the first opportunity &#8211; be their destination may be Android or otherwise.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mihswat.com/2008/10/06/iphone-development-rants/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

