Ervin Yan's Weblog

Ervin Yan's Weblog

全部分类 | General | Java | Music
« IIIMF Common GUI... | Main | A very good website... »

20050327 星期日 2005年03月27日

Reply James Su 答苏哲书: Reply for James Su's comments: http://blogs.sun.com/roller/comments/eyan/Weblog/what_s_difference_between_iiimf#comments In your comments, too many subjective, unproven statements would just create confusion and not beneficial, so I would stay just correcting the misunderstandings. It is wasteful to split precious resource into two projects especially if as James says SCIM can support thin client to rich client as IIIMF do. SCIM does not have a scalability of distributed framework and IIIMF does not have simplicity of library. It's just the design difference. You do not have to attack by using emotional groundless arguments like James> In my view, IIIMF is more like a commercial/close source James> product. It's not a good opensource project. It would be ideal to work together instead of splitting the resources. We all better understand that every medal has two sides. Then you can see so many minunderstandings you have: * James> 1. IIIMF must use namespace storage api, It makes almost impossible to use 3rd input method library in IIIMF LEs, because those libraries always handle files/databases themselves. -> SCIM does not provide namespace, LE has to handle by themselves. * James> 2. IIIMF must handle multi-user issue It makes LEs much complex than single user model.I always don't understand why input method should be a system wide service. Why input method can't be an user application just like firefox OOo or something else. -> Acturally not correct, IIIMF can also use vmseperator for single user model. -> SCIM is not capable of multi_user, so serious LEs who WANT to handle multi_user won't work. * James> 3. Must implement aux object to get better GUI Implementing. aux object is nightmare for input method developers, at least for me. -> Actually not correct. -> SCIM is not capable of per AUX/LE, so serious LEs who WANT to handle AUX won't fit well. * James> 4. Very few utility functions to help development LEIF is just an API interface, it lacks a library which contains utility functions to help LE developement. -> very subjective * James> 5. LEIF interface is very hard to use Just as jserv said before, he spent several weeks(days?) to hack iiimf-chewing but couldn't get it work. But only spent half of a day to get scim-chewing work. -> LEIF interface provides multiple levels for flexibility. Should choose right level of interface. There is also one chewing module in IIIM tch_le_sun LE, totally ONLY 600 lines of source codes, but support all the features of chewing, including customizable preedit/candidate windows, user perference for chewing input method properties(developers need only specify the properties arguments and need NOT write any GTK/QT sources to implement it), warning beep for wrong input sequence, keyboard layout displaying for 8 kinds of different keymappings, support hundreds of users with different preferences at the same time in ONE single backend thread, etc. While SCIM chewing module spend 1200 lines, and still some of the above features are not supported in SCIM chewing module. -> SCIM LE interface is not flexible to keep ABI due to C++. * James> 6. Many design/implementation issues for example: James> a) Doesn't support multiple input methods in one LE very well. -> Not true. James> b) Doesn't support Key Release event (has it been fixed?) -> This is true for the moment. Will be fixed. James> c) xaux is tightly binded to X Window -> This is true, as SCIM's helper is also tightly binded to X Window. -> Don't forget AUX is originally designed for Java object. * James> Otherwise there wouldn't be so many additional wrapers on top of James> IIIMF, eg. Unihan, ThizInput etc. -> They are not wrappers. Anyway, both IIIMF and SCIM have their advantages, and disavantages, if we put precious resources together on input methods improvement, I think, the community and end users will applause for the cooperation of IIIMF and SCIM. ( 2005年03月27日, 08:55:56 下午 CST ) Permalink 评论 [2]

反向跟踪 URL: http://blogs.sun.com/eyan/entry/reply_james_su
评论:

  1. Because I think namespace is not so useful for single user model application, so SCIM does not support such feature. However adding such feature into SCIM is very easy, and I plan to add some handy functions into the next version to simplify the file access operation.
  2. For SCIM, multi-user can be handled by multi scim processes or by single scim process. IMEngines don't need to care about this issue.
  3. SCIM is capable of per AUX/LE, see SCIM's Helper API.
  4. If it's subjective, then please give us the evidence to refute it.
  5. Then how many lines does tch_le_sun have? Is tch_le_sun a core part of IIIMF? We can also write a similar wraper for SCIM to simplify the work dramatically
  6. a) Then could you please tell me how to have multiple input methods in one LE and export the information for each input methods to IIIMF? So that LE doesn't need to handle input method switching issue?
    c) The API of SCIM's Helper is nothing to do with X. It's not SCIM's fault if a Helper module depends on X.
I always want to cooperate with IIIMF project. I had a plan to write an adapter between scim and iiimf long time ago. But because IIIMF's xaux part can't be fit into scim architecture completely, such adapter would be almost useless without xaux support.

Anyway, competition between SCIM and IIIMF should be good for both. The final judgment should be given by users. So please don't give any assumption to early that which project will become the only standard.

发表于 James Su 在 2005年03月28日, 10:11 上午 CST #

James> 4. If it's subjective, then please give us the evidence to refute it.

-> Currently we have several projects to improve the IIIMF API/SPI usability for developers, such as Common GUI framework, API/SPI leverage, etc.

James> 5. Is tch_le_sun a core part of IIIMF?

-> Currently, tch_le_sun is not in core part of IIIMF, but we are working to put it in core part as API/SPI leverage project.

James> 6. a) Then could you please tell me how to have multiple input methods in one LE and export the information for each input methods to IIIMF? So that LE doesn't need to handle input method switching issue?

-> Currently, it is up to LE to manage input methods, not IIIMF. after API/SPI leverage project, IIIM server will be able to manage input methods directly.

发表于 Ervin Yan 在 2005年03月29日, 06:40 上午 CST #

发表一条评论:

姓名:
电子邮件地址:
URL:

您的评论:

HTML语法: 禁用