Skinning Again: Which is best, jXUL, XUL, or what?

T

Thomas G. Marshall

Ok, I'm afraid that I'm going to have to ask the chronic question:

What is the best skinning methodology available for java,
and what is the best skinning methodology cross-language?

I'm also interested roughly in where folks think that skinning is headed.
Who seems to be the leader of the pack, etc. Is XUL (jXUL and variants)
really "it" for java?

And where are all the great tutorials? I'm also having a tough time sorting
out online whether or not jXUL is adhering tightly to XUL or not.

Insight appreciated.
 
G

Gerald Bauer

I'm also interested roughly in where folks think that skinning is headed.
Who seems to be the leader of the pack, etc. Is XUL (jXUL and variants)
really "it" for java?

And where are all the great tutorials? I'm also having a tough time sorting
out online whether or not jXUL is adhering tightly to XUL or not.

Insight appreciated.

XUL stands for XML UI Language and there are many dialects (e.g.
Mozilla XUL, Luxor XUL, Thinlet XUL, and so on). The jXUL project is
pretty much dead. If you want to use Mozilla XUL and Java you might
want to check out Jazilla NG that recycled and builds on the jXUL
library.

If you want to use more Java-centric XUL toolkits you might wonna
check out the latest Java Republic poll that asks "What Java XUL
Toolkit Do You Use Most?" online @
http://viva.sourceforge.net/republic/2004/02/poll_what_java_xul_toolkit_do_you_use_most.html

- Gerald

PS: For getting started with XUL check out the XUL Alliance site @
http://xul.sourceforge.net
 
K

Karsten Lentzsch

Thomas said:
What is the best skinning methodology available for java,
and what is the best skinning methodology cross-language?

Java provides cross-platform component-level skinning
with the Swing widget toolkit. Find information here:
http://java.sun.com/products/jfc/tsc/articles/

Two other widget toolkits, AWT and SWT, provide
component-level skinning based on OS skins.

If you want to completely change the user interface,
for example to provide a reduced style like iTunes
and a more explicit style like in MS applications,
you may consider combining the above skinning methods
with XML user interface descriptions. But I'd say
that this requires a lot of discipline in the
implementation of the app's architecture, models,
model operations and event handling.

If you are just interested in component-level skins,
the Swing "look&feels" are the way to go.

Hope this helps,
Karsten
 
T

Thomas G. Marshall

Karsten Lentzsch said:
Java provides cross-platform component-level skinning
with the Swing widget toolkit. Find information here:
http://java.sun.com/products/jfc/tsc/articles/

Two other widget toolkits, AWT and SWT, provide
component-level skinning based on OS skins.

I've been knee deep in awt/jfc for eons. But "compent level skinning" as
you put it, is not skinning. :-\

If you want to completely change the user interface,
yep

for example to provide a reduced style like iTunes
and a more explicit style like in MS applications,
you may consider combining the above skinning methods
with XML user interface descriptions. But I'd say
that this requires a lot of discipline in the
implementation of the app's architecture, models,
model operations and event handling.

Right....which is where an established skinning
methodology/model/library/language would come in. But there doesn't seem to
be a magic bullet in the skinning arena yet. Too much chaos so
far.....still seeking.....
 
S

Sudsy

Thomas G. Marshall wrote:
Right....which is where an established skinning
methodology/model/library/language would come in. But there doesn't seem to
be a magic bullet in the skinning arena yet. Too much chaos so
far.....still seeking.....

So perhaps the basic question would come down to: what are
you really trying to achieve?
Do "skins" make your application somehow more attractive? If
the functionality isn't there, can you "sugar coat" it with
some "eye candy"?
Do you want users to waste time applying "skins" to applications
instead of getting real work done?
Can you delay providing useful functions by offering, instead,
the ability to "customize" the appearance of the UI?
If you want the ultimate in customization then just give your
clients emacs! Nobody else could use their computer, but they
might be quite happy with that as well.
Come on! Talk about a waste of time and effort...

ps. I can just imagine a user insisting on the Aqua L&F whilst
working with TSO/ISPF...
 
K

Karsten Lentzsch

Thomas said:
I've been knee deep in awt/jfc for eons. But "compent level skinning" as
you put it, is not skinning. :-\

That's why I tried to describe some skinning levels.
I guess most people agree that the following is skinning:
http://www.jgoodies.com/freeware/metamorphosis/images/frankenui.gif
http://www.jgoodies.com/freeware/metamorphosis/images/elegantxui.gif
http://www.jgoodies.com/freeware/metamorphosis/images/elegantui.gif

It's been done with component level skinning, including
custom components and resources.
Right....which is where an established skinning
methodology/model/library/language would come in. But there doesn't seem to
be a magic bullet in the skinning arena yet. Too much chaos so
far.....still seeking.....

I'd say MVP, MVC (plus tool layer), and HMVC may help.
Or more generally, a seperatation between the domain and
the presentation layer. I personally favor MVC plus tool layer
over MVP, since I feel that I can express a lot of reusable
model operations and event handling in the tool layer.
For MVP see
http://www.object-arts.com/EducationCentre/Overviews/ModelViewPresenter.htm
For a comparison with MVC (plus tool layer) see
http://www.object-arts.com/EducationCentre/Overviews/MVC.htm

Karsten
 
T

Thomas G. Marshall

Karsten Lentzsch said:
That's why I tried to describe some skinning levels.
I guess most people agree that the following is skinning:
http://www.jgoodies.com/freeware/metamorphosis/images/frankenui.gif
http://www.jgoodies.com/freeware/metamorphosis/images/elegantxui.gif
http://www.jgoodies.com/freeware/metamorphosis/images/elegantui.gif

It's been done with component level skinning, including
custom components and resources.

No, but...

I'm *really* sorry for the tone of my prior post: I re-read it and was
amazed at how arrogant it sounded.

In any case, "component level skinning" is not synonymous with "component
LaF", at least not among the engineers in my background.

In my prior circles, Component level skinning would be to change, say, a
component such as a slider into a component such as a turn knob, with no
change in overall functionality. "skinning" all by itself is at the level
of the application. Same deal, just different levels. Changing how a
button looks from one style of button to another is just a look and feel
issue. But maybe "skinning" is now colloquially used there as well, but if
so I believe incorrectly so.

Semantics don't matter a hoot; in any case your intentions were well
appreciated.

I'd say MVP, MVC (plus tool layer), and HMVC may help.
Or more generally, a seperatation between the domain and
the presentation layer. I personally favor MVC plus tool layer
over MVP, since I feel that I can express a lot of reusable
model operations and event handling in the tool layer.
For MVP see
http://www.object-arts.com/EducationCentre/Overviews/ModelViewPresenter.htm
For a comparison with MVC (plus tool layer) see
http://www.object-arts.com/EducationCentre/Overviews/MVC.htm

Yep, any veteran of OO would acknowledge the ways of concocting a
proprietary non-standard approach to skinning using just about any
organizational model. MVC and its subtle variants are what I'm the most
used to, but doesn't matter: I'm really trying to avoid things
self-engineered and stay as much as possible with whichever is the clearest
accepted emerging formalism/library/whatever.

So far it really seems that the XUL guys so far are closest to being
universally accepted. Is that true? I'd appreciate some more insight here
if anyone has more. I'm interested in what might be accepted cross-language
as well as java-centric.

In all my searches, it really seems that the reaction of many to XUL is that
while it certainly seems like it could be everything to everyone, that
people originally had a hard time maintaining interest because it was such a
moving target.
 
T

Thomas G. Marshall

Sudsy said:
Thomas G. Marshall wrote:


So perhaps the basic question would come down to: what are
you really trying to achieve?

I'm trying to build a skill set necessary to build fully skinnable apps on
the level of, say, trillian.

Do "skins" make your application somehow more attractive?

Yes, to most people.

I'm going to assume, for yucks, that you're actually being serious with the
rest of this post...

If the functionality isn't there, can you "sugar coat" it with
some "eye candy"?

No one said anything about not having functionality.

Do you want users to waste time applying "skins" to applications
instead of getting real work done?

It's not *instead* of getting real work done. It's what *users* expect
these days in *addition* to getting real work done. Glitzy apps, in
whatever their form, are what pushes applications from desireable to
contageous.

Can you delay providing useful functions by offering, instead,
the ability to "customize" the appearance of the UI?

No, and nor did anyone say anything about delaying useful functionality.

If you want the ultimate in customization then just give your
clients emacs! Nobody else could use their computer, but they
might be quite happy with that as well.

Unwarranted extrapolation.

....[thwack]...
 
T

Thomas G. Marshall

I'm trying to build a skill set necessary to build fully skinnable
apps on the level of, say, trillian.

I need to actually modify this a tad: the skinning of trillian is the very
/least/ of what I'd expect from a full skinning methodology...
 
S

Sudsy

Thomas G. Marshall wrote:
It's not *instead* of getting real work done. It's what *users* expect
these days in *addition* to getting real work done. Glitzy apps, in
whatever their form, are what pushes applications from desireable to
contageous.

You're kidding, right? I don't know a single "serious" user to whom
skinning has any relevance whatsoever. Maybe the teens with time on
their hands think it's "cool"...
...[thwack]...back at ya
 
T

Thomas G. Marshall

Sudsy said:
Thomas G. Marshall wrote:


You're kidding, right? I don't know a single "serious" user to whom
skinning has any relevance whatsoever. Maybe the teens with time on
their hands think it's "cool"...

You're basically intent on using a very contentious tone here. Why? Your
original post made 5 rash statements, each of which I exposed as rash, and I
noticed that you snipped all of them away here.

To your latest point, I'd argue that "serious" (as you put it) users are not
necessarily the profitable consumers in bulk. I would *love* to pin down
all the skinning technology necessary to be able to make apps that
teenagers thought was "cool", if it meant that I could sell more of them.
 
S

Sudsy

Thomas G. Marshall wrote:
You're basically intent on using a very contentious tone here. Why? Your
original post made 5 rash statements, each of which I exposed as rash, and I
noticed that you snipped all of them away here.

To your latest point, I'd argue that "serious" (as you put it) users are not
necessarily the profitable consumers in bulk. I would *love* to pin down
all the skinning technology necessary to be able to make apps that
teenagers thought was "cool", if it meant that I could sell more of them.

I was wondering if you'd reply and am happy to see that you have. Let
me explain my position.
Would you pay $50 extra for a cell phone with a changeable face-plate,
even if those plates cost $20 per? I'd rather invest in a Motorola
unit which has practically unbreakable hinges.
Would you spend money on a non-functional rear wing and wheel covers
for your car? I'd rather spend it on the engine, perhaps adding a
supercharger and EFI.
Would you spend time and money "skinning" an application? I'd prefer
to profile the code and make it perform better and faster, enhancing
the user experience.
The common theme here is appearance vs function. Sure, you can dress
a car up so that it "looks" fast, but I'd prefer a relatively non-
descript one which can blow the doors off the competition.
Same thing with software. Although I'll admit to not having looked,
I don't know that you can apply skins to something like Eclipse. In
point of fact, the ONLY software I've seen which uses that capability
plays audio/video media on the M$ platform.
So why the focus on the bling? Do cell phone stores make a mint selling
face-plates or is the bread-and-butter in the phones themselves and the
plan?
So pardon my confusion. I guess I must just be an old fart who prefers
function over form.
But I sincerely hope that you find what you're looking for.
 
A

Adam

Sudsy said:
Thomas G. Marshall wrote:


You're kidding, right? I don't know a single "serious" user to whom
skinning has any relevance whatsoever. Maybe the teens with time on
their hands think it's "cool"...

Your lack of knowledge cannot be an explanation.
Why don't you do some market research on
skinning abilities?
Apparently Thomas did, and that's what he
wants to put in his product.
Why argue with his businessplan?
He didn't come here for advice on
'if' but 'how'.

Adam
 
T

Thomas G. Marshall

Adam said:
Your lack of knowledge cannot be an explanation.
Why don't you do some market research on
skinning abilities?
Apparently Thomas did, and that's what he
wants to put in his product.
Why argue with his businessplan?
He didn't come here for advice on
'if' but 'how'.

Adam

Yeah, even his latest reply still shows a fundamental cart-before-the-horse
false logic. My posts are orthogonal to the question of whether or not
skinning is useful. I'm way past that; I am asking about skinning
technology itself. Furthermore, he seems to be on some sort of childish
crusade. I've basically given up even addressing it.
 
A

Alex Hunsley

Sudsy said:
Thomas G. Marshall wrote:



So perhaps the basic question would come down to: what are
you really trying to achieve?
Do "skins" make your application somehow more attractive? If
the functionality isn't there, can you "sugar coat" it with
some "eye candy"?
Do you want users to waste time applying "skins" to applications
instead of getting real work done?
Can you delay providing useful functions by offering, instead,
the ability to "customize" the appearance of the UI?
If you want the ultimate in customization then just give your
clients emacs! Nobody else could use their computer, but they
might be quite happy with that as well.
Come on! Talk about a waste of time and effort...

ps. I can just imagine a user insisting on the Aqua L&F whilst
working with TSO/ISPF...

This must be a new logical fallacy of some sort!
Argumentum ad applicatio, apparently.

I share your distaste of skins, but that subject is sort of beside the
point here... and having a skinned application doesn't magically mean it
lacks functionality, as you would have us believe.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top