Re: Some points about IM integration



On Tue, May 15, 2012 at 7:27 AM, Owen Taylor <otaylor redhat com> wrote:
> In general, choice of input method framework is not a goal in itself.
> If we choose a single input method framework to integrate with GNOME -
> that doesn't make GNOME like proprietary software from Apple and Microsoft,
> because GNOME will still be 100% Free Software, and will still be developed
> in the open by the GNOME community.
>
> GNOME doesn't want to work well just for tweakers and enthusiasts - it's
> very important to the project that GNOME works well for all users without
> tweaking. We want to give the choice of using Free Software to
> everybody - this is a much more fundamental form of choice than giving a small
> group of users the ability to swap out a different input method framework
> underneath GNOME.
>
> GNOME isn't just a set of parts that a Linux distributor takes and uses
> to create a working system - we also take responsibility for creating
> a fully working system. This means deciding how GNOME interacts with
> system components like sound and networking and printing and when necessary
> enhancing those components to provide the right experience to the user.
>
> So we can't leave it up to one Linux distributor to combine GNOME with
> fcitx to make a version of GNOME that works well for zh_CN and another
> Linux distributor to combine GNOME with RIME or hime to make a version
> of GNOME that works well for zh_TW. We want GNOME to, without customization,
> work well for zh_CN, zh_TW, hi_IN, ru_RU, en_US, and so forth.
>
> Of course, it would be a mistake to think that a small group of English
> speaking developers could make GNOME work well in all these languages. That
> would be impossible! But from experience, we know that simply leaving a
> problem like this to external developers and hoping for the best doesn't
> work out well. Instead we need to engage users and developers from these
> language communities into the GNOME development community.
>
> I don't want to minimize how easy that is - I know there are very significant
> barriers of language, timezone, and distance that make this hard. I know
> that bugs get ignored and patches sit around unreviewed. But still,
> active engagement is the only way forward. I think it's absolutely wonderful
> how many people have gotten involved in the current discussion!
>
> We also need to keep in mind that we aren't talking about the choice of input
> method, we are talking about input method *frameworks*. The basics of passing
> events from application to daemon, loading different input method backends,
> handling hotkeys and displaying feedback are going to be very similar for
> all East Asian languages.
>
> Things like displaying feedback may be a little different if we move further
> afield to Thai or Hindi - but still, there is no fundamental reason that they
> need a different *framework*.
>
> Using a single input framework for all GNOME users has many benefits.
> GNOME developers can reproduce bugs that users run into. Bugs only have to
> be fixed once, not in multiple frameworks. We can actually figure out how
> to make input methods work with onscreen keyboards and accessibility. Our
> designers can collaborate on making the configuration dialogs conform to
> GNOME standards.
>
> Finally, using a single input method framework is pretty much essential to
> the goal of allowing users to configure languages at runtime with a nice user
> interface. If language A and language B require different input method
> *frameworks*, there is no way that the user can switch between them with a
> hotkey.
>
> In general, I don't see standardizing D-Bus interfaces so that GNOME can
> work with multiple input method frameworks as being a useful activity.
> If the D-Bus interfaces are carefully maintained and changed only with
> agreement and advanced notice, then they will impede the progress of bug
> fixing and making things better. If the interfaces are not carefully
> maintained, then they aren't standards at all, and users will constantly
> encounter breakage.
>
> And in any case, as described above, there has to be *one* framework that
> works as well as we can possibly make it for all users. Multiple partially
> working frameworks are not a substitute.
>
> All of the above is an argument only for picking a single input method
> framework. It doesn't say anything about what input method framework we
> should pick. The fact that the IBus developers have been engaged with
> GNOME for quite some time and are willing to work with us to create a user
> experience that is simple and consistent with the GNOME principles is
> certainly a big plus, but we do need to make sure that the end result
> works well as well as looking good.
>

First let me clarify a question though nobody ask, but I think you
have this question in mind. That is "why not fcitx work with ibus,
isn't that a feasible solution too?".

It's kinds of the same question why there are so many distribution for
linux? There is some reason important that make two similar projects
are not the same projects. Though from some other people point of
view, they don't understand or don't know the  reason. To make it
simple, the reason that it's impossible for ibus to implement the
feature I want in input method.

The other question is, will input method framework works better if
they must use the same way as you guys doing now to integrate?
Actually my answer would be no. First, even ibus-gjs you guys pulled
actually has more bug than this:
https://extensions.gnome.org/extension/261/kimpanel/, though ibus
backend need another package.

And for example, the keyboard layout integration, settings is actually
duplicated there and within ibus, and the UI even not cover all
available option inside.ibus. My point is, why not let input method
guys to implements theirs own gnome-control-center module? This should
be the right way to go. And much more easier and decouple with GNOME
core, and will works even better. What you guys choose now even limits
ibus itself from my view.

And from my point of view, setting interface of ibus is hardcoded, so
those pygtk setting code must be replace one by one if they want to
move to another toolkit (even from gtk2 to gtk3). And make it
impossible to put the setting just "inside" the gnome-control-center.

So my answers are,
1. ibus will limit my idea, some function of fcitx cannot be
implemented inside ibus and they are important for people who use
input method. So fcitx can't try to work with ibus guy and become a
input method framework in whole. If you could comparing with some
popular input method under windows and linux, you might understand
that.

2. Such integration even harms gnome, and limits ibus developer idea.

3. fcitx could do it better, even without such integration, I will
prove it with code.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]