I enjoyed this post from Keith Cirkel at GitHub.
If you’re ever like… progressive enhancement sounds nice, but what major web apps actually do it? Multi-billion dollar GitHub is one example.
JavaScript doesn’t get executed on very old browsers when native syntax for new language features is encountered. However, thanks to GitHub being built following the principle of progressive enhancement, users of older browsers still get to interact with basic features of GitHub, while users with more capable browsers get a faster experience.
The fact that the click-to-open menus still work is a real nice bit of polish.
I also like how they distinguish types of visits and what those users are doing.
We consider logged-in vs. logged-out, and main vs. a secondary browser to be important distinctions, because the usage patterns are quite different. Actions that a logged-out user takes (reading issues and pull requests, cloning repositories, and browsing files) are quite different to the actions a logged-in user takes (replying to issues and reviewing pull requests, starring repositories, editing files, and looking at their dashboard). Logged-out activities tend to be more “read only” actions, which means they hit very few paths that require JavaScript to run. Whereas logged-in users tend to perform the kind of rich interactions that require JavaScript.
I would think that pattern of logged-out visitors not requiring JavaScript would hold true in quite a few apps.