There has been an explosion of interest in creating content for the iPhone in the past couple of years, and recently, a corresponding rush of libraries and frameworks to make building iPhone apps easier for those of us who are not experts in Objective-C and Cocoa Touch. Some of these libraries are targeted at web designers, some at programmers.
At Adobe Max a couple of weeks ago, Adobe announced that Flash CS5 will support content generation for the iPhone. You won't be able to browse Flash content using Mobile Safari, but you will be able to build your app using Flash, and compile into a native app. Just like with PhoneGap and MonoTouch, the resulting app is a native iPhone app, NOT Flash content, so you wouldn't be able to view the result using a Flash runtime. Adobe plans to release a public beta of Flash CS5 that will include this functionality at the end of 2009.
Finally, a framework was released just a couple of weeks ago that lets you build RSS-based native apps without writing any code. TapLynx was developed by Brent Simmons, the brains behind NetNewsWire. It's aimed at developers - you use Xcode to configure your app using TapLynx - but for those of you who are willing to get your feet wet with Xcode, it might be a great way for you to get a native iPhone app started without having to climb the huge learning curve of Objective-C. Because you are using Xcode and generating a native app, you can build custom code to extend the framework with your own goodies, but that's certainly not necessary; the apps you can build out of the box are perfectly fine. Tweak a few configuration settings that let you specify the look & feel of your app, as well as the source for your data (RSS feeds), and you're ready to go.
I recently emailed with Walker Fenton, the GM of the TapLynx project, about this project:
Elisabeth Robson: What is TapLynx?
Walker Fenton: TapLynx is a the easiest and fastest way to build iPhone applications. It's a framework that allows you to create dedicated iPhone applications with your look and feel, your content, and without having to write any code.
ER: You are targeting TapLynx towards developers, but it is possible to create a basic app out of the box without writing any code. Do you anticipate that non-programmers will use this framework to create apps?
WF: Yes, we're targeting developers and agencies (anyone who builds websites or mobile apps), but it's really meant for everyone - programmers and non-programmers alike. For programmers, the framework saves weeks of time and energy not having to write duplicate code to handle RSS, integrate analytics ads, etc. For non-programmers, it takes all the barriers away from building your own custom iPhone application. The framework integrates with just about every social media site out there, so creating an app that pulls in your blog, twitter or youtube account is as easy as filling out a form, or you can extend the framework to make it do exactly what you'd like it to do.
I'm no developer and I built an app, does that count? :)
ER: If I'm handy with HTML & CSS, can I write custom styles and templates for TapLynx pages?
WF: Absolutely! Like with NewsGator's widget framework, you can develop your own presentation layer using html and some content variables that are provided. You just add your template to your app's configuration file and the framework takes care of the rest.
ER: What's your favorite TapLynx feature?
WF: I'm on the business side of the equation, so I'm partial to the integrated monetization options. TapLynx recently integrated Apple's popular in-app purchasing feature, which publishers can now use to sell subscriptions to their content. TapLynx also supports several different ad servers and networks which you can turn on with a checkbox.
ER: Can you describe the web-enabled feature of TapLynx that allows you to update an app over the network?
WF: Typically when you're building an application, if you make changes you need to re-build, re-test, and re-submit to the iTunes approval process - it can take weeks. With TapLynx, everything in your application is included in the configuration file, and that configuration file can live online, anywhere. So anytime you want to make a change to the look/feel or content in the application, all you need to do is to update the configuration file. Your packaged app now acts like a website with the ability to make changes quickly and easily.
ER: If an Objective-C programmer uses TapLynx to create a basic app, what kinds of features could they easily add if they wanted to customize or add onto the basic framework?
WF: Adding custom functionality is as easy as adding a custom presentation template - you just need to include your code into the project and add the custom display to the configuration file. An Objective-C programmer can take advantage of any of the Apple provided kits (map, store, media player, etc) to write custom modules, build maps, storefronts, games, you name it.
ER: What are some of the new features you're planning for TapLynx that we'll see soon?
WF: In-app purchasing to support content subscriptions is the next big feature, and that is in the next release (available soon). The TapLynx roadmap is defined and voted on by the community, so many of the features in the next release are a result of the ideas provided and voted on by the community. So if you'd like to see what's coming down the pike, you can visit our roadmap in Google moderator and vote for what you'd like to see in the framework.
After hearing about TapLynx, I immediately wanted to try it for myself, and within a couple of hours one afternoon went from knowing nothing about it to having a functioning O'Reilly RSS-based app on my phone. I made a screencast to show you how I did it:
If you hear about any other libraries, frameworks, etc. for building iPhone and mobile apps - native or web - do let me know! This space is growing fast.
I'll be talking about some of these technologies at an upcoming online workshop I'm doing for web designers and web programmers on getting started creating and designing content for the iPhone. If you're interested in being notified about this workshop, please send email to email@example.com.