How the Application Framework for SpectraLink phones came about

We’re really excited about the Application Framework we’ve built for SpectraLink phones. This product adds a whole new range of capabilities to the handsets, and adds a whole new way of developing applications.

We’re seeing a TON of interest in this product at the Team Polycom event in San Diego (Feb, 2010), especially among Hospitality sales people and dealers.

We’re announcing this framework with two initial applications: A directory application, and a Set to Set texting application.

Fig. Texting application, and directory app – with search window, and some pinned contacts.

The project started when we were asked to develop an emergency broadcast system for use in a large cruise ship. They needed a way to display messages on all passenger phones, and on all the SpectraLink phones used by the crew on the ship. We used an InGenius product called Broadcast Alert to handle the creation of the broadcasts, and we built this framework to handle information display on the handsets.

We wanted to implement scrolling text on the handsets, and we wanted crew to be able to respond to messages – to acknowledge receipt, and to possibly request assistance. The standard handset display only allowed a few lines of text, and user interactivity was pretty difficult.

We ended up switching to using the handsets in a graphical display mode – which allows us full control over the contents of the display, and we can display icons, and buttons in addition to text – text in whatever font we choose!

We designed an extremely sophisticated algorithm to manage display updates – the algorithm determines which pixels on the phone have changed between updates – and only sends the differences. This GREATLY reduces the communications traffic, and makes this display updated mechanism feasible.

Then we built a really awesome notification app to handle the broadcast alerts…

Then, things got really out of hand, and we went nuts and built something we think is just awesome!

So, what is the InGenius Application Framework for SpectraLink phones?

We’ve created a system that instantiates a small virtual operating system for each of the SpectraLink phones in the system. (And we’ve tested this with thousands of phones, on a non-beefy server.) Each of the tiny operating systems allows you to control the phone’s screen and ringer, and can respond to button presses. We have a nice library of system calls that let you write to the screen using text, graphics, and icons, gather input from a user, etc.

Basically, using standard .Net tools like Visual Studio and C# developers simply write a very small app that runs on one phone. The Framework then replicates this app across all the phones! We’ve even built a sophisticated simulator that allows developers to create and debug apps in .Net – then easily release them to real phones.

The OS supports multi-tasking – so all the apps you have running on your phone run simultaneously, in the background. In our testing, we’ve written alarm clock apps, timers, broadcast alert apps etc, and they all run smoothly in the background – and can jump to the foreground when required.

Apps can easily talk to each-other – making it easy for apps like our Directory app to start our Texting app and pass in the current contact…

We’ve built in a login system – so users can securely share phones. When you log into a phone, your apps resume, with all your data and program states intact. Your apps can even keep running while you’re logged off  – so any texts or messages you may have received will be available when you next log on! The log in system is ideal in situations where phones are shared – like Nurse call stations, or big box retailers.

There’s a passthrough for legacy OAI applications – commands not meant for our framework are simply sent along to the legacy apps.

Check out the details on our product page.

Finally, here’s a view of the Simulator!

Advertisements

Tags: , , , , , , , , , , ,

%d bloggers like this: