Few people have watched the evolution of in-flight Internet service more closely than Zach Honig.
As an editor for travel-and-credit card tips site The Points Guy, Honig flies tens of thousands of miles annually, and for years he couldn’t guess whether a flight would have working Wi-Fi. In 2017, Honig even turned the problem into an opportunity for charitable giving: Each time he paid for Wi-Fi that turned out to be unusable, he complained to the responsible airline. Typically, they would offer him airline miles as compensation, and Honig would donate those miles to charity. He ultimately gave away more than 100,000 miles, or the equivalent of about $1,000, in Wi-Fi apologies.
Two years later, Honig says the project wouldn’t work as well today, thanks to technology upgrades by the main providers of airborne Wi-Fi. But a continuing stream of public complaints show that in-flight Wi-Fi still isn’t entirely reliable, and that passengers are often angry about it.
Here’s why Wi-Fi is so bad and how you can improve your chances of getting good service:
Pick the winning tech
The technology powering in-flight Wi-Fi naturally impacts how well it works. That tech falls into two categories—data can be beamed up from cell phone towers on the ground, or down from satellites in space. Of the three main providers of in-flight Wi-Fi, GoGo initially grew its business with cell tower-based service, while Viasat and Panasonic are satellite-first.
Honig says satellite Wi-Fi is generally faster than ground-based service, and carriers including American Airlines have been transitioning to the technology, explicitly calling it “faster.” Satellite service is also better at keeping Wi-Fi working all the way to the gate, while ground-based systems sometimes only work after a plane has reached cruising altitude. Even GoGo is moving towards offering more satellite service—particularly important for intercontinental flights, since, well, there aren’t any cell towers on the ocean.
Unfortunately, airlines often use a mix of service providers and technologies across their fleets. To determine what technology is on a particular plane model or route, Honig recommends simply Googling the airline name and “Wi-Fi.” That should bring up the airline’s in-flight entertainment page, which usually has updated information about the technology that each jet model uses.
All things being equal, opt for satellite service when possible.
Gauge supply and demand
Unfortunately, though, airline Wi-Fi depends on factors beyond simply the kind of technology being used—factors that are a lot harder to predict.
“What matters to you as a user isn’t just the speed [of the connection], but how many people you’re sharing it with,” says Viasat CEO Mark Dankberg. That includes not just people on the same plane, but on other planes served by the same satellite. Overload can cause the most frustrating kind of in-flight Wi-Fi experience: a connection that is unreliable or excruciatingly slow.
Most airlines have chosen to use Wi-Fi pricing to control bandwidth use. Prices vary based on route and time of day, and it can cost as much as $40 to connect for a single flight. This helps provide good connections for people who are willing to pay—but the unpredictable pricing just adds another headache.
One predictable dynamic, according to Honig, is that prime in-flight Wi-Fi on business routes (such as London-New York and New York-L.A.) tends to be pricier, helping deter leisure travelers from using bandwidth for, say, watching YouTube videos. So you’re more likely to find good Wi-Fi on business-focused routes, but you’re also likely to pay more for it.
Savvy travelers can reduce sticker shock with a Wi-Fi subscription. GoGo’s are around $50 monthly, which for frequent fliers should be cheaper than buying Wi-Fi on a per-flight basis. But they’re usually for specific airlines, so they may work best if you already have a go-to carrier.
Ask about your flight’s Wi-Fi at the gate
There’s another reason airline Wi-Fi can be spotty. Because it’s not considered critical, airlines are hesitant to ground planes when Wi-Fi equipment, such as an antenna or router, is broken. According to Honig, a plane can fly for weeks without working Wi-Fi equipment before getting repairs.
Airlines try to work around this, including by shifting planes with broken Wi-Fi to leisure instead of business routes. But if you absolutely have to be connected on a flight, your best bet is to confirm with a gate agent that your plane’s Wi-Fi is working. Honig says airline staff are increasingly empowered to offer flyers transfers to new flights if the Wi-Fi is on the fritz.
The dream of free, reliable airline Wi-Fi
All in all, airline Wi-Fi remains spotty, but we may be on the cusp of big structural change. In 2017, JetBlue became the first major carrier to offer free Wi-Fi fleet wide, in partnership with Viasat. The service has generally been described as reliable and fast, even without a charge to keep bandwidth demand down.
That’s possible in part because of Viasat’s business model. It developed and owns its own satellites for Internet data, which Dankberg says produce 10 to 100 times the bandwidth per capital dollar of any other satellite. Some of Viasat’s satellites can redirect data streams where they’re most needed—for instance, shifting bandwidth from New York to Los Angeles to match peak demand times. Dankberg says that has allowed Viasat to keep per-user costs down to “not much more than the cost of a Coke and a bag of peanuts,” making it easy for JetBlue to simply roll the cost into ticket prices (with some help from an Amazon partnership).
By contrast, service based on bandwidth rented from third parties may be less reliable because it’s harder to accurately plan ahead for demand. GoGo, which leases its bandwidth from a variety of satellite operators, has responded to these critiques by emphasizing that Viasat’s focus on owning its own satellites puts a hard cap on total bandwidth. But in a recent trial, Delta says it found that GoGo couldn’t support the bandwidth needed for reliable free Wi-Fi. So, perhaps, score one for Viasat.
And Viasat is moving ahead with the launch of its next generation of satellites, known as Viasat 3, starting in 2021. Viasat 3 will offer more bandwidth, and more flexibility to dynamically allocate it. Dankberg says the system is a bet on a future when in-flight Wi-Fi is free on all airlines – and, hopefully, actually works.
More must-read stories from Fortune:
—Big tech companies avoided over $100 billion in taxes. What that means
—The world’s fourth-largest economy is going cashless
—2020 Crystal Ball: Predictions for the economy, politics, technology, etc.
—A.I.-piloted drone race gives $1 million prize. The winner still couldn’t beat a human
—The iPhone app of the year gives your camera a long exposure boost
Catch up with Data Sheet, Fortune’s daily digest on the business of tech.