| Feature | Status | ETA | Owner |
| DevTools/Features/GCLI | make simple demo available online | 2011-05-12 | Kevin Dangoor |
Summary
GCLI is a Graphical Command Line Interface. Command lines are fast and powerful, but they're also opaque and ugly due to a reliance on technology from the 70's. GCLI wants command lines to be discoverable and beautiful in addition to being fast and powerful. GCLI commands are just JavaScript so it is easy to extend.
GCLI was originally part of the Bespin/Skywriter/Ace project (and was previously known as Cockpit). It is usable in a variety of situations. This project aims to integrate GCLI with the Web Console. The Web Console will be enhanced so that it can run JavaScript either using the current 'pure JavaScript' syntax or the simpler GCLI way of entering commands.
As part of developer tools, GCLI will enable developers to access a wide range of development and diagnosis tools without a cluttered interface. It will help users enter the correct parameters quickly and without reference to manuals.
Current web developer tools like Firebug and the Webkit Inspector have command lines, however they are largely unused for user interaction because they insist on a pure JavaScript syntax.
Release Requirements
The GCLI enhancements to the Web Console can be split into a number of sections, which could all land together, or separately.
- Support code.
- Require.jsm is a small amount of code to allow us to import CommonJS code.
- GCLI and Ace use a small library called Pilot. We hope to remove GCLI's dependence on Pilot, so this item will probably disappear.
- API level code to allow registration of commands (but not their execution). Not useful by itself except as an API commitment.
- Basic command execution, prefed out. Command help unavailable.
- Full command line including localized help.
- Other enhancements (bucket for stuff that we'd like to do, but not before the steps above).
Next Steps
- Creating demo
- Getting code sections above reviewed
- Accessibility review
- Localization review
Related Pages
- The status page lists bugs
- Demo page (TBD)
- Github repository for GCLI
- Embedding documentation
Team
The GCLI is an experiment and it will take a little time to get the UX right. We want your help and feedback! Send email to dev-apps-firefox
- Joe Walker: (irc:joe_walker) Lead developer and feature designer
- Kevin Dangoor: PM
Goals/Use Cases
A Web Console user should be able to change filters or clear the console entirely with the keyboard.
Someone who wants to compare the styles of a set of page elements should be able to run a command to select some elements and then another command to open the Style Inspector, all without reaching for the mouse.
Non-Goals
For this project, we're not looking to entirely replace the Web Console's JavaScript command line with the GCLI. After we are comfortable with the UX, we will revisit that.