On 07/20/2011 10:44 AM, Chris Lalancette wrote:
On 07/20/11 - 09:46:22AM, Steven Dake wrote:
On 07/19/2011 01:17 PM, Chris Lalancette wrote:
On 07/19/11 - 02:11:26PM, Hugh Brock wrote:
Other UX work
- I think we should be able to launch single images from Conductor without requiring a deployable XML. To make that easier for users, it would be nice if there was some UI for displaying images that are available to launch.
I know this is going to make me unpopular, but I think we need to re-instate the UI for building images. As a short-term solution, removing it and going CLI-only removed a roadblock for us, but the immediate reaction of (potential) users when presented with it is revulsion.
One problem the CLI solves is that it separates the function of creating the deployables from the activity of displaying the user interface. A CLI is really just an API with a command line presentation.
I have seen in my 10+ years of software development, GUI development fail time and time again because the detail of the actions were tightly integrated with the graphical user interface. The failure to use abstraction results in too much complexity in one place. The net result is complexity fatigue resulting in inability to ship a functional GUI. Once the functionality was abstracted from the presentation, software was shippable.
I advocate keeping the CLI and making a GUI that uses the cli internally. The CLI then acts as a an interface between the act of building images and the act of presentation to the user. With this approach, engineers are not overwhelmed with complexity and unable to make functional software. The disadvantage to this approach is the extra time required to negotiate a proper interface between the GUI developers and CLI developers. This is time well spent if the result is functional software.
I mostly agree with this. Instead of saying the GUI should use the CLI internally, though, I would say "the GUI and the CLI should use the same interface". That interface I leave up in the air a bit, but I would presume it is a library of some sort.
Good proposal. I suggest the cli/gui developers proceed with this methodology.
Regards -steve