Labs/Personas/Suggestions

From MozillaWiki
< Labs‎ | Personas
Jump to: navigation, search

I opened this page for discussion of possible improvements to the Personas plugin in the future.

User Tweaking Options

Keeping the image format we have at the moment, we could provide options to the user on how to tweak the image before rendering.

Some of the personas out there are nearly 100% what the user wants, but may have some niggling detail that makes the persona not quite perfect for the user.

Options available to the user could include:

  • Alter the brightness and contrast of the theme. Alter (rotate) the hue of the theme.

(This would satisfy user requests: "This persona is great but it's a little dark for my tastes." or "I like the style of this blue persona, but I wish it was a little more green.")

  • Allow the user to specify whether three-dimensional gradient effects should be automatically applied to various parts of the theme (menu, toolbars, statusbar). I suggest this because I believe many themes are being made three-dimensional by applying the same basic light-dark-gradient effect to the upper areas and bottom of the bitmap. So why not save the artist from having to do this work, and make it an option for the user? Users could apply this to any of the popular "flat" personas, to make them stand up. And the gradient effect could stretch to fit the widget, so it would work regardless of the size of the user's icons.

Update: I got an alpha of this running at http://hwi.ath.cx/personas3d but this implementation requires a webserver, rather than running on the client. --Joeytwiddle 22:10, 25 July 2009 (UTC)

Skinning

An additional or alternative proposal.

From certain points of view, Personas has limitations which I believe can be overcome.

One widely existing issue appears because users do not all have the same size toolbars. Many personas are being designed for people using the default large icons Location Toolbar and a small icons Bookmarks Toolbar, other personas are designed for users with large icons in both bars. Other users may only have 1 toolbar, while others have 3 or more. And some users may be using "icons and text" on their toolbars. With all these different variations in the size of parts of the browser, personas designed by an artist with a different-shaped browser can look very awkward.

This is not a problem for personas which are "flat" pictures. But many artists are designing personas with lighting effects to make the browser look three-dimensional. I believe this style of persona is popular, and important, because many users find their applications easier to interact with if they present three-dimensional clues. (I am one such user who does not wish to choose a "flat" theme as this would cause me to "lose" my browser on the desktop! All my other apps look solid, and I want Firefox to look solid too.)

The current solution is that if a user wants a three-dimensional theme, he must choose a theme designed by an artist with similar browser dimensions to his own. He does not really have a free pick of all the variety of personas. (I will however say that Personas' excellent gallery has made this a possible and working solution.)

Another minor complaint is that Personas v1 does not play well with the All-In-One-Sidebar extension, which adds an extra vertical toolbar down the side of the browser. Personas will successfully render onto this area, and it works fine with a local image, but due to the limitations on the dimensions of persona bitmaps uploaded to the gallery, the rendering of gallery personas does not reach all the way to the bottom of the browser, leaving the rest as the browser's default color. I do not know if there are other extensions which fill "unexpected" parts of the window, but Firebug could be considered one.

My proposal is to add a "skinning" feature to Personas v2, similar to that of the Winamp music player. This would allow artists to specify their persona not as one large bitmap, but as a few smaller bitmaps, or some mixture of a base image and small overlays. (This proposal would have backward-support for the Personas v1 two-bitmap format.) The format of such a persona might look something like this:

  • BaseBitmap (a large image which will be used if any of the bitmaps below are ommitted by the artist)
  • MenuBarBitmap
  • LocationBarBitmap
  • BookmarksToolbarBitmap
  • ExtraToolbarsBitmap (many artists will keep this the same as the last, but some may wish to use a different image for these less-common toolbars)
  • BehindTabsBitmap (currently the ColorfulTabs addon can do this)
  • MiddleBitmap (for the sidebar, if it exists, should be a vertically tileable image, or very tall. It need not be very wide, especially if horizontally tileable.)
  • LowBitmap (for the Find popup area, and maybe Firebug.)
  • FooterBitmap (the lowest part of the browser)

The BaseBitmap will not be needed if the other bitmaps are included, since the other bitmaps override the Base. But if an artist wanted a simple flat blue theme, with a green statusbar, then she need only define the BaseBitmap and the StatusbarBitmap.

Additional to the bitmaps themselves, it might also be useful if the artist could specify whether the image should be Tiled or Stretched horizontally/vertically, when the size of the widget being renderered onto does not match the size of the bitmap image.

(A persona using a gradient to produce a three-dimensional effect would probably want to stretch vertically over the toolbars, so that the gradient will appear correctly proportioned for users with both small-icon and large-icon toolbars. On the other hand, a persona which is essentially a flat but complex image, e.g. a photograph or a mandelbrot, might look odd if stretched, so the artist would specify Tile here. Of course, if the image is large enough to fill the widget, actual tiling will not be neccessary.)

I think a "skinning" format like this could produce many more advanced personas. At the moment artists are producing themes like this, but it is fiddly for them to find the correct dimensions, and their personas do not work on the browser of users who have different sized fonts/icons.

With the Tiling and Stretching options, I think some personas could actually be made smaller in kilobytes than the large image required for the Personas v1 format.

I have no proposal yet for how to wrap the bitmaps and the artist's options into one blob for upload and download. Ideally it would be a format that Firefox could easily un-archive in memory.

  • It is up for discussion whether Firebug would be better rendererd with the MiddleBitmap or the LowerBitmap.

We may also wish to expand our skinning to as-yet untouched areas of Firefox: The tab bar background, buttons, and tabs themselves; dialog boxes and dialog buttons; background bitmap for lists/trees/tables in dialogs.

Obviously this skinning feature would require extra complexity in the Personas extension. But from the point of view of the artist, the extra complexity is optional and can be entirely ignored if they prefer to design just one bitmap.