Think multi-screen
When we talk about apps for devices these days we are no longer talking about one device. Today we are talking about a multitude of devices and device platforms. The multi-screen story is also no longer about just different smartphones. We’re also talking about tablets, netbooks, set-top boxes, and Blu-ray players. Building applications for all of these can be a bit challenging to say the least. Dealing with different operating systems, device features, and screen sizes can be a bit of a nightmare.

In previous posts I already talked a bit about how the Flash Platform can help you with that. Flash was originally designed to run on multiple platforms and adapt to different screen sizes. This post is not about that though. I wanted to write down some thoughts about multi-screen applications from a user’s standpoint.
First of all, when you start thinking about building an application for devices it is a very good idea to make sure you have a multi-screen strategy. It’s not just about iOS devices anymore! “If we have two more quarters like this past quarter, Google will have 37% market share, RIM will be at 29%, and Apple will be at 26%“, Fred Wilson (a VC in New York) recently said in a blog post about where mobile developers should focus. He ends his post with this: “One thing I am sure of is that developing solely for iOS, which is a very common thing I see out there, is not the right strategy unless you only want to serve 25% of the market.”
Now building your apps for multiple devices is one thing… But what about the app’s content?
Evernote is a great example of a multi-screen application. I can run the app on my smartphone, on my tablet, in my browser or as a standalone application on my desktop/laptop. The best thing is that it keeps my notes in sync. It doesn’t matter where I am or which device I use. I always have my notes with me. Once I create new notes they automatically get synced with all the other apps when you are online. Simple concept, right? I really love this approach and would love to see this in all my apps. I try to mimic this by using Dropbox. I save all my project files on there so I can use them on both my laptop and desktop. Kindle by Amazon is also a good example (Thank you Chris Pelsor for pointing that out). There are Kindle apps for multiple devices and they all use the unique features that each device has to offer. You also have all your books available to you across all apps.
Like many of you I am also addicted to Angry Birds. I have it installed on my smartphone and on my tablet… But they are not connected to each other. Wouldn’t it be great if you could just open up the app on your tablet and continue playing the same level you last played on your phone? And maybe later continue playing the same level on your desktop? Or on your TV?
But I want even more… Wouldn’t it be great if one day you get a new computer, type in your credentials, and all your apps and content will start syncing automatically? I guess that is what Google is trying to do with ChromeOS. I must say that I really like the idea of not having to be tied to one machine. Obviously there are some privacy issues that we must conquer but I really like the concept.
Anyway… What I want to say is that when you start building your multi-screen applications stop and think about these things for a second. If your game has different levels or your application saves notes you may want to offer the user a way of syncing that across multiple devices. I’m sure your user will appreciate it!
Easy data synchronization for AIR with LiveCycle Data Services
I’m sure most of you know by now that AIR has offline capabilities. You can easily create a local SQLite database or even cache external files locally. While it’s not that hard to do, you have to write that functionality yourself… unless you use LiveCycle Data Services. The recently released LiveCycle Data Services 2.6 automatically creates an offline cache for AIR and the Flash Player. For AIR it automatically creates a SQLite database, for Flash it stores data in Local Shared Objects.
One of the things I always hear about LCDS is that it is expensive but not many people know you can also use it for free (yes… even for commercial applications)! You can download a free one-cpu version which is ideal for smaller-scale production applications and proof-of-concept projects. Get the free version right here.
O’Reilly’s InsideRIA just posted a tutorial by John C. Bland II that not only shows you how to install LCDS but also how to get the data synchronization working in your AIR application. I’m sure you’ll be pleasantly surprised to see how easy this is with LCDS.
One of the posts in my “draft” folder also talks about LCDS… This is just a reminder to myself that I should really finish that article soon :D






