Adobe AIR Questions

Ok, I'm completely new to Adobe AIR. I know how to use Tweet Deck. That's the extent of anything I know about AIR. I just have several questions before I decide on trying to have an AIR application built for me.

1. The information that will be used to populate the desktop AIR application would be in the form of a mySQL database on a remote server. Is there any problem with this?

2. The database will be updated every 10 minutes or so. Is there a problem synchronizing the AIR application to coincide with the updates?

3. When a person is using my application, they will need the ability to remove rows from their installation. For instance, based on the results this person gets in the application, there are 10 results. Of those 10, the person only likes 3 of them and they choose to "remove" the other 7. Is it a problem to set up the application to not include those 7 upon the next update? Like setup a local database with the unique ID's that are dislikes and pull the new results that are not equal to the dislikes...

4. I would expect that if the above is possible, that there would be no problem adding the "favorites" to a local DB and publishing those to a separate column within the application, correct?

5. Is it possible to have several streams open at a time, similar to the way Tweet Deck is set up....with the above information?

6. What would be the best development platform for this? Flex or Ajax?

Those are my main questions for now. Any help would be greatly appreciated!

Who is Participating?
tomaugerdotcomConnect With a Mentor Commented:
There is no _issue_ based on what you have listed. Having said that, it seems to me that there's not necessarily a great case for AIR here, vs. thin client / in-browser app. My reasoning is that it seems you require a persistent internet connection for this to work at all. In light of that, the user expectation is that a standalone application should be that - standalone. Whereas if they're doing something in a web browser, the user expectation is that they need a connection.

Now if it's purely an aesthetic / chrome issue, then I can see wanting the benefit of a nicely-skinned AIR app. Just be sure that you're polling the connection to the server and are prepared to pop up an alert to the user if the connection is lost or sync is not kept up. That way they'll know why the application has stopped responding / functioning as expected.

Sounds like a cool project. You already have a dev team for this one?

websethAuthor Commented:
Thanks for your help. You make a lot of good points, and the more I thought about it last night, the more I was leaning towards an in-browser app.

I can do all of the CSS/html/PHP/mySQL code myself. Where it looks like I may run into some issues with is the AJAX. I don't have much experience with it. It's going to be interesting to see if I can handle the "no page refresh" updates as well as the instant "add to faves" and "remove from results". One other thing I will look for examples of is reordering/adding/removing columns to the user's preference. BIG TASK!
I agree that the columns can be a challenge. You might want to consider using some existing JS libraries for some of those tasks. Ajax, once you look up a few best practices, is actually quite straightforward, and once you adopt it, will really change the way you think about programming for the web. Keep in mind that the best Ajax "degrades gracefully" (look up this as a search term in Google if you want some examples). So on the PHP side, write code that will work in both scenarios - when the use HAS javascript on and can leverage the Ajax calls, and when the user is in a non-JS environment and you must use more traditional state models and page refreshes to generate the results.

Then again, since it's an app, I suppose you can be more stringent about user requirements. At least provide some sort of JS detection that creates a warning if the user has JavaScript disabled so they won't think the app is broken.

Best of luck!

Tom Auger
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.