Hi all, TL;DR: This is a separate "transition plan" for the Gaia Keyboard alone, attempt to utilize it beyond a FxOS smartphone. Contribution and feedback welcome.
=== With the state of the Firefox OS smartphone project, it is unclear to me if any future Firefox OS project will continue to be benefited from a touchscreen keyboard. However, it is point out to me in various private conversations that Gaia Keyboard is valuable in it's own way: * It's the easiest free software touchscreen keyboard to contributor -- all you need is a layout described in JSON and optionally a dictionary, as documented in [1] * Thus, the keyboard code base has collected various contributions of layouts from many languages, some of them are minority languages of the world with no any other keyboard available. [1] https://wiki.mozilla.org/Gaia/System/Keyboard/IME/Latin/Prediction_%26_Auto_Correction == Projects == It would be heart broken to throw away all of these we have accomplished. I therefore would like to call for contribution of these spin-off projects: 1. Gaia Keyboard Demo on the Web and a Web library URL: https://github.com/timdream/gaia-keyboard-demo I've been maintaining this from time to time -- just to make sure people without a Firefox OS phone and without a build environment could test out his/her keyboard layout. With suggestion from Prof. Derek Lackaff from Elon University, I've created a version of it that can be embedded into any website that wish to offer it's own keyboard [2]. [2] Can be tested in http://timdream.org/gaia-keyboard-demo/lib.html I would love any contribution on this project to prefect the interaction needed this usable and pleasant. 2. Gaia Keyboard on iOS URL: https://github.com/timdream/gaia-keyboard-ios I have only hours of Swift experience, and most of them are counted toward this project. The Web Demo has proven that the Gaia Keyboard can be shimmed and usable on WebKit/Blink, so it's only reasonable to wrap it in WKWebView and offer it as a iOS Custom Keyboard. I've also done the part that re-implements mozInputMethod API and hook it up to TextDocumentProxy exposed by iOS. The only thing prevented this from working is to figure out how iOS layout works and make the WebView tappable. 3. Gaia Keyboard on Android Same as above, but nothing started yet! == Implementations == All of the above projects runs Gaia Keyboard with code directly from source tree, with some of the re-implementation of moz- APIs shared. Depend on # of contributors interested in these projects, it's definitely possible to dive into the keyboard code itself and not to run Gaia Keyboard as a whole; but it's important (IMHO, for now) to keep Gaia Keyboard on Gaia master working as we do this and keep the demo page deploy-able as a GitHub Pages (no build step and only pull external code with submodules). If there are more contributors, I am open to re-implement native UIs in iOS/Android -- that's definitely possible and a way for us to stop fighting with the DOM. == Fork? == Projects above do not keep it's own copy of the Gaia Keyboard. It was done intentionally so we don't fork the Gaia Keyboard. It's sad to pull 4GB of data just to work on a directory, but IMHO (for now, again) copy the code to various projects and try to uplift from the upstream will be harder. As Gaia involves (especially when it's necessary from testing/continuous integration point of view), it might be something needed to work on, but I would avoid that especially if there isn't enough interest. It would be sad if people had spent the time build the house but no one come to the party. == Productization? == To be clear, I do not think Gaia Keyboard alone is a product that would compete with native, built-in keyboard on other OSes. Gaia Keyboard is usable in the places where it has the strength, so it's probably not worthy to plan more features on it. It would also be hard to polish the new features without support from full time employees in Mozilla Corp. As you can see on Bugzilla, we still accept layout and dictionary changes -- so please submit yours if your language is missing. == Conclusion == I would like to thank Prof. Lanckaff and Ehsan (CC'd) for the some ideas around these plans. Special shout out to Prof. Kevin Scannell on providing us with word lists for various languages over the years, which really made a difference between us and the Android open sourced keyboard. Let's get to work -- if you would like to make it happen! Tim
_______________________________________________ dev-fxos mailing list dev-fxos@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-fxos