Piwik is the leading open-source analytics platform that gives you more than just powerful analytics: * Free open-source software * 100% data ownership * User privacy protection * User-centric insights * Customisable and extensible

Nobody has ever implemented an OAuth flow for their application and then said, “That was fun. Let’s do it again.”

Don’t believe me? Just go to Twitter and search for “OAuth Sucks”. Or just search “OAuth”. Or best of all just follow the OAuthSucks Twitter account. It’s a sentiment that’s so common, it has it’s own Twitter account. How did I find this account? I tried to register it of course.

But why is OAuth so awful? And does it have to be this way? In this post, we’ll take a look. OAuth (2.0 specifically) has a litany of problems, starting with the fact that the 2.0 spec itself essentially allows anything to be considered “OAuth compliant”.

I guess the first question is why, why has one style swept across the web design world and been implemented across so many websites? I’ve thought and thought about this and never really come up with a single answer. Initially I looked at the huge theme market that exists where creators sell their themes to any number of customers. The theme market is massive, and as a result creators mimic the best selling work in an effort to make more money. You’re not going to make a lot of money in the theme market by going out on a limb and creating something incredibly unique and personalised. Generic wins out every time.

PostCSS is a tool for transforming CSS with JS plugins. The growing ecosystem of PostCSS plugins can add vendor prefixes, support variables and mixins, transpile future CSS syntax, inline images, and more.

PostCSS is used by Google, Twitter, Alibaba, and Shopify. Its most popular plugin, Autoprefixer, is one of the most universally praised CSS processors available.

PostCSS can do the same work as preprocessors like Sass, Less, and Stylus. But PostCSS is modular, 4-40x faster, and much more powerful.

We have broken HTTP. We’ve done it for years in fits and starts, but apps have completely broken it. HTTP was a good specification which we’ve steadily whittled away.

URLs have a purpose. We are very cavalier about that purpose. We don’t use canonicals. We’re sloppy about switching back and forth between HTTP and HTTPs. We don’t bother to logically structure our URLs. We rebuild websites and let all the links break. We don’t appreciate that crawlers are dumb and they need more context than humans.

The author goes on to complain about the misuse of HTTP methods and status codes as if he had never heard of REST APIs. Overall, though, he makes some good points.

For years, we’ve known what’s been weighing down our responsive pages: images. Huge ones, specially catered to huge screens, which we’ve been sending to everyone. We’ve known how to fix this problem for a while too: let us send different sources to different clients. New markup allows us to do exactly that. srcset lets us offer multiple versions of an image to browsers, which, with a little help from sizes, pick the most appropriate source to load out of the bunch. picture and source let us step in and exert a bit more control, ensuring that certain sources will be picked based on either media queries or file type support.

We tend to see the web as a reactive model, where every action causes a reaction. Users click, then we take them to a new page. They click again, and we open another page. But we can do better. We can be proactive with prebrowsing.

Welcome to FlatIcon: the Fastest Tool that Converts Fabulous Icons into Web Fonts.

Glyphr Studio is a free, html5 based font editor.

Font design has a high barrier of entry. Professional font design programs are very complex, and quite expensive. Glyphr Studio is accessible, streamlined, and made for font design hobbyists... and it's free!

One of the most powerful features of the CSS preprocessor Sass is the mixin, an abstraction of a common pattern into a semantic and reusable chunk. Think of taking the styles for a button and, instead of needing to remember what all of the properties are, having a selector include the styles for the button instead. The button styles are maintained in a single place, making them easy to update and keep consistent.

|< First   < Previous   11–20 (161)   Next >   Last >|