Some interesting thoughts from Jeremy Keith about his concerns with Web Components:
Compare Service Workers to web components.
First of all, ask the question “who benefits from this technology?” In the case of Service Workers, it’s the end users. They get faster websites that handle network failure better. In the case of web components, there are no direct end-user benefits. Web components exist to make developers lives easier. That’s absolutely fine, but any developer convenience gained by the use of web components can’t come at the expense of the user—that price is too high.
I shut down my browser on Wednesday, accidentally having a setting switched on that clears history and all sessions. First, I was sad to have lost many tabs with articles I stored “for later”. At the same time, it felt refreshing, liberating to have a clean browser window with zero tabs open. So my new goal is to start work in the morning with a completely clean browser window at least once a week.
In other news: I spent several hours fixing broken links this week, and as a result I can’t say how happy I am that archive.is and archive.org exist to prevent content from disappearing forever. Still, some of the resources I found broken have left forever. So remind yourself about redirecting content.
In 2016, we’re living in an age of information saturation. At each turn we are bombarded with images and messages; everything we could ever want to know is at our fingertips (literally). With two thirds of us owning smart phones, and each of us checking our devices 85 times a day we are finally at the stage where enough is enough.
We want simplicity back. This can be seen throughout the design world where distilled versions of logos are being created in order to cut through the noise of millennial living.
Minimalism is often thought of as cold and callous, but this does not have to be the case. Simple design, when used correctly, can articulate the most important part of a brand’s message. So, what simplistic logo designs are emerging in 2016?
UI-friendly typography
We’re interacting with multiple screens more than ever, and brands are realizing their logos must be scalable so they look great no matter what platform they’re viewed on. A great example of this was Google rebrand last September. Their logo was modernized to a sans-serif font. The product management Vice President of the company explained the change:
We think we’ve taken the best of Google (simple, uncluttered, colourful, friendly), and recast it not just for the Google of today, but for the Google of the future.
Ombré
The traditional color gradient is now being replaced with stepped color increments. A gentle path is formed from A to B, and from a distance the logo looks like the colors flow from one color to the next. Ombré logo design allows for texture and pattern to be introduced to the design and helps define edges.
Negative Space
This has been popular for many years, though it fell out of favor recently. In 2016 we see this trend re-emerging. Negative space designs traditionally incorporate subliminal messages. Negative space creates balance, in the design and adds a secondary dimension to help communicate the brand’s message to the customer without the use of words.
Linked
Logos are great metaphors for what your brand stands for; using linked imagery describes your brand in an instant ad strong and connected. The visual representation a linked logo gives is extremely powerful. Today we are more linked than ever with others through the power of the internet, and brands are rightly using this analogy to strengthen their logos.
Corners
The psychology of shapes is powerful, and audiences are influenced by the shapes we see. Squares and rectangles create an inner tranquillity. This is thanks to their natural conformity that we in society crave. These right angles show further that simplicity has returned. Four corners symbolizes unity of an organization, whereas a standalone corner can represent a house, an arrow encouraging movement from the user. Corners can be used in a manner of ways to express unique messages from brands.
Line art
Line art was huge in 2015 and can still be seen today. Monoline designs use one solid line throughout the logo and they appear playful in nature as they echo days of childhood drawings. For 2016 the monoline logo has evolved into line dash design. These lines create a sense of motion and add a secondary dimension to the logos of 2015. Of course, in the days of technology designers must be careful when scaling these designs so as not to reduce the visible detail.
Bars
Users engage with designs that incorporate rhythm well, as in our daily lives we seek rhythm so as to create meaning in the chaos. Logos that incorporate pattern bars connect with the customer as it gives them a sense of control; they know what is following. Much like the corner trend, the rectangular shapes of bar logos connote the solid structure of the organization.
The 2016 logo landscape
Today’s consumers need logos to be designed ASAP—As Simple As Possible. Cut through the clatter of 21st century living with inspiring designs, that communicates your brand’s message clearly. Simplistic design is not about taking away design aspects, but rather clear messages through extremely considered choices.
Looking for a new way to experience Instagram and get something more out of it? If you are, then Instagram Stories is just the kind of update that you’ve been waiting for.
Instagram has always been the platform to give your friends and families updates of special occurrences and events in your life. So it makes sense that this new feature builds on that by letting all users tell their stories in the form of a slideshow.
According to Instagram, Stories is designed to help users share all of their day’s moments, not just the ones that stay on their profile. Multiple videos and images will begin appearing together now as part of a slideshow.
Users will be able to share as much as they see fit each day—and not have to worry about excessive posting. They can get as creative as they want with each update, using the new drawing and text tools that Instagram has also made available to them. To avoid social-media overload, Instagram will remove the images and videos after a 24-hour period, and they won’t continue to show up in the feed or your profile grid.
People can also see stories from those they follow, whether that’s friends and family or noteworthy accounts. By simply glancing at their feed and viewing the bar on top, they can see colorful rings around the profile pictures of those with new updates.
When something looks important enough to check out, you can simply tap on someone’s profile picture to see their story. See various stories at your own pace by tapping to go either forward or back and swiping to skip to the next profile and its story.
What’s really interesting about Stories is that users won’t be allowed to register or leave public likes or comments for them—unlike with ordinary posts. To leave a comment on a Story, just tap to send a private message to that individual on Instagram Direct.
A Story also follows the privacy settings of one’s account. Let’s look at how this works…
When your account is set to private, your Story is only going to be visible to your followers, but if it’s public, then anyone can see it. This doesn’t mean that your Story has to always be visible to your followers: You can hide your Story from anybody whom you don’t want seeing it, even if they follow you.
If you’re watching your own Story, you can swipe up on the screen to find out who has seen every image and video. You also have the option of just featuring a certain portion of your Story by posting it right to your profile.
Look for Stories to roll out on the entire platform in the next few weeks on both iOS and Android. Thanks to Stories, users can now share their highlights and most important events—and everything in between.
The idea of breaking up your code into smaller bite sized chunks creates an environment that is easy to work in and maintain. That’s often thought of as module design, and is a standard for web development these days. I’m going to show you a way you can use module design to better organize your Grunt tasks.
This is pretty normal looking Gruntfile. Actually this is a pretty small one. I’ve seen Gruntfiles that have been three time this size. Looking at those large Gruntfiles gives me a headache. I’ve had module design drilled into me so much that seeing a Gruntfile that large throws me off my game. Why can’t my Gruntfile look more like this?
module.exports = function(grunt) {
var tasks = {scope: ['devDependencies', 'dependencies' ]};
var options = {config: { src: "grunt/*.js" }};
var configs = require('load-grunt-configs')(grunt, options);
require('load-grunt-tasks')(grunt, tasks);
grunt.initConfig(configs);
grunt.registerTask('default', ['watch']);
};
It can! I’m going to show you how.
To accomplish this, we’re going to install two Grunt packages.
For the sake of this article, I also included grunt-contrib-cssmin. Your `package.json` file should have any Grunt packages you’ll need for your project.
Now, let’s start with a fresh `Gruntfile.js`. Create a new `Gruntfile.js` file and add the following.
module.exports = function(grunt) {
}
The first thing we’ll do is set up load-grunt-tasks. What load-grunt-tasks does is it creates all of your grunt.loadNpmTasks() for you. This removes the need to having to write out each grunt.loadNpmTasks() by hand.
Let’s create a variable tasks that will define the options for the load-grunt-tasks package. All we’re going to do is define the scope and tell it to create a grunt.loadNpmTasks() for all the devDependencies and dependencies packages defined in the `package.json` file.
We’ll need to require() it and add the tasks variable to it as the second parameter. Let’s also add two more variables options and configs for load-grunt-configs.
module.exports = function(grunt) {
var tasks = {scope: ['devDependencies', 'dependencies' ]};
var options = {config: { src: "grunt/*.js" }};
var configs = require('load-grunt-configs')(grunt, options);
require('load-grunt-tasks')(grunt, tasks);
}
In the options variable we telling load-grunt-configs where to look for the files that will contain the grunt task options. The configs variable is simply requiring load-grunt-configs and adding the options as the second variable.
Finally, we’ll add the configs variable to the grunt.initConfig() function and register a basic task that will run grunt-contrib-cssmin.
module.exports = function(grunt) {
var tasks = {scope: ['devDependencies', 'dependencies' ]};
var options = {config: { src: "grunt/*.js" }};
var configs = require('load-grunt-configs')(grunt, options);
require('load-grunt-tasks')(grunt, tasks);
grunt.initConfig(configs);
grunt.registerTask('default', ['cssmin']);
}
That’s all we’ll be putting into the Gruntfile. The only other things you may want to add would be additional tasks you want to register. Like a watch task or a build task.
In the options variable we defined the src as grunt/*.js. This tells load-grunt-configs to look in a directory named grunt and include all JavaScript files within it.
Let’s create a directory named grunt and add the task options for cssmin by creating a file named `cssmin.js`. Your project’s directory structure should look similar to this now.
Let’s add the cssmin options to the `cssmin.js` file. The first thing you want to add is the Grunt module.exports variable just like in the Gruntfile, so that Grunt knows this file is to be loaded when you run your Grunt task. Then add the options for cssmin:
If you noticed I didn’t add the 'cssmin: {}' wrapper like you would in a basic Gruntfile. This is because load-grunt-configs uses the file’s name to recognize which task is being run. For example if you’re using grunt-contrib-uglify the file name would be `uglify.js`. If you’re using grunt-postcss. That file name will be `postcss.js`.
This is how we’re adding the module design concept to our grunt tasks. Each task will have its own file containing the task’s options. This makes to easy to add new tasks, and for multiple developers to makes changes without the worries of accidentally messing up another task in a enormous Gruntfile.
Now when you run your grunt task. Grunt will look in the `grunt` folder find all the task files and run those tasks using the options you defined within each file.
This was a basic example of this technique. The load-grunt-tasks and load-grunt-configs packages have more options available that can give you even more control of your Grunt tasks.
I hope this helps you get your Gruntfile under control and add more flexibility to your projects using Grunt.
It’s been quite a journey for this very sentence to wind up on this little website. Not many people know it, but every single Smashing article goes through a thorough editorial review, including multiple passes for editing and refinement, before being published.
In this series of articles dedicated to our upcoming 10th anniversary (mid-September 2016), we’d love to shed some light on our editorial process, explain our workflow and introduce the people behind the scenes, as well as address how our little company is earning money to keep the website alive and running.
It’s easy to enable SVG uploads in WordPress (few lines to a functions.php file or functionality plugin)
It makes sense why WordPress doesn’t allow them by default.
Jake Archibald in the comments:
In hindsight there probably should have been two content types, one that treats SVG has a full document context, and the other as a simple image (how browsers treat SVG in today, which cannot execute script or initiate fetches).
Hear hear.
I also had someone tell me: “I’d buy your new book, but WordPress doesn’t allow SVG, and I work in WordPress.” To which I’d say, it’s only the media uploader that disallows them, and as the article covers, it’s easy to enable them (as long as you’re aware of the risks). But you can use SVG to your heart’s content as part of the theme.
How about trying a very different drawing technique or illustration style for your next project? Maybe a weird geometric shape? Or a more abstract form? Or a retro-futuristic color scheme? Not sure about you, but holiday or no holiday, my need for some fresh inspiration never stops.
This month, I’ve continued my journey in search for some inspiring and beautiful artwork — and I’ve found some real treasures! As a designer, I feel that there is so much that I can learn from the techniques and color combinations in these little gems. Let’s dive in, and get inspired to leave our comfort zones for our next designs!
Would you like to enter the WordPress theme giveaway to win a flagship of multipurpose WordPress themes? Then, read on to learn more about it’s updated version and enter the Monstroid WordPress Theme Giveaway today!
The Monstroid WordPress Theme Has Been Updated With
New Child Themes
One of Monstroid’s major features is a large package of child themes. They offer ready-made designs tailored for a wide range of business categories. In that way, you can get a site for your specific niche up and running in no time. In the new series of updates, the package was extended with 5 new child themes for sports, architecture, politics, food, and games.
New Parallax Homepages
The updated version of Monstroid allows you to enhance a visual presentation of your content in new ways. For this, developers released three new parallax homepages. Check out one of them below.
New Functions
Monstroid comes packed with tons of advanced features and plugins. In this series of updates, some of them were upgraded with new functions to extend your capabilities. Here is a brief list of them.
– You can choose 1/3 and 1/4 ratios of the sidebar to the main content body.
– Cherry Simple Slider got an option of customizing text and background colors.
– It became possible to enable or disable an option of AutoPlay in Swiper Carousel.
– The default “Next / Prev” text of pagination buttons can be edited in Portfolio.
– User can arrange Portfolio items in an ascending or descending order and filter them by specified categories.
– Now, Monstroid supports All-in-One Event Calendar and bbPress.
Big news! The book I’ve been working on for a long time has been published and is now available to buy. It’s called Practical SVG.
What’s in the book?
The book is a journey through things that I’ve learned about SVG through years of using it on all my production sites. Things I’ve researched. Things I’ve learned from other people. Battles fought, lost, fought again, won. Besides a lovely forward by Val Head, introduction and conclusion and such, this is the structure:
Chapter 1: The Basics of Using SVG
Chapter 2: Software
Chapter 3: Building an Icon System
Chapter 4: Build Tools
Chapter 5: Optimizing SVG
Chapter 6: Sizing and Scaling SVG
Chapter 7: Animating SVG
Chapter 8: Some Design Features
Chapter 9: Fallbacks
And in just 150 pages! It’s meant to digest quickly.
Who is it for?
This book is for front end web designers and developers. Probably like… most of the people who read this site. “Practical” in the title means “Day to day useful stuff for front end folk”.
It’s not really for super experts. I’m not a super expert, so I can’t write that book. I wrote about what it took for me to start taking advantage of SVG and reap what it has to offer. It also certainly doesn’t cover every nook and cranny of SVG. SVG is a huge world onto itself. I’d bet there is more to know about SVG then there is about HTML and CSS combined. But the basics will take you far.
Nor is the book for super beginners. If you’ve never built a website ever before or messed around with HTML/CSS/JavaScript, there are probably too many foreign concepts in here. If you’re looking for a beginner HTML and CSS book, perhaps check out the first two A Book Apart books: HTML5 for Web Designers and CSS3 for Web Designers. Then come back!
What’s the story behind it?
It all started with my interest being peaked in SVG years ago. Peaked for rather obvious reasons: it’s a fascinating technology. Vector graphics on the web! It just makes sense! As I learned about it, as I do, I started writing articles here on CSS-Tricks about it. More and more and more.
Then I started doing conference talks about it. Throughout 2014 and 2015 I did a dozen or so talks like “SVG is for Everybody” and “The Wonderful World of SVG”, including at conferences like An Event Apart. With all that research and writing in hand, it felt like a natural extension to convert it into a book.
It certainly wasn’t easy though. The book format demands more out of you. A clear structure. Intense accuracy. Words that guide you.
Fortunately I had excellent help, like Katel LeDu guiding me through the entire process. Caren Litherland as an editor, keeping my foot out of my mouth and, most valuably, making sure everything read well and were comprehensible. Lisa Maria Martin cleaning house. Jason Santa Maria’s lovely design along with Rob Weychert’s perfect book composition. Chris Lilley’s technical edit. That’s one heck of a superteam if you ask me.