To render a webpage browsers needs to go through the complex dance of networking, parsing and painting before any content can be displayed to your user. Over the years, we’ve developed mechanisms and hacks to aid the browser at each stage of this process, but these have always come at some cost or trade-off.
How can we utilize modern web platform features to load our CSS as fast as possible? Should we still be inlining our critical content into the document or instead, how can HTTP/2 server push and Service Workers help us?
A few weeks ago, we asked our readers and the community to use everything they could to make their websites and projects perform blazingly fast. Today, we’re thrilled to show off the results of this challenge and announce the winner who will be awarded with some smashing prizes indeed!
What prizes, you ask? The winner wins a roundtrip flight to London, full accommodation in a fancy hotel, a ticket to SmashingConf London 2018, and last but not least, a Smashing workshop of their choice.
The web has changed the way we work. Startups rethought what offices look like, and with a laptop in your bag, you can get work done from anywhere anyways — no matter if it’s your desk at home or the cozy coffee shop around the corner. Over are the times of dark and stuffy cubicles — in many companies, at least.
To remove the dust from the term “office” and give the visuals revolving around it a fresh and friendly face, too, the creative minds at Vexels designed a set of 32 office-themed icons.
Oh yes, the infamous mystery riddles are back! To celebrate the relaunch of this little website, we’ve prepared something special yet again — a Smashing Emoji Mystery Riddle. And this time, instead of scouting an answer in a physical place or on Twitter, it’s well hidden somewhere on this website.
So, What Can You Win? Among the first readers who tweet @smashingmag all the hidden emoji, we’ll raffle a quite extraordinary, smashing prize (and a couple of other Smashing extras):
Since the early days of the web, designers have been trying to lay out web pages using grid systems. Likewise, almost every CSS framework attempts to implement some kind of grid system, using floats and often leaning on preprocessors. The CSS Grid Layout module brings us a native CSS Grid system for the first time—a grid system that does not rely on document source order, and can create complex layouts which are easily redefined with media queries.
You’ve been there: big bang redesigns are usually a very, very bad idea. Redesigning and rebuilding an existing website from scratch is risky and unpredictable, and in many cases the level of complexity is highly underrated and underestimated. In mid-2016, Smashing Magazine decided to make a big switch from the existing WordPress setup to an entirely new design, entirely new architecture (JAM Stack) and an entirely new, GitHub-based, editorial workflow.
Oh yes, the infamous mystery riddles are back! At this point, you might be used to endless, mischievous, tricky, mean, time-consuming and intricate Mystery Riddles, and the new one is no different.
To celebrate the relaunch of this little website, we’ve prepared something special yet again — a Smashing Emoji Mystery Riddle. And this time, instead of scouting an answer in a physical place or on Twitter, it’s well hidden somewhere on this website.
When a user of your application has forgotten their password, it can and should be reset securely. To accomplish a secure password reset, I will demonstrate how to use JSON Web Tokens (JWT) to generate a URL-safe token. The JWT contains encoded information about the user and a signature that, when decoded, is validated to ensure that the token has not been tampered with.
Once the JWT is validated, your application can securely allow the user to generate a new password, instead of sending them their forgotten one.
If you’ve ever tried to implement a bulletproof, good-looking file uploader, you might have encountered an issue: uploading an entire folder or folders of files is usually quite a hassle, as files in each folder have to be selected manually. And then some folders might contain sub-folders as well.
Well, we can use webkitdirectory, a non-standard attribute that allows users to pick a directory via a file input. Currently supported in Chrome, Firefox and Edge.