Frustrations with Cisco’s ICM Script Editor

So, I’ve been working with ICM scripts for what feels like ages, but in reality is more like 5 years. In the last 2 years though I spend more time scripting than anything else… well except documentation, but that’s another story.

Regardless, here are a few frustrations I constantly face when using ICM script editor.

1. No find and replace. This should be very easy to do and would help greatly, specially when working with CVP and you need to modify a VXML URL or when you’re working with formulas which need to be updated to include some new variable.

2. Copy and paste does not respect the fact that you’ve specified the Snap to Grid option. Yes, copy and paste rocks when you need to write a bunch of scripts which are similar, however, having to remember to snap your recently pasted script to the grid is a pain in the butt and I often forget it.

3. Call Tracer. Personally, I would like to see the call tracer as an independent window which can be sent to the back ground. If you’re working with a very small screen, you have to move the tracer around while looking at your script. In addition, the windows can be so much bigger by default. Can’t they just auto-size? See below.

ICM Script Editor Call Tracer

4. Formula Editor. Is there really no better way to display the formulas being written? Some of my formulas are pretty long which require that I writ them on TextPad first then move them to Script Editor. This allows me to lay them out a little better, specifically when trying to make sure I have enough parenthesis. For example, the formula below shows up like this:

(((ValidValue(CallType._Sales_Q_International.AvgSpeedAnswerTo5,0))+(ValidValue(CallType._Sales_Q_International.AvgSpeedAnswerTo5,0))+(ValidValue(CallType._Sales_Q_International.AvgSpeedAnswerHalf,0))+(ValidValue(CallType._Sales_Q_International.AvgSpeedAnswerHalf,0))+(ValidValue(CallType._Sales_Q_International.AvgSpeedAnswerToday,0)))/((2*((ValidValue(CallType._Sales_Q_International.AvgSpeedAnswerTo5,0))/(ValidValue(CallType._Sales_Q_International.AvgSpeedAnswerTo5,1)))+(2*((ValidValue(CallType._Sales_Q_International.AvgSpeedAnswerHalf,0))/(ValidValue(CallType._Sales_Q_International.AvgSpeedAnswerHalf,1))))+1))*
CallType._Sales_Q_International.RouterCallsQNow)>60

Surely, there’s a better way to display this.

One thing I miss about Genesys is their slick UIs and Cisco knows nothing about UIs. Hope to see some changes in the future, but I wouldn’t bet on it.

~dmacias

Leave a Reply