1,434 karma · joined April 2, 2012
[ my public key: https://keybase.io/yuchi; my proof: https://keybase.io/yuchi/sigs/iHLqZwLH8F262yODwR0xQa6RSxGBb4-BmsSMyUkiHY0 ]
It’s interesting that 10 (more?) years later the product has not evolved and, apparently, hasn’t found a way to finance itself without removing the pure free tunneling option.
When you actually design interfaces you discover that there are way more states to keep in mind when implementing asynchronous loading.
1. There’s an initial state, where fetching has not happened yet
2. There may be initial cached (stale or not) data
3. Once loaded the data could be revalidated / refreshed
So the assumption that you either are loading XOR have data XOR have an error does not hold. You could have data, an error from the last revalidation, and be loading (revalidating).
With attributes strings it’s trivial, you just need to move attributes accordingly and to normalize stuff at the end.
Incredible article btw
That said, very interesting. A cool tool to have in your belt.