New Writing System UI

Author John Hatton | 04.01.2010 | Category Palaso Library

This posting will be of interest only to developers currently using, or considering using our .net Palaso Library, which provides components to do many common language software tasks.  This post will look at just one of those, setting up set of Writings Systems.

Well, each year ‘round this time I take a break from my normal obligations and do something interesting, or learn something new. Alas, this year, I did neither.  Instead, I squandered the time doing some long “unfinished business”.  A couple of years ago, we added to Palaso some pretty nice support for LDML, the standard XML format for writing systems. Writing systems? BORING. I know, I know.  Anyhow, the GUI that we had was just the minimum, and not helpful enough to actually ship in our flagship product, WeSay.  So WeSay limps along on an older, pre-LDML system.  Early in 2009 I did a UI design of what we really need, but, alas, noon actually implemented it.  My teammates mentioned they were a bit peeved at me for not letting that bare-bones GUI ship.

Adobe Photoshop CS4 Extended


The only interesting thing to me about writing systems, especially user interfaces for them, is that we keep finding it so hard to get them right!  I’ve seen half a dozen attempts in the last 10 years, just within the confines of SIL & friends.  Here’s why, in my opinion:  The vast majority of users and languages have pretty simple needs in this area.  The rest, well, they’re pretty complicated (like the dictionary we worked with in South East Asia which has to handle scripts of Thailand, Burma, China, a Romanization, and IPA).  Yet all the UI’s we’ve done have catered to both of these equally, and so most people were blocked, they need to call in more geeky help to get past this part of setting up their software. The key insight to fixing this, I think, is that people in typical situation will be shocked by the complexity  needed in the non-typical situations.  And those who have it hard, well they’ll expect things to be non-trivial.  So this latest attempt uses progressive disclosure to keep things simple for most people.

In this post, I’m not going to talk about a lot of the really cool, problem-solving parts of this system which aren’t new. The non UI parts, the ones my colleagues actually give a hoot a about. I don’t think we ever did blog about them, though, so tag-your-it, Cambell 😉

The Writing System Repository Pane

Here’s the equivalent in the latest Palaso system:

2010-01-04_16-18-51-445

There are two main parts to this design. First, the tree on the left organizes your repository in a hopefully easy to understand way, while at the same time giving you shortcuts to what you most likely want to do next.  That is, it:

  • Shows you the writings systems in your repository, grouped by language
  • Makes suggestions about other writing systems you may wish to add to existing languages (e.g. IPA).
  • Make suggestions about other languages you may be working on, based on what your Operating System thinks (here, Icelandic and Arabic on my machine).

As a developer, you can control which kinds of suggestions make sense for your application, to keep things simple.  For WeSay, for example, we offer voice writing systems, but phonetic transcription and dialects are pretty unlikely. So we’d set up the Suggestor accordingly:

2010-01-04_16-29-45-282

You might have noticed that there are no suggestions under English. Again, this it to keep things simple for the majority of users. We do that by specifying:

2010-01-04_16-49-57-511

Note, even without those suggestions, someone could still make multiple Writing Systems for English easily enough, if they need to.

The Identifiers Tab

The second leg of the design is an Identfiers Tab which stays as simple as possible.  As you know, there’s more to life that the good ‘ol “Ethnologue Code” (Now a’ days ISO 639-3).  In addition to that, we need to help people come up with a proper RFC5646 identifier, including handling situations common in linguistics which aren’t spelled out by that standard.  This is the job of the Identifiers tab.

For the simple (and normal) case, we don’t need to say any more than what the language is.  Notice how in the image above, the Identifiers tab has just two controls.

After adding a simple writing system for a language, the next most common thing for users to need is a way to write the language phonetically or phonemically, using the International Phonetic Alphabet.  Clicking the provided button just under the Aarri label gives:

2010-01-04_16-22-58-248

Notice in the upper left, this new writing system has been grouped underneath the plain ‘ol Aari one.  And on the right, notice that the “Special” combo now says “IPA Transcription”.  If we want to specify phonetic vs. phonemic, we can do that with the “Purpose” combo.

If we need a new dialect, clicking the provided button brings up a dialog asking us to type in the name of the dialect.  I entered “Foo”, and now we get:

2010-01-04_16-39-38-349

Notice, with the “Special” combo set to “Script/Variant/Region”, we get the more control over the Writing system and its RFC5646 identifier (displayed in the upper right).

Ok, that’s mostly what I wanted to show.  When you click “Add Language”, of course, you get searchable list of known languages. And under that More button in the lower left, you get these rarely needed commands:

2010-01-04_16-47-03-161

There’s still some work that could be done (notice Region doesn’t offer a list), but my New Year’s break is over, so that’s it for now.  The Palaso Library lives in Mercurial, at http://projects.palaso.org/projects/show/palaso.

jh

Download Low Price Oem Adobe Photoshop Cs3 Extended

Discounted Oem Rosetta Stone Version 3 Chinese All Levels Set
Get Low Price Parallels Desktop 3 (build 5584) For Mac

Where Can I Purchase Discounted Adobe Cs4 Production Premium

Get Discounted Microsoft Windows Vista Ultimate
Get Low Price Rosetta Stone Version 3 English All Levels Set
Download Microsoft Windows 7 Enterprise
Purchase Oem Rosetta Stone Version 3 Arabic All Levels Set

Download Microsoft Windows Server 2008

Get Discounted Oem Microsoft Windows Vista Ultimate
Get Discounted Rosetta Stone Version 3 Arabic All Levels Set For Mac
Get Low Price Oem Abbyy Finereader 8 Pro Multilang

Best Price For Microsoft Windows Server 2008
Download Oem Microsoft Mappoint Europe 2009
Get Oem Microsoft Windows Vista Ultimate

Low Price Oem Solidworks 2009

Download Low Price Oem Microsoft Office Xp Pro

Best Price For Rosetta Stone Version 3 Arabic All Levels Set

Get Oem Adobe Photoshop Cs2 9
Download Discounted Adobe Cs4 Master Collection
Purchase Discounted Oem Adobe Creative Suite 3 Master Collection For Mac

Low Price Adobe Dreamweaver Cs3

Purchase Low Price Microsoft Office 2007 Enterprise

Get Discounted Oem Adobe Cs4 Production Premium
Get Low Price Oem Adobe Cs4 Master Collection

Purchase Low Price Oem Adobe Creative Suite 3 Master Collection

Get Low Price Oem Rosetta Stone Version 3 Chinese All Levels Set For Mac

Get Discounted Oem Adobe Creative Suite 3 Master Collection For Mac

Download Oem Rosetta Stone Version 3 Arabic All Levels Set For Mac

Discounted Oem Rosetta Stone Version 3 Chinese All Levels Set For Mac

Discounted Adobe Cs4 Master Collection

Download Discounted Microsoft Windows 7 Enterprise
Get Low Price Abbyy Finereader 9 Pro Multilang

Oem Microsoft Windows 7

Download Adobe Creative Suite 3 Design Premium

Purchase Discounted Oem Adobe Cs4 Master Collection For Mac

Download G-data Internetsecurity 2008

Download Discounted G-data Internetsecurity 2008

Purchase Oem Microsoft Mappoint Europe 2009
Get Discounted Oem Microsoft Windows Server 2008

Get Discounted Oem Rosetta Stone Version 3 Chinese All Levels Set For Mac

Purchase Discounted Oem Abbyy Finereader 9 Pro Multilang

Discount

zp8497586rq