Smashing Magazine
The Guide To CSS Animation: Principles and Examples
With CSS animation now supported in both Firefox and Webkit browsers, there is no better time to give it a try. Regardless of its technical form, whether traditional, computer-generated 3-D, Flash or CSS, animation always follows the same basic principles.
In this article, we will take our first steps with CSS animation and consider the main guidelines for creating animation with CSS. We’ll be working through an example, building up the animation using the principles of traditional animation. Finally, we’ll see some real-world usages.
Freebie: Facebook Fan Page GUI PSD
Today we are glad to release a yet another freebie: a Facebook Fan Page GUI PSD, designed by Hike and released for Smashing Magazine and its readers. The PSD will speed up the process of creating previews, thus sparing you from drawing all the comps and letting you customize all the texts, buttons and data as you need. All layers are vectorized, allowing you to scale up the GUI without loss of quality. The mock-up is 100% pixel-accurate, it has 4 viewing modes (default wall, wireframe wall, default tab, wireframe tab), all layers labeled and grouped. Smart guides are included. The PSD is compatible with Adobe Photoshop CS3+.
With every update Facebook performs to its fan page design, Hike reproduces it 24 hours later and updates its download link with the latest version. The main idea behind this PSD was to provide all designers and agencies with a useful tool that will improvs their daily workflow when it comes to preparing Facebook-related previews for their clients or internal presentations. As usual, the goodie is absolutely free to use in private and commercial projects.
The S.M.A.R.T. User Experience Strategy
I was a competitive road cyclist for four years. My bikes were good, but my race results were much less impressive. Instead of medals and trophies, all I had to show for it were shaved legs and a farmer’s tan. Regardless, on the road to becoming a competitive athlete, I followed a rigorous training plan with concrete goals. These goals were specific, measurable, attainable, realistic and timely. With this training plan, I was able to quantitatively and qualitatively assess my progress and adjust my routine to match.
In the years since, I’ve hung up my racing jersey and replaced it with a designer’s hat. While wearing this hat, I (and many others) have been told to “create a good user experience.” We’ve heard this in creative briefs, project kick-off meetings and critiques. It may have been a bullet point in a PowerPoint presentation or uttered by someone trying to sell a client or company on the value of their services. But there’s a fundamental problem with stating that your goal is to “create a good user experience.”
Upcoming Web Design and Development Conferences in 2011-12
We spend a lot of time learning and thinking about the designs we see online, yet what we miss quite often are practical insights into the design process and workflow of our colleagues. This is why conferences are great for our industry. We meet people who think very much like we do and most probably struggle with similar problems; and perhaps they've found a solution which can inspire others.
We learn how our colleagues work and what they have experienced; we can exchange our thoughts and ideas directly — something that we might struggle finding time for on Twitter or via email. Networking is great, and it's powerful. And this is why every now and again we present an overview of upcoming conferences on Smashing Magazine.
Interaction Design Tactics For Visual Designers
Anyone designing Web-based properties today requires a basic understanding of interaction design principles. Even if your training is not formally in human-computer interaction, user experience design or human factors, knowing the fundamentals of these disciplines greatly enhances the chances of your design’s success. This is especially true for visual designers. Many visual designers are formally trained in art school and informally trained at interactive agencies.
While these institutions focus on designing communications, neither typically provides a strong interaction design foundation. Having a broader skill set not only makes your designs more successful but makes you more valuable and employable (i.e. you become the unicorn). While in no way exhaustive, to get you started, here are five key tactics to understand and implement in your next project.
An Introduction To LESS, And Comparison To Sass
I’ve been using LESS religiously ever since I stumbled upon it months ago. CSS was never really a problem for me, in and of itself, but I was intrigued by the idea of using variables to create something along the lines of a color palette for my websites and themes. Having a color palette with a fixed number of options to choose from helps prevent me from going color crazy and deviating from a chosen style. The main difference between LESS and Sass is the way in which they are processed. LESS is a JavaScript library and is, therefore, processed client-side.
Sass, on the other hand, runs on Ruby and is processed server-side. A lot of developers might not choose LESS because of the additional time needed for the JavaScript engine to process the code and output the modified CSS to the browser. There are a few ways around this. The way I get around it is to use LESS only during the development process. Once I’m finished, I copy and paste the LESS output into a minifier and then into a separate CSS file to be included in place of the LESS files.
To Five Smashing Years… And A Free Anniversary eBook Treat!
When we started Smashing Magazine, we didn’t expect anything. We didn’t have a grand master plan for a successful online magazine for designers and developers. We created something that we found useful and that we thought others would find useful, too. We did not lose focus, we relied on instinct more than once, we stayed patient, and we pulled the occasional night shift. That was 2006.
And then you came along.
You have passed the word along, left comments, dropped us emails. You let us know that we matter. You let us know that we are doing something meaningful. And you let us know that our humble work deserved your attention. And we listened — carefully.
Help The Community: Report Browser Bugs
You’re developing a new website and have decided to use some CSS3 and HTML5, now that many of the new specifications are gaining widespread support. As you’re coding the theme and thinking of how much easier these new technologies are making your job, you decide to stop for a while and test in other browsers, feeling a bit guilty for getting carried away and having forgotten to do so for a while. “Please work,” you whisper to your computer, while firing up all of the browsers you have installed. Browser A, check. You smile, feeling a bit relieved. Browser B, check. Your smile widens, and you start to feel better already. Browser C, “FFFFUUUUUUUUUUU…!”
Sound familiar? You might be surprised to hear that this is not necessarily your fault. With the competition in the browser market these days and the fast pace at which the new specifications are developing, browser makers are implementing new stuff in a hurry, sometimes without properly testing it. CSS3 and HTML5 are much more complex than their predecessors. The number of possible combinations of new features is huge, which leads to the most common cause of bugs: two (or more) things that weren’t tested together. As a result, developers these days stumble upon browser bugs much more frequently than they used to.
Building Better Software Through Collaboration: Whose Job Is It, Anyway?
In part one of this series, we looked at the consequences of designing and developing software in isolated environments. Some people work in lonely silos where no process exists, while others work in functional silos where too much (or the wrong) process makes innovation and progress difficult.
So, how do we break down the artificial walls that keep us from creating great things together? How can organizations foster environments that encourage natural, unforced collaboration? There are no quick fixes, but these are far from insurmountable problems.
Getting Started With The PayPal API
PayPal is the most popular platform for receiving online payments today. The ease of opening a PayPal account and receiving payments compared to opening a merchant account with a traditional payment gateway is probably the number one reason for its popularity, with a close second being the comprehensive API that PayPal provides for its payment services. In this post, I will break down some of the techniques and approaches to working with the PayPal API, in order to make integration and troubleshooting simpler and easier.
PayPal offers a variety of payment options, which might be confusing at first. Express Checkout is the premier PayPal service. Express Checkout allows you to receive payments without having a merchant account and without having to meet special requirements other than verifying your account (either via a bank account or a credit card).
Reliable Cross-Browser Testing, Part 1: Internet Explorer
In a perfect world, cross-browser testing would be straightforward. We would download a legacy version of a browser, run it, and be able to instantly test our pages and scripts without a single care in the world. The reality of cross-browser testing, though, is very different. Issues such as runtime conflicts when running multiple versions of the same browser and inaccurate third-party testing tools mean we can spend hours just evaluating whether a testing set-up is anywhere near reliable.
I’m a user-interface developer at AOL (yes, we’re not dead yet!), and in this multi-part post I’ll take you through the exact set-up we use to accurately test content that will be potentially viewed by up to millions of users with a very diverse set of browsers. This set-up is similar to the one used by some of my colleagues at Opera, Mozilla and Google, so, fingers crossed, we’re doing this optimally.
Designing Global Applications For Children
The entire process of designing digital applications comes with many challenges and decisions. For the majority of projects, you will be designing in somewhat familiar territory. But what happens when you have to design something to be used by hundreds of children around the world? How do you accommodate your design for kids of different ages and backgrounds? What special challenges emerge, and how can they be overcome?
For a project of this scale, the design process we follow might require modifications. These modifications would be to accommodate the needs of younger age groups and would shape the entire length of the project, from user research, brainstorming, interface design and interaction design all the way to the final stages of usability testing and user support.
Elements Of A Viral Launch Page
Google+, Hipster, Connect.me and Instagram! They all hit a gazillion users in no time at all — and you can even read all about it in everyday media today. This is every product creator’s dream. Ok, granted, Google already had their users well before the launch of its social extension. But how did the other ones succeed in building such a strong fellowship in a few months (or even days)?
Turns out that many of these services’ creators were very busy bees and made small details about their product’s launch addictive. It even turns out that many start-ups were indeed able to launch to a strong following (not much unlike Google+) through collecting interested users, email addresses, Twitter followers in any way they could well ahead of their public appearance using a combination of very common and old marketing strategies with clever launch pages.
