<?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>iPhoneDevelopmentBits &#187; iPhone Games</title>
	<atom:link href="http://iphonedevelopmentbits.com/category/iphonegames/feed" rel="self" type="application/rss+xml" />
	<link>http://iphonedevelopmentbits.com</link>
	<description>iPhone Development &#124; iPhone Programming &#124; iPhone Application Development &#124; iPhone Game Development &#124; iPhone App Development &#124; iPhone Software Development</description>
	<lastBuildDate>Mon, 18 Jul 2011 06:04:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Top 4 iPhone apps for Designers</title>
		<link>http://iphonedevelopmentbits.com/top-4-iphone-apps-for-designers</link>
		<comments>http://iphonedevelopmentbits.com/top-4-iphone-apps-for-designers#comments</comments>
		<pubDate>Thu, 30 Jun 2011 11:19:55 +0000</pubDate>
		<dc:creator>adit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=635</guid>
		<description><![CDATA[<p>In this post, we&#8217;re going to cover the top 4 iPhone apps for designers. The following list represents the apps that are most useful for getting actual work done:</p>
<p>1. <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=298268157&#38;mt=8">Fontshuffle</a></p>
<p>It contains hundreds of font families sorted by&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>In this post, we&#8217;re going to cover the top 4 iPhone apps for designers. The following list represents the apps that are most useful for getting actual work done:</p>
<p>1. <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=298268157&amp;mt=8">Fontshuffle</a></p>
<p>It contains hundreds of font families sorted by visual similarity into a visual family tree. Without any previous knowledge about typography, and using only visual criteria, you can navigate directly to 6 font designs of similar style by tapping your iPhone twice. You can do this without knowing the name or style category of the desired font, but can learn these by playing around with the application. FontShuffle 1.0 is free of charge and available in English and German language versions.</p>
<p>2. <a href="http://itunes.apple.com/us/app/cliqcliq-colors/id291725775?mt=8#" target="_blank">cliqcliq Colors </a></p>
<p>If you&#8217;re a designer or developer working with CSS, HTML, Flex, Flash, Objective-C or other media-centric technologies, you&#8217;ll spend a good amount of time finding the exact colors you want to use and converting between various scales and formats. With cliqcliq Colors, you can create palettes based on colors you like best and quickly convert between RGB, HSB, and CMYK as well as integer and floating point scales. Instead of having to load an entire desktop application or yet another browser tab with a color version website, you can simply pick up your iPhone and get started with Colors!</p>
<p>3. <a href="http://itunes.apple.com/app/palettes-pro/id293249989?mt=8#" target="_blank">Palettes Pro </a></p>
<p>Palettes Pro is a powerful productivity tool for creating and maintaining color palettes. Great for creating color schemes. Now you can create a color palette anywhere at anytime. Quickly find matching colors with support for many different color schemes. You may create and store any number of palettes.</p>
<p>4. <a href="http://itunes.apple.com/app/the-typography-manual/id321091154?mt=8#" target="_blank">The Typography Manual </a></p>
<p>The Typography Manual is a pocket resource for graphic designers and anyone that works with type. It provides all the essentials of a book reference on your iPhone or iPod Touch! The Type Manual features a 60+ page book covering the history of type, type basics, how to properly set text and special characters, typography on the web, graphic design topics, and more. The Visual Type Anatomy Glossary is a 100+ glossary of type terminology that doesn&#8217;t just give you a definition, it shows you on the letters themselves.</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/top-4-iphone-apps-for-designers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Event-Driven Multitasking &#8211; RunLoops(Symbian &amp; iOS)</title>
		<link>http://iphonedevelopmentbits.com/event-driven-multitasking-runloopssymbian-ios</link>
		<comments>http://iphonedevelopmentbits.com/event-driven-multitasking-runloopssymbian-ios#comments</comments>
		<pubDate>Thu, 19 May 2011 12:01:38 +0000</pubDate>
		<dc:creator>adit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=626</guid>
		<description><![CDATA[<p><span style="font-family: Helvetica, Arial, sans-serif;"><strong>Multitasking Basics</strong></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">In simplest of applications ,the program code would make a function call to request a service,from either other Os servers/frameworks ,I/O Devices,timers,DMA etc.This service can be performed either synchronously or asynchronously.In a synchronous method the service returns to</span></span>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Helvetica, Arial, sans-serif;"><strong>Multitasking Basics</strong></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">In simplest of applications ,the program code would make a function call to request a service,from either other Os servers/frameworks ,I/O Devices,timers,DMA etc.This service can be performed either synchronously or asynchronously.In a synchronous method the service returns to the caller function with a status of completion (typically success or failure).While the service completes the caller thread is in a blocked mode waiting for completion.In an asynchronous call ,the request is submitted and the control returns to the caller.The completion of that request occurs sometime later.In the meanwhile the caller may perform other tasks and is not in a blocked state.upon completion the caller receives a signal indicating the completion of the request.Now the caller threads handles the result of the  completed request.This signal is known as the event and the code is said to be event driven.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;"><strong>Even-driven multitasking</strong></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">Events can come from external sources,such as UI inputs ,hardware sources,network sockets and also from completed asynchronous requests.Events are managed by event handlers ,which ,as its name suggests,waits for an event and then handles it.Typically the hardware running Symbian or iOs, or for that matter any other RTOS would have far less resources than a typical PC.Thus the operating system needs to have a efficient event handling model to have minimum turnaround time to events as well as prioritize them in desired order.Also between events the system should be a low power state to save on the power consumption.This avoids constant polling, which leads to significant power drain and should be avoided on a battery operated device.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">Runloops in iOS and Active Schedulers in Symbian provide a model for lightweight ,event-driven multitasking within the same thread.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;"><strong>Active objects/Active Scheduler: </strong></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">Active Scheduler is the indefinite runloop which runs inside a thread .Active objects symbolize the requests which are added to the scheduler and get serviced accordingly.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">Active objects encapsulate the traditional wait loop inside a class.They were designed such that the switch between the active objects running within a thread incurs a less overhead than context switching of threads(Moreover space overhead for a thread is minimum 4kb on the kernel side and 8kb user side).This makes active objects the most preferable for event-driven multitasking in Symbian.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">Active scheduler is a infinite run loop which runs inside a thread,with methods to start and stop the loop.Once started this loop schedules the active objects within the thread.Typically, a Symbian OS thread has a single Active Scheduler. As mentioned above, that Active Scheduler is responsible for managing all active objects belonging to the thread.It is worth noting that the Active Scheduler schedules active objects in a non-pre-emptive way so that one active object cannot interrupt another while that is running. This is in contrast with thread scheduling (even in Symbian OS), since the execution of one thread can be pre-empted at any given time by another thread.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;"><strong>Representation:</strong></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">Active Objects encapsulates:                                                                                                                                                                                                                                 A data member representing the status of the request(iStatus).                                                                                                                                                                          A handle on the asynchronous service provider.                                                                                                                                                                                                Connection to the service provider during construction.                                                                                                                                                                                        The function to issue(or reissue) the asynchronous request (user-defined)                                                                                                                                                             The handler function to be invoked by the active scheduler when the request completes( RunL() ).This function can be more appropriately called as the event handler for clarity.                                                                                                                                                                                                                                                                    The function to cancel an outstanding request( Cancel() ).</span></span></p>
<p><a href="http://iphonedevelopmentbits.com/wp-content/uploads/2011/05/Screen-shot-2011-05-19-at-5.13.19-PM.png"><img class="alignnone size-medium wp-image-627" title="iphone multitasking" src="http://iphonedevelopmentbits.com/wp-content/uploads/2011/05/Screen-shot-2011-05-19-at-5.13.19-PM-288x300.png" alt="" width="288" height="300" /></a></p>
<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } --><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">The above figure shows the process of submitting a request to an asynchronous service provider ,which generates an event on completion.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">Explanation:</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">1.Request is posted to asynchronous service provider.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">2.Having issued the request the issuer must call CAtive::SetActive().This sets the active objects iActive flag.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">3.The request provider changes the value of the iStatus as KRequestPending.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">4.The active scheduler checks the iActive and the iStatus to know that a particular active object has a request pending.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">5.Once the request is completed the service provider calls the User::RequestComplete(),passing the completion result in the iStatus.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">6.The active scheduler now calls the handler function (Runl()) for the active object and clears the iActive flag for the same.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">7.The handler function handles the event.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;"><strong>Runloops(CFRunloop) in iOS</strong></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">A run loop is essentially an event-processing loop running on a single thread. The RunLoop is what keeps your app running until it should quit.You register potential input sources on it, pointing it to the code that it should execute whenever input is available on those sources .</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">Then when input comes into a particular source, the run loop will execute the appropriate code, then go back to waiting for input to come in again to any of it’s registered sources. If input comes into a registered source whilst the run-loop is executing another piece of code, it’ll finish executing the code before it handles the new input.The scheduling is non pre-emptive and analogues to the way the active scheduler schedules the requests. </span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">In all its simplicity it can be described as a glorified form of :</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">while(true){                                                                                                                                                               HandleEvent1();                                                                                                               HandleEvent2();                                                                                                                                   }</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">The job is to process events which arrive from elsewhere.User needs to write code to handle these and the OS takes care of all the other things like scheduling,receiving and sending them.The level of abstraction at which the user interacts with the OS is higher than in Symbian ,resulting in fewer things to be done by the user and the OS taking care of the rest.There is exactly one runloop per thread and the user cannot create or destroy the same.</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">Example showing ,how to hook up a socket with the current runloop</span></span></p>
<p><span style="color: #0066cc;"><span style="font-family: Menlo-Regular;">CFRunLoopRef currentRunLoop = CFRunLoopGetCurrent(); //This gets the current run loop</span></span></p>
<p><span style="color: #0066cc;"><span style="font-family: Menlo-Regular;">CFRunLoopSourceRef runLoopSource = CFSocketCreateRunLoopSource(kCFAllocatorDefault, listeningSocket, 0);</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Menlo-Regular;">//Event source is created with the listening socket.</span></span></p>
<p><span style="color: #0066cc;"><span style="font-family: Menlo-Regular;">CFRunLoopAddSource(currentRunLoop, runLoopSource, kCFRunLoopCommonModes);</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">//This event source if finally now added to the run loop</span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">Now whenever there is a connection request on the socket the run loops calls the  serverAcceptCallback() which is the callback function for the listeningSocket. Following is a comparison between Symbian and iOS.</span></span><br />
<span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;"><br />
<b>Symbian</b></p>
<ul>
<li>Active Scehduler</li>
<li>CActiveScheduler::Add(instance of the active object)</li>
<li>HandleEvent &#8211; RunL()</li>
<li>CActiveScheduler Start()</li>
</ul>
<p></span></span><br />
<span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;"><br />
<b>iOS</b></p>
<ul>
<li>CFRunloop</li>
<li>CFRunLoopAddSource(Source for the event)</li>
<li>Callback function for the above event source.</li>
<li>CFRunloopRun()</li>
</ul>
<p></span></span><br />
<!-- 		@page { margin: 2cm } 		TD P { margin-bottom: 0cm } 		P { margin-bottom: 0.21cm } --><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;"><strong>Limitations of event-driven multitasking in a single thread:</strong></span></span></p>
<p><span style="color: #000000;"><span style="font-family: Helvetica, Arial, sans-serif;">We have seen that in both cases the handling of events is non pre-emptive in the way they are scheduled by the active scheduler or the runloop.So if the event handler code is something which would take lot of time to complete ,in such a scenario the main thread would become un-responsive and the loop would wait for the particular event handling to get over.In such scenarios multithreading is a better option.</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/event-driven-multitasking-runloopssymbian-ios/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>All about iPad 2!</title>
		<link>http://iphonedevelopmentbits.com/all-about-ipad-2</link>
		<comments>http://iphonedevelopmentbits.com/all-about-ipad-2#comments</comments>
		<pubDate>Thu, 07 Apr 2011 12:07:13 +0000</pubDate>
		<dc:creator>adit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=611</guid>
		<description><![CDATA[<p>Apple recently announced the much awaited iPad 2 at an event in San Francisco. Let&#8217;s discuss in brief what we have in plate with the new iPad 2.</p>
<p>1.       <strong>HARDWARE &#38; DESIGN:</strong></p>
<p>·         The new ipad2 runs on a recently&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Calibri; color: #1e487d} p.p2 {margin: 0.0px 0.0px 0.0px 48.0px; text-indent: -24.0px; font: 15.0px Calibri; color: #1e487d} p.p3 {margin: 0.0px 0.0px 0.0px 72.0px; text-indent: -24.0px; font: 15.0px Calibri; color: #1e487d} p.p4 {margin: 0.0px 0.0px 0.0px 72.0px; font: 15.0px Calibri; color: #1e487d} p.p5 {margin: 0.0px 0.0px 0.0px 72.0px; text-indent: -24.0px; font: 9.0px 'Times New Roman'; color: #1e487d} p.p6 {margin: 0.0px 0.0px 0.0px 24.0px; text-indent: 48.0px; font: 15.0px Calibri; color: #1e487d} span.s1 {font: 9.0px 'Times New Roman'} span.s2 {font: 15.0px Symbol} span.s3 {font: 15.0px Calibri} -->Apple recently announced the much awaited iPad 2 at an event in San Francisco. Let&#8217;s discuss in brief what we have in plate with the new iPad 2.</p>
<p>1.       <strong>HARDWARE &amp; DESIGN:</strong></p>
<p>·         The new ipad2 runs on a recently announced iOS 4.3 and comes with same 9.7 inch display and 10 hours of battery.</p>
<p>·         With new Dual-Core 1GHz A5 processor chip the performance may have a thumbs up.</p>
<p>·         The new iPad 2 is made of just two pieces of aluminum similar to that of the MacBook Air.</p>
<p>·         The new iPad is 33% slimmer and light weighted if compared with the original iPad.</p>
<p>·         The new iPad2 comes with a front facing VGA camera as well as rear camera with HD(720p) video recording up to 30 frames per second with audio, there is also 5x Digital Zoom.</p>
<p>·         With this addition and FaceTime in place, the Video Calling will be a new experience for the Apple Lovers.</p>
<p>2.       <strong>PERFORMANCE:</strong></p>
<p>·         With the new Dual-Core Processor, the performance of the new iPad has increased drastically, it&#8217;s 9 times faster compared to the older iPad.</p>
<p>·         With the additional Gyroscope built in, the gaming in the device will be a great experience and a challenge for the Game Developers out there.</p>
<p>·         Web Browsing, eBook Reading and watching movies on the new iPad is new experience.</p>
<p>·         The LED-backlit display makes everything look crisp, vivid and bright, which makes things look more beautiful.</p>
<p>·         The major disappointment was lack of Flash Support.</p>
<p>3.       <strong>ADDITIONAL FEATURES:</strong></p>
<p>·         See Pics, videos on a bigger display!</p>
<p>·         The new iPad comes with AirPlay where the user can connect his device to the HDTV via Apple TV. Awesome isn&#8217;t it??</p>
<p>4.       <strong>ACCESSORIES:</strong></p>
<p>.         Smart Cover for iPad works both as a screen cover and iPad Stand.</p>
<p>.         The most interesting part of the iPad Smart Covers is the magnetic system. The cover rests over the screen and magnets along the right side snap down onto the top of the iPad covering the screen and putting it into sleep mode. Moreover, it can be folded and can be used a stand.</p>
<p>5.       <strong>WHAT COULD BE BETTER?</strong></p>
<p>·         CAMERA:</p>
<p>The new iPad camera stills are below average. The upgrade on the Camera will be a major change I would like to see.</p>
<p>·         FLASH SUPPORT:</p>
<p>Some Flash Support should be needed in addition to the awesome web browsing experience.</p>
<p>iPad 2 is really a worthy successor to iPad and has raised the benchmark for tablet computing. With all these new features and increased GPU Performance, we hope that the App store would be booming with some really exciting apps for iPad 2! :)</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/all-about-ipad-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gyroscope: The New Opportunity [U]</title>
		<link>http://iphonedevelopmentbits.com/gyroscope-the-new-opportunity</link>
		<comments>http://iphonedevelopmentbits.com/gyroscope-the-new-opportunity#comments</comments>
		<pubDate>Tue, 29 Jun 2010 13:01:51 +0000</pubDate>
		<dc:creator>anup</dc:creator>
				<category><![CDATA[iPhone Games]]></category>
		<category><![CDATA[iPhone News]]></category>
		<category><![CDATA[iPhone Programming]]></category>
		<category><![CDATA[iPhone UI]]></category>
		<category><![CDATA[accelerometer]]></category>
		<category><![CDATA[gyroscope]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone 4]]></category>
		<category><![CDATA[magnetometer]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=537</guid>
		<description><![CDATA[<p>While the entire world was giddily anticipating the start of World Cup soccer this year, it was nose to the grindstone here at Sourcebits developing new soccer madness updates of <a href="http://www.spoonjuice.com/mac/funbooth/">Funbooth for Mac</a> <a href="http://www.spoonjuice.com/iphone/funbooth/">and iPhone</a>.  Work notwithstanding, our&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>While the entire world was giddily anticipating the start of World Cup soccer this year, it was nose to the grindstone here at Sourcebits developing new soccer madness updates of <a href="http://www.spoonjuice.com/mac/funbooth/">Funbooth for Mac</a> <a href="http://www.spoonjuice.com/iphone/funbooth/">and iPhone</a>.  Work notwithstanding, our development team had serious fun during production of these applications.  Throughout the beta testing and QA we were constantly capturing images of ourselves in the props of the teams we support, and we made the most of the new social features with the on-the-fly uploading to Facebook and Twitter.  And at the same time, our gaming wing guys at <em>Wandake</em> were busy putting the finishing touches on their now-huge hit <a href="http://wandake.com/"><em>Wake Up the Box!</em></a> for iPhone and iPad.  So it was a real party at times.</p>
<p><a href="http://iphonedevelopmentbits.com/wp-content/uploads/2010/06/Screen-shot-2010-06-29-at-9.53.20-AM.png"><img class="aligncenter size-full wp-image-542" title="Screen shot 2010-06-29 at 9.53.20 AM" src="http://iphonedevelopmentbits.com/wp-content/uploads/2010/06/Screen-shot-2010-06-29-at-9.53.20-AM.png" alt="" width="370" height="171" /></a></p>
<p>While all this was going on, of course there was some big news on June 7, when Steve Jobs introduced yet another Apple engineering marvel: iPhone 4.  Bundled with new features like front-facing camera, superior rear camera, dual mikes for increased noise cancellation, eye-popping Retina Display, multitasking, 720p HD video recording and even a new kind of gyroscope technology, iPhone 4 is a huge evolutionary step in smartphone design.  As the tag line says: &#8220;This changes everything.  Again.&#8221;  And, marketing hyperbole aside, as far as day-to-day use is concerned for sure this will change the way we use iPhone.</p>
<p>Before this year’s launch, several <a href="http://www.engadget.com/2010/05/12/next-generation-iphone-escapes-in-vietnam/">leaked</a> – or <a href="http://www.fastcompany.com/1621516/iphone-leak-iphone-4-apple-gizmodo">mislaid</a> – iPhone 4 models made the rounds of the major tech blogs, complete with gory dissections and the standard tsunami of specu-babble.  But there was one stealth feature all the teardowns and pundits failed to even guess at: <a href="http://www.zdnet.com/blog/btl/wwdc-video-iphone-4s-new-gyroscope-feature/35580">the gyroscope</a>.  And on our side, as veteran iPhone developers, when Steve Jobs announced this during WWDC we were all pretty excited.  And while it still hasn’t gotten much attention in the press, this feature is a game changer in iPhone’s rivalry with Android and Symbian devices.</p>
<p><a href="http://iphonedevelopmentbits.com/wp-content/uploads/2010/06/Screen-shot-2010-06-29-at-9.53.57-AM.png"><img class="aligncenter size-full wp-image-543" title="Screen shot 2010-06-29 at 9.53.57 AM" src="http://iphonedevelopmentbits.com/wp-content/uploads/2010/06/Screen-shot-2010-06-29-at-9.53.57-AM.png" alt="" width="370" height="303" /></a></p>
<p>Apple’s been pioneering smartphone innovations since iPhone’s introduction in 2007 with <em>many </em>widely imitated micro-technologies, in particular the accelerometer.  The <a href="http://en.wikipedia.org/wiki/Accelerometer">accelerometer</a> is a type of sensor that detects changes in a device&#8217;s orientation, vibration, rotation or fall by detecting linear acceleration along one of the three X, Y and Z axes – that is: up/down, right/left, and front/back.</p>
<p><a href="http://iphonedevelopmentbits.com/wp-content/uploads/2010/06/device_axes.png"><img class="aligncenter size-full wp-image-539" title="device_axes" src="http://iphonedevelopmentbits.com/wp-content/uploads/2010/06/device_axes.png" alt="" width="371" height="393" /></a></p>
<p>3-axis accelerometers enable features we by now take for granted in smartphones (and lately, too, in non-Apple branded consumer digital cameras, music players, and gaming peripherals).  For example, landscape/portrait orientation shifting, tilt for directional control in games and applications, and shake features for refreshing a webpage or shuffling a playlist.  The 1st generation of accelerometer – pre iPhone 4 – could measure only linear motion; it couldn&#8217;t sense direction on a compass or twisting motions or rotation, nor had any notion of gravity.</p>
<p><a href="http://iphonedevelopmentbits.com/wp-content/uploads/2010/06/new-iphone-features4.png"><img class="aligncenter size-full wp-image-540" title="new-iphone-features4" src="http://iphonedevelopmentbits.com/wp-content/uploads/2010/06/new-iphone-features4.png" alt="" width="371" height="394" /></a></p>
<p>Then last year Apple added a <a href="http://www.youtube.com/watch?v=GSzJMRtJ8Rw">magnetometer</a> to the iPhone 3Gs, enabling it to sense magnetized direction relative to the Earth&#8217;s poles. And now, with the introduction of the gyro in iPhone 4, Apple once more ups the ante in spatial detection / orientation with a new sensor for detecting 3-axis angular acceleration around the X,Y and Z axes, enabling far more precise virtualization of pitch, yaw and roll on iPhone.</p>
<p>While detection of change in velocity has been possible for some time thanks to conventional accelerometer calculations in terms of linear acceleration, the gyroscope has been designed to detect angular acceleration, which will detect change in both velocity and direction at the same time.  iPhone 4’s gyroscope enables the sensing of even slight degrees of rotation while simultaneously rejecting linear movements and hand jitters – both still ably handled by accelerometer’s linear movement detection technology.</p>
<p>Combining the 3 axes of the gyroscope along with the 3 axes of the accelerometer now enables iPhone to recognize distance, speed and direction as it moves real-time through space. And thanks to the CoreMotion APIs in iOS, developers with the vision to make use of gyroscope data can access it freely, as some have <a href="http://www.youtube.com/watch?v=gtIzlVUNJK4&amp;feature=player_embedded">already</a> <a href="http://www.youtube.com/watch?v=UrFLjCy-AP0&amp;feature=player_embedded">done</a>.</p>
<p>Of course iPhone 4 already includes gyroscope support, but it&#8217;s a safe bet the gyro will be baked into future versions of iPod touch, and naturally, iPad.  iPhone devs who can make use of this amazing new technology will find opportunities aplenty on the new platforms, especially games producers and developers.</p>
<p>&#8212;-</p>
<p>update:  Death Star or iPhone gyroscope?   <a href="http://www.ifixit.com/Teardown/iPhone-4-Gyroscope-Teardown/3156/1">iFixit</a> has the goods.</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/gyroscope-the-new-opportunity/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Native Frameworks for adding Network Connectivity to your iPhone Applications</title>
		<link>http://iphonedevelopmentbits.com/native-frameworks-for-adding-network-connectivity-to-your-iphone-applications</link>
		<comments>http://iphonedevelopmentbits.com/native-frameworks-for-adding-network-connectivity-to-your-iphone-applications#comments</comments>
		<pubDate>Mon, 25 Jan 2010 10:11:37 +0000</pubDate>
		<dc:creator>rohit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=492</guid>
		<description><![CDATA[<p>Tons of new frameworks for iPhone developers to use that will should really simplify  networking, credit card processing, shipping &#38; tracking, banking, etc. for iPhone applications. Only one glitch its all commercial! You can find more info about them at&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p>Tons of new frameworks for iPhone developers to use that will should really simplify  networking, credit card processing, shipping &amp; tracking, banking, etc. for iPhone applications. Only one glitch its all commercial! You can find more info about them at <a href="http://www.nsoftware.com/">Nsoftware</a>.</p>
<p>•	IP*Works! &#8211; A comprehensive suite of Internet components for professional developers (FTP, IMAP, POP, LDAP, SNMP, SOAP, etc.).<br />
•	IP*Works! SSL &#8211; Secure implementations of every major SSL-enabled Internet protocol<br />
•	IP*Works! S/MIME &#8211; Components for S/MIME e-mail and file signing and encryption.<br />
•	IP*Works! S/Shell &#8211; Add Instant Secure Shell (SSH) Security to your applications.<br />
•	IP*Works! Secure SNMP &#8211; Components for building Secure SNMP Agents and Managers<br />
•	IP*Works! Zip &#8211; An easy, fast, and effective suite of compression components.<br />
•	QuickBooks Integrator &#8211; Components for QuickBooks and Merchant Services integration.<br />
•	E-Payment Integrator &#8211; Credit card and ACH processing through Internet Gateways.<br />
•	E-Banking Integrator &#8211; Components for Open Financial eXchange (OFX) client integration.<br />
•	Shipping Integrator &#8211; Shipping and Tracking components via FedEx, USPS, &amp; UPS.<br />
•	Amazon Integrator &#8211; Components for Amazon Web Services including S3, SQS, and ECS</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/native-frameworks-for-adding-network-connectivity-to-your-iphone-applications/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Unit Level Developer Testing for iPhone Applications</title>
		<link>http://iphonedevelopmentbits.com/unit-level-developer-testing-for-iphone-applications</link>
		<comments>http://iphonedevelopmentbits.com/unit-level-developer-testing-for-iphone-applications#comments</comments>
		<pubDate>Mon, 28 Dec 2009 08:55:02 +0000</pubDate>
		<dc:creator>rohit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=489</guid>
		<description><![CDATA[<p><a href="http://cocoawithlove.com/">Matt Gallagher</a> writes an <a href="http://cocoawithlove.com/2009/12/sample-iphone-application-with-complete.html">excellent article </a>about unit level testing for iPhone applications and explain in detail the logic and application tests in a real world development environment using a test application as example. He is generous enough to&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://cocoawithlove.com/">Matt Gallagher</a> writes an <a href="http://cocoawithlove.com/2009/12/sample-iphone-application-with-complete.html">excellent article </a>about unit level testing for iPhone applications and explain in detail the logic and application tests in a real world development environment using a test application as example. He is generous enough to post the code of the application as well.</p>
<p>[source <a href="http://cocoawithlove.com/">CocoawithLove</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/unit-level-developer-testing-for-iphone-applications/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good programming practices ( Object Oriented / C++)</title>
		<link>http://iphonedevelopmentbits.com/good-programming-practices-object-oriented-c</link>
		<comments>http://iphonedevelopmentbits.com/good-programming-practices-object-oriented-c#comments</comments>
		<pubDate>Fri, 30 Jan 2009 18:40:36 +0000</pubDate>
		<dc:creator>shihab</dc:creator>
				<category><![CDATA[iPhone Games]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[good programming]]></category>
		<category><![CDATA[object oriented]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=415</guid>
		<description><![CDATA[<p> Some of the best practices given below.</p>
<div>1. Prefer inline function over macros, bcz macro willl bring unwanted errors.</div>
<div>eg: See the example of a macro to find maximum of two numbers</div>
<div> </div>
<div> #define MAX(a,b) (a &#62; b) ? a</div><p>&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p> Some of the best practices given below.</p>
<div>1. Prefer inline function over macros, bcz macro willl bring unwanted errors.</div>
<div>eg: See the example of a macro to find maximum of two numbers</div>
<div> </div>
<div> #define MAX(a,b) (a &gt; b) ? a : b</div>
<div> suppose if we used the macro as follows</div>
<div>  int x = 20, y = 19;</div>
<div>  int z =  MAX(x, ++y);</div>
<div> </div>
<div> now what is the value of z ?  is it 20 ? or  is it 19 ? .</div>
<div>  .. he he &#8230;it is 21 !</div>
<div>Let us see , how it is happened, </div>
<div><span> </span>Compiler will compile the code after macro expansion .. after macro expansion , the code will be as follows</div>
<div><span> </span>int x = 20, y = 19; </div>
<div><span> </span>int z = (x &gt; ++y) ? x: ++y;</div>
<div>y has been incremented twice .. !</div>
<div>What is the solution:-</div>
<div><span> </span>Use inline function&#8230; it will not produce unwanted errors &#8230; and high fast like macros bcz there is no function calling burdens </div>
<div><span> </span>OR </div>
<div><span> </span>Avoid complex expression when using macros&#8230; ie we can call the MAX as follows</div>
<div>
<div>
<div> <span> </span> int x = 20, y = 19;</div>
<div><span> </span>++y;</div>
<div> <span> </span> int z =  MAX(x, y);</div>
</div>
</div>
<div>2. Use call by reference other than call by value for big user defined data types.</div>
<div><span> </span>//suppose we are having a class MyClass  of size 100 bytes;</div>
<div><span> </span>void foo(MyClass m) {</div>
<div><span> </span>//some code</div>
<div><span> </span>}</div>
<div>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;Instead use as follows &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</div>
<div><span> </span> </div>
<div><span> </span>void foo(const MyClass&amp; m) {</div>
<div><span> </span>//some code</div>
<div><span> </span>}</div>
<div>Explanation:</div>
<div><span> </span>In both case we can call the method as follows</div>
<div><span> </span></div>
<div><span> </span>MyClass mc;</div>
<div><span> </span>foo(mc);</div>
<div><span> </span>In the first case a value of MyClass object, mc is copied to another object m, of MyClass.</div>
<div>Here Object of the MyClass has been created twice ie total 200 bytes used .. </div>
<div>also it will bring extra processing to initialize a new object.</div>
<div><span> </span>In the second case , MyClass object is created only once then the alias of mc is created as m</div>
<div>there is no burden of new object initialization and processing.</div>
<div><span> </span>The &#8216;const&#8217; is used for two reason&#8230;</div>
<div><span> </span> a) To avoid the misunderstanding that it is an output argument.</div>
<div><span> </span> b) To avoid the accidental changes to the outside object from the function.</div>
<div>Note:- In C there is no call by reference but we are simulating call by reference </div>
<div>by passing address to the function argument and modifying the content of the address</div>
<div>from the function</div>
<div>3. Avoid unwanted file inclusion and prefer forward declaration.</div>
<div><span> </span>Suppose Foo is a class and its definition is in Foo.h.</div>
<div>We are using the class Foo in the File MyClass.h as follows.</div>
<div>//MyClass.h</div>
<div>#include &#8220;Foo.h&#8221;</div>
<div>class MyClass {</div>
<div><span> </span>Foo * aFoo;</div>
<div><span> </span></div>
<div><span> </span>//Some methods</div>
<div>}</div>
<div>&#8212;&#8212;&#8212;&#8212; Instead use as follows &#8212;&#8212;&#8212;&#8212;&#8211;</div>
<div>
<div>//MyClass.h</div>
<div>class Foo; // forward declaration.</div>
<div>class MyClass {</div>
<div><span> </span>Foo * aFoo;</div>
<div><span> </span></div>
<div><span> </span>//Some methods</div>
<div>}</div>
</div>
<div>Explanation: -</div>
<div><span> </span>In the first case, when including Foo.h , the entire code will be pasted in MyClass.h, it will</div>
<div>increase the size of executable and will creep in some unwanted errors.</div>
<div><span> </span>We are not instantiating, or using the functionality of  Foo, so the compiler should not bother about the size</div>
<div>of the class Foo ..it wants to know only what is Foo, we have forward declared it as &#8216;Class&#8217;.</div>
<div>Also aFoo is a pointer, the size of any pointer is the size of an integer.</div>
<div>so the compiler can allocate the size of pointer and it will not produce any error message.</div>
<div><span> </span></div>
<div>4. Use header guard to avoid multiple inclusion of a file.</div>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/good-programming-practices-object-oriented-c/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interesting tidbits for OpenGL programming on iPhone</title>
		<link>http://iphonedevelopmentbits.com/interesting-tidbits-for-opengl-programming-on-iphone</link>
		<comments>http://iphonedevelopmentbits.com/interesting-tidbits-for-opengl-programming-on-iphone#comments</comments>
		<pubDate>Wed, 24 Dec 2008 09:29:44 +0000</pubDate>
		<dc:creator>rohit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>
		<category><![CDATA[iPhone Programming]]></category>
		<category><![CDATA[iPhone Resources]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=376</guid>
		<description><![CDATA[<p>I have been following this <a href="http://diaryofagraphicsprogrammer.blogspot.com/">blog</a> for sometime and must say the author <a href="http://www.blogger.com/profile/11031097395025597662">Wolfgang Engel</a> is posting some of the best tips for game programmers on iPhone. A must bookmark for every iPhone programmer.</p>
]]></description>
			<content:encoded><![CDATA[<p>I have been following this <a href="http://diaryofagraphicsprogrammer.blogspot.com/">blog</a> for sometime and must say the author <a href="http://www.blogger.com/profile/11031097395025597662">Wolfgang Engel</a> is posting some of the best tips for game programmers on iPhone. A must bookmark for every iPhone programmer.</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/interesting-tidbits-for-opengl-programming-on-iphone/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oolong Game Engine for iPhone</title>
		<link>http://iphonedevelopmentbits.com/oolong-game-engine-for-iphone</link>
		<comments>http://iphonedevelopmentbits.com/oolong-game-engine-for-iphone#comments</comments>
		<pubDate>Mon, 08 Dec 2008 01:59:57 +0000</pubDate>
		<dc:creator>rohit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>
		<category><![CDATA[iPhone Programming]]></category>
		<category><![CDATA[iPhone Resources]]></category>
		<category><![CDATA[iPhone Game Engine]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=359</guid>
		<description><![CDATA[<p>The <a href="http://oolongengine.com/">Oolong Engine</a> is written in C++ with some help from Objective-C. It will help you to create new games and port existing games to the iPhone and the iPod touch. The best part is, its free.</p>
]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://oolongengine.com/">Oolong Engine</a> is written in C++ with some help from Objective-C. It will help you to create new games and port existing games to the iPhone and the iPod touch. The best part is, its free.</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/oolong-game-engine-for-iphone/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IMA4 Audio Programming for iPhone game developers</title>
		<link>http://iphonedevelopmentbits.com/ima4-audio-programming-for-iphone-game-developers</link>
		<comments>http://iphonedevelopmentbits.com/ima4-audio-programming-for-iphone-game-developers#comments</comments>
		<pubDate>Mon, 08 Dec 2008 01:57:18 +0000</pubDate>
		<dc:creator>rohit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>
		<category><![CDATA[IMA4 Audio]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=357</guid>
		<description><![CDATA[<p>IMA-ADPCM is a compression standard that gets you 4:1 compression on 16-bit audio files. It&#8217;s supported natively by the iPhone — but only using certain APIs. Read the full article <a href="http://www.wooji-juice.com/blog/iphone-openal-ima4-adpcm.html">here</a>.</p>
<p> </p>
<p>[source <a href="http://www.wooji-juice.com/blog/">Wooji-Juice</a>]</p>
]]></description>
			<content:encoded><![CDATA[<p>IMA-ADPCM is a compression standard that gets you 4:1 compression on 16-bit audio files. It&#8217;s supported natively by the iPhone — but only using certain APIs. Read the full article <a href="http://www.wooji-juice.com/blog/iphone-openal-ima4-adpcm.html">here</a>.</p>
<p> </p>
<p>[source <a href="http://www.wooji-juice.com/blog/">Wooji-Juice</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/ima4-audio-programming-for-iphone-game-developers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone programming screencasts</title>
		<link>http://iphonedevelopmentbits.com/iphone-programming-screencasts</link>
		<comments>http://iphonedevelopmentbits.com/iphone-programming-screencasts#comments</comments>
		<pubDate>Wed, 22 Oct 2008 04:29:23 +0000</pubDate>
		<dc:creator>rohit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>
		<category><![CDATA[iPhone programming screencasts]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=302</guid>
		<description><![CDATA[<p>Informative iPhone programming <a href="http://machappens.com/2008/10/22/christos-iphone-dev-page/">screencasts</a>.</p>
<p>[source <a href="http://machappens.com">MacHappens</a>]</p>
]]></description>
			<content:encoded><![CDATA[<p>Informative iPhone programming <a href="http://machappens.com/2008/10/22/christos-iphone-dev-page/">screencasts</a>.</p>
<p>[source <a href="http://machappens.com">MacHappens</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/iphone-programming-screencasts/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tris sourcecode on Google Code</title>
		<link>http://iphonedevelopmentbits.com/tris-source-code-on-google-code</link>
		<comments>http://iphonedevelopmentbits.com/tris-source-code-on-google-code#comments</comments>
		<pubDate>Tue, 14 Oct 2008 12:24:57 +0000</pubDate>
		<dc:creator>rohit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>
		<category><![CDATA[google code]]></category>
		<category><![CDATA[iPhone application]]></category>
		<category><![CDATA[source code]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=278</guid>
		<description><![CDATA[<p>This game got banned on Appstore but still it is a very valuable resource to understand how to develop a game for iPhone. You can download the source code of Tris on <a href="http://code.google.com/p/tris/">google code</a>.</p>
]]></description>
			<content:encoded><![CDATA[<p>This game got banned on Appstore but still it is a very valuable resource to understand how to develop a game for iPhone. You can download the source code of Tris on <a href="http://code.google.com/p/tris/">google code</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/tris-source-code-on-google-code/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>31 iPhone apps in 31 days</title>
		<link>http://iphonedevelopmentbits.com/31-iphone-apps-in-31-days</link>
		<comments>http://iphonedevelopmentbits.com/31-iphone-apps-in-31-days#comments</comments>
		<pubDate>Tue, 14 Oct 2008 12:17:56 +0000</pubDate>
		<dc:creator>rohit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>
		<category><![CDATA[iPhone Applications]]></category>
		<category><![CDATA[REsource]]></category>
		<category><![CDATA[Sourcecode]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=276</guid>
		<description><![CDATA[<p><a href="http://www.appsamuck.com/">Apps Amuck</a>&#160;is writing&#160;31 iPhone applications in the next 31 days and they will also publish both the executable and the source code for each application. This looks like a great resource for developers who will like to jump into iPhone&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.appsamuck.com/">Apps Amuck</a>&nbsp;is writing&nbsp;31 iPhone applications in the next 31 days and they will also publish both the executable and the source code for each application. This looks like a great resource for developers who will like to jump into iPhone application development.&nbsp;</p>
<p> </p>
<p>[source <a href="http://www.appsamuck.com/">Apps Amuck</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/31-iphone-apps-in-31-days/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PhoneGap &#8211; Bridge between iPhone SDK and Web apps</title>
		<link>http://iphonedevelopmentbits.com/phonegap-bridge-between-iphone-sdk-and-web-apps</link>
		<comments>http://iphonedevelopmentbits.com/phonegap-bridge-between-iphone-sdk-and-web-apps#comments</comments>
		<pubDate>Mon, 13 Oct 2008 09:57:06 +0000</pubDate>
		<dc:creator>rohit</dc:creator>
				<category><![CDATA[iPhone Games]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPhone SDK]]></category>
		<category><![CDATA[Web Applications]]></category>

		<guid isPermaLink="false">http://iphonedevelopmentbits.com/?p=272</guid>
		<description><![CDATA[<p><a href="http://phonegap.com/" target="_blank">PhoneGap</a> is a free open source development tool and framework that allows web developers to take advantage of the powerful features in the iPhone SDK from HTML and JavaScript. It is written in Objective-C and allows developers to embed their&#8230;</p>]]></description>
			<content:encoded><![CDATA[<p><a href="http://phonegap.com/" target="_blank">PhoneGap</a> is a free open source development tool and framework that allows web developers to take advantage of the powerful features in the iPhone SDK from HTML and JavaScript. It is written in Objective-C and allows developers to embed their web app (HTML, JavaScript, CSS) in Webkit within a native iPhone app.</p>
<p><a href="http://phonegap.com/" target="_blank">PhoneGap</a>&nbsp;is developed and designed by Brock Whitten, Rob Ellis, freelance designer Colin Toomey and Eric Oesterle.</p>
<p>[source&nbsp;<a href="http://phonegap.com/" target="_blank">PhoneGap</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://iphonedevelopmentbits.com/phonegap-bridge-between-iphone-sdk-and-web-apps/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

