views:

126

answers:

3

I have only worked on web apps for my whole career. I'm starting a new desktop (Adobe AIR) app project but I found myself having difficulties with:

  • stuck with thinking about overall UI design in the traditional page model
  • not sure how to handle the navigation part in the UI
  • not taking advantage of states
  • deciding what should be implemented on client vs server side, (or on both?).

Any advice? Thanks.

+2  A: 

Look at other desktop apps to see how they solvde common problems. Over the years several recurring patterns have emerged like:

  • Tabbed document interfaces like in most web browsers
  • Split views like in many email clients
  • Toolbars, panels with groups of buttons
  • Multi column views

Look how other apps utilize these things and come up with ideas how you can use them.

The part about having ideas however .. You'll have to do that yourself after all.

Techpriester
Good answer. Also don't forget to embrace the new stuff available to you, like a client-side data store, handling what happens when someone drags a file or text onto your app, and so forth.
fenomas
A: 

Read about MVC pattern. For example here.

Everything should be loosely coupled. Top menu shouldn't know about bottom status bar. Everything should go via notification in MVC.

For flex application take a look at PureMVC tiny but very powerful framework.

zdmytriv
I have been extensively using MVC Framework in web app, that's not the question I'm asking.
Henry
MVC in application and MVC in web applications are slightly different. Views are not as interactive in web apps as in desktop application.
zdmytriv
A: 

Here is a nice tool to deal with it: http://www.extjs.com/deploy/dev/examples/