[Uim] Design philosophy and strength of uim

YamaKen yamaken at bp.iij4u.or.jp
Mon Jun 21 15:49:12 EEST 2004

Hi folks, I'm now trying to discover what the uim is.

Although uim is known as an useful software, the philosophy is
not known well. Considering recent circumstances of uim
involving SCIM, IIIMF, and immodule for Qt, we should explain to
the community what is the value we want.

Following is a my personal opinion about uim. Other uim
developers may have completely different view, so please let me
know! Especially Tabata-san must have a deeper opinion about

- design philosophy
  * simple & efficient
  * be clean for valuable things
  * be pragmatic for unimportant problem
  * refuse generalization for generalization
  * keep simple to follow the requirements beyond input method

- strength
  * allows rapid scrap & build of core library using flexibility
    of Scheme, well-balanced pragmatism, and in-process tight
    relationship with client

  * (security considarasions will be here)

  * offers easy-to-use simple programming model to client (apps
    & bridges) programmers

  * offers flexible programming platform using Scheme to backend
    (input method) programmers

  * requires few resources

  * supports broad-range platforms such as UNIX desktop, Mac OS
    X, PDA, Embedded platforms with poor resources, possibly
    cell-phones, game console, digital-appliances, etc.

- what is not acceptable
  * to lose above strength
  * (security considarasions will be here)

- what is acceptable
  * to embed uim as a conversion engine of another framework if
    original security consideration is preserved. although the
    scheme is acceptable, this is regarded as 'alternative
    bridge implementation' for now

  * discontinue and merge several non-core components such as
    bridges, applets, GUIs with corresponding one of external

  * alter the client API to be (semantically) unified with the
    another API of external projects to offer unified
    programming model to client-side programmers

  * unifying the efforts with external projects that popularize
    input method capability (with CJK considerations) to
    client-side programs

Attention again, the opinion is not of the project but my
personal one.

Note that, 'beyond input method' is intended to suppose a newer
technology like Microsoft's Text Services Framework that has more
generic and different model rather than input method model.

SCIM developers, let's start exchanging opinions each other. We
would like to know the philosophy of SCIM as second step (of
course at the scim at freedesktop.org). I believe that we are going
to actualize good thing for all participant of input method

Discussions and questions are welcome.

YamaKen  yamaken at bp.iij4u.or.jp

More information about the uim mailing list