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 ]