How to test your app in different network conditions

Date By Patrick Kennard Tags Network Simulation / PacketZoom

Network latency and packet loss are inherent in mobile networks. To see what users experience in reality, many mobile network simulator tools allow you to test your app in different network conditions. So you’ve seen your app perform beautifully in the perfect network in your office, but what about in slow networks? Here's an obvious statement: different mobile networks around the world exhibit different behavior. Network type (LTE, 3G, 2G etc) is one of the most obvious differences that can affect an app, but not everyone has realized that the impact that network has on a mobile app is something that can (and should) be tested.

Read more ...

PacketZoom Rejected Super Bowl Commercials

Date By Chetan Ahuja Tags Super Bowl / PacketZoom

Super Bowl 50 is almost here in our own backyard and today we found out that our proposed superbowl commercial was rejected. I'm sure that this must be one of those situations where you have to know the right people to get in, but I think our bid of $54.27 was very reasonable. Check out the videos we had hoped to run below: Read more ...


Parse Developers - Scale for free with PacketZoom

Date By Chetan Ahuja, John P. Joseph Tags Parse / Scale

Last week there was some pretty big news in the mobile app developer community: Facebook is shutting down Parse. While giving the community who rely on Parse a whole year to find an alternative is a nice gesture from the Facebook/Parse team, it still sucks. Your choices are pretty straight forward: Find an alternative and rebuild your app, or host your own instance of the Parse Server on your own infrastructure. Part of what made Parse so great was that you didn't have to worry about your server side. Now, along with figuring out how to make you app work in a world without Parse (Yikes!), you have to worry about dealing with how your app will scale if usage starts to grow(double Yikes).

Read more ...

Measuring Network Throughput for Mobile Apps (Part II)

Date By Ravishankar Achanta, Aaveg Mittal Tags Network / Speed

In part I of this series we illustrated some cases of how you can measure throughput for a single file transfer and for requests that happen in series. We also discussed examples of transfers with parallel requests that should (and do) have the same throughput, but our calculations showed vastly different throughput numbers for different level of parallelism. This is because parallelism makes it complicated to measure the actual throughput achieved by the channel. While measuring throughput for serial transfers is straightforward using a method to calculate weighted averages, parallel transfers are typically measured in isolation by commonly used tools, which produce misleading results. So how should you go about measuring throughput for a mobile app?

Read more ...

Measuring Network Throughput for Mobile Apps (Part I)

Date By Ravishankar Achanta Tags Network / Speed

If your application has downloadable content and you care about how fast that content is getting delivered to your users, you should accurately measure the throughput seen by your app. Now, this sounds pretty simple in principle. Just take the amount of data transferred and divide it by the time taken. While that principle is true, putting it into practice can be surprisingly tricky when multiple parallel transfers are involved. We'll walk through some examples and try to develop an intuition for the complications involved.

Read more ...

What Apple's Mandate of HTTPS in iOS 9 Means For You

Date By Stan Hu, Tim Doyle Tags iOS / HTTPS

HTTPS

With the release of iOS 9, Apple has pushed developers to use HTTPS by default. While HTTPS provides an additional level of security, this change to HTTPS comes with some cost. This post discusses the implications for app developers and PacketZoom users.

Read more ...

Continuous Integration with the AWS Device Farm

Date By Leanid Vouk Tags Android / testing / automation / AWS / Device Farm

aws device farm

A few months ago Amazon introduced a cloud service named Device Farm for iOS and Android developers to test their apps on physical smartphones and tablets. At the moment they have 200 unique Android devices available to test on with the following testing frameworks supported: Appium Java JUnit, Appium Java TestNG, Calabash, Instrumentation, UI Automator, XCTest.

Read more ...

Introducing PacketZoom for Android

Date By Leanid Vouk Tags Android / networking / http

We're excited to announce the public release of our Android SDK today. At PacketZoom we designed a modern, UDP-based network protocol with mobile apps in mind. This enables faster downloads, reduced latency, efficient and reliable data transfers between your app and the cloud. You can download the SDK here.

In addition to speed, one of the advantages of PacketZoom is that it handles seamless transition between networks without interrupting ongoing sessions. This is a unique advantage of the PacketZoom protocol over HTTP/TCP stack in common use today. You can learn more about the PacketZoom protocol and our cloud service here.

Read more ...

Which Android HTTP library to use?

Date By Leanid Vouk Tags Android / networking / http

Today almost every app uses HTTP/HTTPS requests as the main transport for transferring data. Even if you're not using HTTP directly, there are dozens of SDKs which you may have included in your app (e.g. analytics, crash reporting, ads, etc.) that use it for networking. There are quite few good HTTP libaries available today, which any developer may consider to use in his project. I'll try to cover the main ones in this post.

Android developers have many different reasons to choose third party HTTP libraries over existing public APIs, such as HttpURLConnection or Apache Client. For example:

  • ability to cancel network calls
  • execute requests in parallel
  • connection pooling to re-use existing socket connections
  • local caching of responses
  • simple async interface to avoid blocking in main or UI thread
  • wrapping REST API calls
  • retry policy and backoff
  • efficiently load and transform images
  • serializing through JSON
  • support SPDY, HTTP/2
Read more ...

Lessons Learned: TCP slow start doesn’t have to be so slow

Hello! I’m Aaveg and I like taking long rides on my motorcycle and watching exciting cricket matches when I can find them. I’m also a Lead Engineer at PacketZoom working on our UDP based protocol and this is my first blog post. I’m hoping to shed some light on areas of mobile networking that I believe could be done much better. In particular, I'd like to shed some light on the problem of TCP slow start, why is it required, and what kinds of things we do to avoid the "slowness" of the slow start in PacketZoom protocol. Read more ...