Network device command line interfaces

Compare the number of customers that insist on a web-gui interface
to the number of customers that are insisting on multicast routing
support.

(Having said that, a sane CLI provides a good basis for a web interface, so
is good engineering whether or not you need multicast :wink:

It is a relatively well established (though not always *followed*) principle
of software design that you should build a CLI that can do everything, and
then *build your GUI on top of that*. Among other things, this design pattern
makes it easy to capture the commands generated by a GUI session, and script
them for later use.

Cheers,
-- jra

If you've done a proper CLI, you can easily do a good REST API. If you've done that a good Web GUI is possible.

This.

I would love a good REST API for everything; I would almost be willing
to give up the CLI for it (almost).

Would love to a good open source TR69 interface.