Improving the Pootle UI
This discussion is taking place on the Pootle mailing list. Contributions are summarized below. Please share your ideas with us. :)
Speed
Problem
Even if you have a fast and reliable Internet connection, Pootle doesn't serve the next string up fast enough. (If you have a slow and intermittent Net connection, trying to use the interface is positively painful and often ineffective.) Large projects also leave the server with insufficient processor time to allow file merges or searches (e.g. the OpenOffice.org Pootle).
Fix
Experienced users have found some workarounds to the string-by-string editing situation. You can open different tabs for different files, and swap between them while other file-tabs are loading. Or you can load several tabs with different strings for the same file, and not submit them until they have have translations entered.
So one fix would be to allow users to edit more than one string on a single page, with a single Submit button at the bottom.
Changes to the speed of the Pootle system itself will require major work under the hood. Currently, Pootle does not benefit from multiple processors: could we implement that reasonably soon? Would using AJAX speed things up?
(Wynand) A bit of AJAX trickery will make it more bearable.Fortunately, the Virtaal project will help to improve this considerably, since it will integrate well with Pootle whilst providing a nice off-line editing experience.
Meanwhile, on busy servers, we are unable to use the search and merge features. This makes things difficult for users: overwriting on upload means the possibility of losing work done since you downloaded that file. A useful addition to the interface would be a last-edited time/date next to each file. Then you would know if that file had changed since you last downloaded it, or not.
Link names
Problem
Currently, the Pootle interface is not particularly intuitive. Users misunderstand the purpose of links. Even experienced users forget which one does what, or completely miss the purpose of others. Evidently our current link names aren't always easily understood.
Fix
- Quick Translate
- View untranslated
- View blank/fuzzy
- Translate All
- View all
- Translate My Strings
- View all my strings
- View mine (all)
- View all (mine)
- Quick Translate My Strings
- View my untranslated strings
- View mine (untranslated)
- View blank/fuzzy (mine)
- PO file, XLIFF file etc. links
- Download this file as: PO | XLF | TS | CSV
- Translation links (Quick Translate etc.)
- Go to strings: Mine | My blank/fuzzy | All | Blank/fuzzy | Suggested
- Show statistics etc. (commands box)
- Hide Editing (so you get Show Editing x Hide Editing, Show Checks x Hide Checks, Show Goals x Hide Goals, Show Assigns x Hide Assigns, only one of each pair being displayed at one time)
- Show summary (this page can then contain other useful info. After all, the other views also contain the stats, they just don't show them graphically.)
- Show checks
- Show errors
- About this Pootle server
- This Pootle
- Having “About this Pootle server” (or similar) at the bottom of the page can also be useful. If there is a horizontal line above it, it acts as a visual cue to the user where the page ends.
- My account
- My Pootle
- My Profile
- All Projects
- Projects
- All Languages
- Languages
- Docs & Help
- Help
- Logged in as UserName
- UserName
- If not logged in, then displays Guest
- Start - Previous 10 - Items 11 to 20 of 356 - Next 10 - End
- << | < | > | >>
- Items 11-20 of 356 (next line) << | < | > | >>
- 137/356 translated (156 blank, 63 fuzzy)
- 219/356 untranslated (156 blank, 63 fuzzy)
- 356 items (137 translated, 156 blank, 63 fuzzy)
To review, we really want to do three main things, so we'll have three sections (instead of the current stats/editing, checks, goals, assigns, etc.):
- Work (?)
- Statistics, goals, work assignment, download for offline translation,etc.
- Translation (?)
- Translate outstanding work (current quick translate); Proofread (checks, searching, random clicks)
- Administration (?)
- Rights management, version control functions, file management (delete, add, etc. - mostly not implemented yet)
URL length
Problem
Long URLs wrap in mail clients, so you can't use them accurately as references. They are also awkward to copy and paste. In some cases, the Pootle URLs are wider than the screen.
Example link: http://pootle.locamotion.org/af/wordpress/admin_edit.po?translate=1&view=1&pofilename=admin_edit.po&item=11
Fix
Change the tags used, and don't quote the filename twice.
Example link: http://pootle.locamotion.org/af/wordpress/admin_edit.po?tr=1&vw=1&it=11
Navigation
Problem 1: returning to Pootle
If your browser crashes, or you have to relogin or reboot for some reason, you lose your position in the file. For heavily embedded projects like OpenOffice.org, it takes you quite a while to find your position again.
Fix
- Add a Quick Link that returns you to that point
- Add a Bookmark This Page link for preventative location
- Add a string number next to each string (much better for references, too)
- Pootle remembers the last page a user has visited, and returns to it directly on next login (this could be an option), just as a browser saves your last-used pages, and opens them when you reboot.
Meanwhile, workarounds include learning how the Pootle link structure works.
- You can go straight to any directory by inputting the path plus a slash and question mark, e.g. Pootle/the/path/?
- You can view that page in editing mode by adding that tag, e.g. Pootle/the/path/?editing=1
Search function
Problem
The current search function is better than nothing. However, it doesn't distinguish by case, it runs incredibly slowly on busy serves (see Speed above) and it doesn't work well with similar strings or complex projects.
Fix
- Add case-sensitivity
- Add regex
- Add some of the pofilter search functions (e.g. finding accelerators)
- Add a search box “Go to string [ ]” at the bottom of the
page, in a blue ribbon, along with the navigational “arrows” mentioned above. This would be easy to implement if there is some way to reference the name of the page and the mode that page is in: http://pootle.locamotion.org/af/wordpress/admin_edit.po?translate=1&view=1&pofilename=admin_edit.po&item=(and add the number from the text box to the end)
Help
Problem
Users aren't taking to Pootle as naturally as we would wish. They also don't read docs. We lose users who have misunderstood the functions available, or not even realized they were there. Admins don't use the features we already have (e.g. msgctxt).
Fix
- In addition to the intuivity changes on this page, add the usual HIG question mark buttons at useful points on the page. Pressing a button will bring up a popup frame (or separate window/tab) with helpful info. This is the kind of Help users actually utilize.
- Make this an option, so admins can enable/disable it globally, and eash user can choose to use it, or not. Temporary use is the best result, while learning one's way around the interface.
- Display them using superscript:
<p><a href="xyz">Link here</a><sup><a class="nonU" href="abc" target="_new">[?]</a></sup></p>
… with the pseudoclass a:link “nonU” defined as 50% font size and not underlined. The advantage of this is that a question mark is nearly (?) universally understood, and it will be visible yet unobtrusive.
- We could make use of the “title” attribute of the anchor tag. That would display a little explanatory string for the current link. (Note: this or something similar is already used to show the nature of placeholders in a string.) Use tooltips?
- Have a Tip of the Month or Version Tip, e.g. “Pootle supports the gettext msgctxt feature: add contextual information to your strings to ensure more accurate translations.”
Community
Problem
Although we want to form a translation community, and encourage cooperation between Pootle users, anyone using the Pootle interface is working alone.
Fix
- Make it possible for users to see which other users are registered for the same language as you are, and make it possible for users to send messages to those other users (using a web form, and a Captcha). This would encourage the development of language communities. Jabber is also a possibility for communication via the interface.
- Allow users to upload photos or avatars into their account/profile, so that users who can see a list of other users can also see the avatars. Avatars could also appear in pop-up chat boxes.
- Allow certain fields in the account to be displayed publicly (e.g. where you're
from, what kind of job you have, etc), as in fora. This information is displayed when people view the list of users for that language.
- Include a Bugs and Feedback link on the Pootle homepage (or wherever else you think appropriate).
- Provide a quick input frame to send a message to this list (with an acceptance filter) to encourage more communication.
- Place a “Contact us” or
“Contact the administrator” link next to the “About this Pootle server” link at the bottom of the page. That link can be either an e-mail address or a link to a page with just the relevant contact details on it.
A string by any other name
Problem
The word “string” is a very geeky localisation kind of term. The normal meaning of “string” would be “a line of characters joined together”. Are there better, alternative terms?
Friedel says: ” 'Unit' is the term used in XLIFF, and is very generic. It is really what we are talking about. There could be several 'segments' once we do sub-unit segmenting. 'Item' is very generic, and not really tied to anything anybody would recognise. 'Message' is very tied to l10n and feels strange when translating a document, for example - otherwise not bad.”
Samuel says: If we move to XLIFF we should start using XLIFF terminology and hope users catch on.
Fix
- Segment
- Item
- Unit
- Message
- Stick with “string” (that's the term used by translators in FOSS)