A jQuery plugin for optimal use of screen space

Optimizing how space is used on a screen is a key component of good web design, and especially of responsive design.

There are a number of ways to approach this kind of challenge, and one of the most popular is auto-arrangement of elements within a parent container. It’s efficient, and when well-executed, creates a layout that’s both visually appealing and functionally optimal.

If you’re designing a responsive site, you’ll almost certainly find the need to rearrange content in a dynamic fashion, based on the screen size of the user’s device. Auto-arranging content makes sense, as it minimizes the time spent customizing breakpoints for each page and each element.

Sites with constantly-changing content (like blogs or online stores) can especially benefit from auto-arrangement. After all, do you really want to have to go into the code for your client’s site and adjust the breakpoints and layout if they suddenly decide to start writing longer or shorter blog posts?

Doing all this from scratch is time-intensive and beyond the abilities of most designers who aren’t also developers. Instead, it makes sense to use a pre-existing plugin or framework.

JavaScript (including jQuery and other libraries) is the most common way of creating this kind of layout, most likely because of its wide cross-compatibility. This is how existing efforts like vGrid, Wookmark, and Masonry work.

Freetile.js is a recent jQuery plugin that enables this kind of dynamic, organized, responsive layout. It’s been used as the engine behind Assemblage and Assemblage Plus for nearly two years, and is now finally available as an independent open source project.

freetile.js

It’s different from existing efforts in this space for a few reasons. It allows any size elements to be used without the need for a fixed-size column grid. This frees you from having to specify a column width appropriate to your elements. And you can customize the algorithm that evaluates possible insertion positions for each elements, allowing you to express preferences like alignment and proximity.

It has a smart animation routine that makes it easy to distinguish between which elements should be animated and which should not. Specifying the animation within the code is easy, too.

Usage of Freetile.js is simple to use. Even if you’re not proficient in JavaScript, you should be able to figure out its usage pretty quickly.

Freetile.js is licensed under the BSD License, and is available via GitHub.

Have you used Freetile.js? What did you build? Share your experiences in the comments.

Cameron Chapman

Cameron Chapman

Cameron Chapman is a freelance writer and designer from New England. You can visit her site or follow her on Twitter.

Join to our thriving community of like-minded creatives!

Do not sell or share my personal information.
You have chosen to opt-out of the sale or sharing of your information from this site and any of its affiliates. To opt back in please click the "Customize my ad experience" link.

This site collects information through the use of cookies and other tracking tools. Cookies and these tools do not contain any information that personally identifies a user, but personal information that would be stored about you may be linked to the information stored in and obtained from them. This information would be used and shared for Analytics, Ad Serving, Interest Based Advertising, among other purposes.

For more information please visit this site's Privacy Policy.
CANCEL
CONTINUE