321 private links
Formalizing REST APIs
My API is up to level 2 on the Richardson Maturity Model. So my API is more an HTTP+JSON RPC than Rest.
The short answer to this question is that HATEOAS isn’t a good fit for most modern use cases for APIs. That is why after almost 20 years, HATEOAS still hasn’t gained wide adoption among developers. GraphQL on the other hand is spreading like wildfire because it solves real-world problems. ‒ GraphQL and REST Level 3 (HATEOAS)
I feel this feeling too that something is wrong
Rather than interrogating a device directly, we ask the device vendor to do it for us.
I see so much problems coming 🍿
At the same time, I like the idea so much!
4 parties involved:
- an origin (service provider)
- a client (service consumer)
- an attester (proof the client is real, for example device vendors)
- an issuer: producer of the token called by the attester and choosed by the origin
An enormous ad-blocking list!
I have a bad experience with carousels as the user can not control it.
Instead:
- ResidentAdvisor avoid carousels altogether, highlight three last features, and invites users to explore more with a “View more features” button.
- Australia Post uses a dynamic layout to highlight all features together in the same area.
- 168plymouth uses mini-carousels for each feature that they want to highlight. There is no rotation, no auto-advancing, and you can move only in a single direction — moving backward might not be necessary with just 4 images that every panel contains.
TL;DR refers to the language selector checklist
In my experience, when asked to change a country or language, a vast majority of users will immediately head to the header of the page first, and if they can’t find it there, they’ll jump all the way to the bottom of the page and scout the footer next.
I find this rule true in my experience:
We can’t confidently infer users’ preferences without asking them first.
While polite nudging is reasonable, automatic redirects are not.
As a rule of thumb: let the user choose between language, country and currency.
For example, if you want to purchase sneakers on Adidas from Germany but deliver them to your friend in Poland, you need to be able to make sense of the Polish language when checking out.
Moneses shows two tabs in the right upper corner of the header. Users can switch between language and country, defining preferences for each separately. [...] We can allow users to customize further parts of the UI, from currency and auto-translation to units of measurement and date formatting.
Preferred customization:
- shipping location
- preferred currency
- units of measure
- time/date formatting
- time zones preferences
- level of experience
Modal windows are often dismissed. So, In the mock-up above [with a modal on the bottom right], the important content isn’t blocked by the modal.
- display most languages/countries in their local format . It avoids the assumption that the user needs to understand English.
- breaking options down by tabs, either horizontal or vertical ones
- provide users with poignant autocomplete suggestions. But Sometimes the fine-tuning of making autocomplete work for many different languages might be an effort way too underestimated and way too time-consuming.
- Use the globe or translate flags to indicate the choice of locales
On Atlassian, if the user with a different browser language preference enters the site, it suggests changing the language at the very top of the page, with a globe icon appearing there, too.
Infinite Scroll checklist
*If in doubt, always prefer pagination.
- With infinite scroll, always integrate a footer reveal.
- Consider separating “old” and “new” items visually.
- Provide an option to continue browsing later.
- Consider using “load more” + infinite scroll together.
- Consider using pagination + infinite scroll together.
- Change the URL as new items are loaded in and expose it to users.
- Allow users to jump to any page with a pagination drop-down.
- Consider using scrollbar range intervals.
- Consider allowing users to pin or bookmark items/areas of interest.
- Make sure accessibility and performance are major considerations in the implementation.
I totally agree and it felt natural to me
Memory and local storage are great for “private” state — settings, caches, history. URL parameters are good for the “public” state, so that one could bookmark or forward the stateful link.
LOL
A framework for building a web app in Rust 🤔
May be useful someday.
It's true that the Rust ecosystem is growing and tools are coming. But we lack the knowledge of how we can put things together. Here it fills the gap.
Comparing common concepts of web frameworks daily usage.
For each concept, an example in the framework is provided.
I would also prefer an open web instead of limited super-apps.
What will happens when the web content will be published to these platforms only, as it is currently the case with the different channels ?
Characteristic measured | External linked .css file |
inline stylesheet with <style> |
---|---|---|
Mobile friendliness | 100/100 | 100/100 |
Mobile speed | 89/100 | 98/100 |
Desktop speed | 96/100 | 98/100 |
PageSpeed Score | A, 96% | A, 97% |
YSlow Score | A, 95% | A, 96% |
Page Load Time | 0.7s | 0.5s |
Total Page Size | 116kb | 116kb |
I’m saying: consider the options, weigh them up against the norm and test them out. As long as you have a good reason behind the implementation, it kind of doesn’t matter what others think.
Why zoom is deactivated on some websites ? What is the advantage ?
You can force it though:
In Firefox find the settings, select “Accessibility” and activate “Zoom on all website”
In Chrome find the settings, select “Accessibility” and check “Force enable zoom”
A blog made of different component. We can see them on hover.
Instead, we can mix 3 or 4 designs together to create something unique. For example, maybe I’ll take the color scheme from one site, the general layout and spacing from another, and the typography styles from the third!
When I’ve mentioned this strategy to actual designers, they laugh and say that it’s what they all do. I think this is their version of the “joke” that programmers spend half their time googling things.
A report of all important event concerning the web
Icons, Illustrations, Elements, Emojis