Overview

As one of the world’s most popular Voice-over-Internet-Protocol (VoIP) and instant messaging apps, Skype has earned its place on almost every personal computer. The app has been constantly improved with additional features, from video chats to conference calls, making it a trailblazer in online telecommunications.

Skype’s Click-to-Call browser plug-in pioneered the technology of recognizing phone numbers on web pages. It would highlight the numbers, allowing you to add them to your contact list, or call them over Skype with a single click.

This seemingly minor function promised major convenience, sparing users a lot of time and effort over the long run. However, the plug-in slowed the browser down considerably whenever searching for phone numbers. To resolve this latency problem and perfect the plug-in, Skype reached out to Softage.

Client:
Skype
Industry:
Telecommunications
Services:
Modernization, Refactoring

Challenge

Skype Click-to-Call could not fulfill its true potential without substantial improvements. In addition to the browser lag that threatened to cancel out the plug-in’s time-saving benefits, its phone number recognition algorithm only supported a very limited range of formats. The client also realized the need to adapt the plug-in to other browsers to expand its user base.

The previous developers failed to fix these issues sufficiently or in time, leading Skype to seek out a new vendor with relevant expertise and a proven track record. Softage had impressed them from the start by quickly analyzing and rewriting parts of the program’s source code, nearly 10xing its efficiency, according to benchmark testing.

Convinced that Softage’s veteran developers were up to the task of upgrading the plug-in, the client gave us the green light.

Solution

After the preliminary research and planning, we got to work on updating the plug-in. Drawing on past experience, we adopted the Waterfall model at this stage and later on switched to Scrum to manage continuous development and maintenance in response to both client and user feedback.

Softage developed two main cross-platform modules: 

  • A library that allowed the program to recognize phone numbers written in different formats
  • A plug-in base containing the logic for finding and highlighting phone numbers on a page. 

With these modules as a foundation, we built browser-specific plug-in versions for Chrome, Firefox, Internet Explorer, and Safari.

Our dedicated team of developers functioned autonomously, keeping in touch with the client for feedback and further modification requests. We used multiple test types (integration, regression, performance) and tools (TestCoccoon, Selenium) to automatically detect and fix problems prior to handing over the code.

During development, we had to deal with frequent browser updates, causing API compatibility issues, which then led to multiple iterations for several versions of each browser and additional compatibility testing. 

Softage developers opted for C++ as a programming language, facilitating integration with the low-level APIs of most browsers, while using JavaScript for the rest. We also leveraged Microsoft Visual Studio as our integrated development environment for Windows, and Xcode for macOS.

Finally, Softage significantly improved the plug-in’s speed, operational consistency, and compatibility.

Results

Our work on Skype Click-to-Call has turned a promising but compromised product into a seamless and widely appreciated experience. Its newfound convenience, swiftness, and accessibility attracted a wide user base, increasing the client’s profit margins. Actively used until October 2016, Skype Click-to-Call remains an outstanding milestone in browser plug-in development.

Having spent three years developing and updating the plug-in, Softage improved its understanding of the inherent challenges with cross-platform development and refactoring legacy systems.

Technology Stack:

Programming languages C++, JavaScript
Frameworks Boost C++ libraries
Operating systems MS Windows, macOS