A little while ago I was all for throwing my mouse away. I will have some more to say about that in the future but that led Thomas to post about ENSO and how the command line is making a comeback.
I was game, so I have installed ENSO and been giving it a run for its money. (Well it was a trial version so no money has been changed hands yet.)
I am not yet convinced. It has potential, but it has not made the jump into my ‘must-have’ utility kit bag.
I kindly disagreed with a colleague on SDN not so long ago who suggested that the CLI could be a way to increase developers productivity. Now, while I agree there could be many ways to increase SAP developers productivity, I didn’t think that the command line was one of them. The main reason I didn’t agree with Puru was because of the context switch involved. Here I am coding in SE80 or SE38 or SE24 and all of a sudden I have to switch to some other console and type a command in which I have to remember from memory and get exactly right. I am sorry but that argument doesn’t work for me.
Thomas, of course, reminded me that SAP has a command line built in. It is one of the best parts of working in SAP. You can go up to that transaction code box and enter your code and whammo – it’s like a Second Life teleport – you are in your new transaction. Prefix your transaction with /o and you get a new session. Prefix it with /n and you reuse the current session. If you leave out a prefix then it tries to run the command in the context of the current transaction. You can use dot notation to transverse the accelerator keys so ‘.mwd’ will take you to Utilities(M)->Worklist->Display from the SAP Workbench (SE80). (note the M is from the German word for utilities – Hilfsmittel) This can be very useful to get to a menu path very quickly. You can get your cursor into the transaction code box with a CTRL+/. All in all, a very powerful little box. In fact when the new ‘Apollo’ gui was first unveiled on SDN, one of the comments was: ‘Please don’t take away the transaction code box’. Quite. Don’t.
I have said all this to describe how useful the ‘command line’ can be. I generally have a love have relationship with command lines. I usually want to be in the mode that I am not. If I am creating a database I want a lovely gui. If I am trying to update a clients website I want to do something simple like ‘svn up’, which will take the latest code from the repository. I am not against the command line. In fact I am for it. What I dislike about the command line is the ability to remember all the little syntaxes and switches and the inane minutae.
This leads me back to ENSO. What I like about ENSO is it prompts you as you type, in the same way that google suggest does.
ENSO sits between you and every application you have and can work with (almost) all of them. To invoke ENSO you hold down the capslock key and start typing. This leads to some pretty contorted finger movements especially when hitting the tab key to complete a phrase.
So you start typing ‘CA’ and you get the following options:
This is very useful as you:
- Don’t have to remember the whole command
- Can get to where you want to go in about 3-4 key strokes
Some of the basic functions that ENSO performs are:
- The calculator trick + – / *
- Changing case
- Turning on/off caps lock (this key has been taken over remember)
- Cut, Copy, Paste
These are available with every ENSO product. I tried the launcher product which has additional commands like:
- go – switches to a window or tab
- maximize / minimize
- learn as open
OK. So lets look at how useful some of these functions are. Did I use them and what did ENSO do to my system?
Let us start with the calculator trick. It is acually quite neat. You have 4+9 on your page, you highlight it, type CA with caps lock held down, release and all of a sudden you have 13. If you want a little sum then add = to the end of your sum and low and behold you have 4+9=13. All very fast. I know you can do 4+9=13 in your head. The beauty is that this is available everywhere. In your financial app, your photo editor or your text editor.
The other function I found most useful is the CAPS change function. When coding I like to have some keywords in CAPS. Mostly SQL keywords and not all editors I use support this. SAP has a keywords upper case setting in the pretty print config and PSPad has a change case function built in. Eclipse doesn’t though and I do like my select’s laid out so they are easy to read. So ENSO made it easy to convert:
Select userID, firstname, lastname from users order by lastname
SELECT userID, firstname, lastname FROM users ORDER BY lastname
and I am a happy coder.
One of the other key features was the learn as open. This enables you to teach ENSO a command to open some resource. I have shortcuts to particular SAP transactions that I use to make it faster to get to the transaction, system and client I am wanting to use. For example I have a shortcut to ‘SPRO’ on the config client, ‘BSP_WD_WORKBENCH’ on my CRM dev client and ‘SE80’ on my ECC dev client. (Sorry for the jargon – SAP techies will understand. If you didn’t don’t worry – just think of them as bookmarks to URLS)
I created commands in ENSO to open each of these systems and it works a treat. No reaching for the mouse. Just OPEN DEV and off you go.
This all sounds pretty good and yes it is. Let me describe the downsides.
Firstly all the ‘learn as’ commands are stored as favourites in Explorer, in the root folder. As you added more it does tend to get untidy.
Secondly, it did tend to reuse the same window for new commands. So if I had something important running in one browser window it clobbered it and loaded the result of the command there. Apparently there is a setting in Explorer to work around this.
Thirdly, it always used Explorer. This is probably because it is set as the default on this machine and I need it that way for SAP development. It would be nice to choose which browser to use in ENSO though.
Fourthly it died a couple of times when I used it in the SAP Standard SE80 editor – doing a simple calc command. ENSO curled over, restarted and collected information for a bug report. This was quite impressive in itself. I sent off the info and the ENSO guys responded quickly. I gave them details about how they could get a copy of the SAP Editor from SDN so they could reproduce this.
In summary – are computers humane? They are improving.
Does ENSO help? It is a good step in the right direction and I will be interested to see what else comes out of their lab. Particularly when you are able to use python to extend the base functionality. Perhaps Thomas will get his wish of being able to give Mary a pay rise from the command line.
Is the command line making a comeback? If if can be made usable then yes. If it remains a puzzle wrapped in a enigma then no. Let’s hope we can get the best of a gui and a command line all in one.
[Bonus link: Google command line]
Technorati Tags: ENSO, SAP, Usability, notFlashy, command line