Google search data shows that average monthly search queries around instructions on how to use snapchat are 10x those of Instagram, and 100x those of Youtube-- a platform I consider to have great usability, partly measured by the fact that I could teach it to my 87 year old grandma who has never used a computer or tablet.

Why Did This Happen?

The big mistake that led here is something that I've noticed Instagram be extremely careful of. For example when Instagram was just a feed, with the ability to add photos and added the ability to send direct messages, they did not hide the direct messaging ability behind a swipe gesture like Snapchat did. Instagram is not an example of perfect execution, but when you take into consideration the number of features they've added over recent years, and their ability to keep the navigational structure, and discoverability simple, they deserve credit. When these concerns are considered in design, it creates the design culture at the company, and Snapchat's design culture started out as sticking features on top of each other, and snow-balled.

Snapchat never had, what I will term a "scalable information architecture", or "scalable navigational structure". What I mean by this is a navigation structure that can be added onto, while keeping discoverability of features, and not disrupting the existing feature flow. The litmus test for this is:

If New-Feature-X is added, would it in any way interrupt or confuse existing users and their use of existing features or current user flow? Is the New-Feature-X discoverable?

The way Snapchat added features over the years only met the first criteria, and only for it's core feature... for example the first criteria was not met for the Second-Feature, once the Third-Feature was added, and this snow-balled. This is very similar to regression testing software for bugs, think of it as regression-user-testing.

As for the second criteria, one big reason for the lack of discoverability is that a lot of the features are gesture based, and therefore hidden behind other features. I feel like if user tests were done, all of this could have been prevented to some degree, and would have in the long term led to a higher user adoption amongst the masses.