
Autocomplete as an interface - luu
http://www.benkuhn.net/autocomplete
======
iandanforth
Nitpick. The author is conflating "tab completion" and "autocomplete." The
interactions are very different. Tab completion is an _active request for
information_ where autocomplete is a prompt or suggestion. Pull vs Push.

Google autocompletes your search queries. Bash and zsh offer tab completion as
a feature.

iPython and Sublime have both tab completion and autocomplete, but they are
different interactions.

~~~
ketralnis
I don't think I agree. I think that autocomplete is just a better UI for what
you're trying to accomplish with tab completion, and also happens to be
discoverable

------
danpeddle
UX in its rawest sense, although with a programmer slant. That said,
programmers are a subset of a wider group (spoiler: it's us!) and it would be
nice to see these patterns break out of the developer world, so they can
evolve further.

Consider, when was the last time you saw a website with perfect keyboard
integration..? The lack of universal patterns does get in the way (as does
keyboard-less devices, which are clearly a whole other paradigm), but still..

------
thomasballinger
I feel similarly about autocomplete (particularly the "best way to learn
Python" bit) and suggest Python users looking for autocompletion similar to
zsh at the command line pip install bpython (which I work on).

See [https://github.com/bpython/bpython](https://github.com/bpython/bpython)
for source, [http://ballingt.com/bpython-
curtsies](http://ballingt.com/bpython-curtsies) for some (old) gifs.

More generally, build your own tools like this with the excellent Python
Prompt Toolkit! ([https://github.com/jonathanslenders/python-prompt-
toolkit](https://github.com/jonathanslenders/python-prompt-toolkit))

~~~
StavrosK
I'm not sure if it's just me, but I couldn't find a list of shortcut keys in
the documentation and I kind of went back to IPython. I think half of it is
that the F1 key was bound to help in the terminal, so I couldn't look with
that, but you may definitely want to add something to the site to list keys
and features.

~~~
thomasballinger
Great point, particularly relevant to autocompletion: IPython magics are tab
completable and therefore more discoverable than bpython special keys. Real
quick, they're emacs-style readline keys but with ctrl-r for undo. F1-F10 do
things too.

Docs for shortcut keys, for anyone F1 doesn't work for: [http://docs.bpython-
interpreter.org/configuration.html#keybo...](http://docs.bpython-
interpreter.org/configuration.html#keyboard)

The F1 issue with GNOME terminal is frustrating, I agree a cheatsheet-style
help page on the site would be good. I've been meaning to do this for a while
and might finally get time to work through backlog next week :)

~~~
StavrosK
The page you linked technically has all the information I need, but it's
hidden among emacs-style movement commands and is a bit cumbersome to read.
Consider something like:

* F8 - Upload current session to pastebin. * F6 - Reimport everything. * F5 - Watch imports and re-run entire session if one of the imports changes.

That would both showcase these fantastic features (I didn't know about them
until right now when I tried to write this comment), and allow me to try them
right away in the bpython interpreter I have just installed.

I had spotted a very nice hotkey that takes you to the source of the function
that was being autocompleted but I can't find it again on that page. That's
how bad the current page is :P

------
agumonkey
I'm sure if it's only the work of the Ubuntu team, but they added GTK-holistic
autocompletion for menus.

After seeing office workers cry everytime a menu layout changed, I'd be very
interested in seeing them having fuzzy search like this.

~~~
vdm
[https://en.wikipedia.org/wiki/Ribbon_(computing)#Reaction](https://en.wikipedia.org/wiki/Ribbon_\(computing\)#Reaction)

~~~
agumonkey
The Ribbon backfire is pretty well known, but fuzzy search is completely
orthogonal to "legacy" UX. You don't need to remove or change anything to give
access to a real-time filter of all the menu "namespace".

------
melling
We need some sort of advanced autocompletion where a dictionary is used when
creating variable names, for example. This would be helpful if we ever want to
be able to program on tablets. It'll probably never be as fast as with a
keyboard but it might be useful when taking a bus or subway.

------
richardboegli
Tell Me is part of Office 2016 desktop edition [1]

It has been part of Office 365 since 2014 [2]:

Available now, an easier, faster and more convenient way of doing things in
Word – Tell Me. Tell Me understands what you’re trying to accomplish and helps
you do it faster. So if I’m trying to make my document horizontal, Tell Me
knows it’s the orientation feature I’m looking for. It brings everything I
need to my fingertips.

[1]
[https://blogs.office.com/2015/09/22/thenewoffice/](https://blogs.office.com/2015/09/22/thenewoffice/)

[2] [https://blogs.office.com/2014/01/22/new-year-more-
goodness-t...](https://blogs.office.com/2014/01/22/new-year-more-goodness-
tell-me-footnotes-and-endnotes-and-more/)

------
octatoan
Re the point made at the end: there's a ton of fuzzy completion engines.

