Developers these days are finding themselves trying to reach a growing mobile computing audience and it may be their greatest challenge to date. Today’s Web browser is a pretty well known commodity on the Internet, but “traditional” Web browsing is no longer the primary game in town, and hasn’t been for a while. Taking a peek at any Website’s traffic logs will quickly outline new masses of users seeking out text, video and multimedia content using new and different tools such as the iPhone. Devices such as mobile smart phones, laptops, netbooks and the growing popularity of tablet computers (like the iPad) in the consumer market are forcing today’s developers to widen their project scope. More and more questions are asked like,”How will my site look on a mobile phone?” or “How will my application behave when accessed by a handheld device?”
Refining code for this expansive collection of client users that are no longer stuck in front of a computer has lead to many innovative hybrid solutions, and a lot of ingenuity on display in current apps. But navigating the current alphabet soup of programming languages, code frameworks, and scripting technologies in an intelligent way is chewing up a lot of time for any forwarding-thinking developer that wants to stay relevant. Adding to this situation, new players, browsers, and devices enter the stage almost every day.
[ ↓ Jump down to my list of mobile development frameworks ]
Mobile market is where the action is
Just to scratch the surface of what I’m talking about, let’s review relevant developments in computing and handheld devices over the last few months. We saw a very public feud between Apple and Adobe over flash (Steve Jobs public letter about flash), with another notable company (ahem… cough, cough… Microsoft) and vocal developers chiming in. We saw thelaunch of the iPad and the another remix of the iPhone after it was leaked in a rather ridiculous and public way. We saw the Android mobile operating system and Google Chrome Web browser debut in the market and claim a loyal user base especially because of Google Apps integration. The iPhone OS itself also got an upgrade, and Apple threw in the not unimportant news that the iPhone’s iBook app will now have Adobe PDF support. Oh, and for those of you waiting for the world of the Jetson’s or Star Trek, both Sprint’s HTC EVO and Apple’s new iPhone 4 offer mobile video conferencing. In other news, we also saw the leak of a Microsoft Courier tablet device, only to hear they decided not to go there after all. Dell’s tablet computer, called the Streak, was launched in Europe (and should be offered by T-Mobile in the US by August 2010); rumors of the HP Hurricane also hit the media. We have heard news of a Google tablet and a Blackberry tablet. Not to be left behind, even Garmin the GPS device maker jumped in on the act and teamed up with T-Mobile to offer the Garminfone. I’m sure I left out a few items, but you get the idea.
In it, to win it
Let’s not forget these devices need software and applications–and everybody is paying attention to this booming mobile browser market and an insatiable mobile app market, which is slated to grow to 17.5 billion dollars by 2012. But, life is not easy for companies on the bleeding edge. Let’s take a look at the recently announced mobile app using the Adobe Air framework. Adobe and Wired magazine teamed up to produce an app for the iPad that from the descriptions I’ve read seems to be nothing more than an image viewer of high-res magazine pages ported over from Adobe Indesign sprinkled with a interactive feature here or there.
A closer look at an iPad app
Let’s analyze this last item and assess what’s really going on, because it’s indicative of the scenario I paint above. Scrambling to get an app to market, developers were not anticipating Apple’s resistance to Adobe flash technologies on the iPad and they had to adapt–fast. The original specification relied too heavily on Flash, and the development team had to re-write the end-product in Objective-C. Adobe is working to circumvent Apple’s exclusion of their software on its iPad by teaming up with a magazine and other app-publishing companies, creating new iPad software add-on packages for it’s print layout program called InDesign. Until now, InDesign has been used primarily in the publishing world, but the way that it works adapts very well to app creation. In publishing, once a document is created, InDesign “packages” it, creating a file that includes all the fonts, images and other documents linked to the final product, allowing them all to be sent to a printer (or in this case an App). The new add-on allows users to include other types of media within their files, for example, video or graphic simulations that are suspiciously flash-like.
Embracing a push for standards? For mobile Web, maybe
The technologies in the mobile development space are moving rapidly and the concepts that have the most staying power have big names behind them. In a recent post I explored some implications for HTML5 and CSS3 which Apple, Microsoft and Google are heavily invested in (for reasons I get into below.) Adobe developers are working within their authoring environment to allow coders to port their code to multiple devices, including browsers. In the process they are also working hard to integrate HTML5 and CSS3 benefits into their products. In a world where developers will search for ways to simplify code, cache data on devices and minimize calls back to servers anyway possible – Adobe might be in a position to ensure their Apps don’t raise the ire of their bandwidth-starved install base with their history of superior Web compression and streaming solutions. However, one developer I talked to addressed that last point and feels strongly that the reason Apple locked Adobe out of its mobile platform is simply because it’s a third-party proprietary technology they weren’t interested in policing. Like most other major corporations, Apple will simply buy out a company and absorb the personnel and brain power it needs if it’s something that critical to their success. In addition, much like other companies such as Microsoft, Google, Blackberry, Android, etc., Apple offers robust software development kits with other options developers can leverage. Whether or not you want to debate Apple and Adobe software history, or if their business issues align, the smart phone and mobile app business was too volatile, and nascent to ease up on the reins of control so early on–so flash has been blocked.
Mobile Web and Mobile Apps are not the same animal
I reached out to some developer friends to get their feedback on this post and in this verbal exchange, it became clear to me there are two divergent paths emerging in the mobile market (that weren’t clearly distinct to me before). Mobile Web is racing as fast as it can to standardization practices; mobile app development, however, is not. Here are some quotes from my discussions: “Mobile Web growth is accelerating due to the standardization on Webkit browsers with full support for HTML/CSS/JS. This includes Apple, Android, Palm, and soon Blackberry will be releasing its Webkit based browser with OS6. With HTML 5 these browsers will start to support content that feels app-like, but that can be developed by anyone with core Web development skills. Microsoft likely won’t do a Webkit browser, but they will likely support some high degree of standardized HTML.” “App development is much harder. The major platforms each have separate development environments with varying degrees of capability. Apple has led the pack in creating great tools for developers, but it’s nowhere near as simple as Web development. You have to deal with issues like memory management, garbage collection, networking, builds, and a whole lot of other things that Web developers are insulated from. I wouldn’t trust any standard tool to create efficient optimized app code that could run cross-platform well. Apple won’t trust components or functionality (which would likely become popular) for the user experience of Apple products to an outside source.” “Some developers do go to code sharing resources like GitHub, Google Code, and SourceForge to look for open source libraries to help with the development. Some developers have tried to maximize code reuse by creating all the core application logic in C++ and then writing platform specific interface layers. The C++ core layer can be quickly ported to Android, Palm, Apple, even Symbian (although not really blackberry).”
Mobile broadband, unlimited data plans offered at a premium?
It’s crystal clear that mobile computing is driving the technology industry right now and there’s a rich landscape for developers looking to sell their wares. But, not to be lost in all this is the fact that mobile devices are useless without their connectivity. If you can’t get a broadband Wifi signal or surf on a quality wireless network connection, your mobile device is just a plastic brick in your pocket. This is not lost on developers that have major investments in this market, as their foundation was shaken recently with the announcement that AT&T was changing their approach to unlimited data plans for their subscribers. As the current exclusive carrier for Apple-based iPod and iPad, developers are freaking out a bit, despite AT&T assurances that this will have little impact on business (Here’s a comparison of unlimited data plans for major US cell phone carriers).
Controlling the future
The obvious agenda, of course, in all this recent in-fighting between the big dogs of Web and computing technologies has been about CONTROL, not about Flash, or even has the most RIA developer fans–it’s about subscribers to media channels and advertising dollars. Everyone is betting on the use of mobile video expanding exponentially just as it did in markets like Japan. All the corporate players want the least amount of impediments to full access to their users. This is all about video search, real-time media and being awash in all-mighty advertising dollars; buying spots in multimedia streams in their exclusive publishing platforms. Microsoft, Apple and Google all made moves over the past two years to eat into Flash FLV dominance in the Web video playback market so their faucet to cash wasn’t beholden to an outside propriety technology. Developers are finding they need hybrid technologies to get around issues like cross-domain scripting security and platform-independent video playback until there are more widely adopted browser standards.
Fast developing scene
Going forward, common variables like dynamic features and basic infrastructure are bound to improve as software manufacturers create new ways for developers to reach users everywhere and on every device. It’s a brave new world out there, from mobile gaming to mobile online dating–we’ve certainly moved beyond checking your stocks on the beach. We’re bound to see improvements in hardware too, to allow phones and other mobile devices (including the iPhone, Android and the recently released Microsoft KIN) to handle more data at faster transfer rates, more layers of information on sites, etc. Currently, developers are searching for ways to reach end-users where they are with on-demand data services, geo-tracking, order tracking, CRM and flexible payment systems. Device creators are beginning to make devices that intuitively read and translate Websites for display on their devices (as Apple did with its iPad) but, as with any automatic translation, developers who want to be sure their site displays correctly still need to think about mobile displays when creating their site. It doesn’t help that there still isn’t a standard browser for these mobile devices–and new browsers, like Bitstream’s BOLT are still being introduced. However below I’ve accumulated a few sites with solid tips for making your site mobile-friendly.
Mobile Frameworks
Thinking about jumping into mobile development? or learning more about how the magic happens? Check out these links for information on how to streamline your project:
2. jQTouch
3. Kyte
5. PhoneGap
6. IPFaces
7. Taplynx
9. .Net mobile
10. Android
11. Sencha
12. Appcelerator
Below are a few articles for reference in creating mobile-friendly Websites:
1. For the iPhone: 6 Tips to optimize your current site for the iphone
2. For Blackberries: Tips For Optimizing A Web Site For BlackBerry Devices
3. How to optimize your WordPress blog for iphone android and other mobile phones with wptouch
4. WPtouchpro is a popular WordPress plug-in to optimize your WordPress install for mobile users.
5. Optimize Your WordPress Blog Mobile Friendly
6. How to make your Website mobile