ProgrammingAn AI-powered autocomplete

13 June, 20206 min
An AI-powered auto complete

The Kite auto-complete tool based on AI, previously restricted to Python is now available for JavaScript. It also works with libraries and frameworks including React, Vue, Angular, and Node.js. 

Kite goes further than the autocomplete suggestions provided by most editors, which usually suggest a variable name or class. By contrast, Kite will suggest several lines of code.

The suggestions made by Kite, which in the case of the new JavaScript tool, are based on a model powered by machine learning that was trained on 22 million open-source JavaScript files, are created by looking at the code context, and applying its understanding of code patterns and APIs. The Kite team says this can be useful either if you already know what you need to type, in which case Kite helps you jump ahead to the next task; or if you’re having trouble remembering an API or design pattern, as Kite can remind you. 

Until now, Kite has been Python-specific, but the developer’s plan had been to add other languages, and they started with JavaScript. Kite is available as a plug-in for most major development environments including Visual Studio Code and Atom.

Kite annoyed some open source developers when it adopted what many saw as underhand marketing practices a few years ago. The company bought another Python completion tool called autocomplete-python that has a large user base among Atom developers. The Kite team wanted access to the user base rather than the underlying code.

The Kite team then integrated their own completion engine into autocomplete-python, along with a screen asking users whether they wanted to enable Kite in place of the original completion engine, Jedi. The acquisition hadn’t been publicly announced, so autocomplete-python users could mistake the ‘endorsement’ of Kite as being from an impartial third party. Users who activated Kite were asked to create a Kite account, and counted as active users, important for attracting funding for Kite. They then went on to acquire another popular Atom plugin called atom-minimap and integrated it with Kite. 

User disquiet started when a new feature was added to atom-minimap that added links to documentation on the Kite website when a developer with atom-minimap opened a Python script. Developers asked for the feature to be removed, but the Kite team left it on by default.

Kite’s behavior was seen as being counter to the open-source culture, especially as Kite makes its coding suggestions by taking a developer’s script from the Atom editor to evaluate on its servers.

The Kite team eventually removed the offending behavior, but many Python developers had already moved on and non-Kite versions of both plugins now exist.

More Information

Copy link