And here they are, trying to add more 'features' into an app where its main feature has been inherently broken since inception.
edit: this post kinda blew up. to see a real side-by-side comparison, https://imgur.com/a/wuaZi
Dealing with Camera 1 vs Camera 2 Android APIs, and device specific issues is a mess, I don't blame them for taking the easier route. The iOS camera system is a lot easier to develop against, so I blame Android for this rather than Snapchat.
I kind of blame Android too, as a dev I know how crappy the camera APIs can be. But as a user, it stands that only Snapchat takes crappy photos because it doesn't use the standard API, everything else works fine. (Okay actually Facebook Messenger does this too, but oddly the main Facebook app does it right).
Good thing it still has the native app
Is Snap obligated to transport your high-res images via the agreement you have when using their software?
Sounds like a market opportunity for software that doesn’t screw you over
In case you haven't noticed, Snapchat main hurdles these days is that their growth is vastly slowed down by the "stories" timeline on the Facebook app (Instagram, WhatsApp, messenger) that do offer higher quality of pictures.
We’ve been here before. Especially on this HN. The whole setup itself is banal
Are we supposed to sit here and fix their problems? What point does that serve
It’s like forcing an author to change their story.
Get over it, America! No one cares about gameifying Silicon Valley
Technical debt is always the last concern in the product. But for once, it's manifesting itself as a real user-facing problem which was acknowledged in the last SNAP earnings call for the Android app.
It's not as if Snapchat are a tiny company with nobody smart enough to notice there's a camera API, this is intentional.
If you want to send a quality photo to a friend, there are apps for that.
you literally take photos and send it to people
This hasn't been the primary focus for years. You can now send Snaps that don't expire after a time limit, and can save your snaps to your storage or Snap's cloud storage (called "memories").
If I was making an app with photo taking capabilities, I would explore the Snapchat route. Obviously Snapchats users are ok with this for the most part.
I have made countless cross-platform AR apps for mobile and desktop. Never an issue with WebRTC/getUserMedia, iOS, windows, etc. However Android is always a nasty problem. From incorrect aspect resolutions, image stretching, silent fails. Each device needs a custom fix which is time consuming and costly. No wonder why Snapchat went an alternative route.
On Android I really had trouble in getting the preview stream to line up with the photographs. I needed to keep the preview resolution low enough that devices could process it and present to the screen in real time. But not all devices have the same preview and photograph resolutions.
I found there were inconsistencies between the way the image was cropped (on the OS/hardware level) between different resolutions.
You can take a preview stream at resolution X, and it would appear full frame. Then you would take a photograph at resolution Y, and despite being the same aspect ratio, it would be cropped differently. The results varied between devices, with some matching the crop, some vertically, some horizontally, and (as far as I could tell) there was no way to identify programmatically how the camera was doing the cropping. It seemed to be being done at a level much lower than I could access.
In the end we just had to compromise on a resolution in the middle and use it for both preview and photo.
It may not be the reason, and maybe there's a way around this, the project was a year or two since now. Implementing the same thing on iOS I didn't run into the issue.
Example: If I get a plaintext chat message through snapchat, and I tap the notification to open it, do I go straight to the chat thread? No, I'm dropped at the camera, which has to start streaming and download all the new filters and god knows what else until it allows me to swipe left to get to chats, then tap the specific thread to see the new message.
In the end, these photos are meant to be looked at for max 10s with stickers/drawings/text superimposed. You don't need a high quality shot for that.
The excuse of "oh it's just for quick sharing so we don't have to focus on quality" is a strawman argument that doesn't really work, because the tech is there to allow it to function both beautifully and quickly - they just don't put the resources into making it happen.
I am but one person, but there are far more complaints about the quality of the photos, than the milliseconds of lag you see hitting the capture button.
I am an Android user as well (I own a Nexus 4, 5, 6, and the 2013 wifi version of 7) and I welcome this feature. I think they will fix the Android way of doing things at some point. In fact, if I had the choice of entirely disabling the new swipe right vs a beautiful camera API experience I'd pick the former. I don't care about the Kardashians and I don't want them on my snapchat. If that means I have to live with a crappy camera, I am ok (mostly because my friends are all on iPhone and I mostly watch snaps rather than post them)
This seems unlikely.
More likely scenario: the developers chose to keep their jobs and did what management told them.
1. Compatibility with old devices or API levels
2. Performance optimisation for the filters
3. Lack of priority for the Android app
On my iPhone, Snapchat definitely uses the full fledged APIs and even uses OIS or the image processor to pick/merge the best frame out of the video stream (a lot of blurry photos I take are unblurred), so I’m not sure why the Android experience is allegedly so lacklustre