QueTwo's Blog

thouoghts on telecommunications, programming, education and technology

Category Archives: Telecom

IT in your business : Do you have customers or partners?

Pipes at MSU Power PlantIn my department at Michigan State University, we are having interesting conversations revolving around the notion of “customers” and “partners” for the people that we serve.  In many IT organizations, like many other service organizations that exist, there is a well known notion to call the people that depend on you for service as “customers.”  We are told to treat these people as “customers first” in an attempt to think about how to best evolve our own service to make them happy.  We have come to realize that while we call them customers, and attempt to treat them as if they were customers at, let’s say a grocery or department store, we really don’t.

Really, most IT organizations need to make a decision on how to serve the people that depend on them for service and decide how they really want to interact with them.  There is not a single right or wrong answer, but you can’t choose both.  The method you choose really depends on your own overall organization and how you feel you can best serve them.

What is a customer?  A customer is a person or group that approaches you to fill a need.  Let’s say they need a new printer and they contact you to order a printer.  You might have one or two models that you support and you offer it to them.  The customer agrees to one of your options and you order it, install it, and make it work on their PCs.  You provide service with a smile and everybody is pretty much happy — you were able to fill their need, and they were able to accomplish the task they sought out to do.

Where the customer methodology typically breaks down is when the customer has a need that can’t be filled by your typical offering.  How would this methodology change if, lets say you only offered black and white laser printers, but the customer needed a high-capacity color printer.  Would you allow the customer to go somewhere else and get the printer that best meets their needs?  Would you get the printer they found that fits their needs, or would you tell them “NO.” The best fit for this methodology would have been to allow the customer to buy their own (or even better, for you to buy that model and do what you do best) — however many IT departments feel that they lose control and can’t possibly support that “one-off.”

A printer is a pretty easy thing to visualize — it’s tangible and something I’m sure IT departments already deal with multiple models of.  But think about other examples where customers have made requests — like PC models (like a Apple Macbook), operating systems, CRM software, browsers, etc.  Often times, if a customer is making a request for a particular piece of software or hardware it’s for a reason — and if you treat the end user as a customer, you have to be prepared to allow them to make those choices.  This often involves bending your own standards to allow them to make the best decisions for their own organization.  After all, the customer probably knows their line of business much better than you do.

This method is all about providing great customer service and allowing the customer to do what they need autonomously.

What is a partner?  A partner, or an even better term would be a business partner, is somebody that you work with to accomplish a goal.  When a group approaches you to help solve a problem or business need, they will depend on you to help them make the best decision.  But being a partner is not a one-way street — it also requires you to approach the end-user and ask them how you can best help them accomplish their goals.  There is a clear nuance here, but let’s dive into this a bit more.

Using our earlier example of a customer needing a new, specific printer, a business partner should have noticed the requirements of that user before they formally asked for help and offered to help mitigate the need.  This could have been forming a better partnership with an outside entity for doing those color prints, or maybe partnering with an inside organization that also has a similar need, or proposing getting the printer.  Conversations change from “What can I do for you?” to “Can we suggest XYZ to make your life easier?”  A quick consequence of this relation often is that changes to it systems are often done for the benefit of the end customer, rather than the IT group (ask yourself how many of the IT policies that are in place are to make it easier to manage your systems, vs. helping the customer).

Now the downside of being a partner is that it is much more human capital intensive.  It requires that your IT department becomes involved in all the line of businesses that happen at the organization that you support.  It requires that they have at least some institutional knowledge of accounting, etc. in order to help these organizations.  I’ve seen some implementations of this where the IT department has their staff distributed among all the groups they support — for example, they might have a cube next to the secretary so they can glean how they do their job and be their advocates in the overall IT plan.  Other ways to accomplish this would be to have certain people “deputized” (actually have access to work on systems that the group needs) within these groups and represented in IT staff meetings, again to help evangelize what the needs are of the groups they represent.

This method is really about empowering the end group to participate in IT.

The danger zone.  Where a lot of IT organizations run afoul when serving others is that they pick either neither of these methodologies or, sometimes worse, pick BOTH.  Hybrids of these methodologies never work — because quickly everybody becomes confused in their role.  The most common is where a customer is told they aren’t allowed to install or request application X onto their PCs to fulfill a role, yet their IT department also refuses to give them any alternative to do their job (neither methodology is chosen).  Another example would be that the end user is allowed to chose a particular piece of software to meet their business needs, but then expects the IT department to change the way they do business in order to meet the needs of this software (both are implemented).

IT departments need to also be careful to not switch methodologies on customers either.  Either allow them to be a customer or a partner — don’t change on a project by project or product by product situation.

How do you interact with your end-users?  This may be the most telling way of how your operate as an IT organization.  You do have helpdesk software that you ask people to “put in tickets?” or a common phone number that you direct all users to call for every IT interaction?  You are most likely treating end users and groups as customers.  Do you have staff sit in organizational meetings (other than meetings with groups like department heads), or invite end-users to your department meetings on a very regular basis?  You might have business partners in that case.

Some questions to think about as you assess your IT business :

  • Do you know the IT strategy of all your organizations businesses?  If you don’t think they have an IT strategy, you may want to ask.
  • What was the last software that you installed for an end-user that was “non-standard”.  Do you know why they requested?
  • What was the last software that you didn’t install for an end-user.  Do you know what business need they were trying ti fill?
  • What was the last thing you did to increase productivity to an end-user?  Is this something that you brought to the table, or something they requested?  Did this actually increase their productivity?
Advertisements

IAUG 2015 Review

IAUG-KeynoteIt’s been a month since I traveled to Denver to attend the IAUG (International Avaya Users Group) “Converge” conference in Denver, Colorado. This conference was one I used to go to every other year at most, but recently I’ve been attending every year… I think I’m on a three year streak.  Plus, this year the conference was in Denver, hands down one of my favorite places to visit in the US.

This year I was asked to speak on two separate topics which changed the experience of the conference for me.  It’s been nearly 10 years since I’ve spoken at an IAUG conference and this time I was speaking on two very diverse topics.  I’ll be posting more details on what I spoke on in subsequent blog posts, but I did a joint presentation on the EDP (Avaya Engagement Development Platform) and the OSSI Administration protocol.  Additionally I participated in the EDP meetup and presented some of MSU’s Telecom innovations during the Tuesday keynote.

This year the conference was in the Denver Convention Hall.  The conference center is /huge/ and our conference managed to only fill 1/4 of it with our thousands of attendees.  One of the things I like about the convention center is that there are lots of couches and places to get some quick work done between sessions or meet up with others without being in the way.  Generally the A/V was pretty good which for the last few conferences I attended was a sticking point.

I wish I could have attended more sessions, but given my schedule I was pretty booked up.  There was lots of buzz of a few topics (like the roadmaps) that sounded great.  The few sessions I did get to attend were great — I think I only ended up leaving one without getting something out of it.  The tradeshow floor was, as always, great.  When you are at your home office you often forget about how large the ecosystem is around the simple telephone on your desk.

In the years I’ve been working with Avaya, it seems like they are finally starting to be able to realize their ‘dreams’ of how all the building blocks come together.  This year there was much more cohesiveness between their products and seemingly less things being developed in silos.  There was also much less “us vs. them” between the “red” Avaya customers and “blue” Nortel customers than last year.  With Avaya a year into moving into a suite licensing where they can freely innovate products and worry less about separate licensing mechanisms for each one there is more and better innovation and alignment in them all.

It was neat watching the company promote the EDP (Avaya Engagement Platform, formerly Collaboration Environment) as heavily as they have.  This is a development platform, similar in effect to Twilio, that really cracks open the internals of the enterprise phone system and allows companies that want to innovate with their communications infrastructure to do so.   At Michigan State University we’ve been able to take advantage of the platform and push the boundaries of our capabilities to create some cool apps that are producing some real ROI.  With Avaya pushing the platform company wide, I only see the toolbox getting bigger and more useful as more adjuncts plug into the platform and allow us to do even cooler things.

I’ll be back again next year — and hopefully will be selected to speak on some more cool topics and projects we are doing.

Making ColdFusion Sing

One of the coolest things about CFML is the fact that it was designed for rapid application development.  Even more so, as the language (and server platform) evolved, it quickly turned into one of those tools that knew how to talk to just about everything.  From FTP, to the Web, to SSH connection, to specialized JDNI connections, it is pretty darn simple to make ColdFusion the glue that holds disparate systems together.

Last month I was tasked with coming up with a tool to allow some of my PBX users to record announcements.  The current system they were used to involved them calling a phone number, entering in a special code and then recording their announcements.  It was easy because the phone already had a mic, speakers and everything else setup to the point where the user didn’t have to worry about all the related computer settings.  I tried to re-create a solution that was just as easy using the Flash Player (and ever a Java applet) — but it turns out that very few people have microphones hooked up to their computers — and those who do have no idea how to tune it so that the sound levels are descent.

I came up with a nifty idea.  I wrote a really quick CFML app to interact with Twilio (an online phone company that provides a really wicked API for dealing with live telephone calls).  Essentially, they post back form requests to you, and you pass back XML documents back to them.  They even have an API that can do recordings.

The only problem was the recordings they saved weren’t in a format that my PBX understood.  While they provided me mono, 16-bit PCM, 16k wave files, I needed 64-bit, 8k mono uLaw wave files.  To a normal computer, these look the same, but to these two different systems, they were radically different.

The solution?  I found a really cool Java application known as JAVE.  JAVE is a wrapper for ffmpeg, which is a very well known application that can work with audio and video files.  JAVE allows me to convert from one type of wave file to another, or even from an mp3 to a wave, or from a Windows Media file to an MP4 file.

Using it?  Like dealing with most Java classes, you drop it into your CFML’s LIB directory.  I tried it both with Adobe ColdFusion and Railo and it worked flawlessly.  Once you have the Java class (jave-1.0.2.jar) in the lib directory and re-start your CFML server, you are ready to start writing some code.  Here is what I came up with to convert between my two wave formats :

<cfscript>
 jave = createObject("java","it.sauronsoftware.jave.Encoder");
 incomingFile = createObject("java","java.io.File").init("C:\temp\incoming.wav");
 outgoingFile = createObject("java","java.io.File").init("C:\temp\outgoing.wav");

 audio = createObject("java","it.sauronsoftware.jave.AudioAttributes");
 audio.setCodec("pcm_mulaw");
 audio.setBitRate(64);
 audio.setChannels(1);
 audio.setSamplingRate(8000);

 attrib = createObject("java","it.sauronsoftware.jave.EncodingAttributes");
 attrib.setFormat("wav");
 attrib.setAudioAttributes(audio);

 jave.encode(incomingFile, outgoingFile, attrib);

</cfscript>

That’s pretty much it.  If you do a cfdump of the “jave.getAudioDecoders()”, “jave.getSupportedDecodingFormats()” you will get a good feeling of all the different file types you can convert between.

This is more of the type of magic we need to be talking about.  Sure, converting between file formats can seem dull, but being able to come up with a solution to do it quickly is what makes a language, and a platform useful.

H.264 Being removed from Google’s Chrome Browser

This afternoon Google announced that they were dropping support for the H.264 codec in future releases of their browser, Chrome.  If you want to read more about the announcement, check it out here

Essentially their argument is that they want to support Open-Source.  And there is no better way to support open-source than to include support for the new codec that they just bought (VP8) and announced would be open-source (WebM).  On paper, it sounds great and the world should cheer for them.  I personally support ALL the browsers including support for WebM so at least there is some consistency across the landscape for a single codec.

However, how Google is introducing WebM into their browser is by removing the support for H.264 codec.  For those of you who don’t know what H.264 is, it is by far the most widely supported video codec today — being directly supported by DVD players, Blu-Ray players, video game systems, and more importantly, enterprise video systems. 

Over the last few years we have seen enterprise video make the shift from tape to MPEG-2, to MPEG-4 (H.264) video for recording, editing and storage.  The great thing about the industry was that as time passed more and more devices were getting support for H.264, so there was no need to re-encode your video to support each device under the sun.  It was starting to become a world where we could publish our video in a single format and be able to push it out to a great audience.  Re-encoding video takes time, storage space and typically reduces the quality of the end product.

What is even more unfortunate is that recently we have seen H.264 decoders get moved to hardware on many devices, allowing them to decode high-definition content and display them in full-screen without hitting the processor.  This is starting to allow developers to focus on making more interactive user interfaces and better looking interfaces without worrying about degrading the quality of the video.  A good example of this is the H.264 decoder that is built into the newer Samsung televisions — you can run HD content, as long as you are running H.264 — otherwise you are lucky to see a 640×480 video clip without taxing the processor.   One of the reasons why HD video on the web sucked so bad for Mac based computers was Apple didn’t allow the Flash Player to access the H.264 hardware accelerator.  Newer releases of the Flash Player now support it and HD video is smooth as silk on the web. 

By Google moving to WebM and abandoning H.264 it forces manufactures to reassess their decision to support H.264 in hardware.  It will also force content producers to re-encode their video in yet another format (can you imagine YouTube re-encoding their content into WebM just to support a Chrome users?), and will make the HTML5 video tag to be even harder to work with.  Content producers will need to produce their content in H.264 for Flash, many WebKit browsers, and IE9, WebM for Chrome, and Ogg Theora for Firefox.  The real tricky part right now is there are virtually no commercial products that can encode in all three required formats to date. 

So, if you are looking to support video on the web — what are you to do?  Right now a majority of the users don’t support HTML5 video — but they do support H.264 through the Flash Player.  iPad/iPhone/Android devices support H.264 directly, and embedded systems like the Samsung HDTVs, Sony PS3, etc. all support H.264 encoded video.  The only reason to encode in a different format today is to support Firefox and Chrome users that don’t have the Flash Player installed (less than 1% of all users?).  The recommendation I’m sure will change over the years, but for right now, you still pretty much have a one-codec-meets-most-demands solution that you can count on.

Creating Mobile Applications from a Photoshop Prototype

Thanks to Dr. Coursaris for this photo.

At the WUD Conference, East Lansing, MI

This past Thursday, I was given the opportunity to present on a really cool, but obscure topic — creating mobile applications from Photoshop prototypes, for the World Usability Day Conference.  Essentially, my job was to show people a workflow that is possible when using Adobe Device Central to create a Photoshop file, that is then turned into a working prototype using Adobe Catalyst, and then programmed using Adobe Flash Builder. 

All in all, the conference was excellent, and I was honored to be on stage after notable presenters from the State of Michigan, Motorola, Nokia and well, even the University of Michigan.  The focus of this year’s conference was on usability, and how it relates with mobile applications and devices, which was a perfect match for the presentation I was doing.

After my quick introduction to the subject, I demoed making a complete application from scratch and deployed it to a series of working phones.  I was able to accomplish this workflow in under a half hour, which was completely amazing for not only myself, but the audience too.  It is really cool to realize that the technologies that I’ve been using as betas for so long have actually matured to the point where I can use them to make real applications.

The session was recorded and hopefully will be posted online soon.  You can view my powerpoint here (I did have to disable the live voting, but I did keep the results for historical purposes), and download ALL the source code that and asset files that we used during the presentation here.  Please keep in mind, that the logos in the demo code are subject to the use standards found here

Thanks to the WUD East Lansing team for inviting me!

Creating your first Application for TV

One of the major announcements that came out of Adobe MAX was the availability of AIR 2.5, which is the first SDK to support televisions as an output.  While most of you may be scratching your heads as to why this is a big deal, the few of you who have ever attempted to write an application for a STB (set-top-box) or directly for a television know that they are one hard nut to crack.

Generally, up to now if you needed to push an application to a television-connected device, (including DVD players, Blueray players, STBs, or TVs themselves), you either had to learn the vendor’s propriety language, go with the vendor’s interpretation of Java, or just pay them to make the app for you.  Additionally, it has only been a very short while that the manufactures have even given the developers the ability to push apps to these devices (with Samsung really paving the way in the past few months). 

In comes Adobe with their OpenScreen Project, where they are allowing common RIA developers to simply create applications that can be deployed to these television connected devices.  The dream of write-once-publish-anywhere just got extended to another class of devices.  Mind you, these will be high-end devices at first (for example, take a look at Samsung’s TV lineup (filter by Samsung Apps in the features section) to get an idea of what you will be targeting. Read more of this post

The truth about avoiding the phone company with VoIP

VoIP, or Voice Over IP is seen as the future of telecommunications.  In the enterprise, it took hold about 5 years ago, and about 3 years ago it became the norm for any new phone system. In the highly controlled network environment of the office, the technology flourished and eventually became rock-solid by breakthroughs made by companies like Avaya, 3com and Cisco.

Around the same time consumer-based VoIP products like Vonage started hitting the market.  These use the consumer’s internet connection and provided a dialtone like replacement for a standard phone line.  Generally these types of connections were less expensive (and in some cases, they were MUCH less expensive), but at the same time they relied on the general internet (without any quality-of-service gaurentees).  Recently there has been a lot of fanfare over Google Voice being available on various mobile devices like Google’s Android and Apple’s iPhone.  This allows users to use their data plans and bypass the cell-phone companies. The funny thing is, even AT&T sees consumers bypassing their services as a viable threat — they filed paperwork to lift the requirements that they provide phone services in their entire claimed market.

There are a few problems with this mass migration from traditional telephony services to this “wild-wild-west” VoIP services.

First off, VoIP has no concept of location-based services.  With traditional PSTN “landline” or business services, the phone company delivers your services to a physical location (your home or business).  This information is tied to a database which is given to 911 and other emergency services when you need it. Because VoIP connects over the internet, there is no real way to track where a call is physically being placed from — and the problem is exaserbated by devices like firewalls, VPN tunnels and MPLS networks.

Next, there is no concept of Quality of Service for many of these consumer devices.  Companies like AT&T in my local market offer DSL service in most areas that has a 1MB download and 256kbps upload.  This allows for a descent speed for doing things like browsing the web or reading emails.  However, if you try to use a VoIP connection you most likely will saturate this connection — and if you try to browse the internet while being on the phone (something I do quite a bit), you run a huge risk of your connection breaking up or being disconnected completely. More advanced routers and internet service providers offer QoS for connections, but these are not universal, nor are they easy to setup.  I won’t go into the reliability of internet connections in storms, power outages, etc. where quality and resiliency is a needed in emergencies.

Compatibility is another issue that is becomming apparent. There are hundreds of different “VoIP” providers out there, each with their own software or hardware application.  Companies are all trying to write their own standard (like Skype), or if they use some of the open standards (like Google), they implement them in a way that makes it very difficult to interconnect with others.  This is very similar to the beginning of the telephone network where there were lots of different networks, and none of them connected with eachother.  The government finally stepped in and created some laws (known as Common Carriage Laws) that required anybody who wanted to be a telephone provider to interconnect with each other.  Currently many VoIP providers do connect via the PSTN, but often times they charge users additional fees to do this.

Finally, we need to take a step back at the PSTN system itself.  It has become a commodity item, and even further more, it has become a so universal it is considered a utility.  In many markets it is heavily regulated by the government and has lots of redudancy, backups and, well it’s a proven technology. As more users disconnect their traditional phone lines and go with VoIP providers, less work is being put into this system and eventually that glue that holds it, along with all the PSTN providers will begin to go away.  Not only that, but because it has become such a commidity, you can get land-lines for cheap, and unlimited minutes (both in cell and landline), it makes very little sence to use these technologies other than it’s the “next best thing”.  If you don’t believe me, take a look at your VoIP provider, and compare that to a $14 phone line (unlimited local calls, and up to $0.05 a minute for long distance).

Think twice about cheering on AT&T in cutting the cord with land-line service.  It’s something that is easy and well understood.  Also think about how you plan to get internet access — and how those who are in unprofitable areas can get basic services (like phone and internet services) if companies like AT&T and Verizon are not forced to provide them.

Innovation in Cable Television

,,,

Last week, I had the pleasure of going to the AHECTA conference in San Antonio, TX.  This conference was a great opportunity to network with my peers in the Cable Television world, in particular those that support colleges and universities throughout the country. Some of the things the schools are implementing to entertain their students (read: recruit their students to live in the dorms) are really innovative, even with the lack of money that is out there right now. Listening to some of the schools that are sharing content via Internet 2, or implementing IPTV across their campus makes me proud to work in the education industry.

Unfortunately, one of the constant themes of the conference was about the content providers that we deal with.  Many of the larger content providers like Comcast, Time Warner, Verizon, etc. have become the 1,000lbs gorilla in the room that only want things their way. Everybody is scared of the new, and have a real hard time with innovation.  Lets face it, despite going digital (squeezing more channels in the same channel space as before), cable television hasn’t really changed a whole lot.  You turn on your TV, you turn on your tuner, and you select your channel.  Some new features, such as Video on Demand are really re-inventions of old ideas (Pay-Per-View). 

When we start to look at what is happening to the industry — the move to high-def, with highly compressed, loss-less video, and especially the change to new mediums, they seem scared.  If you were to approach a Comcast or Time Warner and ask them if you could deploy your campus cable with an IPTV setup, they would walk away right there.  If you go directly to an ESPN or Showtime, and offer the same (even including a DRM package like Flash Media Server), they would tell you it is not in their supported model.  It’s funny to watch the entire industry clammor for a change, yet the producers of the content refuse to allow the change. 

So where does all this leave those of us providing the services to our communities?  Well, for the most part, we will provide what the content providers allow us to provide, and will try to innovate to what our communities want.  One day, the two will meet, and all will be happy :)  

What types of technologies do you think students would want to consume for their "television" watching?

Need some RIA Consulting? I can help!

,,,,,,,,,,

Over the last few years, I’ve been dialing down the amount of consulting work that I was doing.  I made the conscious decision to spend more time with my family and friends, I bought a house, and spent a lot of time outdoors.  I also started a new usergroup, the Michigan Flex Users Group, ran a conference, and wrote lots of articles for Fusion Authority Quarterly, and Flex Authority to name a few.  Oh, and some of the small amount of consulting I’ve done included some names like Avaya, Michigan State University, the Ford Motor Company, Scottrade, AT&T, Penn State just to name some of the larger customers.

I am looking to grow my consulting business a bit.  If you or your company need outside help, please drop me an email or give me a call.  I have expertise in the following:

  • Rich Internet Application (Flex, Flash, ActionScript, AIR) : Design and Create
  • Internet Application Development (ColdFusion) : Design and Create
  • VoIP Telephony Integrations (H.323 / SIP / IAX) : Design and Implement
  • Avaya Telephony Systems (Including Avaya Communication Manager, Definity, IP Office, Distributed Office, and Partner Systems) : Design, Implement, Maintain and Troubleshoot
  • Voicemail Systems (Including Mitel and Avaya Modular Messaging) : Design, Implement, Troubleshoot
  • Hybrid Cable Television systems (GigE Implantations, typically with RGB or Motorola equipment) : Design, Implement, Troubleshoot
  • Data networking (Extreme Networks, Cajun, HP, Cisco) : Design, Implement, Troubleshoot
  • Linux and Unix (BSD) based server administration : Implement and troubleshoot

If you would like to contact me, my email is kwiatkowskin@hostingplace.net , or +001 616-304-2520. 

I’m Back!

,,,,

Well, it’s been a really busy summer.  I haven’t been blogging too much lately; my office job has been keeping me really busy.

My department officially launched our new cable television system this last week.  This was a huge, huge project for me.  I’ve been working on it for well over a year, and pretty much squeezing everything else in with it. 

Our old system was installed in the mid 1980’s and has been working fairly well since.  We serve a population of about 24,000 students, faculty and staff with about 60 channels of cable television programming.  This was going good until HDTV hit the market.  Over the past years, we have had students clammering for digital and HD services that we could just not offer with our current setup. We were also starting to get push-back from our content providers (Comcast, DirecTV, BigTen, etc) with them providing us analog services.

Our new design is completely digital up to each building.  We have to retain analog service for the many classrooms (and also students who brought in their analog televisions), but we are now also offering a digital/HD lineup that is a step in the right direction.  We launched the system with 4 QAM channels, featuring about 18 digital channels, and still having about 55 analog channels of programming.  We are in negotiations with various content providers to offer even more channels. 

The coolest thing about this new setup is it all GigE (gigabit ethernet) based.  In fact, the cable industry has pretty much settled on MPEG-2, MPEG-4 or H.264 as their standard to transport all video.  I can plug my laptop into any ethernet switch on my network an tune into the raw video feeds using a program that supports Multicast MPEG streams (such as VideoLAN).  Because the feeds are over ethernet the entire way, we don’t loose signal, or have to worry about attenuation going through various devices as we did in the past.

We ended up using equipment from a few vendors like Motorola, RGB and EGT.  All of them configure using a web browser, which is also cool. All this, coupled with a SlingBox, will allow our techs to maintain and work on our equipment without rolling a truck! 

So, now that project has taken place, I should be able to concentrate on doing more Flex/AIR and CF stuff. I’m hoping to integrate some of my new found knowledge of the video world into some of my future apps, so watch out!