Menu
January 19th, 2016

3 Fixable Problems That Could Drastically Increase The Speed Of The Web

Mobile App Testing Learn tips, techniques and trends for launching great mobile apps Get It Now
Like what you're reading? Subscribe to the weekly newsletter. Subscribe For Free

Images, APIs and SDKs … oh my.

When you dial up a website or an app on your smartphone and it takes more than 10 seconds to load, this is a problem. For all the strides that the computer industry has made to make smartphones more robust and capable of handling high-end computing tasks, Internet speed and performance is still a major issue.

Why is that?

It depends on what type of website or app you are accessing. The movement of the “visual Web” that was popularized in the last several year has made websites and apps much more aesthetically pleasing, but it also increased the bandwidth needed to load those sites.

Highly functional sites are packed full of slow-loading JavaScript. Video has taken over as the medium of choice for content dissemination. Ad networks are dynamically loaded from dozens of different sources … sometimes all on one page. Backend processes—analytics, trackers, re-engagement tools—have clogged the load size of pages and apps to the point that just loading the basics becomes a burden.

The App Quality Imperative Creating Apps that Win - 5 Challenges and 5 Solutions Get It Now

“Consumers are coming to you not from landlines and desktops but from mobile devices on cellular networks which inherently are getting worse and worse in terms of performance because no matter how much a Telco does in terms of having better cell towers and so on, the fact is that we are putting much more data on it,” said Ash Kulkarni, senior vice president of Web experience at Akamai, in an interview with ARC in 2015.

So while Internet speeds have gotten faster, the ability to handle the increasingly complex load has led to some poor experiences for people—especially on smartphones—everywhere.

See also: Dr. Tom Leighton: 4 Internet Challenges That Akamai Can Solve With Math

“Your apps and your websites are far richer with image content and other things. So the weight of the packets moving around is outpacing technology improvements on the radio/cellular side,” Kulkarni said.

In an era of ever-increasing data packets combined with limited computing power of smartphones and cellular data speeds, the performance of the Web has never been a more pertinent topic. ARC sat down with Kulkarni in late 2015 to discuss the issues of speed and reliability on the Web and within apps to determine what can be done to make connections faster

Image Bloat: Good For Aesthetics, Bad For Speed

ash_kulkarni_akamaiBig, beautiful images are taking over the Web (ARC is no exception in this). The full-width image on top of a news story is now the hallmark of high-quality publications. Image-centric sites—Facebook, Google Photos, Flickr, Instagram, Tumblr, Pinterest—are immensely popular, carrying the trend of the image-centric Web to the rest of the ecosystem.

All of these images put immense strain on the system, a fact pertinent to Akamai, which often has to deliver the data packets.

“If you see what is going on with how sites that are constantly becoming more image heavy just because of the richness that images really brings to us,” Kulkarni said.

See also: How Akamai Survived The Darkest Hour Of The Web To Become A Backbone Of The Internet

“That is a big problem because if you really think about the work that is involved in downloading a good experience, a good site, to load fast on your mobile device, if you images tend to be very heavy and not optimized for that device, that form factor, the compression rations et cetera, you are going to be moving way more bandwidth than you should be using. The quality of those images won’t be optimized for that device.”

Akamai has been developing a patent-pending technology that can pre-position images in a Web browser to increase speed and perceived image quality. Essentially, the image will be loaded in a lower quality but still visible format while the rest of the site is built. The image will slowly come to full quality as the site loads.

Kulkarni explains:

It is slowing building up the image over time. To your naked eye you see that it popped up immediately, but that is not what really happened. So when you see when was the DOM-complete event, it is going to happen much later but the perceived quality of how quickly that site was downloaded and available to your mobile device is just so much better. There is a lot we are doing in that area, even under the guise of like better performance for a mobile device.

There is a trick to it. The trick is how do you use math to figure out what is the right amount of data to send so that it is not grainy. You also don’t want the experience where it is a grainy image that slowly gets better. That is also pretty annoying to people. You want it to be crisp enough, but not the whole image. There are ways in which you can compute the right number of coefficients to send down. And given that our CEO is a math professor, everything—as you can imagine at Akamai—is very math based.

Speed Up Both Ends Of The Cellular Network

A double-sided problem should come with a double-sided solution. For Akamai, the cellular networks are not exactly the problem—Akamai will always say that it works with all its partners, from the networks to the edge providers—but the evolution and maturation of cellular speeds is sometimes a frustrating process.

Of course, the Akamai content delivery network helps with delivering content through its process of caching content at nodes across the world. But more work is needed to really increase performance in the era of bloated websites and apps.

Akamai attempts speed up wireless performance at both the cellular tower and on smartphones.
open_internet

Think of it as everything from co-locating with cellular gateways where the IP address typically gets assigned to protocol shaping when you are sending data over a TCP network of some sort,” Kulkarni said. “Being smart about looking at packet congestion and sending the right amount of traffic based on that.”

Akamai also can help speed up performance within apps with its own software developer kit that can help apps request and retrieve content more quickly from the network.

“A native app SDK to do a better job of accelerating content to apps,” Kulkarni said. Because these apps at the end of the day are often basically bringing Web content into their app. So you look at the Macy’s app … or any of these apps … airline apps. It is very image rich, there is a lot of stuff in there is effectively is like building a website.

APIs: The Dark Matter Of The Internet

The Internet has undergone some subtle restructuring of how it sends data from place to place over the last decade.

“Fundamentally, the world is being reshaped in that it is not all about HTML on HTTP anymore, but it is APIs. Everybody is re-platforming. It is all JSON on REST,” Kulkarni said.

As the Internet becomes more capable, the tools become heavier. JavaScript is an amazing tool, but much heavier than standard HTML and CSS tools. Developers are using more and more JavaScript in websites. The same problem that people and the network has with images (aesthetically pleasing/highly function while being the cause of bloat) is the same problem that is occurring with JavaScript.

Mobile Beta Management Learn the benefits, best practices and toolkits for mobile beta management Get It Now

“Because the other part of this is that these APIs are often heavier than HTTP hits,” Kulkarni said. “That is kind of counterintuitive, but if you think about it, HTML is pretty concise in how it helps define what you want to see on a page. It is the JavaScript that is heavy.”

Think of APIs kind of like the dark matter of the Internet. You can’t see dark matter, but you can measure it and it binds everything together. In the current era of the Internet, APIs serve the same function.

To help increase the performance of the Internet, the optimization of APIs must be a priority.

“If you have an app that is very REST heavy, you have the entire JSON payload, there is a schema associated with it that often ends up loading the whole packet,” Kulkarni said. “So what you are sending down is often much heavier than if you expressed it using style sheets and HTML. So we are seeing these really heavyweight traffic patterns on APIs where there is big opportunity for people to accelerate it but they just aren’t doing it that way today. It is a new, emerging world.”