Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Skinning Thought

 [1/8] from: greggirwin::starband::net at: 5-Oct-2001 22:07


I had this thought, which I think could make a big difference in how we all approach skinning in REBOL. I recently looked at Etienne's wonderful skins and noted that there were a couple aqua schemes which only differed in color. Creating the look of a skin is hard enough work, but to create it in more than one color multiplies the amount of work you have to do. Even if you have a smart image editing app that allows you to create the first one and then automate the colorization process somehow, you still have an ever increasing number of files to manage as you add color options. Since REBOL is kind enough to provide a colorize effect, why not make use of it? If we design our skins, and images, in grayscale then we have an infinite palette of colors to choose from at runtime with only one set of source files (per unique "look") to manage. Runtime colorization. This may not be a universally applicable approach but I think it could be *widely* applicable. Colorization of course is an obvious effect to apply but certainly not the only one which might be used. Imagine the possibilities if you could apply bump mapping from textures! Any thoughts? --Gregg

 [2/8] from: jasonic:nomadics at: 6-Oct-2001 0:44


> Since REBOL is kind enough to provide a colorize effect, why not make use
of
> it? If we design our skins, and images, in grayscale then we have an > infinite palette of colors to choose from at runtime with only one set of
<<quoted lines omitted: 4>>
> only one which might be used. Imagine the possibilities if you could apply > bump mapping from textures!
Gregg Yes this makes a lot of sense.. Especially if one saves an alpha layer along with the greyscale mater artwork. Someone at RT [holger?] hinted that alpha transparaency will be coming down the pipe soon. The alpha channel can be very valuable not only for subtle and beautiful layering, but also as a basic masking for skins which Rebol could use now. One can use the two to help define 'semantic' regions, if you see what I mean. On-the-fly colorizing has many virtues, including for a more generalized rollover dialect with many uses -> - context dependant color values for 'tab' style interfaces - alert and feedback graphic effects - visually shifting focus as users move around the interafce to highlight 'next' and 'current' regions.. Along with TABS This is very good for any sequential form-based GUI. [business modelling workflow security admin etc] Adopting a generalized _visual_ design approach - by using grayscale - would encourage the revelant Rebol code to follow suit. And that can only be a good thing. I think it woudl be good use of progammer effort and machine resources. Similar to creating 'Symbols' in Flash and then applying tint, alpha and other effects to istances of them on the layout stage. - Jason

 [3/8] from: etienne:alaurent:free at: 7-Oct-2001 18:28


Hi, Gregg, Gregg Irwin wrote:
>I had this thought, which I think could make a big difference in how we all >approach skinning in REBOL.
<<quoted lines omitted: 5>>
>colorization process somehow, you still have an ever increasing number of >files to manage as you add color options.
I agree.
>Since REBOL is kind enough to provide a colorize effect, why not make use of >it? If we design our skins, and images, in grayscale then we have an >infinite palette of colors to choose from at runtime with only one set of >source files (per unique "look") to manage. Runtime colorization. >
I'm thinking about that. Images must be very well drawn. My little experience shows me that it is more difficult than I could think it to have the good images and to choose the good effects, to obtain the good result. But, anyway, I will try this.
>This may not be a universally applicable approach but I think it could be >*widely* applicable. > >Colorization of course is an obvious effect to apply but certainly not the >only one which might be used. Imagine the possibilities if you could apply >bump mapping from textures! >
Ahhh! A dream !-) -- regards. --- Etienne

 [4/8] from: greggirwin:starband at: 7-Oct-2001 17:27


Hi Etienne, << Images must be very well drawn. My little experience shows me that it is more difficult than I could think it to have the good images and to choose the good effects, to obtain the good result. >> Yes, creating the images is hard work. I'm not an artist, by any stretch of the imagination, so I'm always looking for ways to make things a little easier. I'll send you a little test I did using your aqua images. --Gregg

 [5/8] from: carl:cybercraft at: 9-Oct-2001 12:11


One worry I have with skins is what will happen if a script is written that uses most of View's default settings, but changes just a few of them. Now, if the user is using their own default skin, that script is going to over-ride a few of the skin's settings and the result will most likely look awful. We need to prevent this from happening in some way. On a related note, I'm having problems viewing Etienne's skins. They seem to download okay, but then nothing else happens. Looking at the do-skins-demo.r, I see the last line is... do %skins-demo/skin-select.r which seems to be the problem, as that directory and script hasn't been loaded into my Public directory and I can't access it on the site. Has it been moved or removed? Etienne? -- Carl Read

 [6/8] from: greggirwin:starband at: 8-Oct-2001 21:11


Hi Carl, << One worry I have with skins is what will happen if a script is written that uses most of View's default settings, but changes just a few of them. Now, if the user is using their own default skin, that script is going to over-ride a few of the skin's settings and the result will most likely look awful. We need to prevent this from happening in some way. >> Excellent point! Now, I have an opinion on this and I'd love to hear what others think as well. My view is this: You can't prevent it. (That's the short version. The looooong version follows.) People, especially software developers :), will munge things up in a million different ways, sometimes intentionally, sometimes accidentally. What I see as being valuable, if we can do it before REBOL explodes in a big way and UI splinter groups form, is to figure out how to make it easy to do things "the right way". Of course, we don't know what "the right way" is at this point, and there may be more than one path to Heaven (and surely many more paths to Hell). In my experience, software related and otherwise, I've come to the conclusion that most (but not all) people will do things in what they perceive to be the easiest way possible, even if they know it to be "the wrong way". The trick, then, is to make it easier to do things the right way and people will naturally follow suit. This applies to everything, not just skinning. You still won't get perfection, though, and you just have to live with that. Two polar views: 1) Be completely controlling so they have no choice. 2) Be infinitely flexible so they can do whatever they want. If you are in control, you have to provide everything they may ever want to implement. If you don't, they'll go around you to extend the system in ways you didn't intend. Being all things to all people just isn't feasible, and will make for a large, complex framework. It also stifles creativity. If you let them do anything they want, they have more work to do and you'll end up with a hodge-podge of UI idioms and styles, which is bad for users. People waste time reinventing many wheels. Moderation, it appears, is the key. Provide a clear path that covers most situations and make it easy to extend things in a way that is consistent with the core you provide. In the context of REBOL, we're not just talking about skinning static applications, which is hard enough, we're talking about skinning applications that may be highly dynamic. Not only from the perspective of configurability, but also the little things like displaying different images for a button on mouse-over or mouse-down events. For example, you could choose between three images (up, over, down) or you could choose between 1 and 3 combinations of effect facets applied to a single image. There is a distinction between style functionality and application functionality which must be addressed. Other things that require consideration are accessibility and limited/extended I/O device capabilities. Are we better off trying to define a set of guidelines about how people should implement skins, deal with global skin settings, override things locally, and that kind of thing (i.e. write a spec) or do we follow what RT has done and provide a "starting point", however extensive it may be? Etienne, Frank, and DocKimbel appear to have the most experience in this area. Maybe they could provide some advice for the rest of us. I wish I had some great answers for all these questions, but maybe we just have to struggle through some bad ideas before we find some good ones. Fortunately, we can look at the various OS approaches and learn from some of their mistakes as well as their successes. --Gregg

 [7/8] from: etienne:alaurent:free at: 9-Oct-2001 15:13


Hi, Carl, Carl Read wrote:
>On a related note, I'm having problems viewing Etienne's skins. They >seem to download okay, but then nothing else happens. Looking at the
<<quoted lines omitted: 3>>
>been loaded into my Public directory and I can't access it on the >site. Has it been moved or removed? Etienne?
When you click on the "Skins demo" icon (in fact the file %do-skins-demo.r) for the first time, the file is downloaded in your local Public directory under : [..]public/etienne.alaurent.free.fr/rebol/tools/do-skins-demo.r then do-skins-demo.r is executed : if the file %install-skins-demo.r is not present or its size differs from the original file size, then %install-skins-demo.r is downloaded. After downloading is ok, %install-skins-demo.r is executed and all the related files are uncompressed in your local Public directory under : [..]public/etienne.alaurent.free.fr/rebol/tools/skins-demo/ But, after that, it's true that the skins demo is not launched. Click again on the "Skins demo" icon : the %install-skins-demo.r will not be downloaded, but %skins-demo/skin-select.r will be launched. Now, if %install-skins-demo.r is not executed, go in the directory : [..]public/etienne.alaurent.free.fr/rebol/tools/ and launch it manually. Tell me if you encounter others mistakes. -- regards. --- Etienne

 [8/8] from: carl:cybercraft at: 10-Oct-2001 19:40


Hi Etienne, Thanks for the tips. I got it to run, and it's very nice work. The problem was I have my default REBOL words protected which tripped your script up since you modify 'layout. Hopefully the next version of Desktop will actually show error messages when they occur instead of just shutting things down. (: On 10-Oct-01, Etienne ALAURENT wrote:
> Hi, Carl, > Carl Read wrote:
<<quoted lines omitted: 23>>
> and launch it manually. > Tell me if you encounter others mistakes.
-- Carl Read

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted