It’s great when a new book on programming or technology surfaces online, so I was pleased when I discovered High Performance Browser Networking: What Every Web Developer Should Know About Networking and Web Performance by Ilya Grigorik (@igrigorik). Grigorik is a Google advocate and open source evangelist who has spoken at several O’Reilly conference presentation.
I learned about the book while researching for an article on analytics and mobile devices. I was really impressed with an O’reilly video in which Grigorik outlined critical browser performance issues with mobile development. The result was my seeking an online version of his book.
Good Networks Need Speed
The reasoning for this kind of book comes partly from the growing demand for mobile devices and the increasing capability of apps. It also stems form a growing number of plugins that connect browsers to useful applications. Business owners who have used Evernote or a Chrome plugin can see how a good application embeds itself into daily business activity.
The book is meant for developers, but its readability makes it worth the page turns. A small business owner who wants a deeper understanding of how the Internet works will gain solid networking insights. The text is written to help you understand what happens beyond just what is seen in a browser. Acronyms are shown alongside diagrams to visualize functions and ideas better.
Take this explanation and visual for a TCP (transmission control protocol :
All TCP connections begin with a three-way handshake. Before the client or the server can exchange any application data, they must agree on starting packet sequence numbers, as well as a number of other connection specific variables, from both sides. The sequence numbers are picked randomly from both sides for security reasons.
[Figure 2-1 from High Performance Broswer Networking]
Examples like this are a boon for those interested in app development, but need to consider how Internet protocols can impact decisions for future development or security. When Grigorik talks about latency – packet delivery between a browser and server – a reader can appreciate its impact if mobile devices are involved: Mobile devices have higher latency rates than that of desktops.
This means a business developing a system to share data or files must consider how the volume of information transmits. That may seem straight-forward information given the recent rise of mobile devices. Yet Grigorik provides the elements behind that statement so that the reader knows what links to latency regarding those concerns and a few business examples to back it up, such as the following aside:
Latency is an important criteria for many high-frequency trading algorithms in the financial markets, where a small edge of a few milliseconds can translate to millions in loss or profit.
Good Networks Are Also Supported by Good Decisions
The book gets divided into the nuances of networking protocols, such as Transport Layer Security, types of networks such as wi-fi and mobile, and API-related protocols. Grigorik has spoken a lot about the developer experience, and this book delivers state-of-the-art considerations that developers usually see, such as real-time notification, WebSocket, and WebRTC.
The end result is a better understand of standards that can alter a project, because the segments contain terrifically researched information.
Any reader will feel better about the decisions behind the details, even if those technical details really require someone who is beyond creating “hello world” programming messages.
There are some books that get the basics perfect, but the reader must find resources to get into the nitty gritty. Even if you are not a developer, you may want to give High Performing Browser Networking a browse to increase your Internet sophistication so that your plans contain the best sophistication possible.