Archive for the ‘Japanese’ Category

sf.pm.org: Oops! I i18n’d your app

Wednesday, August 26th, 2009

Perl Camel LogoJeff Goff (DrForr) gave a sf.pm.org talk on internationalizing web apps at Six Apart in San Francisco.

(It was a long trip from San Jose on the Caltrain. I knew that I had arrived in San Francisco when I could smell the stench of urine upon leaving the station.)

Jeff mentioned working on ticketmaster.com before, and used S5 slides to illustrate a variety of localization issues with languages like Chinese, Japanese and Malaysian.

Some of his tips for identifying and preventing translation string corruption were:

  • check for double-encoding of UTF-8 strings, perhaps with Test::utf8::is_sane_utf8()
  • check complete toolchain for UTF-8 cleanliness
  • can use Unicode script and block properties to identify language when possible, as documented in perldoc perlunicode
  • use RCS pre-commit hook feature to inspect checkins, though can be slow with large input files.
  • important to decide how much cleanup the translator is responsible for vs. internal.
  • JavaScript string localization will likely require careful escaping of quotes.

Audience members also suggested:

  • enable online web editing of translations as well as batch export
  • consider locking columns if translators use excel worksheets.

As always, my comment is that it’s more important to focus on locale definition than charsets in i18n projects.

Several members were looking for perl jobs, so post your offers on the mailing list.

Thanks to Six Apart for hosting the meeting.

Juerd’s Perl Unicode Advice
Unicode.org
wikipedia: UTF-8
Jeff’s CPAN

PHP Light-weight Web Application Requirements

Monday, July 6th, 2009

A lot of web designers are using complete CMS systems like Drupal and Joomla as foundations for custom PHP/MySQL web apps that are not really CMS apps.

The main disadvantage with doing that is that they are relatively large codebases, and each site developed that way ends up using (and hosting) a different version of the CMS.

It would be nice to have a light-weight alternative that is more app framework-oriented.

Some of the items I would expect in any modern PHP webapp:

  • PHP 5.2+ support
  • Free and Open Source
  • horizontally scalable, same as raw PHP
  • filters extension support
  • ORM and non-ORM database queries
  • memcached support
  • Work in all browsers
  • authenticated sessions with salted, multiple-round MD5 and SHA-1 hashing of password
  • Relative links for installation multiple times on same server, or on different servers (dev/stage/prod)
  • Reasonably secure sessions – hard to steal a login cookie, no private data in cookie
  • App should degrade but still mostly work without JavaScript
  • 100% input filtering and validation
  • No XSS or XSRF problems
  • No SQL injection problems
  • AJAX support (MooTools provides light-weight AJAX support – MIT licensed) or maybe jquery (MIT or GPL)
  • Reporting with scalable/resizable/emailable graphs like OpenFlash ( with OFCGWT – LGPL licensed)
  • I18n support (locales, UTF-8, admin emails.)
  • No database-specific APIs like mysql_*()
  • Amazon EC2, S3 and EBS support (like Zend_Service_Amazon_Ec2)
  • Search widget built-in for SOLR or Sphinx
  • Help widget built-in
  • App is always aware of locale and does the right thing
  • Not XHTML
  • End-user can do language translation, similar to Facebook.com
  • Content is easily shareable
  • TinyURLs available for content links
  • Replication-aware and resistant.
  • Retargetable output display formats.

For business webapps:

  • Subaccounts
  • Payment processing

For the Japanese market:

  • Login/logout session history for auditing
  • Separate CSS for Japanese locale (mostly to reduce font size)
  • Maru (circle) instead of checkmark.
  • Somebody Japanese to test it.

Please leave a comment if you have any thoughts.

Some popular existing PHP frameworks:

CakePHP + Zend Framework Impressions
Drake: CakePHP Drupal Module

PHP PEAR
Feb. 2008: Notes on Choosing a PHP Framework: A Comparison of CakePHP and the Zend Framework
2006: Rasmus Lerdorf – The no-framework PHP MVC framework
ringsworld.com: PHP input-filter

Long Weekend in Hawaii

Monday, May 25th, 2009

I had a relaxing long weekend in Honolulu. It’s nice to have a change of scenery periodically.

It was fairly quiet in Waikiki, as Japanese tourists are still afraid of the swine flu and mainland Americans do the “staycation”. Both the flight on Hawaiian Airlines and the room at the Continental Surf Hotel were quite inexpensive.

I went on a short airplane flight with a female instructor at Flight School Hawaii in a Cessna 172SP.

Blue skies, Kona winds, practise area, a couple landings at Kalaeloa Airport (formerly called Barbers Point), back to HNL 22L.

The 172SP was beautiful except for 1 interesting problem. The magnetic compass had leaked into the Garmin 430 GPS, ruining most of the LCD display. D’oh!

Otherwise I hung out in the hotel or walked on Waikiki beach (quite humid even at night.)

The huge abandoned CompUSA superstore on Ala Moana is still empty, 2 years later.

Duke’s Waikiki was 100% full at dinner time, prolly the only crowded place I saw.

The street performers were even more varied than last time. I hadn’t seen the steel drums performer or magician before.

The Continental Surf Hotel is pretty basic. It has medium-sized rooms with AC and basic cable, coin laundry, a cursory gym (3 cardio machines and a universal machine, no free weights, in a too-small room), and a jumbo flat screen TV in the lobby tuned to a sports channel. Some people rent rooms monthly. There are only 2 small elevators, so if one broke, that could be a problem. Nice view on the roof of Waikiki and Diamondhead.

cessnaowner.org: Rebuilding a Compass

IMUG: Globalization and Software Test Automation

Thursday, March 19th, 2009

Dana Li, Business Development Manager at hiSoft, gave a a talk on software localization and QA at IMUG.

These days, software company clients typically provide an internationalized product to hiSoft, and they translate it into 8 to 25 languages, then test the result for correct translation and functional behavior.

hiSoft uses whatever testing framework the client uses, so those can vary from commercial Silktest or QTP, to Open Source selenium. The hiSoft folks didn’t express any strong preference for frameworks.

AJAX is more difficult to do test automation for, as the entire page can be dynamic.

Generally nobody provides source code to be internationalized (like the web 1.0 days.)

An interesting project they did was to QA Chinese OCR software.

But every project has its own complications.

Afterward an Arabic consultant chatted a little about how Modern Standard Arabic (MSA) has standardized Arabic writing world-wide, but there is a local spoken dialect in each region.

Thanks again to Apple for hosting IMUG.

IMUG Meeting: iPhone International Features and Apps

Thursday, November 20th, 2008

Lee Collins and Deborah Goldsmith from Apple gave a comprehensive talk on internationalization support on the iPhone since the English-only 1.0 release. Now at 2.1, dozens of languages are supported, driven by potential sales markets.

They have a very strict space budget for code and fonts since every byte they use is one less for the end-user.

As much as possible, they try to provide the full ICU API for developers to use.

Regular Truetype fonts are used, though there’s no hint information and there’s no mechanism to add your own.

Chuck Soper (Vela Design Group) talked about porting VelaClock to the iPhone, and made some recommendations for the Apple iPhone apps store.

He would like to see longer sales history information than 7 days, ideally unlimited. Also, he would like to see feedback and ratings reviews across countries, since loading 100 country forums is tedious.

He also wanted to know best to provide mib and strings to translators.

He says half his sales come from the Apple Store.

Some of his customers use VelaClock to do things like plan night flights.

I had a chances to try out the Blackberry Bold, with it’s new UI and hi-res screen. The screen has the same number of pixels as an iPhone, but half the dimensions.

I also tried a gPhone. It has a built-in compass, so Google StreetView knows what direction you’re pointing the phone and can show real-time updates based on that direction. Very cool to see.

Thanks to Apple for hosting the event in Cupertino.

Restaurant Review: Michi Japanese Restaurant, Campbell

Thursday, April 3rd, 2008

I had lunch with a friend at Michi Japanese Restaurant in Campbell.

The chef/owner is Sheen Michi Shin.

We sat at the sushi bar, and I ordered the beef bento box (which comes with several tempura vegetables) with an order of California Rolls, he the sushi assortment.

The food was fresh and delicious. The portions were rather large for lunch, but we managed. Price was about $20 each plus tip.

Michi Japanese Restaurant
2220 S. Winchester Blvd, Campbell, CA 95008
Phone 408-378-8000

IMUG: Vertical Text on the World Wide Web

Thursday, March 20th, 2008

Stephen Zilles, Standards Architect, Adobe Systems, gave a talk tonite at IMUG on “Vertical Text on the World Wide Web” about W3C text formatting standards, such as CSS, SVG and XSL, for various languages.

Some interesting examples are Mongolian, which is written top to bottom, and Japanese, which can be written top to bottom or right to left, or tate-chu-yoko (horizontal within vertical), commonly used with numbers. Line-breaking may be codified in JIS X 4051. Ogham and Batak are bottom-to-top languages, which is not specifically supported.

Text formatting can include direction, rotation and transform properties, glyph orientation, line height and width.

Asian printing often uses rotation of English characters to conform to the block progression that started with vertical Chinese or Japanese, for example.

Thanks to Apple for hosting the meeting.

W3C Documents (Membership Required)

Blade Runner: Final Cut

Saturday, December 1st, 2007

I saw “Blade Runner: Final Cut” at the Camera 7 Pruneyard tonite. The adventure started with a $10 ticket price – pretty steep for any film, especially a 25 year-old re-release.

Overall the appearance feels dated now, though still an intriguing story. Having spent some time in Japan, I don’t understand why the location is a mixture of Japanese and American cultures – since they really don’t mix in real life.

This cut is definitely an adult version – Zhora is nude most of her time on screen, and the Batty and Tyrell scene is more gruesome than I remember.

Rachael (Sean Young) is annoyingly vapid, but I can’t tell if that’s deliberate acting, or just Sean Young being herself.

A convincing argument that Harrison is not an android is that for a Nexus 7 model working as a policeman, he was remarkably weak compared to the escapees.

Next time I see this film, likely it’ll be to look for continuity errors and listen to the great lines.

Tyrell: “More human than human” is our motto.

Camera Cinema Blade Runner Overview
sffmedia.com: What’s new in Blade Runner: The Final Cut?
cnn.com: ‘Blade Runner’ star in rehab after awards outburst