WARNING: This server is unstable and will be retired in the next days. If you want to keep this forum available, please request immediately a migration on the Nabble Support forum. Forums that don't receive any migration request will be deleted forever.

Themeing G3

View: New views
8 Messages — Rating Filter:   Alert me  
< Prev | 1 - 2 | Next >

Re: Themeing G3

by Jakob Hilden-2 :: Rate this Message:

| View Threaded | Show Only this Message

Hey Stephen,

thank you for your input.  I agree that doing even more user research
would be valuable, but for the sake of productivity I think we should
get this started now, so that G3 doesn't stay a hypothetical idea.  As
with so much "the perfect is the enemy of the good".

Also note that the two student teams at the University of Michigan and
other Gallery team members have spend a lot of time talking to users at
all levels to figure out what their needs are.  So it's not like we
haven't done any user research.

Let my just lay out how I think we will approach themeing for G3 and you
tell us what you think.

I agree that customizing the presentation of Gallery for a themer (see
below for definition/persona of "themer") should be made as simple as
possible!

At this point we are only dealing with technical foundations of the
presentation system.  We decided to go for PHP instead of Smarty
templates, because they are widely used (as Bharat already pointed out),
there is A LOT of documentation about any aspect of PHP, and a lot of
people have at least some experience with that language. (see a small
anecdote from my personal experience on that issue below)

Another goal that we are working on at this moment is to make the
presentation system as modular as possible.  So that you can just copy
and paste certain components of the UI (modules, blocks, etc.) around in
different templates with no problem.

Then we are working on very lean and semantic HTML code.  So that people
should be able to directly see what element of the UI matches what
markup in the HTML.

Finally we are structuring the CSS in a way that should allow people to
easily find the style that they want to change and at what level they
want to change it.


Again, these are only the technical foundations.  We will try to make
them as flexible as possible, so that we can make the themeing
experience on top of them more usable.  This layer will then allow to
better support common tasks like: changing colors (see other email
thread), images or whatever.  Here is also where the documentation comes
into play.  And, as Bharat already mentioned we could really use any
help with that.  So, please get on board and write the documentation
that you would like to see!


On another note: We should NOT worry about customization through the
admin interface for now!
I think it was a big mistake in Gallery2 to allow all these fine grained
customizations through the admin interface.  Giving the user the 10
options, 3 modes and 2 directions to sort by is just overkill.
We should design the templates to be as flexible as possible and
definitely consider where and how “customization automation” could be
integrated.  But we should not start building those automated
customization features, before we don't have a clue what the most
important things and the best ways for user to customize are.  They will
tell us what they need and we should not overcomplicate things before we
know what is needed.


Who is the typical Gallery Themer (quick 'n dirty persona)

Tim Themer works as a photographer/designer for a design firm.  He is
involved with a lot of web stuff, but he is definitely not a programmer.
  He knows some HTML & CSS and also a little bit of PHP or JS.  He has
created a handful of small website for friends etc. and even integrated
a simple PHP guestbook once.  He is very much a trial and error person
that just changes things in the code and looks in the browser what happened.

I would argue, that the number of Gallery installers that fall at least
somewhat in this category is very significant.  So we should be able to
make G3 work for more then 50% of the installers and more then 70% of
the users, without building any “automated customization” complexity
into the templates and the rest of the code.


After we have satisfied the needs of this themer with decent technical
expertise we should have enough user input to be able to change exactly
those things (and only those), that would make customization possible to
less technical people.


Wow, what a long email.  I hope nobody fell asleep.  If you have any
feedback I would be glad to hear it.


--Jakob


Anecdote:  I took a university course three years ago, that involved
themeing for G2.  I was the only among 20 student + 1 CS professor + 2
tech savvy CS teaching assistants, that even knew what Smarty was at
all.  I'm 100% sure that it would have been much easier for us in that
case, if the templates were just written in simple PHP + HTML.  I think,
at least 5-6 people would have been able to figure it out in the latter
case.



Bharat Mediratta wrote:

> Stephen Cupp wrote:
>> Who is G3 aimed at?  Those people that know how to theme in WP and
>> Drupal will want to run G3 embedded and just want the basic HTML so it
>> doesn't break their WP or Drupal theme.
>>
>> It is my view that decisions like this are made by the developers who
>> didn't wrap their heads around what the users needs are.  Unless you are
>> subscribed to this list you have no idea what's going on.  Maybe I
>> missed it, but have the developers asked the rest of the community what
>> they want.  I haven't seen any polls or forum topics or a survey.  When
>> I look through the Theme Development Forum I see questions like "Carbon
>> Theme: changing logo" or "Carbon Theme: how to change the logo link?".
>> Are these the people who are going to think PHP is better then Smarty?
>>    Now I'm not trying to be harsh because sometimes I fall into this
>> trap too.  Those that know PHP will think a pure PHP themeing system is
>> the best.  Those who don't know PHP is another story.
>
> Stephen, I'm not going to take offense that you're basically saying that
> I don't understand our user base.  I don't think that a poll is an
> appropriate way to figure out a solution for something like this.  We
> made a measured decision based on a variety of criteria.
>
> 1) It's 1 less technology to learn.  We expect that themers will know
> some PHP, or have to learn it.  Even with Smarty templates, they still
> needed to know a *little* PHP.  And if they don't know either Smarty or
> PHP then they need to learn one thing either way.  It just needs to be
> well documented and easy (which is achievable in either case).
>
> 2) PHP templates are fast and commonly used.  Joomla, Drupal, Wordpress,
> PHP-Nuke, and others follow this paradigm.  This demonstrates that
> there's a large and thriving base of people who know how to use PHP to
> create themes.  Taking a survey is not the way to make a clear decision.
>  We're doing this for technical reasons and we believe that it'll be at
> least as easy to understand to the themer as Smarty is.
>
> 3) I have personally spent a huge amount of time trying to create a good
> metaphor for template layers like Smarty on top of our existing system
> and I've found that this additional layer is slow and confusing.  It
> requires a compilation phase, generates new PHP files off in an
> unexpected location, leads to permission errors that cause rendering to
> fail, requires the reader to go off and read and understand the Smarty
> documentation to do anything more complicated than variable
> interpolation, and has confusing error messages.
>
> 4) Smarty's choice of tag delimiters interfere with two of the most
> common and basic operations that themers want: using curly braces in CSS
> and Javascript.
>
> So PHP is faster, smaller, better known.
>
>> I'm also skeptical about the documentation for this new themeing system.
>>   As I've said here numerous times I feel that is G2's biggest weak
>> point.  Bharat told me he didn't like to write documentation and no
>> amount of wishing is going to change that.  He also said he wanted to
>> write G3 in a way so there is not a need for much documentation.
>
> Ok, I hear what you're saying.  But hear this: a new theming system is
> coming.  If you'd like the documentation to be better this time around,
> how about you take charge of the theming documentation effort and we
> work together on it?  I'll answer every single one of your questions for
> you in as much detail as you can handle, you are in charge of getting it
> down in a form that people understand.  You'll also be in charge of
> following through on it and not taking off in the middle of the project.
> Step up and get involved and you can make a difference here.  Otherwise,
> while I appreciate your skepticism, it's not going to change the outcome.
>
> -Bharat
>
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> __[ g a l l e r y - d e v e l ]_________________________
>
> [ list info/archive --> http://gallery.sf.net/lists.php ]
> [ gallery info/FAQ/download --> http://gallery.sf.net ]

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
__[ g a l l e r y - d e v e l ]_________________________

[ list info/archive --> http://gallery.sf.net/lists.php ]
[ gallery info/FAQ/download --> http://gallery.sf.net ]

Re: Themeing G3

by Brandon Sussman-2 :: Rate this Message:

| View Threaded | Show Only this Message

I rise to speak in favor of a (lighter weight) templating capability as part
of theming.

On Tuesday 28 October 2008 11:47:27 Bharat Mediratta and others wrote:
> Those that know PHP
I think I am a member of that group.
> will think a pure PHP themeing system is
> the best.
What does pure mean? No files that do not begin '<?php'? - I want some support
in the form of code that some good templating theorist wizard has developed.  

tbs ( http://tinybutstrong.com/ ) templating is perfect for me - it is very
lightweight and does a great deal of the heavy lifting for me in my work and
it is small enough to suck in and modify if needed.  Frankly, it is pretty
close to pure PHP for me.  http://tinybutstrong.com/article_3rd_kind.html is
an interesting short read - BTW the 1st kind is pure PHP and the second is
exemplified by <drumroll duration="annoying" />SMARTY</drumroll>.

I am not expert but I find SMARTY inappropriately hard to deal with.  I don't
see it's value.  SMARTY code is so complex that I do not feel that anything
much has been abstracted, which is the reason to use templating.  I also
suspect that the MVC model might have something to inform this conversation
and that a separate heavyweight templating engine courrupts this where a
small (or tiny :) ) template class might not.

With well done template files (generating appropriate semantics, etc.), a
templating class can make skinning (I use interchangeably with templating but
please do not start a war over that - I don't quibble) available to the 'less
technical' but I fear that themers need to know something of CSS, HTML, PHP
etc.  We are talking about an interface layer here and you cannot interface
two things that you don't know.

Seriously - I think it is worthwhile looking at tbs or reinventing the tbs
wheel within G3 if that supports the notion of pure PHP better :)

--
-----------------------------------------------------------------
| WRWeb Services                   |           http://WRWeb.net |
| 1482 Pleasant St.                |              (603)648-2251 |
| Webster, NH, 03303-7613          |            19TBJ8040800540 |
-----------------------------------------------------------------
| Web Sites Designed and Supported |Think Locally, Buy Locally! |
-----------------------------------------------------------------

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
__[ g a l l e r y - d e v e l ]_________________________

[ list info/archive --> http://gallery.sf.net/lists.php ]
[ gallery info/FAQ/download --> http://gallery.sf.net ]

Re: Themeing G3

by Tim Almdal :: Rate this Message:

| View Threaded | Show Only this Message

Brandon, IMO, if you want to use a templating engine for what you create fill your boots.

Googling for "kohana tbs template integration" or "kohana smarty template integration" will give you lots of hits that can help you integrate it into your installation or create a -contrib module that others can use.

I'm in full agreement with decision to use native php templates as I also felt that it raised the bar for people that want to make minor changes to templates.

Tim

----- Original Message -----
From: Brandon Sussman <Brandon@...>
Date: Tuesday, October 28, 2008 10:30 am
Subject: Re: [Gallery-devel] Themeing G3
To: gallery-devel@...

> I rise to speak in favor of a (lighter weight) templating
> capability as part
> of theming.
>
> On Tuesday 28 October 2008 11:47:27 Bharat Mediratta and others wrote:
> > Those that know PHP
> I think I am a member of that group.
> > will think a pure PHP themeing system is
> > the best.
> What does pure mean? No files that do not begin '<?php'? - I
> want some support
> in the form of code that some good templating theorist wizard
> has developed. 
>
> tbs ( http://tinybutstrong.com/ ) templating is perfect for me -
> it is very
> lightweight and does a great deal of the heavy lifting for me in
> my work and
> it is small enough to suck in and modify if needed. 
> Frankly, it is pretty
> close to pure PHP for me. 
> http://tinybutstrong.com/article_3rd_kind.html is
> an interesting short read - BTW the 1st kind is pure PHP and the
> second is
> exemplified by <drumroll duration="annoying"
> />SMARTY</drumroll>.
> I am not expert but I find SMARTY inappropriately hard to deal
> with.  I don't
> see it's value.  SMARTY code is so complex that I do not
> feel that anything
> much has been abstracted, which is the reason to use
> templating.  I also
> suspect that the MVC model might have something to inform this
> conversation
> and that a separate heavyweight templating engine courrupts this
> where a
> small (or tiny :) ) template class might not.
>
> With well done template files (generating appropriate semantics,
> etc.), a
> templating class can make skinning (I use interchangeably with
> templating but
> please do not start a war over that - I don't quibble) available
> to the 'less
> technical' but I fear that themers need to know something of
> CSS, HTML, PHP
> etc.  We are talking about an interface layer here and you
> cannot interface
> two things that you don't know.
>
> Seriously - I think it is worthwhile looking at tbs or
> reinventing the tbs
> wheel within G3 if that supports the notion of pure PHP better :)
>
> --
> -----------------------------------------------------------------
> | WRWeb
> Services                   |           http://WRWeb.net |
> | 1482 Pleasant
> St.                |              (603)648-2251 |
> | Webster, NH, 03303-
> 7613          |            19TBJ8040800540 |
> -----------------------------------------------------------------
> | Web Sites Designed and Supported |Think Locally, Buy Locally! |
> -----------------------------------------------------------------
>
> -----------------------------------------------------------------
> --------
> This SF.Net email is sponsored by the Moblin Your Move
> Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win
> great prizes
> Grand prize is a trip for two to an Open Source event anywhere
> in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> __[ g a l l e r y - d e v e l ]_________________________
>
> [ list info/archive --> http://gallery.sf.net/lists.php ]
> [ gallery info/FAQ/download --> http://gallery.sf.net ]
>

Website: http://www.timalmdal.com


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
__[ g a l l e r y - d e v e l ]_________________________

[ list info/archive --> http://gallery.sf.net/lists.php ]
[ gallery info/FAQ/download --> http://gallery.sf.net ]

Re: Themeing G3

by Bharat Mediratta :: Rate this Message:

| View Threaded | Show Only this Message

Brandon Sussman wrote:
> tbs ( http://tinybutstrong.com/ ) templating is perfect for me - it is very
> lightweight and does a great deal of the heavy lifting for me in my work and
> it is small enough to suck in and modify if needed.  Frankly, it is pretty
> close to pure PHP for me.  http://tinybutstrong.com/article_3rd_kind.html is
> an interesting short read - BTW the 1st kind is pure PHP and the second is
> exemplified by <drumroll duration="annoying" />SMARTY</drumroll>.

(I'm smiling as I write this, don't read this as an attack cause its
not-- I'm just a little pressed for time so I'm being a little short.)

Let's turn this conversation around.  We're currently using PHP to write
our app, correct?  So PHP is our default baseline for any operation that
will happen within Gallery3.  This means that by default, our templates
are going to be generated by PHP.  So if we want to use something else,
it should be clearly *better* than PHP.

I started writing a comparison of basic operations between PHP, Smarty
and TBS as an exercise.  But what I found is that:

  a) I don't know TBS
  b) their docs are going to take me a while to read and understand
  c) I don't care enough to learn a whole new language to tweak a theme

Does this sound familiar?  I bet I'm pretty accurately simulating a
themer.  I set about this with good intentions, looked over the docs,
read the examples and tried to figure it out.  But in the end, after a
minute or two I gave up because I just don't care enough to go learn a
whole new technology.

Why is there an effort to educate our themers here?  They know PHP
already.  They can take code that's in their templates and cut/paste it
directly into any other PHP code and be happy.  Better, they can take
*any other* PHP code that they find on the web and cut and paste it into
a template.

We need the simplest, lightest possible solution that lets people make
changes to their themes with the minimal possible education.  I like the
3rd_kind tbs article.  It appeals to my sense as a computer scientist,
where I like things that are in a normal form and have logical
abstractions.  But while this has all kinds of neat implications, it is
*not* intuitive.  The article is self defeating if you expect it to be
intuitive.  Anybody in their right mind can look at the example from the
1st kind:

<?title('Example Page')?>
<?greeting()?>
<h1>Heading 1</h1>
   <p> Page content </p>
<h1>Heading 2</h1>
   <p> Yada Yada </p>
<h1>Heading 3</h1>
   <p> Page content </p>
<?footer()?>

and know what it does.  But let's take a look at the TBS example:

   Example of natural template (in wysiwyg):
   Names                Phones
   [users.name;block=tr] [users.phone]
   [users.name;block=tr] [users.phone]

What exactly does that do?  If I read the description it says things
like "[b;block=tr] defines a zone named "b" and limited by the <tr>
</tr> that surrounds it.".  Ok, so this is the same as:

   <tr>[users.name]</tr>

Except that if [users.name] is empty, then the <tr/> goes away.  This is
  a nice shortcut.  But while it's longer, anybody with PHP is going to
have a much lower learning curve to pick up this:

   <? if ($users.name) ?>
     <tr>
       <?= $users.name ?>
     </tr>
   <? endif; ?>

Because the HTML (the important thing in this whole equation) is very
obvious to the themer.

Remember that there are two categories here:

1) professional software developers (core team, you, me, folks on
-devel) who can learn and use any templating engine and be good at it.
These people have time/energy/interest to go off and learn technology.

2) themers with limited time who just want to make simple (and then
increasingly more complex) changes to the appearance of their site.

in Gallery2 we aimed for #1 and screwed #2.  In Gallery3 I'm hoping to
hit #2 without screwing #1.

-Bharat


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
__[ g a l l e r y - d e v e l ]_________________________

[ list info/archive --> http://gallery.sf.net/lists.php ]
[ gallery info/FAQ/download --> http://gallery.sf.net ]

Re: Themeing G3

by Brandon Sussman-3 :: Rate this Message:

| View Threaded | Show Only this Message

On Tuesday 28 October 2008 17:30:43 Bharat Mediratta wrote:
--- a lot of stuff that makes perfect sense ---

> Remember that there are two categories here:
>
> 1) professional software developers (core team, you, me, folks on
> -devel) who can learn and use any templating engine and be good at it.
> These people have time/energy/interest to go off and learn technology.
>
> 2) themers with limited time who just want to make simple (and then
> increasingly more complex) changes to the appearance of their site.
>
> in Gallery2 we aimed for #1 and screwed #2.  In Gallery3 I'm hoping to
> hit #2 without screwing #1.
>
One of my mis-conceptions was(is) coupling template and theme.  Whatever
serves #2 and simplifies the codebase is clearly a win.

Eliminating that SMARTY mess is such a win for #1 that I am going to quit
while we are ahead.  If you required templates in COBOL I'd like it better
than SMARTY :)

Sorry for extending a discussion that should have been over 3 email cycles
ago :D



--
------------------------------------------------------------------------
|/\/\ /\/\ /\/\   Webster Ridge Farm       |   http://WebsterRidge.com |
|\oo/ \--/ \--/   Brandon and Mary Sussman |             (603)648-2595 |
|=\/= =\/= =\/=   1482 Pleasant St.        |     N 43.32558 W 71.70835 |
| Sleep Well...   Webster, NH, 03303-7613  |           19TBJ8040800540 |
------------------------------------------------------------------------
|Lamb, Poultry, Eggs, Quilts and Web Sites-Think Locally, Buy Locally! |
------------------------------------------------------------------------

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
__[ g a l l e r y - d e v e l ]_________________________

[ list info/archive --> http://gallery.sf.net/lists.php ]
[ gallery info/FAQ/download --> http://gallery.sf.net ]

Re: Documentation - was Re: Themeing G3

by Gaynor McCartney :: Rate this Message:

| View Threaded | Show Only this Message

Great,
Count me in as one of the team.

Gaynor


----- Original Message -----
From: "Bharat Mediratta" <bharat@...>
To: "Gaynor McCartney" <gaynormcc@...>
Cc: <gallery-devel@...>; "Chad Kieffer" <chad@...>;
"Stephen Cupp" <lvthunder@...>
Sent: Wednesday, October 29, 2008 4:48 AM
Subject: Re: [Gallery-devel] Documentation - was Re: Themeing G3


> Gaynor McCartney wrote:
>> I still think a writers team could be a good idea. We would need to
>> consult
>> with the core team to check we understood things and that what we wrote
>> was
>> correct etc, but although that would be work for the core team at that
>> stage, it would free them later when the writers could watch the forums,
>> and
>> refer people to the relevant place in documentation.
>
> I would be very happy to see a writer's team.  I will be happy to
> explain G3 concepts in detail to anybody who wants to understand and
> document them.
>
> -Bharat
>
>
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the
> world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> __[ g a l l e r y - d e v e l ]_________________________
>
> [ list info/archive --> http://gallery.sf.net/lists.php ]
> [ gallery info/FAQ/download --> http://gallery.sf.net ]


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
__[ g a l l e r y - d e v e l ]_________________________

[ list info/archive --> http://gallery.sf.net/lists.php ]
[ gallery info/FAQ/download --> http://gallery.sf.net ]

Re: Themeing G3

by Gaynor McCartney :: Rate this Message:

| View Threaded | Show Only this Message

Hi Jakob,
Long e-mail ?  I didn;t notice that. It was so interesting.  :)
I think you have Tim Themer right on the button.
I see myself in a lot of him. I find the code for something that is close to
what I want, and fiddle with the bits I want to change, doing it exactly as
you describe in the "Trial and error" part.

It is nice to see I am part of a large group. :)

Gaynor


----- Original Message -----
From: "Jakob Hilden" <jhild@...>
To: "Bharat Mediratta" <bharat@...>
Cc: <gallery-devel@...>; "Chad Kieffer" <chad@...>;
"Stephen Cupp" <lvthunder@...>
Sent: Wednesday, October 29, 2008 5:31 AM
Subject: Re: [Gallery-devel] Themeing G3


Hey Stephen,

thank you for your input.  I agree that doing even more user research
would be valuable, but for the sake of productivity I think we should
get this started now, so that G3 doesn't stay a hypothetical idea.  As
with so much "the perfect is the enemy of the good".

Also note that the two student teams at the University of Michigan and
other Gallery team members have spend a lot of time talking to users at
all levels to figure out what their needs are.  So it's not like we
haven't done any user research.

Let my just lay out how I think we will approach themeing for G3 and you
tell us what you think.

I agree that customizing the presentation of Gallery for a themer (see
below for definition/persona of "themer") should be made as simple as
possible!

At this point we are only dealing with technical foundations of the
presentation system.  We decided to go for PHP instead of Smarty
templates, because they are widely used (as Bharat already pointed out),
there is A LOT of documentation about any aspect of PHP, and a lot of
people have at least some experience with that language. (see a small
anecdote from my personal experience on that issue below)

Another goal that we are working on at this moment is to make the
presentation system as modular as possible.  So that you can just copy
and paste certain components of the UI (modules, blocks, etc.) around in
different templates with no problem.

Then we are working on very lean and semantic HTML code.  So that people
should be able to directly see what element of the UI matches what
markup in the HTML.

Finally we are structuring the CSS in a way that should allow people to
easily find the style that they want to change and at what level they
want to change it.


Again, these are only the technical foundations.  We will try to make
them as flexible as possible, so that we can make the themeing
experience on top of them more usable.  This layer will then allow to
better support common tasks like: changing colors (see other email
thread), images or whatever.  Here is also where the documentation comes
into play.  And, as Bharat already mentioned we could really use any
help with that.  So, please get on board and write the documentation
that you would like to see!


On another note: We should NOT worry about customization through the
admin interface for now!
I think it was a big mistake in Gallery2 to allow all these fine grained
customizations through the admin interface.  Giving the user the 10
options, 3 modes and 2 directions to sort by is just overkill.
We should design the templates to be as flexible as possible and
definitely consider where and how “customization automation” could be
integrated.  But we should not start building those automated
customization features, before we don't have a clue what the most
important things and the best ways for user to customize are.  They will
tell us what they need and we should not overcomplicate things before we
know what is needed.


Who is the typical Gallery Themer (quick 'n dirty persona)

Tim Themer works as a photographer/designer for a design firm.  He is
involved with a lot of web stuff, but he is definitely not a programmer.
  He knows some HTML & CSS and also a little bit of PHP or JS.  He has
created a handful of small website for friends etc. and even integrated
a simple PHP guestbook once.  He is very much a trial and error person
that just changes things in the code and looks in the browser what happened.

I would argue, that the number of Gallery installers that fall at least
somewhat in this category is very significant.  So we should be able to
make G3 work for more then 50% of the installers and more then 70% of
the users, without building any “automated customization” complexity
into the templates and the rest of the code.


After we have satisfied the needs of this themer with decent technical
expertise we should have enough user input to be able to change exactly
those things (and only those), that would make customization possible to
less technical people.


Wow, what a long email.  I hope nobody fell asleep.  If you have any
feedback I would be glad to hear it.


--Jakob


Anecdote:  I took a university course three years ago, that involved
themeing for G2.  I was the only among 20 student + 1 CS professor + 2
tech savvy CS teaching assistants, that even knew what Smarty was at
all.  I'm 100% sure that it would have been much easier for us in that
case, if the templates were just written in simple PHP + HTML.  I think,
at least 5-6 people would have been able to figure it out in the latter
case.



Bharat Mediratta wrote:

> Stephen Cupp wrote:
>> Who is G3 aimed at?  Those people that know how to theme in WP and
>> Drupal will want to run G3 embedded and just want the basic HTML so it
>> doesn't break their WP or Drupal theme.
>>
>> It is my view that decisions like this are made by the developers who
>> didn't wrap their heads around what the users needs are.  Unless you are
>> subscribed to this list you have no idea what's going on.  Maybe I
>> missed it, but have the developers asked the rest of the community what
>> they want.  I haven't seen any polls or forum topics or a survey.  When
>> I look through the Theme Development Forum I see questions like "Carbon
>> Theme: changing logo" or "Carbon Theme: how to change the logo link?".
>> Are these the people who are going to think PHP is better then Smarty?
>>    Now I'm not trying to be harsh because sometimes I fall into this
>> trap too.  Those that know PHP will think a pure PHP themeing system is
>> the best.  Those who don't know PHP is another story.
>
> Stephen, I'm not going to take offense that you're basically saying that
> I don't understand our user base.  I don't think that a poll is an
> appropriate way to figure out a solution for something like this.  We
> made a measured decision based on a variety of criteria.
>
> 1) It's 1 less technology to learn.  We expect that themers will know
> some PHP, or have to learn it.  Even with Smarty templates, they still
> needed to know a *little* PHP.  And if they don't know either Smarty or
> PHP then they need to learn one thing either way.  It just needs to be
> well documented and easy (which is achievable in either case).
>
> 2) PHP templates are fast and commonly used.  Joomla, Drupal, Wordpress,
> PHP-Nuke, and others follow this paradigm.  This demonstrates that
> there's a large and thriving base of people who know how to use PHP to
> create themes.  Taking a survey is not the way to make a clear decision.
>  We're doing this for technical reasons and we believe that it'll be at
> least as easy to understand to the themer as Smarty is.
>
> 3) I have personally spent a huge amount of time trying to create a good
> metaphor for template layers like Smarty on top of our existing system
> and I've found that this additional layer is slow and confusing.  It
> requires a compilation phase, generates new PHP files off in an
> unexpected location, leads to permission errors that cause rendering to
> fail, requires the reader to go off and read and understand the Smarty
> documentation to do anything more complicated than variable
> interpolation, and has confusing error messages.
>
> 4) Smarty's choice of tag delimiters interfere with two of the most
> common and basic operations that themers want: using curly braces in CSS
> and Javascript.
>
> So PHP is faster, smaller, better known.
>
>> I'm also skeptical about the documentation for this new themeing system.
>>   As I've said here numerous times I feel that is G2's biggest weak
>> point.  Bharat told me he didn't like to write documentation and no
>> amount of wishing is going to change that.  He also said he wanted to
>> write G3 in a way so there is not a need for much documentation.
>
> Ok, I hear what you're saying.  But hear this: a new theming system is
> coming.  If you'd like the documentation to be better this time around,
> how about you take charge of the theming documentation effort and we
> work together on it?  I'll answer every single one of your questions for
> you in as much detail as you can handle, you are in charge of getting it
> down in a form that people understand.  You'll also be in charge of
> following through on it and not taking off in the middle of the project.
> Step up and get involved and you can make a difference here.  Otherwise,
> while I appreciate your skepticism, it's not going to change the outcome.
>
> -Bharat
>
>
>
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's
> challenge
> Build the coolest Linux based applications with Moblin SDK & win great
> prizes
> Grand prize is a trip for two to an Open Source event anywhere in the
> world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> __[ g a l l e r y - d e v e l ]_________________________
>
> [ list info/archive --> http://gallery.sf.net/lists.php ]
> [ gallery info/FAQ/download --> http://gallery.sf.net ]

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
__[ g a l l e r y - d e v e l ]_________________________

[ list info/archive --> http://gallery.sf.net/lists.php ]
[ gallery info/FAQ/download --> http://gallery.sf.net ]


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
__[ g a l l e r y - d e v e l ]_________________________

[ list info/archive --> http://gallery.sf.net/lists.php ]
[ gallery info/FAQ/download --> http://gallery.sf.net ]

Parent Message unknown Re: Themeing G3

by Bharat Mediratta :: Rate this Message:

| View Threaded | Show Only this Message

+gallery-devel

Stephen Cupp wrote:

> Bharat Mediratta wrote:
>> Stephen Cupp wrote:
>>> Who is G3 aimed at?  Those people that know how to theme in WP and
>>> Drupal will want to run G3 embedded and just want the basic HTML so
>>> it doesn't break their WP or Drupal theme.
>>>
>>> It is my view that decisions like this are made by the developers who
>>> didn't wrap their heads around what the users needs are.  Unless you
>>> are subscribed to this list you have no idea what's going on.  Maybe
>>> I missed it, but have the developers asked the rest of the community
>>> what they want.  I haven't seen any polls or forum topics or a
>>> survey.  When I look through the Theme Development Forum I see
>>> questions like "Carbon Theme: changing logo" or "Carbon Theme: how to
>>> change the logo link?". Are these the people who are going to think
>>> PHP is better then Smarty?    Now I'm not trying to be harsh because
>>> sometimes I fall into this trap too.  Those that know PHP will think
>>> a pure PHP themeing system is the best.  Those who don't know PHP is
>>> another story.
>>
>> Stephen, I'm not going to take offense that you're basically saying that
>> I don't understand our user base.  I don't think that a poll is an
>> appropriate way to figure out a solution for something like this.  We
>> made a measured decision based on a variety of criteria.
>
> Well the email that Jakob sent is the first I've seen about users of all
> levels being asked about G3.

Sure.  But I've spent thousands of hours on the forums and on email
talking to our user base and understanding their problems.  I think we
have a pretty decent idea.

>> 1) It's 1 less technology to learn.  We expect that themers will know
>> some PHP, or have to learn it.  Even with Smarty templates, they still
>> needed to know a *little* PHP.  And if they don't know either Smarty or
>> PHP then they need to learn one thing either way.  It just needs to be
>> well documented and easy (which is achievable in either case).
>
> Actually for themers that theme for G2 it's one more thing to learn.  I
> do know that I didn't have to learn a little PHP to theme for G2.  It
> was probably a year or two into my theme before I had to touch PHP. Also
> it took me only about an hour to learn smarty.  I like it because it
> looks pretty close to pure HTML.

If that's the case, then what you did with your theme was mostly
HTML/CSS manipulation, light on the Smarty.  The change from Smarty to
PHP is the equivalent of changing variables from

  {foo}

  <?= $foo ?>

If you can learn one of those, you can learn the other.  Yes, it's
different.  But there are tradeoffs.  We deal with tons of users who are
puzzled why they can't use curly braces in their CSS and JS because
those are reserved characters in Smarty.

>> 2) PHP templates are fast and commonly used.  Joomla, Drupal, Wordpress,
>> PHP-Nuke, and others follow this paradigm.  This demonstrates that
>> there's a large and thriving base of people who know how to use PHP to
>> create themes.  Taking a survey is not the way to make a clear decision.
>>  We're doing this for technical reasons and we believe that it'll be at
>> least as easy to understand to the themer as Smarty is.
>
> I'll ask again.  Do you think users of Joomla, Drupal, Wordpress,
> PHP-Nuke and others are going to want to create complete themes or are
> they just going to want a simple theme that will merge G3 with their CMS
> of choice.

I'm not referring to that.  I'm demonstrating that there's a very large
base of themers (far, far larger than the base we have) that are able to
create high quality themes using PHP.  This proves that the model is
workable and does not have a major flaw in it.

>> 3) I have personally spent a huge amount of time trying to create a good
>> metaphor for template layers like Smarty on top of our existing system
>> and I've found that this additional layer is slow and confusing.  It
>> requires a compilation phase, generates new PHP files off in an
>> unexpected location, leads to permission errors that cause rendering to
>> fail, requires the reader to go off and read and understand the Smarty
>> documentation to do anything more complicated than variable
>> interpolation, and has confusing error messages.
>>
> OK.  Part of my original email just asked if it could be an option like
> it is in Drupal.  I was hopeing to be able to have a theme for G3 that
> uses a good portion of the code I have for my G2 theme since G3 is going
> to be feature limited I feel half the community will be on G2 and half
> on G3.

Sure, it may be.  Especially if some 3rd party gets excited about
incorporating it.  But it won't be a primary focus for the 3.0 release.

>> 4) Smarty's choice of tag delimiters interfere with two of the most
>> common and basic operations that themers want: using curly braces in CSS
>> and Javascript.
>>
> Shouldn't CSS and Javascript be in external files and not part of the
> template.

No, there are times when it's better to externalize it, and times when
it's better to inline it.  If you really care about latency, then you
typically want to inline as much as you can because the cost of opening
a multiple TCP connections is very high.  I know that this will sound
non-intuitive to many, but I spend much of my day job measuring this
stuff (and we can talk about it at length, offline).

>> So PHP is faster, smaller, better known.
>>
>>> I'm also skeptical about the documentation for this new themeing
>>> system.   As I've said here numerous times I feel that is G2's
>>> biggest weak point.  Bharat told me he didn't like to write
>>> documentation and no amount of wishing is going to change that.  He
>>> also said he wanted to write G3 in a way so there is not a need for
>>> much documentation.
>>
>> Ok, I hear what you're saying.  But hear this: a new theming system is
>> coming.  If you'd like the documentation to be better this time around,
>> how about you take charge of the theming documentation effort and we
>> work together on it?  I'll answer every single one of your questions for
>> you in as much detail as you can handle, you are in charge of getting it
>> down in a form that people understand.  You'll also be in charge of
>> following through on it and not taking off in the middle of the project.
>> Step up and get involved and you can make a difference here.  Otherwise,
>> while I appreciate your skepticism, it's not going to change the outcome.
>>
>> -Bharat
>
> OK I got it.  A new themeing system is coming.  In fact a whole new
> Gallery is coming.  I just know for themers like me G3 is going to be
> harder to theme for.  Now I have to learn some new things.  PHP for one.
>  Then I have to learn how to work with Linux and virtual machines and
> get files back in forth since I'm a Windows user.  With G2 I use XAMPP
> on Windows and Eclipse and work on the files directly.  Come to think
> about it I'm not sure I'm going to be able to use G3 since I have it
> integrated with Drupal and I use the multisite option in G2.

Yup, change is coming.  I'm sorry to see that you sound resigned to the
fact that it's going to screw you over.  I honestly don't think that
you're going to feel the pain that you fear.  But if you're right then
please feel free to quote this email and give me a big, fat "I told you
so".  :-)

We will add multisite support for G3.  Maybe not right away though.
We may eventually add windows support for G3.  Both of these things will
happen faster if we get more developers willing to commit time/energy to
them.

> I'd be willing to take charge of writing the themeing docs for G3 if you
> think someone with about 3 days of PHP experience is enough to do the
> job.  You don't have to worry about me leaving the project.  I've been
> using G2 since Alpha 1 or 2 and used G1 before that.  
...
> When do you expect to have something resembling a default theme for me
> to work with?  I think these docs need to be finished by time G3.0 ships.

I would love to see you take charge of this.  Gaynor has offered to help
 out and so has Alec Myers.  So that makes 3, which is larger than our
UI team at the moment.

I'll start a separate thread with a rough timeline of where things are
and where I'd like them to go (and that should give you an idea of when
we have a theme that we can document).

-Bharat



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
__[ g a l l e r y - d e v e l ]_________________________

[ list info/archive --> http://gallery.sf.net/lists.php ]
[ gallery info/FAQ/download --> http://gallery.sf.net ]
< Prev | 1 - 2 | Next >