A
Anonymous
Guest
After seeing a lot of traffic about the work putting together skins and the soliciting of core improvements for 0.2, I make the following suggestion.
Problem
Everytime a plugin is created or sometimes changed, the skin must be updated to reflect that. There's several issues with this:
1. Frequent skin updates (every MP release and every new plugin)
2. As plugin development increases, skin update time increases
3. Prevents skin developers from spending time on new skins
4. Reason for some to stop and others not start developing skins.
Solution
Create a Skin Engine API that a plugin developer can use to create his/her UI. Briefly, define an API that would allow the skin developer create a skin "construction kit" which has all sorts of pieces in it (arrows, buttons, appropriate fonts, frames, etc.) that can be mapped to specific functions in the UI.
The skin developer would make a skin as normal. But when it comes to skins, merely puts all the various graphics and maybe blank buttons of various sizes and fonts to used on the buttons. This would all be defined by the API: graphic function (up arrow for example) and it's size in pixels.
The plugin developer would create a function within his code, include that appropriate graphic on the appropriate place on the screen (map it?) and then define the event when the graphic is pressed (onClick?). Obviously a developer would need some custom graphics such as buttons but that's why blank buttons, etc are in the library.
Some plugins (like weather) would have additional graphics but that shouldn't be the job of the skin developer, imho.
Other thoughts
I'm definitely not a graphic artist and my coding is limited to SQL, PHP, and HTML so take that into consideration. I'm dabbling in XML. My goal in making this suggestion is to lower the dev time of skins and skin development easier for all. I've been playing with a skin but I'm not going to even think about releasing it because I don't want to deal with the pain of updating it everytime a new release of MP is done.
So if this idea stinks... it stinks. Not going to hurt my feelings.
Cheers!
Problem
Everytime a plugin is created or sometimes changed, the skin must be updated to reflect that. There's several issues with this:
1. Frequent skin updates (every MP release and every new plugin)
2. As plugin development increases, skin update time increases
3. Prevents skin developers from spending time on new skins
4. Reason for some to stop and others not start developing skins.
Solution
Create a Skin Engine API that a plugin developer can use to create his/her UI. Briefly, define an API that would allow the skin developer create a skin "construction kit" which has all sorts of pieces in it (arrows, buttons, appropriate fonts, frames, etc.) that can be mapped to specific functions in the UI.
The skin developer would make a skin as normal. But when it comes to skins, merely puts all the various graphics and maybe blank buttons of various sizes and fonts to used on the buttons. This would all be defined by the API: graphic function (up arrow for example) and it's size in pixels.
The plugin developer would create a function within his code, include that appropriate graphic on the appropriate place on the screen (map it?) and then define the event when the graphic is pressed (onClick?). Obviously a developer would need some custom graphics such as buttons but that's why blank buttons, etc are in the library.
Some plugins (like weather) would have additional graphics but that shouldn't be the job of the skin developer, imho.
Other thoughts
I'm definitely not a graphic artist and my coding is limited to SQL, PHP, and HTML so take that into consideration. I'm dabbling in XML. My goal in making this suggestion is to lower the dev time of skins and skin development easier for all. I've been playing with a skin but I'm not going to even think about releasing it because I don't want to deal with the pain of updating it everytime a new release of MP is done.
So if this idea stinks... it stinks. Not going to hurt my feelings.
Cheers!