Kicking the Tires on the opengear Resilience Gateway

I’ve been meaning to do this review for some time now, but life tends to get in the way. With the new year behind us, my first resolution was to tie up some loose ends, and this review is one of those! I’ve been playing with the opengear Resilience Gateway for a few months now, and I’ve got to say – I’m impressed. opengear has managed to squeeze a lot of functionality into a tiny little box, and they’re doing it for a very low price. I’m kind of getting ahead of myself, so lets talk about the device.

The opengear Reisliance Gateway is a combination terminal server, Celular Internet Gateway, and physical location monitor (think contact closures) which could be tied to things like door alarms, temperature sensors, water detectors, etc. Form-factor wise, its just a bit larger (but not much) than those old 5-port steel NetGear switches that I loved so much back in the day. Ultra portable.

I’m a little torn on my thoughts about the overall user interface. On one hand, configuration was kind of clunky often confusing, but on the other hand, they DO expose the full linux operating system to you through the serial interface, so you’ve got some killer-awesome flexibility for what you can make this device do – Personally, I’m willing to call that a fair tradeoff.

Cellular connectivity (or at least signal strength) was hit or miss. One minute I’d show full strength, and then nothing. Full strength again, and then nothing, however most of the time the connection appeared to stay up, so maybe its just an indicated signal strength issue. I’m not sure whether to blame the device, or blame my carrier (although my cell phone doesn’t exhibit the same behavior) so you’ll want to do a little testing of your own as far as this goes. I was using AT&T during my evaluation of the unit.

Setting the unit up to behave as ‘just another internet connection’ using IP Passthrough took a little doing (the configuration likes to lock down DHCP to the first MAC-address the unit sees, after that it’s a game of changing it in the config if you want to connect a different device (I was going back and forth between a router and a laptop) but it does work. Using this approach, and appropriate modifications to your local network, it’s possible to leverage the Cisco IP SLA feature set to detect WAN failures, and swing over connectivity to the opengear device, allowing you basic internet connectivity in the event of WAN failure. I’m sure it’s possible to even extend this to offer up some advanced VPN automation, but I didn’t take things that far in my testing.

The terminal server / console server features were easy enough to configure, and one really cool feature I liked was the ability to use a Web Console to interact with the connected device, above and beyond simple serial to IP redirection. This would be very convenient as far as remote device support goes.

All in all, my experience with the opengear Resilience Gateway was a positive one. I did need to call technical support on more than one occasion, and they were very quick to engage, and able to resolve my issues each time. I can see this device making itself home in any of the datacenters I support in the future. Thanks to opengear for supplying me with a demo unit for purposes of performing this evaluation, and thanks for not getting on my back about ‘are you done yet?’ – I really wanted to give this device a fair shake, and you’ve allowed me to do that, even though it took a little bit longer than I had originally anticipated.

A different way to tell people they’re wrong

For those of you who know me personally, you’ll know that I’m very analytical, and when presented with a question, I’m very quick to respond, often immediately. Many times, people are asking me a question or challenging me with a statement about something technical that they think is broken. My first reaction / my nature is such that I respond with ‘no, you’re wrong, here’s why’. In my mind, I’m just providing an analytical response, but I think that to some people, it comes across poorly, and is more confrontational than it is helpful.

In reflecting on this, I think that there’s a better approach for responding to these challenges – here’s what I’m going to work on. When somebody tells me ‘X is broken’, and I know (for whatever reason) that they’re wrong, rather than responding ‘No, it’s not.’ I think I’m going to try something different. I’m going to respond ‘That’s interesting. Tell me why you think it’s broken.’, and let them explain. Following that, rather than saying ‘No, It doesn’t work that way.’ I think I’m going to reply ‘If you consider how X works, (insert appropriate explanation here) , you may reconsider that conclusion.

I’m conveying the same information to the person asking the question, but I think it can come across as more education and less confrontation. There’s no reason to raise defenses just because we’re disagreeing on something. Just some food for thought on becoming a better communicator. The best lessons come from within, right?

My love/hate relationship with HBO Now.

A couple of months ago, I discovered the HBO Now streaming service.  I don’t subscribe to cable TV, most of my television comes from streaming service such as Netflix, and I visit the Redbox for new releases.  I decided to give the HBO Now streaming service a try, as there was a TV series I wanted to watch (i can’t remember which one it was). So i signed up, and then realized I couldn’t stream it on any of my devices (I don’t have an Apple TV).  So I was a little bummed, but a few weeks later, they announced support for Chromecast, and all was good.  I’ve found a ton of really cool shows and movies that I’ve never seen – so I can’t complain thus far about content.

So here’s my gripe.

I’ve been using my iPhone primarily to launch streaming videos to the Chromecast, and holy cow – the user interface on this thing sucks!   The streaming quality is fantastic, so no complaints there, but the user interface is so horrible, i cant even stand to use it.  First off, there’s no good way for me to simply press ‘next’ on one or more TV series that I may be watching – I’m constantly having to go up to the search dialog, find the show (again), choose the season (again), and find an episode (again).  This could be done much more seamlessly.  Second, the Chromecast support is really half baked thus far.  If i start playing a video on my iPhone , and I’m in landscape mode, there’s a button (or what seems to want to be a button, and practically screams ‘click me) to stream to the Chromecast… but that button doesn’t seem to actually do anything.  If I stop playback, take the phone into portrait mode and use THAT Chromecast button, that works.  WTF?

This is pretty trivial stuff guys, you don’t have to be a rocket scientist to design a usable UI (Netflix mastered it, and it puts what you’ve done to shame).  Scrap this thing, go back to the drawing board, and try again.  As good as your content may be, another month or two of having to deal with this unusable UI, and I’m cancelling my subscription.  You’re HBO for crying out loud, not some no-name tech start-up streaming media online; act like it.

Pay no attention to the man behind the curtain.

We’ve all seen the Wizard of Oz, and I’m sure we all remember the story of ‘ the man behind the curtain’. Over the past few weeks I’ve been reflecting on some of the evolution we have seen in how companies interact with their customers using social media, and saw a parallel.

The first social networks drew their audiences from the individual users. It wasn’t long before we started to see companies jump on the bandwagon and start creating their own social media presences. These presences were mostly ‘anonymous’ since you didn’t really know who was behind the scenes, aside from the fact that the account had an official-looking name that was seemingly tied to the company. Responses by these accounts were hit or miss, and it was more like chucking feedback over the wall, and you really had no idea if anybody was even there to catch it.

Lately, I’ve seen a shift away from ‘corporate accounts’ towards ‘personal accounts’ managed by people who just happen to work for a company. One of the cool side effects that this has created is that it’s opened the doors to actual relationship building with real people – something you could never do with an anonymous corporate account. To all of the companies who are empowering your employees to step up, speak out, and represent, you’re getting it right, keep it up! This style of interaction really works, and it’s changing the way we collaborate and communicate. Remember folks, social is about relationships, and people form those relationships. It’s the man BEHIND the curtain that matters.

Squirrel!

Squirrel SQL Client that is…    I’m getting ready to do some app/dev against the UCCX database, and I needed a nice SQL browser to poke around with. Squirrel!      Check out the following URL for a setup doc.  You’ll find the necessary informix drivers in the Program Files X86wfavvid_1051lib folder.

And use this doc for a setup guide

https://supportforums.cisco.com/sites/default/files/legacy/5/6/6/41665-SQuirrel%20SQL%20Client%20Setup.pdf

A tip for dealing with prompt recording in UCCX

We all have prompt recorder apps.   Some of us even build elaborate ‘Administrative IVRs’ to allow our callers to control IVR call flow behaviors (often building in a prompt recording mechanism).   This is all fine and good – and I’m a huge fan of it!  I’ve always had a concern, however, with giving access to a ‘prompt recorder’ cart-blanche to an end user. What if they overwrite a prompt that they shouldn’t be able to access?   I’ve hypothesized of several ways to deal with this issue over time (create a database and assign permissions to individual prompt files, create a menu structure that just updates a static prompt rather than letting the user specify it) but none of the solutions made me happy…. until today.

Like most ‘light bulb moments’, sometimes the most obvious solution is the exact thing that your tunnel vision prevents you from seeing.   Let me tell you about mine today.

I name my prompts numerically, and the numbering scheme relates to the application ID, which is unique for each application on the platform.   So for Application #6, the first prompt is numbered 601, and I leave available the entire range of 6xx numbers, so we’re good up to 699 – that’s the glue that makes this SO easy…. When coding my administrative IVR for a given application, why not validate the prompt range – since the relationship exists already? Just a snippet of what this might look like in practice…

[code]

WhichPrompt:
         promptnumber = Get Digit String (--Triggering Contact--)
            Successful                          
               Set promptNumINT = promptnumber
               If (promptNumINT < 600) Then
                  True
                     Goto WhichPrompt
                  False
               If (promptNumINT > 699) Then
                  True
                     Goto WhichPrompt
                  False
               saypromptnumber = Create Generated Prompt spelling (promptnumber)

[/code]

It’s so simple, yet has eluded me for so long. And as usual, it’s like ‘why didn’t I think of that before?’ – Just validate that the prompt being selected is within the ‘range’ associated with the application, and you’re golden. No more overwriting prompts that you’ve got no business messing with.

Granted, this strategy relies on my numeric, application-relative prompt naming convention, and it assumes that you’re going to create a unique administrative IVR counterpart to each production IVR (which I often do anyway) … but it works.   So that’s my light bulb moment, and tip for the day.  Enjoy, and happy scripting!

So what’s with this ninja thing?

Lets call him the mascot, for all intents and purposes.  I want to try and be more like a ninja.  Now lets not go equating the word ‘ninja’ to ‘expert’ – that’s not what this is about at all.   A ninja, first and foremost, is a student.  He is constantly learning and practicing his art.  My art form is collaboration, and I’ve committed myself to being a life-long learner.  Hence, the collab ninja :)

Re-Branding is hard work!

I’ve been using the @ciscovoicedude identity on Twitter for years, but recently I’ve found that (no big surprise here), it’s not just about voice anymore. I’m not just a voice dude, I’m a Collaboration Dude! So after a few months in the making, I’m ready to take on (fully) my new identity as @Collab_Ninja – the website www.collab.ninja, the new twitter handle, the new avatar, all of it. I may be housekeeping some of my old and unrelated tweets, etc (there’s a lot of garbage fluff), but moving forward you can expect to see more on collaboration technology, with a new invigorated spirit. No need to fear, the same old snark will still be there. Welcome aboard!