Is XLIFF 2.0 A Successful Evolution? (FEISGILTT 2014 Keynote)

Preview:

Citation preview

Chase TingleySpartan Software, Inc

Is XLIFF 2.0 A Successful Evolution?

My Life

Exaggerated for effect. But only a little bit.

I have a complicated relationship with XLIFF.

Section 4.7.2.3.1

XLIFF Version 2.0 Candidate OASIS Standard 01

https://www.flickr.com/photos/nationalzoo/6257372409

Pretty Ugly

● Pretty ugly

● Unusual adaptations to their environment

○ Eusocial

○ Thermoconformat

○ Impervious to some types of pain

○ Enormous jaw muscles

The Naked Mole Rat

Citation

● What was learned from XLIFF 1.2?

● What has changed in XLIFF 2.0 that makes it

better adapted for the l10n ecosystem?

XLIFF 1.2 → XLIFF 2.0

https://www.flickr.com/photos/paulmccoubrie/6792412657

Supply Chain Complexity

The Localization Ecosystem

Customer

Vendor

The Localization Ecosystem

Customer

Vendor

Vendor

Vendor

The Localization Ecosystem

Customer

Vendor

Vendor

Vendor

Vendor

Vendor

The Localization Ecosystem

Customer

Vendor

Vendor

Vendor

Vendor

Vendor

But XLIFF isn’t just an interconnect.

It’s also trying to move higher-level process data from one end

of the chain to the other.

https://www.flickr.com/photos/boston_public_library/8291454054

Competing Design Objectives

● Simple vs Complex

● Rigid vs Flexible

● Commercial vs Academic

● Descriptive vs Prescriptive

Design Tension in XLIFF

● A “simple” scenario: “Translate this file”

● But...

○ “Also obey terminology, use my TM, provide revision

history”

○ Software strings != HTML != Office != …

■ Different notions of context or preview

■ Different layout constraints

How to make simple things easy and hard things possible?

Simple vs Complex

● How to provide interoperability guarantees while also

allowing for extension mechanisms?

● How to support future innovation while keeping control of

the standard?

Rigid vs Flexible

● Academic Concerns

○ “How can we leverage XLIFF to introduce the benefits of

research in other fields into localization?”

● Commercial Concerns

○ “How am I going to get everything done by Friday?”

Commercial vs Academic

XLIFF is a data interchange format, but that data dictates certain

functionality:

● Extractors must convert source content to an implicit data

model

● Inline code modification places demands on other tools

● Support for translate annotations may require new

workbench functionality

Descriptive vs Prescriptive

“I find it rather puzzling that this small industry has such

difficulties designing robust standards.” - Anon L10n Technologist

Six major categories of standards failure:

1. The standard fails to get started.

2. Lack of consensus / deadlock during standard creation.

3. “Feature creep” causes the standard to miss the market

opportunity.

4. Standard is finished and the market ignores it.

5. Standard is finished, implementations are incompatible.

6. The standard is accepted and is used to manage the market.

(IP encumberance)

Carl Cargill, “Why Standardization Efforts Fail” (2011)

http://dx.doi.org/10.3998/3336451.0014.103

http://www.flickr.com/photos/pennstatelive/8490121138/

Feature Creep

Feature Creep

“The most frequent use of feature creep in a standards

committee is by organizations that have an implementation

that is very similar to the proposed specification except for

“a little bit extra here….” Do this ten times, and suddenly you

have a bloated spec or a spec that just plain can’t work.”

Feature Creep in XLIFF 1.2

● Redundant concepts (<x>/<bx>/<ex> vs

<ph>/<bpt>/<ept>)

● Process info with no clear semantics (state-

qualifier, phase)

● Mysterious inclusions (menu-name, menu-

option, coord, csstyle, exstyle...)

XLIFF 2.0 streamlines a lot of XLIFF 1.2 cruft, but it also adds a

lot of new functionality:

● Preview and External Context

● Size and Length Restrictions

● Terminology

XLIFF 1.2 vs 2.0 - Features

Feature Creep in XLIFF 2.0?

XLIFF 2.0: new features, but are they creeping? I say no:

● Generally, the new features fill functionality gaps

acknowledged by the market

● They reflect best practices rather than attempts to unify

disparate existing implementations

● The module mechanism provides clearer separation in the

model

Incompatible Implementations

https://www.flickr.com/photos/eurleif/255241547

“In software standards, there is almost always ambiguity,

usually through omission. If an attribute is poorly (or

sometimes, not at all) defined in the specification, or if the

statement lends itself to ambiguity, there is a possibility that

the implementers will choose a different response or

implementation than that which was originally intended.

Incompatible Implementations

Incompatible Implementations of XLIFF 1.2

● Lack of consistently implemented feature set

● Feature overloading (<alt-trans>, <mrk>)

● Ambiguity (Does match-quality allow

decimals?)

● Lack of processing expectations

● Open-ended extension mechanism

● Lack of reference implementation / test suite

"There is high incentive to fracture the standard if it

advantages your product set and simultaneously

disadvantages competition…. [A] company can establish itself

as the de facto implementation of a formal standard and force

competitors to play catch up."

One Strange Thing about XLIFF 1.2

This has never happened in l10n, despite frequent fracturing of the standard!

This indicates that interoperability is so far-fetched an idea among tool vendors, there is active disinterest in achieving it, even through power!

XLIFF 2.0 improves on a lot of the problems with 1.2:

● Clearer documentation, including processing instructions

● Overloaded features split apart

● Modularization defines clusters of functionality and creates

stronger consistency in the core

XLIFF 1.2 vs 2.0 - Consistent Implementation

● Continue to push for reference implementations

● Be wary of module-related fragmentation in the tool space.

● I would like to see the XLIFF TC more actively define the

<unit> data model underlying XLIFF.

○ Help non-l10n implementations of XLIFF which have

historically had problems

More to be done to improve consistency

The Market Ignores the Standard

https://www.flickr.com/photos/12023825@N04/2898021822

"If the standard is published after a piece of technology is

moving to obsolescence, the market usually ignores the

effort."

Will the Market Ignore XLIFF 2.0?

Is there a chance that XLIFF 2.0 will too late to be widely adopted?

The Worst-Case Scenario

● Size and complexity of specification slows implementations

● Modules are a double-edged sword

○ Easier to prioritize feature development in one tool

○ Harder to consistently utilize features across a tool

chain

● Lack of backwards compatibility slows adoption by limiting

migration possibilities.

● Lack of education among client-side decision-makers:

“Doesn’t this tool already support XLIFF?”

Do industry changes threaten XLIFF 2.0 success?

● Enormous interest in web service APIs with simple, JSON-

based data models

○ Not in any way standardized, but simple to implement a

narrowly-tailored feature set

● Cloud-based translation platforms reduce the number of

integration/data exchange scenarios

Promoting XLIFF 2.0https://www.flickr.com/photos/brooklyntyger/3261587503

● Make adoption manageable by prioritizing the core

● Push for high-quality open source implementations

○ As standalone, embeddable implementations (Okapi

XLIFF Toolkit)

○ In existing tools (OmegaT)

● Education and outreach, focusing on high-impact scenarios

and comparative analysis with XLIFF 1.2

Promoting XLIFF 2.0

● Investigate mechanisms for forward-conversion of XLIFF 1.2

to XLIFF 2.0 to assist in migration

● Work with tool vendors to publish custom modules (if

necessary)

● Consider defining fragment formats (XML and JSON) based

on the XLIFF 2.0 unit model, to enable XLIFF-consistent

data transfer via web services

Promoting XLIFF 2.0 - TC Activity

http://www.flickr.com/photos/swthomson/3759243339/

Who Drives Adoption?

Do I have a volunteer?

Incentives for tool vendors to support XLIFF are limited

● Standards constrain functionality

● Standards make software components interchangeable

● Standards reduce tool lock-in

Incentives for LSPs to promote XLIFF are complicated

● Many LSPs regard any technology they possess as

competitive advantage.

● Standards reduce LSP lock-in.

● Large translation volumes

● Deep technical knowledge

● Respected experts on l10n best practices

XLIFF TC Member Companies are a Strength

● Collaborate on open implementations to support

XLIFF 2 and use cases it enables

● Work to promote XLIFF 2.0 through forums like

LocWorld

● Work with LSPs and tool vendors to set

timelines for supporting XLIFF 2.0

Translation buyers are uniquely well-suited to...

https://www.flickr.com/photos/nationalzoo/4691121090

Final Thoughts

● XLIFF 2.0 is a clear technical improvement over

XLIFF 1.2

● XLIFF 2.0 contains mechanisms for adapting to

future l10n developments

● XLIFF 2.0 will require a sustained, concerted

effort to achieve the level of adoption it

deserves

Final Thoughts

Chase Tingleychase@spartansoftwareinc.com

Twitter: @ctatwork

Thank You!

Recommended