VoIP News OnSIP News Developer News

How Apple's Security Updates Have Affected Our Webphone Java Applet

by Leo Zheng

The OnSIP web phone runs as a Java applet in the browser. Unfortunately, Apple's new security update makes it difficult for Mac users to run Java plugins.

Published: December 13, 2012

Below is the webphone in My.OnSIP. Actually, it’s a picture of the new dialpad we recently added; the webphone has been embedded in My.OnSIP for months. It currently runs as a Java applet in the browser, allowing OnSIP users to seamlessly make and receive HD calls from their business numbers in any web browser. Unfortunately, Apple’s recent security updates complicate the user experience for Mac users.

Historically, Java came included by default on Mac OS X, with Apple taking responsibility for Java 6 and earlier versions. Apple only stopped bundling Java with the Mac OS X starting with Lion in 2011, but users could still download Java from Apple.

In mid October, Apple made a sweeping security update which axed all their Java applet plug-ins on Macs running Mountain Lion and Lion. For machines running the older Snow Leopard, the update simply prevented web browsers from running Java applets automatically.

In a very short span of time, we went from Java plugins running automatically - which is what the environment was like when we first developed the webphone - to now needing to enable applets in Preferences on Snow Leopard, and needing to download Java 7 and its browser plug-in directly from Oracle on Lion and Mountain Lion. Oracle’s Java 7 will also only run in 64-bit browsers, which takes Google Chrome completely out of the picture for now.

It’s a bit frustrating for us as these extra steps and limitations translate to a less than optimal user experience, but at the same time, we can understand why Apple is making these moves.

In my humble opinion, the future of SIP enabled user agents will ultimately live in the browser with the standards that surround WebRTC. However, Java applets (and Flash, for that matter) currently provide a great way to fast track a proof of concept for what could ultimately be a web standard. Call me biased but the webphone is already pretty neat once it's running. We provide a Javascript API called Osprey.js, which developers can use to build their own SIP-enabled webphones that support transfers, mute, hold, volume control, multiple calls, and multiple SIP user registrations. The webphone (aka Jitsi) is also built on the very same IETF standards that are used in WebRTC.