2004-12-31, 21:15
i have used several other gui building applications (netremote/tonto, philips pronto, xlobby, etc) and found that a specific methodology of skinning always works best... from the perspective of speed of creation, reduction in size of skin, ease of modification, and ease of sharing with others for thier modification/use.
please consider incorporating these methods into the current schema...
objects and templates
first, objects... the best way to define, organize, and share skins is to separate the skin into parts.
these three are not hard and fast, but an example of a good way to divide it up....
1) objects - buttons, devices, etc
2) layout/screens - definition of how objects are displayed
3) events - macros, screen changes, etc
example button: "home"
purpose: redirects (or "jumps") to the home/main screen.
step 1) define the "home" button in a definition file
- image used, size, event triggered, etc
step 2) use the layout files to place the button object on one or more screens
step 3) define the event to occur within the event files
- tell it to go to the screen called "home", or whatever else you need it to do.
this way, skinners have the opportunity to put any object (button, rss feed, etc) anywhere and everywhere.
plus when the skinners want to share with others, they can modify the layout, objects, and events independantly... it is very common for a layout to be changed but all else stays the same.
second is to use templates...
a template is a screen layout that, if specified, is called from your current screen. like an include file. think of it as a base layer 'under' your current screen.
example template makeup and usage:
template name is "main background & buttons"
contains a background png file and several buttons such as "home", "next","previous",etc.
all the buttons are arranged within the layout so they are to be used on all screens.
usage...
we then create a "games" screen that calls "main background & buttons". since "main background & buttons" already has a background image and some buttons there is no need to duplicate those on the "games" screen layout file. we will simply include other objects we wish to add to the screen... like a games list, view button ,etc.
so the "games" screen is overlayed onto "main background & buttons" to create the final screen displayed.
i hope this was clear. i'd be happy to explain more if needed. i believe this methodology would give more flexibility, better reusability, and a quicker dev time for skins.
i'm interested to hear comments...
please consider incorporating these methods into the current schema...
objects and templates
first, objects... the best way to define, organize, and share skins is to separate the skin into parts.
these three are not hard and fast, but an example of a good way to divide it up....
1) objects - buttons, devices, etc
2) layout/screens - definition of how objects are displayed
3) events - macros, screen changes, etc
example button: "home"
purpose: redirects (or "jumps") to the home/main screen.
step 1) define the "home" button in a definition file
- image used, size, event triggered, etc
step 2) use the layout files to place the button object on one or more screens
step 3) define the event to occur within the event files
- tell it to go to the screen called "home", or whatever else you need it to do.
this way, skinners have the opportunity to put any object (button, rss feed, etc) anywhere and everywhere.
plus when the skinners want to share with others, they can modify the layout, objects, and events independantly... it is very common for a layout to be changed but all else stays the same.
second is to use templates...
a template is a screen layout that, if specified, is called from your current screen. like an include file. think of it as a base layer 'under' your current screen.
example template makeup and usage:
template name is "main background & buttons"
contains a background png file and several buttons such as "home", "next","previous",etc.
all the buttons are arranged within the layout so they are to be used on all screens.
usage...
we then create a "games" screen that calls "main background & buttons". since "main background & buttons" already has a background image and some buttons there is no need to duplicate those on the "games" screen layout file. we will simply include other objects we wish to add to the screen... like a games list, view button ,etc.
so the "games" screen is overlayed onto "main background & buttons" to create the final screen displayed.
i hope this was clear. i'd be happy to explain more if needed. i believe this methodology would give more flexibility, better reusability, and a quicker dev time for skins.
i'm interested to hear comments...