← Back to team overview

launchpad-dev team mailing list archive

Re: Maintainable UI modifications


On 06/08/2012 01:17 AM, Huw Wilkins wrote:
> Hi Launchpad,
> I've been looking at how we can make some changes to our UI, but I'm
> hitting a bit of a problem.
> If we want to do anything significant to our UI we want to do it under a
> feature flag. However, once I use a feature flag I very quickly end up
> having to maintain two sets of HTML and CSS or I end up hacking extra
> layers of code on top of existing HTML/CSS instead of being able to
> write it cleanly from the start.
> This becomes very apparent if we want to re-skin Launchpad were there
> are potentially hundreds of places that would need to be feature
> flagged. That means a lot of duplication and the new skin would be
> written on top of the existing HTML/CSS structure.

The disclosure work has many thousands of lines of code that we cannot
delete until the feature flag is removed. This is the expected behaviour
of feature flags for replacement code.

> Does anyone have any suggestions about how we could approach this problem?

You might reduce the duplication in CSS by introducing a class on the
body element if the user is in the test. The CSS remains shared.

Every redesign we did before, we froze the code, and last time we put
every developer on the issue. This was also a bad experience. We were
missing most of the layout designs, we had to extrapolate the rules from
a few pictures and apply them to pages that had different kinds of problems.

Lp's markup and CSS is very inconsistent. Maybe we can fix the markup
first so that there are fewer ways to make sections, tables, lists, and
menus. This will fix bugs, reduce the CSS exceptions in the tree (and
remove style.css). As this is bug fixing, it does not need to be behind
a flag. I expect that removing exceptions in the markup and CSS will
also give you a lines-of-code credit. Once the HTML is in place, you can
work rapidly in the CSS behind a flag because you confidently know all
the markup is consistent.

Curtis Hovey

Attachment: signature.asc
Description: OpenPGP digital signature

Follow ups