Web-based VS native administration is a long-standing dispute within this field. This topic is particularly important because it defines all of the user’s experience. Let’s examine, why web-based communication solutions are the best choice for delivering high service quality.
All new products now use web-based administration interfaces. Gone are the days of interfaces made with Java / QT. The advantages of this change include:
- No software to install, and the interface is immediately available everywhere
- Compatibility with all modern browsers
- Support for mobile devices like tablets and smartphones
- Security thanks to HTTPs
- Web API might help when automating tasks
If the communication system you are developing or deploying does not use a web-based interface, please reconsider your choice. Web-based is really the best option.
Web-based vs Native Collaboration Tool
In 2005, almost every collaboration tool was using native apps. These included Windows Messenger, Skype, ICQ, Adium / Pidgin, Counterpath Softphones, and any other SIP phone for PC.
The reason was simply that web apps used to be slow-performing, CPU-intensive operations, and they lacked access to local hardware resources like the local disk, microphone, and camera.
At the same time, the trend was clear – most office collaboration applications were already working from the web including Exchange AWS, Gmail, Zimbra, Zarafa, and a number of other mail clients.
There were three main obstacles to overcome:
- Real-time client / server signaling
- Offline data storage
- Real-time media transmission
Client / Server Signaling
Technologies like BOSH over HTTP connections, Comet, and, finally, WebSockets, allow fast and stable real-time communication between the browser and the server, which helps overcome the problem of speed.
Other technologies, like Adobe Flash, were closing the gap, but these solutions were proprietary and were, in fact, a plug-in inside the browser. Development of such apps was complicated. In addition, they had no clear advantages over using frameworks like QT and Java to build applications outside the browser, which also offered portability to any platform.
With HTML5, it was time to close this gap. Web applications, thanks to web standards like WebSQL (which was not included in HTML5 mainly because of Mozilla opposition), IndexedDB, and LocalStorage, were finally capable of storing data on the local PC. Thus, it became possible to create applications that could work offline, and which were more responsive to the user.
With the advent of the iPhone and Android phones, many things changed. The refusal of Apple to support Flash, and their desire to develop more features into Safari (based on the WebKit open source project), started a revolution. Ways were found to make the browser smart, by adding more features which were later standardized into HTML5.
Audio and video content streaming, using YouTube and other sites, finally became possible by simply using the browser capabilities. Along the way, features like geolocation and full screen were added.
At this point, in 2010-2012, real-time communications using the built-in microphone and camera were possible, but only using Java Applets or other NPapi plugins.
In the end, there was always something that still had to be installed, and the user experience was never perfect.
The last breakthrough came from Google and took place in May 2011, when the WebRTC project was introduced and later included in Chrome.
WebRTC finally closed the gap and added support for real-time audio and video communications (besides a data channel) inside browsers.
Chromium/Chrome was the first adopter of WebRTC, followed by Firefox and Opera. Microsoft, as usual, came up with their own WebRTC standard that was not compatible with other browsers’ implementations. Only at the beginning of 2017, Microsoft announced the WebRTC interoperability of their browser, Edge, with other major browsers supporting WebRTC.
Since 2012, WebRTC has been taking over the real-time communication world.
Facebook Chat is using it for audio or video communications. Microsoft has made its own Skype web client, which is currently not compatible with Chrome. More and more applications are using WebRTC to create telephony services such as Zingaya.
Platforms like ChromeBook can only work using web apps and WebRTC.
Interface and Notifications
Browsers like Chrome and Firefox now offer the possibility of creating extensions. These make applications look more consistent and have features like click-to-call in all open tabs.
To overcome the problem of receiving notifications when the collaboration web page is closed, real-time notifications (PUSH notifications) have been added.
Web-based VS Native apps: Conclusions
Currently, web-based is the best option, and it is the future for desktop computers. It has never been easier to communicate – opening a web page is all that a user needs to do.
The advantages are incredible:
- Zero deployment costs in big organizations (an email with a link is enough to provide access)
- No software to install (excluding the browser)
- Global reachability (a browser is available on any computer)
- Full operating systems support
Using web apps is extremely important, especially if your organization wants to offer its users web calls and chats.
Web applications running inside the browser are still lacking a few features, such as interaction with USB devices (it is important to take advantage of call control buttons on USB headsets), or the possibility of allowing a remote side to control the local desktop via APIs provided in the browser. Companies such as Google and Wildix overcome these obstacles by creating native apps which, once installed, can interact with the web application and provide the missing features.
In the next blog post I will explain why it is better to use native or hybrid applications for mobiles devices and demonstrate their advantages.