[jboss-as7-dev] Web console vs. CLI vs. CLI GUI

Jason T. Greene jason.greene at redhat.com
Fri May 18 10:51:44 EDT 2012


We still need a way for the web console to expose all management 
facilities that it does not yet know about. Some kind of advanced mode 
if you will.

Unlike the CLI, web interfaces offer a gui canvas which can be used from 
any system with a web browser. No special tools need to be installed. 
This is kind of tool is very userful and certainly desired (note the 
users out there still wanting jmx-console to come back even though 
jconsole exists).

It is certainly true that a key Andiamo goal was making the web console 
be the target interface for new beginning users, and so the UI focus is 
important, but we also had the unified management interface goal, where 
you weren't forced to switch to a completely different tool to execute 
any particular function. We largely achieved that but as long as we lack 
a dynamic mode then there will always be a few gaps that will lag behind 
the full capability set.


On 5/18/12 9:18 AM, Heiko Braun wrote:
>
>
> Here's an excellent resource that I recommend to anyone that want to
> chime into this discussion:
>
> http://bokardo.com/principles-of-user-interface-design/
>
> Read through the core principles outlined in this article. Then compare
> the tools we have to each other and you'll begin to the see the
> different value propositions.
>
> /Heiko
>
> On May 18, 2012, at 4:01 PM, Heiko Braun wrote:
>
>>
>>
>> Thanks for the explanation Stan. The web console uses a different
>> paradigm then the other tools, and it does so on purpose. The result
>> of what you describe would basically build on the "tree" paradigm and
>> more or less expose the management functionality like the CLI and it's
>> bigger cousin do. But it targets different persona and thus other needs.
>>
>> The console provides an interim information layer, that provides
>> alternate conceptual views, that go beyond "trees". The biggest
>> difference towards the other tools is that it tries to facilitate
>> understanding of the underlying model.
>>
>> This includes arrangement, grouping and exposure of the underlying
>> information aligned with the users tasks. You think of it too much in
>> technical terms. Your approach is a valid one for people that can be
>> considered "power users". Users that know the model. For them a "tree"
>> paradigm work works well.
>>
>> The CLI GUI is a hybrid, but only serves former CLI users well. For
>> them it might be an enhancement. But it's not serving the needs of the
>> less experienced developer or administrator.
>>
>> A good comparison would probably be a data management tool. You can
>> provide direct SQL access to the data or some web based interface
>> that's much closer to business domain. The AS7 web console would be
>> the later.
>>
>>> From my experience, people perceive the web interface as being simple
>>> and easy to get started. But designing for "simple" isn't easy. And
>>> it comes at a certain price. In our case we did sacrifice development
>>> time for user experience.
>>
>> Long story short: The management tools serve different audiences. Each
>> audience brings their own experience, knowledge and skills. Building
>> the web console on same paradigms the CLI tools would eliminate the
>> for having it in the first place.
>>
>> /Heiko
>>
>> On May 18, 2012, at 1:53 PM, ssilvert at redhat.com
>> <mailto:ssilvert at redhat.com> wrote:
>>
>>> On 5/18/2012 5:56 AM, Heiko Braun wrote:
>>>>
>>>> Stan,
>>>>
>>>> you've said that you think the console project was going in the
>>>> wrong direction.
>>>> Can you elaborate on that?
>>>>
>>>>
>>>> Regards, Heiko
>>>
>>> I didn't say it was going in the wrong direction. That's not how I
>>> would put it.
>>>
>>> I think the project was architecturally wrong from the very beginning.
>>> I know that's a strong statement and again I want to say that I'm proud
>>> of what we accomplished. Hard work and clever programming can make up
>>> for a lot of flaws.
>>>
>>> We couldn't be expected to make all the right choices at a time when we
>>> didn't yet understand the management model that was still being
>>> developed. And it is our misuse of the management model that
>>> constitutes the fundamental architectural flaw.
>>>
>>> I think this is best explained with an example, so I'll give you the
>>> same example I gave to Bruno yesterday. Open CLI GUI and navigate to
>>> /subsystem=logging/logger=*. Right-click on the logger=* node and
>>> select add. There you will see a fairly complex dialog with four types
>>> of widgets. Also, the drop-downs are filled in with the proper values
>>> and the required fields are marked appropriately. You can hover over
>>> any field label to get context-sensitive help.
>>>
>>> I didn't write a single line of code to generate the "add logger"
>>> dialog. It was all built from the metadata in the management model.
>>>
>>> This has tremendous implications on development time. Getting CLI GUI
>>> to a point where it could do all this for every AS7 resource took about
>>> two weeks. Yet, to develop the ability to manage just the logging
>>> subsystem in the web console took months. And when the logging
>>> subsystem changed on the back end I had to rewrite the front end over
>>> again.
>>>
>>> Clearly, we are not leveraging the management model properly.
>>>
>>> I could go on and on about other technical issues. I'm sure we can get
>>> to that in due time, but I've written enough for now.
>>>
>>> The last thing I want to make clear is that I'm not trying to replace
>>> the web console with CLI GUI. We need a web console. But the
>>> comparative ease with which functionality can be developed in CLI GUI
>>> constitutes low hanging fruit that can't be ignored.
>>>
>>> I do have some ideas about how we can work together to leverage both
>>> platforms in a mutually beneficial way. Because I think code speaks
>>> louder than words, I'm working on a demo that shows how both platforms
>>> might work together. I'm hoping to have something ready to show late
>>> next week.
>>>
>>> Stan
>>>
>>>
>>>
>>>
>>
>>
>> _______________________________________________
>> jboss-as7-dev mailing list
>> jboss-as7-dev at lists.jboss.org <mailto:jboss-as7-dev at lists.jboss.org>
>> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev
>
>
>
> _______________________________________________
> jboss-as7-dev mailing list
> jboss-as7-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jboss-as7-dev


-- 
Jason T. Greene
JBoss AS Lead / EAP Platform Architect
JBoss, a division of Red Hat


More information about the jboss-as7-dev mailing list