After using Gaia for a long time with numerous websites built, i can tell you that completely like it as the workflow is simplified so much, i really love the scaffolding, assets managements, contextMenu, event hijacking, routing, assetPath, tracking, binding expression, the complete integration of SWFAddress, SEO … everything ! But that’s not to say there are no more room to get improved. Let’s dig in for more details !
- A little bit more on deeplink, ApplicationDomain, and Scaffold :
Better templating creation : How about we just need to specify a layout folder, Gaia will automatically generate the site.xml based on the pngs / jpgs files in that folder, we can add some naming rules for these files, of course ? And in the generated flas, a layer is also created with the corresponding layout file so we can have a quick reference, we can make an option for user to choose if they want to guide the layer or not ? And of course we can always change the site.xml file then sync if the generation is not perfectly match our idea.
Visual pages creation in Gaia panel : It’s easy to open site.xml and edit it, yep, but why should i leave Gaia panel ? How about adding a visual tree then we can add pages just as folders (index should be the root and can not be replaced ? ) and assets can be represented just as files ? Adding / Removing (or even disable items are now visual and quick). This will make Gaia even easier to beginners. For advanced options (other node properties beyond id, src, title) we can either have a datagrid that only show when a page is selected (hey, this is visual, quick, easy and safe as we don’t need to remember the node’s properties) or ignore these and let developers change the site.xml file whenever they need. For temporary removing a page, we can uncheck the box that goes before each page (equivalent to commented out in site.xml ?)
Enable template for pages : There are many case that we have several pages with just the same or mostly the same (gallery, video for example), just different data. What if we can define template pages and then specify the template for each page created in site.xml ? This will minimize the efforts for creating multiple deeplink pages with the same structure, the only different is the asset data. If we agree on implementing the tree based pages creation above, we can add visual template binding to pages, too. <do i need to insert a suggested layout for this one here ?>. This also allow us to write simple site editor based on template pages. All we need to do is open site.xml and add more pages based on the existed templates, no rebuild needed to adding / removing pages that are based on the template !
Enable option to switch transition style of a page between timeline / code : There are times when you need to do page animation by code (dynamic data, liquid size …) together with some kind of an intro page, so you will need to create pages using actionscript template except one or some pages, how can we do then ? We need to manually copy the frames in the template .fla files and paste ? Any better way?
One more Build button : When we modify a page, most of the time we only need to build it then open main.swf, this works faster for big projects, especially for projects with many pages, so how about allow us to select the pages to rebuild for faster project test ? The idea is we will now have 2 build buttons, a big one for complete project rebuild and a smaller one to build only selected pages?
Better layer settings : Gaia currently only allow one page to appear a time, what if we need some overlay content ? We mostly will need to implement it in the nav page with will available for all children pages. What if we need some background content ? We mostly will need to put it in to the index page. Why don’t let us specify layers in site.xml ? and then for each layer, there are only one <content> to be shown at a time ? That means we can easily have multiple overlay contents, for a common setup we will have 3 layers : <background><content><navigation>
- When a page is not yet load, we tell Gaia to go to a page with some deeplink, the onDeepLink is not called, why not check and call it manually so developers don’t need doing that themselves ? <will i need to insert sample code here (?)>.
- The domain in site.xml should be “current” by default as that’s beginner assumption if they don’t know anything about ApplicationDomain. I myself don’t use domain other than “current” very often.
- How about one toggle button to enable / disable scaffolding in Gaia panel instead of // on every file in the constructor to toggling them on/off ?
There are several library i would like to add to Gaia, too, but it still seems better keeping them separated : Font creator, Liquid Manager, Language Manager, Menu system … Any other things you really want to add in this list ? Raise your voice !