The company also unveiled global usage stats claiming 40 million concurrent connections from more than 200 countries.

TeamViewer reveals usage stats; around 100 million installations...

Popular remote connectivity software, TeamViewer, revealed their usage statistics during the announcement of the opening of their new Mumbai office. The number of installations from Q1 2017 to Q1 2018 grew by 23% along with a rise of 28.6% in the number of active monthly devices. Connections also grew by 25.6%. Essentially, the usage of TeamViewer in India is at an all time high with around 96,200,000 installations in the country until now. Considering this massive growth and in an effort to overcome geographical challenges, the company decided to open up an office in the country at Mumbai. Earlier, operations of the APAC region were conducted from Adelaide, Australia. Realising the enormous potential in this region, they had earlier opened offices at more locations including Shanghai and Tokyo, and now in Mumbai for the South Asia region.

“Opening an office in India is integral part of our APAC growth ambitions with a strong focus on going multi-local to be closer to our existing customers and even better understand the market, client, and partner needs,” said Oliver Steil, CEO of TeamViewer, speaking to the media in Mumbai. “With our strong commitment to India we aim to address the substantial opportunities of work-style reform and the strong demand from businesses of all sizes for secure remote connectivity solutions at scale. We are very excited to further strengthen our footprint in one of the fastest growing economies in the world that is at the forefront of digital transformation.”

During an interaction, Oliver stated the company’s high ambitions of growing in the Indian market by taking into account the various local initiatives. “With the growth of India’s digital footprint, more and more industries in the country are developing and implementing IoT, AR, and AI innovation. TeamViewer offers best-in-class connectivity enabling our customers to securely tap into these megatrends,” said Krunal Patel, TeamViewer Head of Sales India and South Asia. “Our channel partner fraternity will play a pivotal role in driving this growth with sector specific solutions. We already have Ingram micro signed up as our first distributor in India and are quickly expanding our existing reseller network.”

TeamViewer also shared global stats displaying their strength in numbers. With more than 1.8 billion installations, there are more than 274 million active endpoints with over 40 million of them being concurrent connections or sessions. TeamViewer had over 330 million active devices (at least one successful incoming and outgoing connection) in the last year.

Abhijit DeyAbhijit Dey

A Star Wars fan and sci-fi enthusiast. When I’m not playing games on my PC, I usually lurk around the Internet, mostly on Reddit.

‘).insertAfter(‘.inside-container p:eq(1)’); */
// $( ” ).insertAfter(‘.inside-container p:eq(0)’);
//method to trunkate the text
function shorten(text, maxLength) {
var ret = text;
if (ret.length > maxLength) {
ret = ret.substr(0,maxLength-3) + “…”;
return ret;

//function to put utm on DontMiss links
$(‘div.dontMiss > a’).each(function(){
$(this).prop(‘href’, $(this).prop(‘href’)+’?utm_source=within_article&utm_medium=desktop&utm_campaign=related’);
//trunkate dont miss content
var sub = shorten($(this).html(),47);
$(‘div.dontMiss > a’).each(function(){
$(this).prop(‘href’, $(this).prop(‘href’)+’?utm_source=within_article&utm_medium=mobile&utm_campaign=related’);

//disabled method to append dontmiss links to page content by Mayank
/*$(‘div.dontMiss > a’).each(function(index){
//loop over each list item

// if(index%2 > 0){
// index = index – 1;
// }
if($(‘.inside-container > p:eq(‘+index+’)’).length){
$(‘.inside-container > p:eq(‘+((index * 2) + 1)+’)’).append(‘

Related: ‘ + $(this).html() + ‘‘ );
$(‘.inside-container > p:eq(‘+((index * 2) + 1)+’)’).append(‘

Related: ‘ + $(this).html() + ‘‘ );

/* if(isDesktop()) {
} */

* ga event tracking on page scroll start and end by Mayank

// Debug flag
var debugMode = false;

// Default time delay before checking location
var callBackTime = 100;

// # px before tracking a reader
var readerLocation = 150;

// Set some flags for tracking & execution
var timer = 0;
var scroller = false;
var endContent = false;
var didComplete = false;

// Set some time variables to calculate reading time
var startTime = new Date();
var beginning = startTime.getTime();
var totalTime = 0;

// Get some information about the current page
var pageTitle = document.title;

// Track the aticle load — disabled
if (!debugMode) {
// ga(‘send’, ‘event’, ‘Reading’, ‘ArticleLoaded’, pageTitle, {‘nonInteraction’: 1});
// console.log(“ga(‘send’, ‘event’, ‘Reading’, ‘ArticleLoaded’, pageTitle, {‘nonInteraction’: 1}”);
} else {
alert(‘The page has loaded. Woohoo.’);

// Check the location and track user
function trackLocation() {
bottom = $(window).height() + $(window).scrollTop();
height = $(document).height();

// If user starts to scroll send an event
if (bottom > readerLocation && !scroller) {
currentTime = new Date();
scrollStart = currentTime.getTime();
timeToScroll = Math.round((scrollStart – beginning) / 1000);
if (!debugMode) {
ga(‘send’, ‘event’, ‘Reading’, ‘StartReading’, pageTitle, timeToScroll, {‘metric1’ : timeToScroll});
} else {
alert(‘started reading ‘ + timeToScroll);
scroller = true;

// If user has hit the bottom of the content send an event
if (bottom >= $(‘.inside-container’).scrollTop() + $(‘.inside-container’).innerHeight() && !endContent) {
currentTime = new Date();
contentScrollEnd = currentTime.getTime();
timeToContentEnd = Math.round((contentScrollEnd – scrollStart) / 1000);
if (!debugMode) {
if (timeToContentEnd = height && !didComplete) {
currentTime = new Date();
end = currentTime.getTime();
totalTime = Math.round((end – scrollStart) / 1000);
if (!debugMode) {
ga(‘send’, ‘event’, ‘Reading’, ‘PageBottom’, pageTitle, totalTime, {‘metric3’ : totalTime});
} else {
alert(‘bottom of page ‘+totalTime);
didComplete = true;

// Track the scrolling and track location
$(window).scroll(function() {
if (timer) {

// Use a buffer so we don’t call trackLocation too often.
timer = setTimeout(trackLocation, callBackTime);

‘).insertAfter(“.inside-container p:eq(2)”);


Source link