A lot of people love apps like Snapchat and Instagram. A lot of those same people hate Snapchat or Instagram when they check out the quality of photos and video the apps upload. And most of them are using an Android phone.
It can be pretty frustrating when you see just how good the camera on your phone is compared to the quality your friends and followers see when you upload a video, but know that you or your phone probably aren't to blame. It's just a case where there isn't enough development time to make everything perfect.
Software development is hard
There are a lot of people working on super-popular apps like Instagram and Snapchat. When your app does so many things, like capture video, play video, upload video, and then do all the social interaction "stuff," you need plenty of talented people developing it.
It's the case of one versus many again.
When you add hundreds of different phones with hundreds of different cameras and hundreds of different screen sizes and resolutions, it can seem impossible. With Android, that's what you have. Developers have a particular set of rules and instructions about how to use the camera in iOS because there are so few models, and Apple does the work of making a set of rules that work on all of them.
That's not how Android works. If you want a big phone with a big screen, you have plenty of choices from plenty of companies. The same goes if you want a smaller phone or a cheap phone or an ultra-high resolution phone. Android is software that works on many things, while iOS is software that works on just a few things that all come from the same company.
That means that there are countless different camera setups that Snapchat and Instagram need to support. And they could offer the same level of quality and support that is there for iOS if they wanted to, but that would mean hiring a lot more people and taking a lot more time.
There is a basic way to use an Android camera that works for every phone, but it's not great.
Google learned this early in Android's life: developers either can't or don't want to support many models of phones with many different camera setups. The solution was to offer a bare minimum level of support that works with every phone. Your new Galaxy S20 might have a spectacular camera, but with none of the extra features and none of the automatic control that Samsung built into it available, you get that bare minimum. And it shows.
Google is trying
Let's take a look at the Samsung Galaxy S20 Ultra. That camera may have turned out to be a bit of a disappointment when it comes to the loooong zoom, but one thing is certain — the base Android 10 camera APIs are not going to cut it when it comes to using those features.
Google can't support every feature a phone maker adds.
That's because Android just doesn't have those kinds of camera features built into it, and Samsung had to do the work itself. That means any app that tries to use the camera either has to have access to all of Samsung's stuff or stick with the basic Android camera features. This is why things like the Moment Pro Camera app for Android get discontinued — the developers just can't make it all work.
Google knows that a bare minimum camera API doesn't cut it any longer, and it has released what it calls the Camera X Jetpack library. This would allow for any company which makes phones offer third-party apps like Instagram or Snapchat to use the camera features it has built.
It's a good attempt at a fix, and because of how Android works, where any company can alter much of the original Android code, it's the only solution Google has short of forcing companies like Samsung to stick with the basic Android camera feature set. Since Google can't or won't do that, we're in this pickle.
Things are better than they used to be.
And unfortunately, Google's efforts will probably be in vain. Samsung isn't about to open up its secret camera sauce for anyone else to use, and Google isn't forcing it to. Google is offering, and companies aren't likely to bite because things like special camera features make their products stand out.
The good news is that camera quality on Snapchat and Instagram has improved a lot in the past couple of years, but the bad news is that it still can look great or it can look grainy and blotchy and really, really bad. The solution is going to take a meeting of the minds, and that could be a long way off.