How to use Icon Fonts

What is an Icon Font?

An icon font is just like any other computer font but instead of rendering letters it renders images. You’re probably familiar with an icon font that comes on most computers: Wingdings. Unfortunately, there aren’t a lot of useful or attractive icons in the Wingdings font family. Thankfully, there are other options available to us. To understand just how great icon fonts are, you first might need to understand how limited fonts on the web were in the past.

Background on Webfonts

When a website displays text, it uses a font file from the user’s computer. Web developers use code called a “Font Stack” to tell the computer which font to display. But since not every computer has the same fonts installed, the stack allows you to specify fallback options in case your first choice isn’t available.

font-family: Avenir, Helvetica, Arial, sans-serif;

Web designers wanted a way to make sure that a font they were using would be available for everyone. That’s where webfonts came in. Developers can include web font files with the site using CSS to make sure the text will look the same on every computer.

The Web & Icons

Websites use a lot of simple icons to convey meaning in a small amount of space. Most people interact with these icons everyday, like the example to the right from Facebook.

Websites with lots of small icon images use CSS Sprites to make the page load faster. Sprites look like a sheet of paper with all the icons on it in a grid. When you want to display an icon you cover all of the other icons so that only the one you want is visible. That seems a little crazy right? Well the reason that is done is because it’s actually much quicker for the browser to load one large image than it is to load dozens of small images.

What’s Wrong with Images?



Images are great, but they can be limiting. If you want to change the color of an image when the user interacts with it, you need to create another image. Want to have the image get bigger? That’s a new image. Or, an additional item in your image sprite, which by now is probably looking a little bit messy, like these examples from Twitter and Facebook.

So, how can we make these icons of ours more flexible? Turn them into a font! Fonts by nature are very flexible. When you are typing in Word, you can change the size and color of anything you want. Icon fonts bring that flexibility to simple images. For example, now when you hover over that icon it can slowly grow bigger and change it’s color.

Better than Wingdings

Making a custom font isn’t a common skill, and we don’t want to be stuck with Wingdings. Luckily, there’s no need for either of those. There are a number of icon fonts available on the web. At The Jake Group, our favorite is called Font Awesome. Font Awesome comes with a bunch of icons that are specifically geared toward web and user interface design. For most projects, we can find a set of high quality icons without drawing a thing. But sometimes we need something a little bit more custom to make sure the icon’s meaning is clear. For projects like that, we use Icomoon.

Ico what?

Icomoon is a webapp that let’s us modify an existing icon font or completely create our own. Using Adobe Illustrator, we create our own vector icons, and save them as .svg files. Then we upload those to the Icomoon app to include in our custom font. There we can also select icons from other icon fonts to use in our custom font.

Once we have all the icons we need selected, we can generate the files we need to include on our website. Add a sentence about where/how these files integrate.

Here are some examples of custom icons The Jake Group has recently created for use in a webfont on the Center for Clean Air Policy website.

Now we can include our own custom icons in our site without having to create a bunch of separate images for each time we want the user to interact with the icon.

Comments Off

Jake Launches New Site for Trikeenan Tileworks

Jake is very excited to announce the launch of Trikeenan Tileworks’ new website, www.trikeenan.com.

When long-standing Jake client Elgin Butler Company acquired handcrafted ceramic tile maker Trikeenan Tileworks, they knew who to call to give their website the fresh life it needed. Not only was the old site out of touch with today’s best practices, it was extremely disorganized with inconsistent content that was hard to navigate. As we know here at Jake, a clean and intuitive navigation system is key to creating a successful website. With that in mind, the goal of the redesign was to simplify the site’s structure while highlighting Trikeenan’s award-winning product lines.

Since Trikeenan is known for the quality and craftsmanship of its products, we knew that strong visuals would play an important role on the new site. The homepage now features a dynamic banner of close-up photos highlighting Trikeenan’s top product lines – Boneyard Brick, Elementals, Glass Fusion and Modulus. Unlike the original site, the Product Section now provides consistent and well-organized data for each of Trikeenan’s product offerings. Users can quickly navigate between product lines and view colours, sizes and shapes, specifications, and photo galleries with a single click. In addition, the Design Resources section includes six Inspiration Galleries showcasing Trikeenan’s beautiful tiles installed in real world settings such as kitchens and bathrooms and cross referenced with the product lines.

The Content Management System (CMS) of the site is just as impressive as the front end, as it allows Trikeenan to fully maintain the site in-house. WordPress, Jake’s favorite CMS platform, has worked great for Trikeenan who has been regularly updating the site since it launched last month.

We’re proud of the new site and have been overwhelmed by the positive feedback we’ve received. We can’t wait to see what is next to come for Trikeenan!

Comments Off

Local Development with Version Control

By Jake | February 5, 2013

Local Development with Version Control

Presentation: Local Development with Version Control


Developing locally using a version control system can be a huge time-saver and nerve-sparer. If you’ve ever taken down a live website by accident, lost a file, or had a day’s worth of hard work overwritten by somebody else’s changes, source-controlled local development is for you. Using a single authoritative code repository in tandem with isolated local development environments can dramatically speed up team-oriented development, while keeping your code (and sanity) intact.

The Jake technical team recently gave a presentation on why we’re so fond of local development. If you’re not familiar with the advantages of developing locally, or would simply like a crash course in distributed version control (we use git), be sure to check out the presentation at the link below.

Download: Local Development with Version Control

Comments Off

Jake Launches New Website for CCAP.org

By Jake | January 11, 2013

Center for Clean Air Policy

Jake is very proud to announce the launch of the Center for Clean Air Policy’s website, ccap.org.

The Center for Clean Air Policy (CCAP) partnered with The Jake Group to update the environmental organization’s brand and redesign its existing site. Over time, the old site had become somewhat disorganized and overly dense with text content. CCAP’s goals for the new site were to provide a better interface to highlight its program work, and make it easier for visitors to find reports and other information in its large library of resources. In addition, the old site included a largely unnavigable blog section which CCAP wanted to bring to the forefront of the site.

Jake’s approach was to create a design and navigation structure that highlights CCAP’s brand and new logo, and provides opportunities to focus attention on its latest program work and news items. On the homepage we incorporated a dynamic banner that allows the organization to feature its most timely programs, issues and events. Mega menus in the main navigation accomplish the same, with the added ability to present a deeper explanation of the organization before users even click through to other pages. The Resource Library now provides a robust advanced search tool to help sift through CCAP’s documents that is as much a function of the enhanced database structure as it is the interface. And the CCAP blog is now a central component of the site with dynamic topic navigation, program cross-referencing, and social media integration.

Equally important as the front-end is the content management system that provides the website framework and allows CCAP to manage the site and publish the blog. WordPress is our favorite CMS platform, and it has worked great for the CCAP site. We used a combination of custom post types and taxonomies, WordPress plugins (both public and Jake-made), and our own data handling tools to develop the structures that facilitate the advanced cross referencing throughout the site. Site-wide admins and a large group of blog authors alike are able to use the intuitive admin system to manage the site content.

Since the launch in late November, we’ve noted significant gains in user engagement metrics as compared to the old site, such as increases in average number of pages viewed and time per visit, and reduction in bounce rate, not to mention some good old-fashioned positive feedback from individuals. It’s great to see CCAP’s efforts to improve the effectiveness of their online communications being validated, and we plan to make sure things continue to move in that direction. There is still more to come for the CCAP website, so check back with them soon!

Comments Off

Using LESS CSS with Twitter Bootstrap

By Jake | October 5, 2012

Intro to LESS CSS

In our last post we introduced you to LESS CSS. Now we’re following up on that to talk about how you can integrate Twitter Bootstrap to speed up development even more.

Twitter Bootstrap is many things, but first and foremost it is a CSS Framework. CSS Frameworks are generally a set of CSS files containing a bunch of pre-written styles for developers to use in their websites. The size and scope of these frameworks varies, but in the case of Bootstrap there are pre-written styles for everything from icons to menus, and grids to buttons. If you stay within the confines of what the framework has to offer, you can very quickly end up with a nice looking website without writing a single line of CSS!

While Bootstrap’s built-in styles are visually appealing, Bootstrap is still very useful for those of us that prefer to create fully-custom styles for our websites. At a bare minimum, Bootstrap is an excellent reset stylesheet, making sure that the default style of HTML elements looks and acts the same in every browser. But that’s nothing too special. If you recall from our introductory post, LESS has an incredibly useful feature known as mixins. Mixins are where Bootstrap really shines for developers.

Here’s an example from our last post on the power of mixins:


.rounded-corners(@border-radius) {
    -webkit-border-radius: @border-radius;
    -moz-border-radius: @border-radius;
    border-radius: @border-radius;
}

#sidebar {
    .rounded-corners(5px);
}

#footer {
    .rounded-corners(10px);
}

With Bootstrap, the first .rounded-corners() mixin is already created. Of course it’s just one of many mixins Bootstrap offers. And their mixins are tried and tested to provide backwards compatible CSS fallbacks for older browsers, all the way back to IE7. Bootstrap has built-in mixins for a variety of CSS3 properties, including gradients, one of the hardest properties to create consistently across different browsers.

The Grid System

Bootstrap contains a robust system for building websites on a grid. You’ll often notice that websites are broken up into distinct sections of the page. For instance on this page, this content area is separated from the sidebar to the right. Without CSS, the sidebar would display on top of the content. Even though the layout is simple, keeping things from stacking on top of each other can be like puzzle pieces that just don’t fit together during development.

Bootstrap’s grid system makes it very easy to see where different elements of your site will fit. Every component of the layout can be given a class corresponding to a certain size. The classes are span1 through span12, with 12 being the width of the entire site. Components that add up to 12 or less will be in line with each other.


<!-- These three items will display next to each other -->
<div class="span4"></div>
<div class="span4"></div>
<div class="span4"></div>

<!-- The first two items will display inline, while the 3rd one drops to a new row. -->
<div class="span6"></div>
<div class="span6"></div>
<div class="span6"></div>

<!-- And of course, you can mix and match the sizes -->
<div class="span7"></div>
<div class="span2"></div>
<div class="span3"></div>

Integrating Bootstrap

Want to start using bootstrap and LESS in your projects? Here’s how we set up our sites to speed through development: First, you’ll need to grab the latest copy of Bootstrap from their GitHub Page. Then head over and grab the latest copy of less.js from the LESS CSS website. Next up, create a new less file in your css directory, named something like style.less.

You’ll then need to link the less.js file and your new less stylesheet in your websites header. So in the HTML, you’ll want something that looks like:


<link rel="stylesheet/less" type="text/css" href="/css/style.less">
<script src="/js/vendor/less-1.3.0.min.js" type="text/javascript">

You only really need the less folder from the Bootstrap download, so copy that over to your css directory. Go ahead and rename it to just “bootstrap.” Once you’ve done that you can add this to the top of your less file:

@import "boostrap/bootstrap.less";

After that, you’ll have a great reset style sheet and access to all of the mixins from Bootstrap in your less stylesheet. If you’d rather just include the awesome mixins, you can replace bootstrap.less with mixins.less.

Comments Off