On 26/08/14 22:53, Jon Robson wrote:
Shahyar, Juliusz, Trevor, Kaldari, Roan and I sat down
yesterday and
talked about the future of skins. Hopefully this mail summarises what
we talked about and what we agreed on. Feel free to add anything, or
ask any questions in the likely event that I've misinterpreted
something we talked about or this is unclear :)
Specifically we talked about how we are unhappy with how difficult it
currently is for developers to create a skin. The skin class involves
too many functions and does more than a skin should do e.g. manage
classes on the body, worry about script tags and style tags.
Trevor is going to create a base set of widgets, for example a list
generator to generate things like a list of links to user tools. The
widgets will be agnostic to how they are rendered - some may use
templates, some may not.
We identified the new skin system will have two long term goals:
1) We would like to get to the point where a new skin can be built by
simply copying and pasting a master template and writing a new css
file.
2) Should be possible for us in future to re-render an entire page via
JavaScript and using the modern history push state re-render any page
via the API. (Whether we'd want to do this is another consideration
but we would like to have an architecture that is powerful enough to
support such a thing)
One of the most powerful features of skins currently is their
flexibility, at least until you hit a wall. Aside from the wall bit,
that's something to keep around and improve. Such as by taking that wall
and shoving... er... nevermind.
Point is, skin creation can't be dumbed down too much. At some point,
skin developers will still need to mess with the extension aspects of
the skins, they'll need to put things in weird order and extend the
objects that wind up building the overall skin, they will need to write
complex css/less, and they will need to create their own js or whatever
for the skin's specific functions. Limiting how much of that is needed
especially for basic stuff should be the goal here, but no platform
could ever handle all the different possibilities, so you also need to
avoid blocking them in the process.
So, uh, what you're doing sounds good so far, just please be careful or
something.
Also, dammit, does anyone know how to make thunderbird send responses
back to specific lists when something was sent to multiple? I'd really
rather be responding on wikitech-l at this point.
-I