<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>PhoneGap</title>
 <link href="http://phonegap.com/rss.xml" rel="self"/>
 <link href="http://phonegap.com/"/>
 <updated>2013-05-23T22:45:13+00:00</updated>
 <id>http://PhoneGap.com/</id>
 <author>
   <name>PhoneGap</name>
 </author>

 
 <entry>
   <title>Video Tutorial: Installing the Ripple Emulator for PhoneGap Development</title>
   
   <link href="http://www.raymondcamden.com/index.cfm/2013/5/23/Video-Tutorial-Installing-the-Ripple-Emulator-for-PhoneGap-Development"/>
   <id>http://www.raymondcamden.com/index.cfm/2013/5/23/Video-Tutorial-Installing-the-Ripple-Emulator-for-PhoneGap-Development</id>
   
   <updated>2013-05-23T19:39:00Z</updated>
   <content type="html">Probably not terribly useful to my readers as I've blogged this before, but I wanted to create a quick video tutorial on how to install the Ripple Emulator for PhoneGap developers. Feel free to share and give to team members who may be new to PhoneGap Development.

&lt;iframe width=&quot;600&quot; height=&quot;338&quot; src=&quot;http://www.youtube.com/embed/_aA_pBYCijk?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/RaymondCamdensColdfusionBlog/~4/sXXsTfLPJSM&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;
</content>
 </entry>
 
 <entry>
   <title>Capturing camera/picture data without PhoneGap</title>
   
   <link href="http://www.raymondcamden.com/index.cfm/2013/5/20/Capturing-camerapicture-data-without-PhoneGap"/>
   <id>http://www.raymondcamden.com/index.cfm/2013/5/20/Capturing-camerapicture-data-without-PhoneGap</id>
   
   <updated>2013-05-20T14:31:00Z</updated>
   <content type="html">As people know, I'm a huge fan of PhoneGap and what it allows me to do with JavaScript, HTML, and CSS. But I think it is crucial to remember that you don't &lt;i&gt;always&lt;/i&gt; need PhoneGap. A great example of that is camera access. Did you know that recent mobile browsers support accessing the camera directly from HTML and JavaScript? Let's look at an example.Over a year ago I wrote a &lt;a href=&quot;http://www.raymondcamden.com/index.cfm/2012/1/13/Demo-of-Color-Palettes-and-PhoneGap&quot;&gt;blog post&lt;/a&gt; where I created an application called &quot;Color Thief.&quot; This application made use of PhoneGap's Camera API and a third party JavaScript library called &lt;a href=&quot;http://lokeshdhakar.com/projects/color-thief/&quot;&gt;Color Thief&lt;/a&gt;. I loved this example because it demonstrated how you could combine the extra power that PhoneGap provides along with existing JavaScript libraries. 

This morning I watched an excellent Google IO presentation (&lt;a href=&quot;https://www.youtube.com/watch?v=EPYnGFEcis4&amp;feature=youtube_gdata_player&quot;&gt;https://www.youtube.com/watch?v=EPYnGFEcis4&amp;feature=youtube_gdata_player&lt;/a&gt;) on Mobile HTML. It was an overview of some of the exciting stuff you can now do with mobile HTML and JavaScript. To be clear, this was all without using wrappers like PhoneGap.

In one of the examples the presenters discussed the new &quot;capture&quot; support for the input/file field type. This is rather simple to implement:

&amp;lt;input type=&quot;file&quot; capture=&quot;camera&quot; accept=&quot;image/*&quot; id=&quot;takePictureField&quot;&amp;gt;

If supported (recent Android and latest iOS), the user can then use their camera to select a picture. I decided to rebuild my old demo to skip PhoneGap completely and just make use of this feature. Here's the code:

&lt;script src=&quot;https://gist.github.com/cfjedimaster/5613113.js&quot;&gt;&lt;/script&gt;

For the most part, this is pretty similar to the last version. I no longer wait for the deviceready event, but instead just listen for the document itself to load. Instead of listening for a button click, I've switched to a input field using type=file. I now listen for the change event, and on that, I see if I have access to a file. If  I do, I can then use the URL object to create a pointer to the source and then simply add it to my DOM. After that, Color Thief takes over.

The only tricky part I ran into was that in iOS the URL object is still prefixed. You can see how I get around that in the startup code. To be fair, this isn't 100% backwards compatible, I could add a few checks in here to ensure that things will work and gracefully let people on older phones know they can't use this feature.

But the end result is nearly the exact same functionality in a web page - no PhoneGap, no native code.

&lt;iframe width=&quot;600&quot; height=&quot;450&quot; src=&quot;http://www.youtube.com/embed/knU2SpymiaI?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/RaymondCamdensColdfusionBlog/~4/qnbeDtkxBQs&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;
</content>
 </entry>
 
 <entry>
   <title>Join the PhoneGap Windows Phone Porting Challenge</title>
   
   <link href="http://phonegap.com/blog/2013/05/20/wp-portin-challenge"/>
   <id>http://phonegap.com/blog/2013/05/20/wp-portin-challenge</id>
   
   <updated>2013-05-20T11:40:03+00:00</updated>
   <content type="html">&lt;p&gt;As you may know, PhoneGap supports the Windows Phone platform including the new capabilities in &lt;a href='http://phonegap.com/blog/2012/12/21/apache-cordova-and-windows-phone-8'&gt;Windows Phone 8&lt;/a&gt; , including IE 10. We&amp;#8217;re excited to announce a fun new challenge from our friends at &lt;a href='http://dev.windowsphone.com'&gt;Microsoft&lt;/a&gt;: The &lt;a href='http://www.phonegapwpchallenge.com'&gt;PhoneGap Windows Phone Porting Challenge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;Do you have an existing PhoneGap app? Port your PhoneGap app to the Windows Phone Store. Not only will you reach a wider audience to expose your app to, but you could also win some cool prizes! 20 winners in total with 3 grand prize winners who will each receive a Windows Phone 8 and a Surface Pro, and 17 first prize winners receiving a Windows Phone 8. All winning apps will be evaluated for featured slots in the Windows Phone Store, too.&lt;/p&gt;

&lt;p&gt;Members of a panel selected from Microsoft, PhoneGap and industry experts will choose 20 winners based on apps that are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Original&lt;/li&gt;

&lt;li&gt;Innovative&lt;/li&gt;

&lt;li&gt;Easy to use&lt;/li&gt;

&lt;li&gt;Engaging and visually appealing to the user&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The challenge started May 20th and you have until June 30th to submit your apps for the Porting Challenge. Winners will be announced July 19th during &lt;a href='http://pgday.phonegap.com/us2012'&gt;PhoneGap Day US&lt;/a&gt; in Portland, OR. The challenge is open to developers in all countries/regions where &lt;a href='http://msdn.microsoft.com/library/windowsphone/help/jj215599%28v=vs.105%29.aspx'&gt;Windows Phone Dev Center Registration is availabe&lt;/a&gt;. Read the &lt;a href='http://appchallengestorage.blob.core.windows.net/wpchallengefiles/PhoneGapChallengeRules.pdf'&gt;complete rules&lt;/a&gt; for all the details before you sign up at &lt;a href='http://www.phonegapwpchallenge.com'&gt;http://www.phonegapwpchallenge.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources&lt;/strong&gt; Need some help to get started?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Watch &lt;a href='http://channel9.msdn.com/Blogs/Interoperability/Getting-started-with-Windows-Phone-8-and-Cordova'&gt;Microsoft&amp;#8217;s 5-minute video tutorial&lt;/a&gt; that shows you how to set up PhoneGap with Visual Studio, and a few other detailed tutorials. You can also find tips and tricks to adapt WebKit-optimized HTML5 code to Internet Explorer 10, and how to give your app UI a Windows Phone look and feel.&lt;/li&gt;

&lt;li&gt;Read &lt;a href='http://twitter.com/purplecabbage'&gt;Jesse MacFadyen&amp;#8217;s&lt;/a&gt; post &lt;a href='http://www.risingj.com/archives/374'&gt;Apache Cordova and Windows Phone 8&lt;/a&gt; and &lt;a href='http://flippinawesome.org/2013/04/08/cordova-windows-phone-8/'&gt;Developing for Windows Phone 8 in Apache Cordova&lt;/a&gt; on how to get started.&lt;/li&gt;

&lt;li&gt;Watch &lt;a href='http://twitter.com/ccoenraets'&gt;Christophe Coenraets&amp;#8217;&lt;/a&gt; video &lt;a href='http://coenraets.org/blog/2013/05/top-10-performance-techniques-for-phonegap-applications/'&gt;Top 10 Performance Techniques for PhoneGap Applications&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;Get inspiration by looking at examples of &lt;a href='http://phonegap.com/app/'&gt;PhoneGap/Windows Phone apps&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We look forward to seeing what you all create!&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>Cordova will no longer support BlackBerry 7 and Below post 3.0</title>
   
   <link href="http://phonegap.com/blog/2013/05/16/cordova-will-no-longer-support-bb"/>
   <id>http://phonegap.com/blog/2013/05/16/cordova-will-no-longer-support-bb</id>
   
   <updated>2013-05-16T15:40:02+00:00</updated>
   <content type="html">&lt;p&gt;With the release of the BlackBerry 10 platform, the &lt;a href='http://cordova.io'&gt;Apache Cordova&lt;/a&gt;/PhoneGap team have decided to focus efforts on creating the best possible framework for mobile apps on BlackBerry devices. To further this goal, support will be deprecated for the venerable BlackBerry Java platform with the release of Cordova 3.0 in July 2013.&lt;/p&gt;

&lt;p&gt;Cordova is undergoing a major architectural transformation as we near 3.0. This transformation will bring a uniform interface for creating and managing Cordova Applications, and a universal plugin-based architecture. We will be focussing our efforts on BlackBerry 10 and PlayBook support.&lt;/p&gt;

&lt;p&gt;Rest assured, this will in no way prevent you from building apps for BlackBerry 7 and below using Cordova 2.9.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>PhoneGap &amp;amp; Android Studio</title>
   
   <link href="http://www.tricedesigns.com/2013/05/16/phonegap-android-studio/"/>
   <id>http://www.tricedesigns.com/2013/05/16/phonegap-android-studio/</id>
   
   <updated>2013-05-16T15:11:10Z</updated>
   <content type="html">Yesterday at GoogleIO, Google announced Android Studio, a new development environment for authoring Android applications. This is a great looking new IDE for Android, based off of IntelliJ IDEA, with some new Android-specific tools and features. You can read more about Android Studio on the Google Android Developers blog. One of my first tasks upon [...]
</content>
 </entry>
 
 <entry>
   <title>PhoneGap at Adobe MAX 2013</title>
   
   <link href="http://phonegap.com/blog/2013/05/15/phonegap-at-max"/>
   <id>http://phonegap.com/blog/2013/05/15/phonegap-at-max</id>
   
   <updated>2013-05-15T15:40:02+00:00</updated>
   <content type="html">&lt;p&gt;The PhoneGap team headed to LA from May 4-8 to attend &lt;a href=&quot;http://max.adobe.com&quot;&gt;Adobe MAX&lt;/a&gt;. We were stoked to have so many PhoneGap and PhoneGap Build sessions there! We met tons of people who were new to PhoneGap and lots who were already familiar with us and wanted to take it to the next level. &lt;/p&gt;

&lt;p&gt;Did you know? The Adobe MAX mobile companion app was made with PhoneGap! Even though the conference is now over, you can still check out the &lt;a href=&quot;http://max.adobe.com/community/mobile-apps.html&quot;&gt;app&lt;/a&gt; and see how it works. &lt;/p&gt;

&lt;p&gt;If you weren't able to attend MAX, we have a video round-up of most of the sessions that were presented:&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Building Mobile Apps with Web Standards&lt;/b&gt;
&lt;iframe title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot; height=&quot;296&quot; src=&quot;http://tv.adobe.com/embed/1217/18496/&quot; frameborder=&quot;0&quot; allowfullscreen scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Architecting a PhoneGap Application&lt;/b&gt;
&lt;iframe title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot; height=&quot;296&quot; src=&quot;http://tv.adobe.com/embed/1217/18503/&quot; frameborder=&quot;0&quot; allowfullscreen scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Optimizing PhoneGap Applications&lt;/b&gt;
&lt;iframe title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot; height=&quot;296&quot; src=&quot;http://tv.adobe.com/embed/1217/18451/&quot; frameborder=&quot;0&quot; allowfullscreen scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Tips for Creating Real PhoneGap Apps That Look As Good As They Perform&lt;/b&gt;
&lt;iframe title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot; height=&quot;296&quot; src=&quot;http://tv.adobe.com/embed/1217/18426/&quot; frameborder=&quot;0&quot; allowfullscreen scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Top 10 Performance Techniques for PhoneGap Applications&lt;/b&gt;
&lt;iframe title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot; height=&quot;296&quot; src=&quot;http://tv.adobe.com/embed/1217/18425/&quot; frameborder=&quot;0&quot; allowfullscreen scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Expanding PhoneGap with Plug-ins&lt;/b&gt;
&lt;iframe title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot; height=&quot;296&quot; src=&quot;http://tv.adobe.com/embed/1217/18472/&quot; frameborder=&quot;0&quot; allowfullscreen scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Advanced PhoneGap Build&lt;/b&gt;&lt;br /&gt;
&lt;iframe title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot; height=&quot;296&quot; src=&quot;http://tv.adobe.com/embed/1217/18506/&quot; frameborder=&quot;0&quot; allowfullscreen scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Case Study: Designing and Developing PhoneGap from the Ground Up&lt;/b&gt;
&lt;iframe title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot; height=&quot;296&quot; src=&quot;http://tv.adobe.com/embed/1217/18494/&quot; frameborder=&quot;0&quot; allowfullscreen scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;PhoneGap and UnTappd: The Perfect Pint&lt;/b&gt;
&lt;iframe title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot; height=&quot;296&quot; src=&quot;http://tv.adobe.com/embed/1217/18448/&quot; frameborder=&quot;0&quot; allowfullscreen scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;What else happened at MAX? &lt;br /&gt;
	&lt;ul&gt;
		&lt;li&gt;We got some great coverage from the guys at &lt;a href=&quot;http://www.nerdradio.com/&quot;&gt;Nerd Radio&lt;/a&gt; in MAX's Community Pavilion. You can &lt;a href=&quot;http://blog.nerdradio.com/tagged/phonegap&quot;&gt;listen to the interviews&lt;/a&gt; to get even more insight into PhoneGap from &lt;a href=&quot;http://twitter.com/cfjedimaster&quot;&gt;Ray Camden&lt;/a&gt;, &lt;a href=&quot;http://twitter.com/brianleroux&quot;&gt;Brian LeRoux&lt;/a&gt;, &lt;a href=&quot;http://twitter.com/jahoni&quot;&gt;Joni Rustulka&lt;/a&gt;, &lt;a href=&quot;http://twitter.com/sjespers&quot;&gt;Serge Jespers&lt;/a&gt;, &lt;a href=&quot;http://twitter.com/chrisgriffith&quot;&gt;Chris Griffith&lt;/a&gt;, and &lt;a href=&quot;http://twitter.com/gregavola&quot;&gt;Greg Avola&lt;/a&gt;. &lt;/li&gt;
		&lt;li&gt;We also participated in a hackathon with the &lt;a href=&quot;http://brackets.io&quot;&gt;Brackets&lt;/a&gt; team on Monday and Tuesday in the Expo Hall. We had some couches, tables and plenty of people gathered around for some hacking. Thanks to those who showed up!
		&lt;li&gt;&lt;a href=&quot;http://twitter.com/jahoni&quot;&gt;Joni Rustulka&lt;/a&gt; spoke at the &lt;a href=&quot;http://design4manydevices.eventbrite.com/&quot;&gt;IxDA LA Meetup&lt;/a&gt; on &quot;Design for Many Devices&quot;. Joni's talk included a reference to an application built using PhoneGap and gave the downlow on how to approach designing a product that will deliver on multiple devices and multiple platforms. Check out &lt;a href=&quot;http://www.slideshare.net/jahoni/design-for-many-devices&quot;&gt;her slides&lt;/a&gt;.
		&lt;li&gt;&lt;a href=&quot;http://twitter.com/filmaj&quot;&gt;Fil Maj&lt;/a&gt; spoke at the &lt;a href=&quot;http://www.meetup.com/laphonegap/events/116015432&quot;&gt;LA PhoneGap User Group&lt;/a&gt; giving an Intro to PhoneGap and PhoneGap plug-ins.&lt;/li&gt;
		&lt;li&gt;Our friends at &lt;a href=&quot;http://microsoft.com&quot;&gt;Microsoft&lt;/a&gt; announced their &lt;a href=&quot;http://www.phonegapwpchallenge.com/&quot;&gt;Porting Challenge&lt;/a&gt;. Publish/Port your PhoneGap app to the Windows Phone Store and expand your opportunities by reaching a growing number of Windows Phone 8 users. Plus, a number of finalists will win some cool prizes!&lt;/li&gt;
			
		&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;It was a jam packed schedule and had an awesome time. Thanks to everyone who connected with us -- see you at the next event!&lt;/p&gt;


</content>
 </entry>
 
 <entry>
   <title>Architecting a PhoneGap Application: Video + Slides</title>
   
   <link href="http://coenraets.org/blog/2013/05/architecting-a-phonegap-application-video-slides/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=architecting-a-phonegap-application-video-slides"/>
   <id>http://coenraets.org/blog/2013/05/architecting-a-phonegap-application-video-slides/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=architecting-a-phonegap-application-video-slides</id>
   
   <updated>2013-05-13T16:04:34Z</updated>
   <content type="html">Here is the video of my PhoneGap Architecture talk at Adobe MAX 2013: The slides are available here.
</content>
 </entry>
 
 <entry>
   <title>Top 10 Performance Techniques for PhoneGap Applications</title>
   
   <link href="http://coenraets.org/blog/2013/05/top-10-performance-techniques-for-phonegap-applications/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=top-10-performance-techniques-for-phonegap-applications"/>
   <id>http://coenraets.org/blog/2013/05/top-10-performance-techniques-for-phonegap-applications/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=top-10-performance-techniques-for-phonegap-applications</id>
   
   <updated>2013-05-13T15:49:32Z</updated>
   <content type="html">Here is the video of my PhoneGap performance session at Adobe MAX 2013:
</content>
 </entry>
 
 <entry>
   <title>The Ottawa City Councillor PhoneGap app</title>
   
   <link href="http://simonmacdonald.blogspot.com/2013/05/the-ottawa-city-councillor-phonegap-app.html"/>
   <id>http://simonmacdonald.blogspot.com/2013/05/the-ottawa-city-councillor-phonegap-app.html</id>
   
   <updated>2013-05-13T14:00:00Z</updated>
   <content type="html">&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-zPFyQ_hbC38/UYmuhA4kbWI/AAAAAAAACQs/OwuXI3qWaY8/s1600/occ.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://2.bp.blogspot.com/-zPFyQ_hbC38/UYmuhA4kbWI/AAAAAAAACQs/OwuXI3qWaY8/s320/occ.png&quot; width=&quot;191&quot; /&gt;&lt;/a&gt;&lt;/div&gt;So a couple of friends of mine wanted to learn more about programming mobile applications so we decided to get together and create an application for&amp;nbsp;the &lt;a href=&quot;http://apps4ottawa.ca/&quot;&gt;Apps4Ottawa&lt;/a&gt; competition.&lt;br /&gt;&lt;br /&gt;We settled on creating an application that would enable folks from Ottawa to learn more about and connect with their city councillors. Sadly, I didn't even know who my city councillor was until I started working on this app.&lt;br /&gt;&lt;br /&gt;It uses the &lt;a href=&quot;http://data.ottawa.ca/en/&quot;&gt;open data Ottawa&lt;/a&gt; to get&amp;nbsp;the city councillor information and it the &lt;a href=&quot;http://opennorth.ca/&quot;&gt;Open North API&lt;/a&gt; to do reverse geocoding to turn your GPS co-ordinates into the correct ward.&lt;br /&gt;&lt;br /&gt;Currently&amp;nbsp;the app is available on&amp;nbsp;the &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.occouncillor&amp;amp;feature=nav_result#?t=W251bGwsMSwyLDNd&quot;&gt;Google Play store&lt;/a&gt; and we are going through the process of getting approval for the app on&amp;nbsp;the Apple store.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.phonegap.com/&quot;&gt;PhoneGap&lt;/a&gt; was&amp;nbsp;definitely&amp;nbsp;the way to go with this project. We developed pretty much in Android then when we were ready to release a version of the app we just compiled it in Xcode and it just worked. The only thing we changed were the break points for the CSS media queries to deal with the different iPhone screen sizes. Support for Windows 8 and BlackBerry 10 are also coming as we have time.&lt;br /&gt;&lt;br /&gt;I'm going to write up a post later in the week to talk about some of the micro libraries we used in order to accelerate development.&lt;br /&gt;&lt;br /&gt;Please give&amp;nbsp;the app a try and let me know what you think of it and what can be done better. If you are so inclined we wouldn't mind a &lt;a href=&quot;http://apps4ottawa.ca/en/apps/80&quot;&gt;vote or two in the app in&amp;nbsp;the Apps4Ottawa competition&lt;/a&gt;.
</content>
 </entry>
 
 <entry>
   <title>PhoneGap AdobeMax Sessions</title>
   
   <link href="http://simonmacdonald.blogspot.com/2013/05/phonegap-adobemax-sessions.html"/>
   <id>http://simonmacdonald.blogspot.com/2013/05/phonegap-adobemax-sessions.html</id>
   
   <updated>2013-05-10T14:08:00Z</updated>
   <content type="html">Were you at AdobeMax this week? No, neither was I. Disappointed? Yeah, me too. Luckily Adobe is posting their talks on line for everyone to be able to watch. Not everything is up yet so I will update this &amp;nbsp;post as they become available. Right now I recommend checking out:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://adobe.ly/15feem5&quot;&gt;Top 10 Performance Techniques for PhoneGap Applications&lt;/a&gt;&lt;/b&gt; by &lt;a href=&quot;http://coenraets.org/blog/&quot;&gt;Christophe Coenraets&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;296&quot; scrolling=&quot;no&quot; src=&quot;http://tv.adobe.com/embed/1217/18425/&quot; title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot;&gt;&lt;/iframe&gt; &lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;http://adobe.ly/166OJmk&quot;&gt;Architecting PhoneGap Applications&lt;/a&gt;&lt;/b&gt; by &lt;a href=&quot;http://coenraets.org/blog/&quot;&gt;Christophe Coenraets&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;296&quot; scrolling=&quot;no&quot; src=&quot;http://tv.adobe.com/embed/1217/18503/&quot; title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://adobe.ly/16KZn2f&quot;&gt;Advanced PhoneGap Build&lt;/a&gt;&lt;/b&gt;&amp;nbsp;by &lt;a href=&quot;http://www.raymondcamden.com/&quot;&gt;Raymond Camden&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;296&quot; scrolling=&quot;no&quot; src=&quot;http://tv.adobe.com/embed/1217/18506/&quot; title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot;&gt;&lt;/iframe&gt; &lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;a href=&quot;http://adobe.ly/17CN06q&quot;&gt;Designing and Developing PhoneGap Applications from the Ground-Up&lt;/a&gt;&lt;/b&gt; by &lt;a href=&quot;http://www.poundandgrain.com/&quot;&gt;Sandy Fleischer&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://adobe.ly/Zuo63z&quot;&gt;Expanding PhoneGap with Plug-ins&lt;/a&gt;&lt;/b&gt; by &lt;a href=&quot;http://filmaj.ca/&quot;&gt;Fil Maj&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://adobe.ly/12ybUiI&quot;&gt;Optimizing PhoneGap Applications&lt;/a&gt;&lt;/b&gt; by &lt;a href=&quot;https://twitter.com/stevesgill&quot;&gt;Steve Gill&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://adobe.ly/15feem7&quot;&gt;PhoneGap and Untappd: The Perfect Pint&lt;/a&gt;&lt;/b&gt; by &lt;a href=&quot;http://gregavola.me/&quot;&gt;Greg Avola&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/timm3h&quot;&gt;Tim Mather&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://adobe.ly/15feem5&quot;&gt;Tips for Creating Real PhoneGap Apps That Look As Good As They Perform&lt;/a&gt;&lt;/b&gt; by &lt;a href=&quot;https://twitter.com/geekpunk&quot;&gt;Mike Wolf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;http://adobe.ly/17CMXHN&quot;&gt;Building Mobile Apps with Web Standards&lt;/a&gt;&lt;/b&gt; by &lt;a href=&quot;https://twitter.com/mwbrooks&quot;&gt;Michael Brooks&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;296&quot; scrolling=&quot;no&quot; src=&quot;http://tv.adobe.com/embed/1217/18496/&quot; title=&quot;AdobeTV Video Player&quot; width=&quot;515&quot;&gt;&lt;/iframe&gt;
</content>
 </entry>
 
 <entry>
   <title>MAX Session: Advanced PhoneGap Build</title>
   
   <link href="http://www.raymondcamden.com/index.cfm/2013/5/9/MAX-Session-Advanced-PhoneGap-Build"/>
   <id>http://www.raymondcamden.com/index.cfm/2013/5/9/MAX-Session-Advanced-PhoneGap-Build</id>
   
   <updated>2013-05-10T01:49:00Z</updated>
   <content type="html">Oddly, the &lt;i&gt;last&lt;/i&gt; of my Adobe MAX sessions is available online now but none of my earlier ones. I assume they will show up in the next day or so. But for now, enjoy my eloquent presentation on the more advanced aspects of using PhoneGap Build. You can download the source code for the sample apps and slide deck as well.&lt;iframe title=&quot;AdobeTV Video Player&quot; width=&quot;600&quot; height=&quot;345&quot; src=&quot;http://tv.adobe.com/embed/1217/18506/&quot; frameborder=&quot;0&quot; allowfullscreen scrolling=&quot;no&quot;&gt;&lt;/iframe&gt;

As always, I hope this is helpful!&lt;img src=&quot;http://feeds.feedburner.com/~r/RaymondCamdensColdfusionBlog/~4/S-75noqmI1I&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;
</content>
 </entry>
 
 <entry>
   <title>Visual comparisons of PhoneGap Notification UIs</title>
   
   <link href="http://www.raymondcamden.com/index.cfm/2013/5/5/Visual-comparisons-of-PhoneGap-Notification-UIs"/>
   <id>http://www.raymondcamden.com/index.cfm/2013/5/5/Visual-comparisons-of-PhoneGap-Notification-UIs</id>
   
   <updated>2013-05-05T12:03:00Z</updated>
   <content type="html">If you are a PhoneGap users,  hopefully you know about the various aspects of the &lt;a href=&quot;http://docs.phonegap.com/en/2.7.0/cordova_notification_notification.md.html&quot;&gt;Notification API&lt;/a&gt;. The Notification API allows for visual, audio, and tactile notifications. In this post I want to focus on the visual notifications and how they differ from the built in web view notifications.To begin, I created a simple HTML interface with buttons that would let me test &lt;strong&gt;alerts, confirms, and prompts&lt;/strong&gt;. These are the three forms of visual notifications both in vanilla JavaScript as well as PhoneGap's Notification API.

&lt;script src=&quot;https://gist.github.com/cfjedimaster/5520779.js&quot;&gt;&lt;/script&gt;

I used my epic CSS skills to make this a bit more touch friendly:

&lt;img src=&quot;http://www.raymondcamden.com/images/iOS Simulator Screen shot May 5, 2013 7.57.40 AM.png&quot; /&gt;

Now let's look at the JavaScript.

&lt;script src=&quot;https://gist.github.com/cfjedimaster/5520791.js&quot;&gt;&lt;/script&gt;

The first three event handlers are for the vanilla JavaScript notifications. Notice how in confirm and prompt the result is handed back to a variable. The only real customization available is with the prompt method which allows for a default.

Here is the alert being fired:

&lt;img src=&quot;http://www.raymondcamden.com/images/iOS Simulator Screen shot May 5, 2013 7.57.45 AM.png&quot; /&gt;

Here is the confirm:

&lt;img src=&quot;http://www.raymondcamden.com/images/iOS Simulator Screen shot May 5, 2013 7.57.51 AM.png&quot; /&gt;

And finally the prompt:

&lt;img src=&quot;http://www.raymondcamden.com/images/iOS Simulator Screen shot May 5, 2013 7.57.56 AM.png&quot; /&gt;

Now let's consider the native options. First note that they allow for customization. In each one you can tweak the button (or buttons) as well as the title. Be aware that confirm takes a list of button labels while prompt takes an array. (I consider that a bug and I hope they fix that soon.) Also note that all three have callbacks for handling button presses. I've used null as a way of signifying I don't want to do anything, but you would normally have some kind of logic there.

Here is the native alert:

&lt;img src=&quot;http://www.raymondcamden.com/images/iOS Simulator Screen shot May 5, 2013 7.58.07 AM.png&quot; /&gt;

Here is the native confirm:

&lt;img src=&quot;http://www.raymondcamden.com/images/iOS Simulator Screen shot May 5, 2013 7.58.13 AM.png&quot; /&gt;

And lastly, the native prompt:

&lt;img src=&quot;http://www.raymondcamden.com/images/iOS Simulator Screen shot May 5, 2013 7.58.19 AM.png&quot; /&gt;

Just to be clear, do remember that you can build your own alerts, confirms, and prompts as well if you feel like it.&lt;img src=&quot;http://feeds.feedburner.com/~r/RaymondCamdensColdfusionBlog/~4/28y_wiJa9g4&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;
</content>
 </entry>
 
 <entry>
   <title>What’s new in Cordova iOS 2.7.0</title>
   
   <link href="http://shazronatadobe.wordpress.com/2013/05/03/whats-new-in-cordova-ios-2-7-0/"/>
   <id>http://shazronatadobe.wordpress.com/2013/05/03/whats-new-in-cordova-ios-2-7-0/</id>
   
   <updated>2013-05-03T23:08:49Z</updated>
   <content type="html">Mainly bug fixes, the only highlights are new features for InAppBrowser &amp;#8211; executeScript() and insertCSS(). Download 2.7.0. 1. Script Updates [CB–2849] Fix bin/create when CordovaLib parent dir has a space [CB–2788] add ./bin/check_reqs script to iOS [CB–3048] Add –arc flag to create script, support arc in template. 2. FileTransfer Updates [CB–2537] Implement streaming downloads for [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=shazronatadobe.wordpress.com&amp;#038;blog=24879806&amp;#038;post=664&amp;#038;subd=shazronatadobe&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;
</content>
 </entry>
 
 <entry>
   <title>Recording and Assets from my PhoneGap Presentation</title>
   
   <link href="http://www.raymondcamden.com/index.cfm/2013/5/2/Recording-and-Assets-from-my-PhoneGap-Presentation"/>
   <id>http://www.raymondcamden.com/index.cfm/2013/5/2/Recording-and-Assets-from-my-PhoneGap-Presentation</id>
   
   <updated>2013-05-02T20:34:00Z</updated>
   <content type="html">For those who attended my PhoneGap presentation earlier in week (or those who just want to hear the sound of my silky-smooth almost Billy Dee Williams voice) you can view the recording at the URL below. Note that if you did not register for the event you will be asked to register before you can view it. To be clear, this is &lt;b&gt;free&lt;/b&gt;. 

&lt;a href=&quot;http://w.on24.com/r.htm?e=582941&amp;s=1&amp;k=A3BCF648B71580CC093EF1264D5D27B1&quot;&gt;http://w.on24.com/r.htm?e=582941&amp;s=1&amp;k=A3BCF648B71580CC093EF1264D5D27B1&lt;/a&gt;

For folks who want a copy of the demos I used, you can get the source code and the slide deck here: &lt;a href=&quot;https://github.com/cfjedimaster/Introduction-to-PhoneGap&quot;&gt;https://github.com/cfjedimaster/Introduction-to-PhoneGap&lt;/a&gt;

As always, thank you to everyone who showed up (apparently near 900) and I hope you enjoyed it.&lt;img src=&quot;http://feeds.feedburner.com/~r/RaymondCamdensColdfusionBlog/~4/QD_nI-JL_fg&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;
</content>
 </entry>
 
 <entry>
   <title>Using the Progress event in PhoneGap file transfers</title>
   
   <link href="http://www.raymondcamden.com/index.cfm/2013/5/1/Using-the-Progress-event-in-PhoneGap-file-transfers"/>
   <id>http://www.raymondcamden.com/index.cfm/2013/5/1/Using-the-Progress-event-in-PhoneGap-file-transfers</id>
   
   <updated>2013-05-01T20:08:00Z</updated>
   <content type="html">Earlier today I was happy to hear that &lt;a href=&quot;http://phonegap.com/blog/2013/04/30/pg-270-released/&quot;&gt;PhoneGap 2.7&lt;/a&gt; was released. While perusing the changelist, I thought I read that progress events for file transfers were added in this release. However, I was wrong. &lt;a href=&quot;http://docs.phonegap.com/en/2.7.0/cordova_file_file.md.html#FileTransfer&quot;&gt;FileTransfer&lt;/a&gt; has supported a progress event for a few months now. But since I figured this out while halfway through a demo, I figured I'd finish it up anyway and share it on my blog.As you can imagine, the onprogress event is a property of the FileTransfer object. It is passed a progressEvent that is - unfortunately - not documented as far as I can see. The code example though gives you enough information I think to deal with it:

&lt;script src=&quot;https://gist.github.com/cfjedimaster/5498492.js&quot;&gt;&lt;/script&gt;

So from what I can see - you get a property that determines if the total size is known, and if so, you can get a percentage by using it with the loaded property. Otherwise you're just guessing at the time left, but at least you know &lt;i&gt;something&lt;/i&gt; is going on.

For my demo, I thought I'd build a simple MP3 downloader/player. I googled for 'free open source music' and came across this incredible MP3 by Kansas Joe McCoy and Memphis Minnie: &lt;a href=&quot;http://publicdomain4u.com/kansas-joe-mccoy-memphis-minnie-when-the-levee-breaks/mp3-download&quot;&gt;When the Levee Breaks&lt;/a&gt;. Go ahead and listen to it. As much as I love indie music and trance, the sound of old recordings like this is like pure gold to the ears. 

Anyway - I began by creating an incredible simple web page. It lists the name of the artists and the song along with a picture. I've included a button that will trigger the download. Also make note of the status div I'll be using for - you guessed it - progress events.

&lt;script src=&quot;https://gist.github.com/cfjedimaster/5498519.js&quot;&gt;&lt;/script&gt;

Here's a screen shot of it in action.

&lt;img src=&quot;http://www.raymondcamden.com/images/iOS Simulator Screen shot May 1, 2013 4.28.35 PM.png&quot; /&gt;

Ok, now let's take a look at the code.

&lt;script src=&quot;https://gist.github.com/cfjedimaster/5498530.js&quot;&gt;&lt;/script&gt;

Starting from the top, the first thing that may interest you is the file system request. I ask for the temporary file system so I have a place to store the mp3. Once I've got a hook to the file system I then enable the button in my web page and start listening for a touch event.

The function that handles the download, startDl, creates the FileTransfer object and points it to the remote MP3. I've used almost the exact same onprogress event as demonstrated in the PhoneGap docs. I changed it to write out a percentage when possible and in other cases, simply append dots to the end of a string. That way people know something is still being transferred.

The final portion simply handles the media portion. I didn't bother adding any real controls so it just begins to play the track and that's it. (To be clear, this wouldn't be hard to add, just check the &lt;a href=&quot;http://docs.phonegap.com/en/2.7.0/cordova_media_media.md.html#Media&quot;&gt;Media API&lt;/a&gt; for more information.)

Watch the video below to see it in action:

&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/DrGAlizaf_8&amp;hl=en&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/DrGAlizaf_8&amp;hl=en&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;

As a last tip, note that the docs for Media seem to imply the you need a URI, not a file path. On iOS it seems to require a path, not a URI. Thanks to &lt;a href=&quot;http://simonmacdonald.blogspot.com/&quot;&gt;Simon MacDonald&lt;/a&gt; for helping me with this.&lt;img src=&quot;http://feeds.feedburner.com/~r/RaymondCamdensColdfusionBlog/~4/xls0jY2Sl7w&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;
</content>
 </entry>
 
 <entry>
   <title>Cordova/PhoneGap and the new Apple App Store Requirements</title>
   
   <link href="http://shazronatadobe.wordpress.com/2013/05/01/cordovaphonegap-and-the-new-apple-app-store-requirements/"/>
   <id>http://shazronatadobe.wordpress.com/2013/05/01/cordovaphonegap-and-the-new-apple-app-store-requirements/</id>
   
   <updated>2013-05-01T19:48:28Z</updated>
   <content type="html">Beginning May 1st 2013, apps submitted to the Apple App Store&amp;#8230; 1. must be built for iOS devices with Retina display and iPhone apps must also support the 4-inch display on iPhone 5 2. will no longer accept new apps or app updates that access UDIDs Cordova/PhoneGap fulfills requirement (1) since version 2.5.0 and fulfills requirement (2) since [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=shazronatadobe.wordpress.com&amp;#038;blog=24879806&amp;#038;post=655&amp;#038;subd=shazronatadobe&amp;#038;ref=&amp;#038;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;
</content>
 </entry>
 
 <entry>
   <title>PhoneGap 2.7.0 Released!</title>
   
   <link href="http://phonegap.com/blog/2013/04/30/pg-270-released"/>
   <id>http://phonegap.com/blog/2013/04/30/pg-270-released</id>
   
   <updated>2013-04-30T18:20:03+00:00</updated>
   <content type="html">&lt;p&gt;We have just released PhoneGap 2.7.0! Thanks to everyone who worked so hard to get this release out.&lt;/p&gt;

&lt;p&gt;In this release, the community mainly focused on bug fixes. View the 2.7.0 commits in the changelog on &lt;a href='https://github.com/phonegap/phonegap/blob/2.7.0/changelog'&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you find any bugs with this version, help out our community and project by reporting them on our &lt;a href='https://issues.apache.org/jira/browse/CB'&gt;issue tracker&lt;/a&gt;.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>New AT&amp;T APIs for Adobe PhoneGap</title>
   
   <link href="http://phonegap.com/blog/2013/04/24/att-api-phonegap"/>
   <id>http://phonegap.com/blog/2013/04/24/att-api-phonegap</id>
   
   <updated>2013-04-24T11:40:02+00:00</updated>
   <content type="html">&lt;p&gt;We’re delighted to introduce two new features for AT&amp;amp;T SDK for PhoneGap– &lt;a href='http://developer.att.com/developer/forward.jsp?passedItemId=13400964'&gt;Advertising API&lt;/a&gt; and &lt;a href='http://developer.att.com/developer/forward.jsp?passedItemId=12500023#link02'&gt;Text to Speech transcription&lt;/a&gt; (part of the Speech API update).&lt;/p&gt;

&lt;p&gt;&lt;a href='http://developer.att.com/developer/forward.jsp?passedItemId=13400964'&gt;Advertising&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a new revenue stream through the use of customized advertising. The Advertising API allows you to incorporate a simple, easy-to-use solution that supports revenue share-based monetization of your apps through the placement of paid advertising.&lt;/p&gt;

&lt;p&gt;&lt;a href='http://developer.att.com/developer/forward.jsp?passedItemId=12500023'&gt;Speech – Speech to Text and Text to Speech&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Powered by the AT&amp;amp;T Watson℠ speech engine, the Speech API supports speech-enabled apps that run on virtually any cellular network in the United States. There are seven speech contexts available that are built and maintained by AT&amp;amp;T, and we&amp;#8217;ll continue to tune them for you. Now with &lt;a href='http://developer.att.com/developer/forward.jsp?passedItemId=12500023'&gt;Text to Speech&lt;/a&gt; functionality, you can just send us text as part of the API call, and one of our polite, well-versed characters will be happy to ‘say’ what you sent.&lt;/p&gt;

&lt;p&gt;If you are not a current user - the AT&amp;amp;T SDK enables &lt;a href='http://developer.att.com'&gt;AT&amp;amp;T API Platform&lt;/a&gt; services to be accessible through the PhoneGap platform to help you quickly bring PhoneGap mobile applications to market. The AT&amp;amp;T SDK significantly reduces the complexity of building applications that use the AT&amp;amp;T APIs.&lt;/p&gt;

&lt;p&gt;While we are working with PhoneGap to provide a separate developer tool for the AT&amp;amp;T HTML5 SDK, integration with Cordova web view tool and wrapping with PhoneGap allows you to integrate robust services like the AT&amp;amp;T Speech API into your app.&lt;/p&gt;

&lt;p&gt;For example, using this method for the Speech API will look like this:&lt;/p&gt;

&lt;p&gt;&lt;img src='/uploads/blog/2013-04/attcode.png' alt='' /&gt;&lt;/p&gt;

&lt;p&gt;In addition to Advertising and Speech APIs, the SDK enables you to add the following &lt;a href='http://developer.att.com/phonegap'&gt;AT&amp;amp;T APIs and more&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href='http://developer.att.com/developer/forward.jsp?passedItemId=12700033'&gt;Location&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Take your application to the next level by including your subscriber&amp;#8217;s location, with their consent. Whether your app involves mobile advertising, local search, or any of a number of other location-related activities, the Location API will make your app or service stand out over other non-connected alternatives.&lt;/p&gt;

&lt;p&gt;&lt;a href='http://developer.att.com/developer/forward.jsp?passedItemId=12700039'&gt;MMS&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Multimedia Messaging Service (MMS) greatly enhances the power of your communications by moving beyond the text only capabilities of text based messaging.&lt;/p&gt;

&lt;p&gt;&lt;a href='http://developer.att.com/developer/forward.jsp?passedItemId=12700035'&gt;Payment&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Monetize your apps with the Payment API. The Payment API can give your customers the convenience and security of having their in-app purchases charged directly to their AT&amp;amp;T bill. Visit &lt;a href='http://developer.att.com'&gt;developer.att.com&lt;/a&gt; to download and install the &lt;a href='http://developer.att.com/phonegap'&gt;AT&amp;amp;T API SDK&lt;/a&gt;.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>PhoneGap 2.7.0rc1 Released!</title>
   
   <link href="http://phonegap.com/blog/2013/04/23/pg-270rc1-released"/>
   <id>http://phonegap.com/blog/2013/04/23/pg-270rc1-released</id>
   
   <updated>2013-04-23T18:20:03+00:00</updated>
   <content type="html">&lt;p&gt;We have just released the &lt;a href='https://s3.amazonaws.com/phonegap.download/phonegap-2.7.0rc1.zip'&gt;first release candidate (RC) for PhoneGap 2.7.0&lt;/a&gt; and plan on releasing the official release in the coming days.&lt;/p&gt;

&lt;p&gt;If you find any bugs with this version, help out our community and project by reporting them on our &lt;a href='https://issues.apache.org/jira/browse/CB'&gt;issue tracker&lt;/a&gt;. Rest assured, we only tag a release candidate if we are happy with where the code is.&lt;/p&gt;

&lt;p&gt;View the 2.7.0rc1 commits in the change log on &lt;a href='https://github.com/phonegap/phonegap/blob/2.7.0rc1/changelog'&gt;GitHub&lt;/a&gt;.&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>Building Pluggable and Mock Data Adapters for Web and PhoneGap Applications</title>
   
   <link href="http://coenraets.org/blog/2013/04/building-pluggable-and-mock-data-adapters-for-web-and-phonegap-applications/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=building-pluggable-and-mock-data-adapters-for-web-and-phonegap-applications"/>
   <id>http://coenraets.org/blog/2013/04/building-pluggable-and-mock-data-adapters-for-web-and-phonegap-applications/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=building-pluggable-and-mock-data-adapters-for-web-and-phonegap-applications</id>
   
   <updated>2013-04-23T17:01:09Z</updated>
   <content type="html">This is not rocket science, but when planning your web or mobile architecture, it is important to make sure your client application is not tightly coupled to a specific data access strategy. The Problem In tightly coupled applications, the presentation logic is intertwined with data access logic (for example, $.ajax() calls), and it leads to [...]
</content>
 </entry>
 
 <entry>
   <title>Note about PhoneGap Build and Splash Screens</title>
   
   <link href="http://www.raymondcamden.com/index.cfm/2013/4/23/Note-about-PhoneGap-Build-and-Splash-Screens"/>
   <id>http://www.raymondcamden.com/index.cfm/2013/4/23/Note-about-PhoneGap-Build-and-Splash-Screens</id>
   
   <updated>2013-04-23T15:54:00Z</updated>
   <content type="html">I'm currently working on my MAX &lt;a href=&quot;https://bit.ly/Wc52VD&quot;&gt;Advanced PhoneGap Build&lt;/a&gt; presentation (wait, scratch that, of course I'm done already, I mean, who waits to the last minute???) and ran into an interesting issue. Using a splash screen is rather easy via the PhoneGap Build &lt;a href=&quot;https://build.phonegap.com/docs/config-xml&quot;&gt;config.xml&lt;/a&gt; file.To test this feature, I used &lt;a href=&quot;http://www.placekitten.com&quot;&gt;Placekitten.com&lt;/a&gt; to quickly create an image sizes 320x480. PhoneGap Build supports multiple splash screens of multiple sizes and densities, but I wanted to see how well a default splash screen would work. I dropped the kitten in my folder and added this to config.xml:

&amp;lt;gap:splash src=&quot;splash.png&quot; /&amp;gt;

I zipped up my folder, uploaded to PGB, and everything worked fine. I noticed, though, that my splash screen only lasted for about a second. I did some digging and found that you can disable the automatic hide of the splash screen by doing this:

&amp;lt;preference name=&quot;auto-hide-splash-screen&quot; value=&quot;false&quot; /&amp;gt;

I then wrote a bit of JavaScript that made use of the PhoneGap Screen Shot API:

&lt;script src=&quot;https://gist.github.com/cfjedimaster/5445504.js&quot;&gt;&lt;/script&gt;

In theory, that should be it, but I noticed something odd. I launched my app, and then saw this:

&lt;img src=&quot;http://www.raymondcamden.com/images/2013-04-23 11.43.15.png&quot; /&gt;

What the heck? At first I thought I had broken something, but then I noticed the image went away after 5 seconds. I then realized what my issue was... size. 

When using the a default splash screen, PhoneGap is able to size it correctly for any device (afaik), but if you keep the splash screen around, it then reverts to the proper size for the device. In my case, I was testing on an iPhone 5. So I created a new image sized 640 by 1136 and added this to my config.xml:

&amp;lt;gap:splash src=&quot;retina.png&quot; width=&quot;640&quot; height=&quot;1136&quot; /&amp;gt;

And it worked perfectly. You can see via this exciting YouTube video:

&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/KQpbMmS9JW8&amp;hl=en&amp;fs=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/KQpbMmS9JW8&amp;hl=en&amp;fs=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;/embed&gt;&lt;/object&gt;

So I guess the take away from this is - while a default splash screen may work on multiple devices, if you are doing anything with the splash screen (like keeping it on screen longer), you want to ensure you build out properly sized images for your supported platforms. Frankly, that's probably the best idea in general anyway.&lt;img src=&quot;http://feeds.feedburner.com/~r/RaymondCamdensColdfusionBlog/~4/aeiBOuLblKs&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;
</content>
 </entry>
 
 <entry>
   <title>Presenting on PhoneGap Next Week</title>
   
   <link href="http://www.raymondcamden.com/index.cfm/2013/4/23/Presenting-on-PhoneGap-Next-Week"/>
   <id>http://www.raymondcamden.com/index.cfm/2013/4/23/Presenting-on-PhoneGap-Next-Week</id>
   
   <updated>2013-04-23T14:15:00Z</updated>
   <content type="html">On Tuesday, April 30th, I'll be giving a free, online presentation about &lt;a href=&quot;http://www.phonegap.com&quot;&gt;PhoneGap&lt;/a&gt; as a preview of my &lt;a href=&quot;http://fluentconf.com/fluent2013&quot;&gt;Fluent 2013&lt;/a&gt; presentation in San Francisco next month. This presentation will be your basic &quot;What the frak is PhoneGap&quot;-type presentation, but if you are looking for a chance to get introduced to the product, please join me.

&lt;a href=&quot;http://oreillynet.com/pub/e/2608&quot;&gt;Developing Mobile Applications with PhoneGap&lt;/a&gt;

(Wow - I need to update my &lt;a href=&quot;http://www.oreillynet.com/pub/au/3437&quot;&gt;bio&lt;/a&gt; there. Apparently I'm still an independent contractor focused on ColdFusion.)&lt;img src=&quot;http://feeds.feedburner.com/~r/RaymondCamdensColdfusionBlog/~4/ltAi0yJKoA0&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;
</content>
 </entry>
 
 <entry>
   <title>The Story behind Exfm</title>
   
   <link href="http://phonegap.com/blog/2013/04/23/story-behind-exfm"/>
   <id>http://phonegap.com/blog/2013/04/23/story-behind-exfm</id>
   
   <updated>2013-04-23T08:40:02+00:00</updated>
   <content type="html">&lt;p&gt;Six months ago, &lt;a href='http://ex.fm'&gt;Exfm&lt;/a&gt; had a native iPhone app that was rated 4 stars in the App Store. We also had a native app in Google Play, along with an HTML5 webapp for both desktop and mobile. As a small team of six, we do most of our development in-house, but had contracted out a lot of the native mobile app work. Around this time, I sat down with Lucas Hrabovsky, CTO of Exfm to plan for the future. We looked at our native mobile apps, our Python back-end and our Javascript front-end. We thought about our hiring needs in the next 12 months. We came to the conclusion that the six of us all knew Javascript really well and moving forward we were going to build everything we could in JS. That meant node.js on the back-end and PhoneGap for mobile. Here is the story of how we went from a native iPhone app to one built with PhoneGap. The end result is we now have a 4.5 star rated app, with more daily installs now than we ever did with our native app.&lt;/p&gt;

&lt;p&gt;&lt;img src='/uploads/blog/2013-04/ratings.jpg' alt='' /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;iOS 6&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When we initially started building our PhoneGap iPhone app, iOS 6 had not yet been released. It was released about a month into our development. iOS 6 was truly a turning point for HTML5 and mobile web development. Performance gains on iOS 6 compared to iOS 5 were significant. iOS 6 fixed some meaningful bugs as well. -Webkit-overflow-scrolling: touch is a major part of making a webapp feel native and prior to iOS 6 was just too buggy to really use. In terms of development, while tools like Weinre for debugging are great, it can&amp;#8217;t compare to the speed of desktop Safari&amp;#8217;s Webkit Inspector. Looking back, it would have been very difficult for us to build and release our app prior to iOS 6.&lt;/p&gt;

&lt;p&gt;&lt;img src='/uploads/blog/2013-04/ios.jpg' alt='' /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Development and Debugging&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When we started development, it quickly became apparent that having to build and run in XCode every time we made a JS or CSS change was not going to suffice. We decided that we had to put the absolute bare minimum in our HTML shell and load all of our JS, CSS and HTML templates remotely from a webserver when the app started. This approach allowed us to refresh the app in Webkit Inspector and immediately see our changes without having to do a native build. I highly recommend setting up your app this way. To make this happen, we built a node module that watches our source folders for changes, then combines all the JS files, converts LESS files to CSS and serves them up. We called our little node module &amp;#8216;Mott&amp;#8217; and &lt;a href='https://github.com/exfm/mott'&gt;open sourced it on GitHub&lt;/a&gt;. Mott also has the ability to deploy all your assets, including minified JS, CSS and images, to S3 when it comes time to ship code. When you do deploy, Mott will create a manifest JSON file for you that includes version numbers of your JS and CSS. We use these version numbers in our released app to determine at runtime where we are actually loading our code from. We’ll blog more about Mott soon over on the &lt;a href='http://blog.ex.fm/'&gt;Exfm blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src='/uploads/blog/2013-04/devdebug.jpg' alt='' /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Loading Assets&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the beauties of PhoneGap compared to native is its ability to load and run remote code. As I mentioned above, for development this is a complete time saver. But it also has the added benefit of being able to update your app at any point you want without having to go through App Store approval. Remote loading is certainly great, but mobile apps are also expected to work when offline. To get the best of both worlds, we decided to bundle our JS and CSS with the native build, but before loading them check online to see if we have newer versions available. To accomplish this, when our app first starts, it remotely loads the manifest JSON file that Mott created to determine the version numbers of our latest JS and CSS. If the remote versions are different, it loads them and then saves them locally using &lt;a href='http://docs.phonegap.com/en/2.6.0/cordova_file_file.md.html#FileSystem'&gt;PhoneGap’s FileSystem API&lt;/a&gt;. If the remote versions are the same, it loads them directly from the FileSystem thus saving time. If we are offline, it goes directly to FileSystem. And if for whatever reason FileSystem fails, it loads the JS and CSS versions that we bundled inside the app when we uploaded to the store. This system has allowed us to update our app often while also keeping load times down and working offline.&lt;/p&gt;

&lt;p&gt;&lt;img src='/uploads/blog/2013-04/loadingassets.jpg' alt='' /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Native Feel&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Our goal in building this app was to make it feel as native as we could. Here&amp;#8217;s a list of the important things we concentrated on to make that happen:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Animations&lt;/strong&gt;. They must be butter smooth. We always use transform: translate in our app for all transitions. Those are hardware accelerated and the difference is noticeable. It may sometimes be easier to use width/height or x/y positioning but we avoided that at all costs.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Scroll bounce&lt;/strong&gt;. We use -webkit-overflow-scrolling: touch on all scroll parent elements. We also set an inner child absolutely positioned with 110% height inside those overflow parents. This way, there is always a bounce even when the content inside may not be overflowing, which is how native components behave.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Hide scrollbars&lt;/strong&gt;. You&amp;#8217;ll sometimes notice that bouncy sections sometimes don&amp;#8217;t show scrollbars in a native app. With iOS 6, you can now hide the scrollbar whenever you like using selector::-webkit-scrollbar { display: none; }.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Pause DOM changes on scroll&lt;/strong&gt;. One thing we noticed when using native style scrolling is that while scrolling, any other DOM change caused the entire screen to jank. This may be a webkit bug but I believe it&amp;#8217;s bigger than that since you&amp;#8217;ll notice that native apps typically pause all other changes while scrolling. We ended up building in &amp;#8216;scroll&amp;#8217; listeners that pause other DOM changes until the scroll has finished.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Buttons&lt;/strong&gt;. First, always use the &amp;#8216;touchstart&amp;#8217; and &amp;#8216;touchend&amp;#8217; events. Never use &amp;#8216;click&amp;#8217;. On iOS, you can touch a button, then slide your finger off the button and have it not fire. If you want, you can even slide your finger back on the button and have it fire. When your buttons don&amp;#8217;t act this way, users detect something as being off. We built a small JS class that mimics this functionality. You can &lt;a href='https://github.com/exfm/touch-element'&gt;grab it on GitHub&lt;/a&gt; if you&amp;#8217;d like to use it.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Lists&lt;/strong&gt;. Lists also have a native feel. When you touch a list item, it typically highlights. If you drag your finger, the item loses its highlight and the whole list scrolls. If you touch a list item quickly while in the motion of scrolling, it won&amp;#8217;t highlight. &lt;a href='https://github.com/exfm/touch-list-item'&gt;We built a JS class&lt;/a&gt; that mimics this as well.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Wishes&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While I feel that we succeeded in our goal of making the app feel native, there are still a few tell-tale signs that it&amp;#8217;s HTML. I&amp;#8217;m hoping that PhoneGap or iOS 7 will address these:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scroll to top&lt;/strong&gt;. An overflow-scrolling: touch element will not scroll to the top when you touch the top status bar. Weirdly, it works on the iPad but not on the iPhone. I&amp;#8217;d love to see PhoneGap assist with this - send us an event when the status bar is touched and we can scroll the element ourselves.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Hide keyboard assistant&lt;/strong&gt;. E̶v̶e̶r̶y̶ ̶t̶i̶m̶e̶ ̶t̶h̶e̶ ̶k̶e̶y̶b̶o̶a̶r̶d̶ ̶c̶o̶m̶e̶s̶ ̶u̶p̶,̶ ̶i̶t̶ ̶s̶h̶o̶w̶s̶ ̶t̶h̶e̶ ̶P̶r̶e̶v̶i̶o̶u̶s̶/̶N̶e̶x̶t̶/̶D̶o̶n̶e̶ ̶b̶u̶t̶t̶o̶n̶s̶.̶ ̶T̶h̶i̶s̶ ̶i̶s̶ ̶u̶n̶n̶e̶c̶e̶s̶s̶a̶r̶y̶ ̶a̶n̶d̶ ̶t̶a̶k̶e̶s̶ ̶u̶p̶ ̶p̶r̶e̶c̶i̶o̶u̶s̶ ̶s̶p̶a̶c̶e̶.̶ ̶I̶&amp;#8217;̶v̶e̶ ̶s̶e̶e̶n̶ ̶s̶o̶m̶e̶ ̶n̶a̶t̶i̶v̶e̶ ̶c̶o̶d̶e̶ ̶t̶o̶ ̶r̶e̶m̶o̶v̶e̶ ̶t̶h̶i̶s̶ ̶b̶u̶t̶ ̶i̶t̶&amp;#8217;̶s̶ ̶s̶o̶m̶e̶w̶h̶a̶t̶ ̶o̶f̶ ̶a̶ ̶h̶a̶c̶k̶ ̶a̶n̶d̶ ̶s̶o̶m̶e̶t̶h̶i̶n̶g̶ ̶I̶ ̶w̶i̶s̶h̶ ̶P̶h̶o̶n̶e̶G̶a̶p̶ ̶w̶o̶u̶l̶d̶ ̶b̶u̶i̶l̶d̶ ̶a̶s̶ ̶a̶n̶ ̶o̶p̶t̶i̶o̶n̶ ̶t̶o̶ ̶a̶l̶w̶a̶y̶s̶ ̶r̶e̶m̶o̶v̶e̶.̶ Fixed in PhoneGap 2.6!&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Position:sticky&lt;/strong&gt;. While technically available in iOS 6, its implementation is very buggy on overflow-scrolling elements. Many lists in iOS have headers and those headers stick to the top as you scroll. I&amp;#8217;d love to be able to do this in HTML/CSS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Plugins&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We also used a bunch of Plugins in our app. Some we wrote ourselves, others we found on GitHub. Many thanks to &lt;a href='https://github.com/phonegap/phonegap-plugins/tree/master/iOS/Twitter'&gt;Twitter&lt;/a&gt;, &lt;a href='https://github.com/phonegap/phonegap-facebook-plugin'&gt;Facebook&lt;/a&gt;, &lt;a href='https://github.com/mgcrea/cordova-actionsheet'&gt;ActionSheet&lt;/a&gt;, &lt;a href='https://github.com/phonegap/phonegap-plugins/tree/master/iOS/ChildBrowser'&gt;ChildBrowser&lt;/a&gt;, &lt;a href='https://github.com/phonegap/phonegap-plugins/tree/master/iOS/EmailComposer'&gt;EmailComposer&lt;/a&gt;, &lt;a href='https://github.com/phonegap/phonegap-plugins/tree/master/iOS/SMSComposer'&gt;SMSComposer&lt;/a&gt; and &lt;a href='https://github.com/devgeeks/VolumeSlider'&gt;VolumeSlider&lt;/a&gt;. The ability to dip into native code for custom system integration is what makes PhoneGap truly awesome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In closing, I’d like to thank all of the PhoneGap developers as well as Adobe for creating the tools Exfm needed to truly make an awesome mobile app using web technologies. We set out to create a native feeling app using HTML, JS and CSS. I believe we achieved our goal as the installs and reviews bear out. You can find our &lt;a href='http://ex.fm/iphone'&gt;iPhone app here&lt;/a&gt; and look forward to iPad and Android versions in the near future. We always love feedback! Tweet at us - &lt;a href='https://twitter.com/exfm'&gt;Exfm&lt;/a&gt; or &lt;a href='https://twitter.com/dankantor'&gt;@dankantor&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Guest blog post by Dan Kantor, CEO of Exfm&lt;/em&gt;&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>PhoneGap + Brackets Hackathon at Adobe MAX</title>
   
   <link href="http://phonegap.com/blog/2013/04/19/pg-max-hackathon"/>
   <id>http://phonegap.com/blog/2013/04/19/pg-max-hackathon</id>
   
   <updated>2013-04-19T10:00:03+00:00</updated>
   <content type="html">&lt;div style='float: left;padding-right:5px'&gt;&lt;img src='/uploads/blog/2013-04/bracket_phonegap_logo.png' /&gt;&lt;/div&gt;
&lt;p&gt;The PhoneGap + &lt;a href='http://brackets.io'&gt;Brackets&lt;/a&gt; teams will be hosting a free 2-day hackathon at &lt;a href='http://max.adobe.com/#max'&gt;Adobe Max&lt;/a&gt; this year. The hackathon will be on May 6 &amp;amp; May 7 from 1:00pm-6:00pm at the LA Convention Center, 1201 S Figueroa St, Los Angeles, CA. An Adobe MAX ticket is &lt;strong&gt;NOT&lt;/strong&gt; required to participate in the hackathon and anyone is welcome to attend.&lt;/p&gt;

&lt;p&gt;Bring your laptop and come hack with the teams! There will be internet, power, and plenty of table space to comfortably work. No prior experience with PhoneGap or Brackets is required.&lt;/p&gt;

&lt;h2 id='registration'&gt;Registration&lt;/h2&gt;

&lt;p&gt;Registration is not required, but it will get you an awesome t-shirt. Register on our &lt;a href='http://adobemaxhack.eventbrite.com/'&gt;Eventbrite page&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id='resources'&gt;Resources&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href='http://docs.phonegap.com/en/2.6.0/guide_getting-started_index.md.html#Getting%20Started%20Guides'&gt;Getting Started&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='http://phonegap.com/download/'&gt;PhoneGap Download&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='https://issues.apache.org/jira/browse/CB'&gt;Issue Tracker&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href='http://wiki.cordova.io'&gt;Cordova Wiki&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id='inside_the_la_convention_center'&gt;Inside the LA Convention Center&lt;/h2&gt;

&lt;p&gt;&lt;img src='/uploads/blog/2013-04/adobemax-hackathon-map.png' alt='' /&gt;&lt;/p&gt;</content>
 </entry>
 
 <entry>
   <title>Another reason to attend MAX - Hack on Brackets and PhoneGap</title>
   
   <link href="http://www.raymondcamden.com/index.cfm/2013/4/18/Another-reason-to-attend-MAX--Hack-on-Brackets-and-PhoneGap"/>
   <id>http://www.raymondcamden.com/index.cfm/2013/4/18/Another-reason-to-attend-MAX--Hack-on-Brackets-and-PhoneGap</id>
   
   <updated>2013-04-18T17:44:00Z</updated>
   <content type="html">Attending MAX? Or going to be in LA at the same time? Use &lt;a href=&quot;http://brackets.io&quot;&gt;Brackets&lt;/a&gt; or &lt;a href=&quot;http://www.phonegap.com&quot;&gt;PhoneGap&lt;/a&gt;? Both teams will be hosting a hackathon on Monday and Tuesday from 1 to 6PM. A MAX ticket is &lt;strong&gt;not&lt;/strong&gt; required to attend. There will be free wifi and a comfy place to sit. While a MAX badge isn't required, if you are not registering for MAX you &lt;strong&gt;must&lt;/strong&gt; register on the EventBrite site. For more details, see &lt;a href=&quot;http://dev.brackets.io/hack/adobemax/&quot;&gt;http://dev.brackets.io/hack/adobemax/&lt;/a&gt;. No prior experience required!

&lt;img src=&quot;http://www.raymondcamden.com/images/logo1.png&quot; /&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/RaymondCamdensColdfusionBlog/~4/MwoftcB_aZI&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;
</content>
 </entry>
 
 
</feed>