Archive

Archive for May, 2015

JavaScript: Improve Performance Analysis Results with User Marks

May 19th, 2015 No comments

When working on advanced JavaScript code, like a 3D engine, you may ask yourself what you can do to optimize, and how much time you should spend in some specific pieces of code. In this tutorial, I will share several tools that provide insight into how your code is performing, and show you how to make the most of user marks in the memory graph to analyze your performance. Can’t wait to see what this article is about? Watch this video. Feel free to ping me on Twitter (@deltakosh) if you want to discuss about this article! Need a profiler? One that comes to mind is the integrated profiler you can find using new updates to the Internet Explorer F12 Dev Tools — enhancements that will also be available for Microsoft Edge. Of course, you can use any similar tools you prefer too on your dev box. If you want to try this out on Android, iOS, or Mac OS, you can also use remote.IE to get an instance of Windows 10 Technical preview running in minutes. Then open the Internet Explorer “e” you’ve been avoiding (it is a temporary client shell that has Microsoft Edge’s new rendering engine configured), […]

Categories: Others Tags:

A Better Way To Design For Retina In Photoshop

May 18th, 2015 No comments
Here are a few designs for the tablet application

Recently, I had a project in which I needed to produce high-fidelity screens for a tablet. I was to present these screens on the device and also produce a clickable prototype. They needed to be pixel-perfect. The timeline was tight (as always), so I went with my go-to tool, Photoshop. I’ve been using it for over ten years, and it gives me the fastest high-quality output.

Are you designing at “Retina” resolution in Photoshop? If the answer is yes, then this article is for you. I will walk you through the problems I faced in creating Retina mockups to be displayed on a tablet device. I will then explain a way to work that is easier and gives you better performance. This is about my experience with Photoshop, but it could be applied to Illustrator and other software.

Here are a few designs for the tablet application.

Throughout this article, I will use the @2x and @3x notation. These represent the Retina buckets for iOS. A great example is the app’s icons. For the original iPhone, it would be 60 × 60 pixels (@1x). For the iPhone 4, it would be exactly double, 120 × 120 pixels (@2x). Now, the latest devices are dipping into triple territory. For the iPhone 6 Plus, the icon would be 180 × 180 (@3x). When talking about @2x or @3x, I am referring to using double or triple the pixel dimensions. All should become clear as you read on.

The Problems

Now, let’s get into the design of this tablet application. Like many other designers, I had been told that one must design at Retina resolution. The general consensus is @2x or @3x. So, I set out on my merry way, designing @2x. The design would be presented on a Nexus 9 with a 4:3 ratio, so my Photoshop canvas was set up to 2048 × 1536 pixels. After creating a few screens, I realized in practice this doesn’t work well at all. Let’s work through the issues I found.

Zoom Factor

At first, this is no big deal. Zoom out to 50% or 33% to see your design at roughly 1:1. But at the same time, it’s a bit ridiculous, right?

Shown is the corner of a design at @1x to @3x
You can quickly see the resolution getting out of control. Shown is the corner of a design at @1x to @3x.

Why should you have to zoom in and out constantly to see what’s going on? It also completely ruins pixel-snapping1, which works best at 100%. It’s almost impossible to know whether a pixel is aligned when you are zoomed at 33% or 50%! Suffice it to say, I got pretty fed up zooming in and out like a maniac to get things aligned pixel-perfectly.

Performance

This is a big one. Let’s use a tablet with a 4:3 ratio as an example. I set up a blank PSD @1x (which is 1024 × 768 pixels) and another @2x (2048 × 1536) and a third @3x (3072 × 2304). I then did some comparisons.

Table showing number of pixels, size on disk and memory for @1x – @3x blank PSD
Table showing number of pixels, size on disk and memory for @1x to @3x blank PSDs.

First, I looked at the number of pixels in the PSDs. The @2x PSD has four times as many pixels. The @3x has nine times as many. This directly affects memory usage, which itself goes up by four times and nine times! For our blank PSD, this went from 2.25M to 9M @2x, and then 20M for @3x.

Last but not least, it also needs to store all of these extra pixels. So, your file size increases as well. The size on disk went up by 280% for the @2x, and up by 590% for the @3x. Now, in our blank PSD this is only an increase from 60 to 358 KB. But once you’ve got some serious smart objects and layers going on, watch out! Let’s take the example of a PSD that is 100 MB. The @3x could be 590 MB. Then, multiply this by the 20 to 30 documents in your project!

From a performance standpoint, it’s very clear that working at Retina is going to cost you some serious RAM, CPU and disk usage.

Font Size

This issue becomes obvious pretty quickly when you’re working @2x or @3x. Suppose you’ve set out to make a text box with the font set to 16 pixels. But @2x this is 32 pixels, and @3x it’s 48 pixels! Not ideal, is it, having to constantly multiply by two or three? I don’t know about you, but I could do without the constant math. When I design, I want to know that 16 pixels is 16 pixels!

Font sizes become a game of multiplication when working at Retina
Font sizes become a game of multiplication when working at Retina scale.

Whole Pixels

Here’s another gotcha. What happens when you use 1px at @2x Retina? You guessed it, it becomes 0.5 pixels! And @3x it would be even worse, 0.33 pixels! So, you also have to constantly be aware that your sizes must be divisible by 2 or 3 when working in Retina. Another consideration comes into play if you ever use @2x with an odd pixel value. Let’s say you have a box that is 33 pixels wide; when converted back to @1x for build, this becomes 16.5 pixels! Yet another brain drain from working with Retina.

Illustration of how 1px would fall back from @1x to @3x
Illustration of how 1px would fall back from @1x to @3x.

Specs

This is another issue I’ve seen in the workplace: designers who have been working @2x or @3x and then begin to spec their design for developers. This usually involves documenting padding, widths, heights, font sizes and so on to ensure that the design is built well. But they forget they are at double or triple the resolution. So, the poor old developers get a complete spec in which they need to divide everything by 2 or 3! Not great, is it? Why make their life harder?

The other option is that the designer could save a new PSD at 50% or 33%, and then spec from that. But Retina-land looks like a one-way street. It’s hard to see through those blinkers.

The Good News

Don’t worry. After all the bad news, there is good news. While working on exporting icons for Android from Illustrator2, I discovered the world of density-independent pixels (DP). You can read a big long explanation on Android Developers about “Supporting Multiple Screens3,” or I can break it down for you real quick.

Basically a DP is the @1x pixel dimension or, in Android terms, the baseline density that is medium (MDPI). A density-independent pixel is the same as 1 physical pixel on a 160 DPI screen. The conversion is DP = pixel ÷ (DPI ÷ 160).

Let’s use our tablet example with a display of 2048 × 1536 pixels and 320 DPI. Running through the equation above, for the width we get 1024 DP, and for the height, 768 DP. This becomes our baseline resolution. And we also need to know the scale factor for image assets. That equation is: scale factor = DP × (DPI ÷ 160).

Using the width of 1024 DP and the device’s 320 DPI, if we run through this equation, we’d get a scale factor of 2. This means we’d need to output @2x assets for display on this device. It’s also pretty straightforward to see that 2048 ÷ 1024 = 2. So, don’t stress about the equations!

As another quick example, let’s take the Nexus 5. With its resolution of 1920 × 1080 pixels and 480 DPI, the DP units work out to be 640 × 360. Then, the scale factor comes out as @3x. So, now you know your DP dimensions and scale factor for assets.

Example of @1x to @3x DP units on various devices
Example of @1x to @3x DP units on various devices.

Once you have the DP dimensions, those become your PSD canvas size at 72 DPI. So, the answer to this mystery is to design @1x or in DP.

Some other devices don’t fit quite as nicely in these buckets, but you get the idea. The point here is that you are reducing to the baseline DP units and that you know the scale for exporting images.

“But I’m Stuck With @1x Images!”

Correct. And a @1x PNG would look horrible on a Retina device. What I needed was a way to work at @1x and with DP units, but export to @2x or @3x to preview on a device. My clients would accept nothing less. So, using my knowledge of exporting icons to various DPIs for Android, which I’ve covered elsewhere4, I applied the same technique to Photoshop.

The solution to my problem was a Photoshop script that exports any canvas to a @2x or @3x PNG for previewing on a device. Thus, one can keep working @1x and in DP and get all of the performance benefits and still get good-quality screens. Have your cake and eat it too, if you will.

Export Scripts

Here’s a quick rundown on how the script works:

  1. Your Photoshop canvas is resized to 200% or 300%.
  2. It creates a new folder named retina, where you PSD is saved.
  3. Then, it saves a PNG as _2x.png or _3x.png.
  4. It also clears and purges the history (“Undo”).
  5. Then, it saves the document exactly how it was before the script ran.

The scripts are very easy to modify. If you want to rename the folder or file name, you would just change the variables shown below:

var scale = "200%";
var folderName = "retina";
var extensionName = "_2x.png";

Installation

Download the scripts5 (ZIP, 4 KB) or view the project on GitHub6.

Once they’re downloaded and unzipped, copy the scripts and paste them into Photoshop’s Scripts folder: on Windows, Program FilesAdobeAdobe Photoshop CC 2014PresetsScripts, and on Mac, ApplicationsAdobePhotoshop CCPresetsScripts.

Please be aware this will vary according to your Photoshop version and operating system.

You’re almost done. Restart Photoshop, and the scripts will be ready to go. Now, anytime you want to export a PNG @2x or @3x, just click “File” ? “Scripts” ? “ExportDocument2xPNG” or “File” ? “Scripts” ? “ExportDocument3xPNG”:

Click File
Click “File.”
Go into Scripts and click ExportDocument2xPNG or ExportDocument3xPNG
Go into “Scripts” and click “ExportDocument2xPNG” or “ExportDocument3xPNG.”

You are now left with Retina images @2x or @3x, ready to put on the device.

Tips

Keep in mind a few things if you go for this approach. Use shapes and vectors wherever possible. They scale up perfectly, as do layer styles. Always use smart objects for any bitmaps. Keep in mind they will still need to be @2x or @3x inside.

Using this approach with Photoshop’s generator7 also works great. Any layers or layer groups can be exported @2x and @3x. And you will know they are pixel-perfect.

After producing the designs, I needed to create a clickable prototype for the client. I found that the exported PNGs work great with Marvel8. Marvel allows you to upload your images to Dropbox or through its own system. Once they’re uploaded, you can create hotspots and link to other screens. Then, you can view on a device to see your designs in action. The other bonus was that I used up less bandwidth and Dropbox space! Retina PSDs would have been superheavy!

Illustrator

If you use Illustrator, you can also work @1x and in DP. Make sure your document is set up for the web at 72 DPI. Then, you can manually export @2x and @3x PNG images by clicking “File” ? “Export…” and selecting “PNG.” Click “Export.” Then, use the “Resolution” dropdown menu, click “Other” and input 144 PPI for @2x or 216 PPI for @3x. As with the Photoshop scripts, this can also be configured to be just one click!

Sketch

Your other option is to use the increasingly popular app Sketch9. It comes all set up and ready to go @1x with a vector-based workflow. There is built-in support for exporting @2x and @3x from layers and slices. Just note the requirement of operating system. The creator, Bohemian Coding, is proud to develop exclusively for Mac, with no plans to support Windows or Linux (according to its FAQ10). It’s a great program if your workflow and business support it.

Thanks For Reading

Well, I hope this has been of use to you. It certainly has improved my workflow. Now I get superlight and fast PSDs that can be exported to Retina scale for viewing on a device. And the best part is that I am no longer maniacally zooming in and out or multiplying and dividing my pixels!

(da, al, ml)

Footnotes

  1. 1 http://blogs.adobe.com/jkost/2014/04/align-to-pixel-grid-in-photoshop.html
  2. 2 http://murdochcarpenter.com/illustrator-script-export-android-multi-res-pngs/
  3. 3 http://developer.android.com/guide/practices/screens_support.html
  4. 4 http://murdochcarpenter.com/illustrator-script-export-android-multi-res-pngs/
  5. 5 https://github.com/murd/psd-export-document-retina-png/archive/master.zip
  6. 6 https://github.com/murd/psd-export-document-retina-png/
  7. 7 https://helpx.adobe.com/photoshop/using/generate-assets-layers.html
  8. 8 https://marvelapp.com/
  9. 9 http://bohemiancoding.com/sketch/
  10. 10 http://bohemiancoding.com/sketch/support/faq/02-general/5-windows.html

The post A Better Way To Design For Retina In Photoshop appeared first on Smashing Magazine.

Categories: Others Tags:

Deal of the Week: 150+ Vintage Logos and Photo Mock-Ups at 80 Percent Discount

May 18th, 2015 No comments

Are you in need of a heavy load of icons to fill up your stock? If so, you will love this Mighty Deal, packed with a double dose of awesomeness. First up is a fantastic collection of 96 vintage logos, which are simple to edit and scalable in size. In addition to those high-quality, professional logos, badges and labels, you’ll also get a fantastic photo mock-ups bundle containing 64 realistic mock-ups to truly show off your brand or product in a realistic setting. As with any Deal of the Week make sure to be quick to decide. This is for a limited time only… 96 Vintage Logos Highlights: 6 unique sets of graphic elements offer a wide range of styles from clean to grunge. 96 vintage labels, badges and logos to use in your latest project. This set is perfect for creating company logos or T-shirt illustrations. All images are vector shapes, so you can scale them up or down in size without worrying about loss of any details. Customize these graphics any way you’d like with the original PSD, AI and EPS files included in this deal. Each file is huge, clocking in at 2400x2400px and 300dpi, so quality is at a […]

Categories: Others Tags:

An Exhaustive Guide on Creating Responsive Website Using HTML5 & CSS3

May 18th, 2015 No comments
exhaustive-1

Over the recent years, it has been observed that people are preferring mobile phones over desktop computers for browsing the Internet. Building a website that looks perfect and functions appropriately on multiple hand-held gadgets has become the most-trusted method of gaining an edge over your competitors. It is responsive design which plays a vital role in creation of sites that can be accessed smoothly on a variety of devices with different screen sizes and resolutions.

HTML5 and CSS3 have emerged as two of the most applauded web technologies for creating responsive designs that can easily adapt to contemporary mobile browsers and devices. While on the one hand, HTML5 is used for writing the structure of web design, CSS3, on the other hand it offers you the convenience of styling the created web design.

Creating a basic Responsive Website skeleton using HTML5 and CSS3

Well, there are two methods of creating a responsive design. I’ve explained both the methods below:

Method No.1- Using your own coding technique

As the very first method, you can create a responsive design using your own code as shown below:

Output:

As per the above method, you can simply specify the height and width of the device that will be used for viewing the web pages incorporated within the website.

Method No.2- Using Bootstrap framework

As a much better approach compared to the one discussed above, you can create a responsive design using an existing CSS framework like Bootstrap. You can start by writing a basic HTML5 Markup using CSS3 framework as shown below:

Output:

exhaustive-2

As an attempt to make your website design accessible across mobile devices with different screens and resolutions, you need to add the viewport meta tag. This will define how the website design will be displayed on a particular device.

If you observe the above code carefully, you’ll find that the width has been defined to “device-width” which is equivalent to the device’s width. Also, the value of initial scale has been set to “1” for adding a touch-zooming effect to the web page. On proceeding ahead in the code snippet, you’ll find that each page comprises of three basic elements viz:

,

and

. The main title of the website page and a separate paragraph has been defined in the custom header area.

Then, there is the tag which includes the main page’s structure. Also, it contains a container

along with .jumbotron class. Here, it is interesting to note that “Jumbotron” is a Bootstrap feature which offers you the flexibility of increasing the size of page heading and adding the desired amount of margin for the effective display of web page content. After this, we have the

tag which includes pre-defined Bootstrap grid classes such as “.col-md-3” and “.row”. Both these classes allow you to arrange the web page content in a grid layout. Last, but definitely not the least, there is a footer tag which includes a paragraph containing vital copyright information.

With the addition of viewport meta tag, your page content will be displayed 1:1. That means, an image with a total size of 350px displayed on a screen with 350px width would occupy the entire screen width.

Creating the head using CSS files

The responsive website that we are going to create will comprise of four different CSS files which have been explained as below:

  • css– As the first CSS file, reset.css will be used for resetting styling of all the HTML elements, thereby allowing you to build your own unique styling without having you to worry about the differences in display pertaining to multiple browsers.
  • css– Next inline is the style.css file which contains all the styling associated with the responsive design under focus. As per your will, you may also opt for diving style.css file into two parts while separating the basic layout styling from the remaining portion of the stylesheet.
  • css– Looking at the preview of the responsive website and clicking on one of the small images available within the main content section, you’ll notice a larger version of the image being displayed towards the top of the web page. The script that’s used for achieving this is called Lightbox2. So, you can opt for downloading Lightbox2 and including the CSS file called lightbox.css.
  • Google WebFonts– As the fourth and last stylesheet, Google WebFonts allows you to use the fonts namely Roboto.

Do note that using multiple CSS and Javascript files increases the count of HTTP requests which in a way results in longer page loading time. So, if you know that you won’t be changing the CSS code again, then it is recommended to combine all CSS and Javascript files into a single file. Unlike this, if you feel that you’ll be changing any of your CSS and/or JS files, it is advised not to go for combining the files using a manual approach as it would making things complicated and highly confusing.

As a bonus tip, you can always opt for a minifier script called minify.js which can automatically combine, minify and cache all the CSS and Javascript files into a single file.

Adding the required scripts

Now that you’re done with including the CSS Fies, it’s time to add the required scripts. The very first script that will be included is Modernizr.js which is basically a feature detection library for HTML5 and CSS3. Next, there is Respond.js which is a script that activates responsive design for Internet Explorer and a range of other web browsers which don’t support CSS Media Queries. Then there is the Prefix Free script which will automatically create all the required prefixes and allow you to write the unprefixed CSS properties. Lastly, there is a script called SlideJS which is used for including “jquery.slides.min.js” into the “js” folder.

The moderated jQuery file will now look like this:

<!DOCTYPE HTML>

Responsive website with HTML5

Building the website structure

HTML5 comes equipped with new elements which allow you to create well structured and easy-to-access web pages. Here’s a look at the critical sectioning elements available in HTML5:

  • section- this element defines a specific part of website along with its related content. Never use this element for pure styling purpose.
  • article- it defines an independent piece of content which makes complete sense
  • header- it defines a header for the website section or document
  • footer- this is used for defining footer of the respective website section or document
  • nav- this defines the set of navigation links that determine the main website navigation
  • aside- it defines the website section that contains secondary content. Here, you need to remember that in case ‘aside’ is added within the article, then the content should be related to the specific article. On the contrary, if ‘aside’ is incorporated outside the article, then the content should be related to the entire website.

So, all the above listed HTML5 sectioning elements must include a heading. By doing so, you can easily create a new section within the HTML5 outline which works as the best match for ensuring excellent search engine optimization of the website. You can use the Outliner tool for creating an accurate HTML5 Outline. Failure to use section within the document would destroy the basic purpose of the HTML5 structured document. Hence, it is recommended to add headings for each section specified within the HTML code, followed by hiding them using CSS. Never hide the headings using display:none as it would remove them from the outline as well. Instead use a CSS property clip for hide them for preventing the website content from getting banned by popular search engines.

That’s it!

Conclusion

If you’re the one who’s been impressed by HTML5 and CSS3 web technologies lately and are planning to build your next responsive website using the same, then I’m sure the above post would serve as your handy guide.

Author Bio:

Samuel Dawson is a well renowned professional & working as Senior Front-End Developer in Designs2html Ltd, a world famous psd to html conversion service company. Apart from this Samuel has efficiently done in-depth research in the field of web development.

The post An Exhaustive Guide on Creating Responsive Website Using HTML5 & CSS3 appeared first on Web Design Blog | Magazine for Designers.

Categories: Others, Programming Tags:

WebAnimator Plus: Sophisticated HTML5 Animations Made Easy

May 18th, 2015 No comments

Not too long ago, Flash was an established element of the web. Did you need anything related to animation, you were more or less doomed to use it. Of course Flash was the top dog – the alpha male – and alternatives didn’t exist. But that was only one-half of its success. The second half was its ease of use. Flash videos were created using an easily comprehensible graphical interface. Even advertisers were able to use it 😉 Then the triumphal march of HTML5 and CSS3 started and changed everything – even the way the web gets animated. The tool WebAnimator Plus brings back that Flash feeling while producing perfectly compliant results in HTML5 and CSS3. WebAnimator’s Surface is a Reminiscence of Flash Remember Flash and used to use it? WebAnimator Plus will look perfectly familiar to you. The surface is more or less the same, even functions are named identically. Central areas are the stage and the timeline – rings in your ear? Graphical elements are placed throughout the stage, and then animated using the timeline and its keyframe architecture. As we could do in Flash, multiple scenes can be created and separately designed as well as animated. WebAnimator […]

Categories: Others Tags:

Origami: Free Design Prototyping for iOS, Android, and the Web

May 17th, 2015 No comments

Prototyping is an important element of the app development process. Animations and layer links need to be correct and tested before finishing the actual development process and uploading the app into the app store. Origami is a design framework developed by Facebook. It’s aimed at simplifying prototyping of iPhone and iPad apps, paying particular attention to the integration of interactions and animations. [Image of iMac by Placeit] What Is Origami? Origami is a free tool for designing modern user interfaces. It was developed to create quickly design prototypes with animations and interactions that can be run on iPhones or iPads. The export function allows you to export the generated code and provide the coder with a snippet. This open source animation framework makes the creation of animations and user interfaces comfortable and productive. The framework developed by Facebook was released on December 23, 2013 and has been continuously developed. What should be mentioned is that Origami can only be used together with the Quartz Composer and, therefore, only works on Mac OS X. You’ll also need to be registered as an Apple developer in order to use it. Although Origami can export the code to iOS, Android, and the web, the […]

Categories: Others Tags:

Animsition: User-Friendly jQuery-Plugin for Animated Page Transitions

May 15th, 2015 No comments

JavaScript along with CSS3 make it easy to create website animations. Some use CSS3 animations to pimp page transitions within a website. The current Cascading Stylesheets version allows you to create simple fade-in and slide-in effects as well as 3D transitions to other pages. The fairly new jQuery plugin “Animsition” helps to easily integrate such animated page transitions into your web project. Incorporate Data, Mark up HTML, Start the Plugin Animsition can be quickly integrated and configured. It consists of a JavaScript and a Stylesheet file which are both incorporated into the HTML document. In addition, you’ll need to mark up a HTML container that will be faded in or out for the transitions. As you’ll usually want all content to be animated, the container should include everything within the body. It’s, however, possible to enclose only a part of the content. The navigation and logo, for example, usually won’t change, so there’s no need to animate them.

It’s important to give the container the “animsition” class, so that the plugin can access it and animate the element. It’s also necessary to give the “BookBlock And Windy: 2 jQuery-Plugins Provide Exceptional Content…

  • Sequence.js: Responsive Content Slider with CSS3 Transitions and…
  • Easings.net – CSS3 Animations LeadfootedEasings.net – CSS3 Animations Leadfooted
  • Close Up: Decent Zoom Effects with elevateZoom for jQueryClose Up: Decent Zoom Effects with elevateZoom for jQuery
  • 5 jQuery Plugins to Breathe Life into your Texts5 jQuery Plugins to Breathe Life into your Texts
  • Coming to a Screen Near You: CSS3 Animations and The New JavaScript Method Animate()Coming to a Screen Near You: CSS3 Animations and The New JavaScript…
  • Categories: Others Tags:

    Sketch With Material Design

    May 15th, 2015 No comments
    Sketch 3.2 comes ready with a material design sticker sheet to give you a jumpstart on new projects.

    In the past year, adoption of Sketch at Google, where I work at, has taken off and is now a widely preferred tool. The more tools in our belts, the better, so here’s my take on why Sketch and the new material design1 system are a great match.

    Tools are an extension of our hands, and as such, they should be versatile, quick and intuitive. A lot has changed between the print era of offset presses and the digital era of cross-platform screens. Developers have attempted to adapt our tools, but Sketch is perhaps the most successful app in this regard — its creators have removed the bloat, started afresh and presented a smaller, fit-for-purpose feature set. What may seem on the surface to be a simple drawing tool in fact nails the core workflows of digital design.

    2
    Sketch 3.2 comes ready with a material design sticker sheet to give you a jumpstart on new projects. (View large version3)

    The latest version of Sketch (3.2) ships with something special for those interested in Google’s latest visual design language: the material design sticker sheet. In this tutorial, we’ll design a test app with the help of Sketch and the material design sticker sheet.

    Let’s Create a Notes App!

    In this article, we’re going to make a very simple app — a notes app. Luckily for us, all of the components we need are already available in the latest Sketch app. These are the screens we’ll create:

    4
    The exported screens.(View large version5)

    You can also download the Sketch file6 (ZIP) that was used to make this notes app prototype; it could help you along in the tutorial.

    The Template

    In our template — File ? New from Template ? Material Design — you’ll see a wide set of components, icons and layouts. The sheet itself was designed by the hardworking material design team at Google and has been ported with the love and care of Amar Sagoo and myself. The groups and objects are named, styled and organized in a truly Sketch-friendly way.

    It All Starts With an Artboard

    With your new document open — File ? New (or Command + N) — press the A key (which is a shortcut for the Artboard tool). You can draw an artboard just as you would draw a shape, a slice or any other object. That’s because Sketch has a simple set of objects that all work the same way (more on that later). When the Artboard tool is selected, you can see on the right side a list of artboard sizes, including — you guessed it — all of the material design sizes. Click on the “Mobile Portrait” size and a white box should appear.

    Sketch 3.2 provides the material design sizes within the new Artboard tool.7
    Sketch 3.2 provides the material design sizes within the new Artboard tool. (View large version8)

    Sketch’s Killer Feature #1: Scale-Independent Exports

    Note: Material design is defined using density-independent pixels9. As the Android Developers page explains10, a density-independent pixel (DP) unit corresponds to the physical size of a pixel at 160 DPI. Though we’ll be using pixel units11 (px) in this Sketch tutorial, these are really density-independent pixels because you can scale them up or down upon exporting.

    In today’s world, you can’t depend on the same pixel density, so DP units allow us to talk the same language when dealing with different device layouts. Sometimes you may be compelled to work at double or triple pixel size because you want to match the pixel size of your surface — don’t go down that route.

    Stay at 1x pixels and then just export at the upscaled sizes. Sketch makes that as easy as a simple drag and drop. You’ll see a panel in the bottom left showing you the sizes slotted for exports, and you can even add your own suffix conventions for file names. When you do an “Export All” operation (Command + Shift + E), you’ll see that artboard, and Sketch will export all versions of the bitmap.

    Always work at 1× pixels. You can easily scale up or down in the “Export” panel.12
    Always work at 1× pixels. You can easily scale up or down in the “Export” panel. (View large version13)

    Now, head to the sticker sheet template and select the “mobile global elements” artboard. Only the important stuff there is selectable, so just click on that artboard and copy and paste into your document. You now have the basic layout of a mobile material design app. As you can see in the Layers panel, you have a group named “screen”. You’ll only need the contents of that group, so just go ahead and ungroup (Command + Shift + G) the “screen” group. You’ll now see four layers:

    In the sticker sheet, you'll find some ready-made artboards that you can copy and paste directly into your sketch file.14
    In the sticker sheet, you’ll find some ready-made artboards that you can copy and paste directly into your sketch file. (View large version15)
    • navbar
      This is a symbol (symbols in the Layers panel are marked with purple color), which means it will be the same everywhere, and if you change the contents of the symbol, it will change everywhere in the file.
    • status bar
      This is the top bar on the screen with Wi-Fi, time and status information.
    • app bar
      This is your main navigation header, which displays the name of the current page and a button to go up or open the drawer.
    • screen bg
      This is a background color, but it’s also a mask. You can delete this because your artboard will act as the mask for your screen.

    Masks in Sketch Work… Upward!

    In Sketch, masks work upward, meaning that layers above a masking object are cropped by that object. In Adobe Illustrator, however, you would place a shape on top of other layers to create a clipping mask; this threw me off at first. For more on masks, check Bohemian Coding’s documentation16.

    If you move these layers around within an artboard, you’ll see that they are masked by that artboard. That’s the only case when an object that is higher in the Layers panel masks the objects below. Artboards always mask their contents and also house the coordinate space; so, an x value of 0 and a y value of 0 would mean the top-left corner.

    Cards are a standard pattern and work well for heterogenous information.17
    Cards are a standard pattern and work well for heterogenous information. (View large version18)

    Let’s go back to the sticker sheet. Let’s grab the half-width card components19 and paste them in our composition. The suggested margins for these cards is 8 pixels, so go ahead and space them out.

    Sketch’s Killer Feature #2: Hover Guides

    One of Sketch’s most useful features has to do with spacing: Select an object, hold down Alt, and then mouse around to see distances from your selection to other objects. And holding down Command + Alt and mousing around will measure objects that are deep within the hierarchy relative to other objects contained in groups.

    The floating action button is a unique component in material design.20
    The floating action button is a unique component in material design. (View large version21)

    Finally, let’s get the floating action button from our buttons components and put that in. It should be 16 pixels from the navbar and 16 pixels from the right side.

    Great! So, we’ve got the composition for our first Material app. It’s a scrolling card view.

    The Navigation Drawer

    Navigation drawers provide navigation to primary sections within the app and global functions such as account switching and configuration.22
    Navigation drawers provide navigation to primary sections within the app and global functions such as account switching and configuration. (View large version23)

    To get around the various areas of our app, we’ll make use of the navigation drawer component. Let’s duplicate our original artboard: Click on the artboard in the Layers panel list or on the title of the artboard on the page, then press Command + D. This will duplicate the artboard and move the new artboard 100 pixels to the right. You can continue your flow simply by duplicating and modifying, which is what we’ll do now.

    Grab the navigation drawer from the mobile artboard — the layer is called “side nav.” Paste it onto your new artboard. You can change the categories in the navigation, but the top area is reserved for switching user accounts.

    Material Forms

    Forms in material design morph. Depending on their state, placeholder text becomes labels.24
    Forms in material design morph. Depending on their state, placeholder text becomes labels. (View large version25)

    What happens when you tap that big plus button? Well, you should probably be able to make a note. Let’s grab some of the form’s components in the sticker sheet and make a new artboard for them. Here, we can make use of the keyboard, which is a symbol that can be placed whenever we need it. We’ll use the dark one to fit our dark app.

    Reusing Artboards

    Of course, after you’ve created a note, you should see it added to the card view. Let’s duplicate the first screen and add in our new note. Just click on the name of the artboard right above the artboard itself. Now that the artboard is selected, press Command + D. That will duplicate the artboard and move it 100 pixels to the right, perfect for quickly mocking up a flow.

    You can duplicate artboards and they'll move to the right side of your flow.26
    You can duplicate artboards and they’ll move to the right side of your flow. (View large version27)

    Sketch’s Killer Feature #3: The Color Picker

    Sketch provides a powerful color picker. Just press Control + C to select a color anywhere on the screen. Combining this with Command + click to click through to any element, you can easily recolor any object in no time.

    The color picker is quick and accurate and can be used on anything on the screen.28
    The color picker is quick and accurate and can be used on anything on the screen. (View large version29)

    Covering The Tabs

    Tabs are a great way to show different sets of content. In our app, we will have notes of importance and notes shared with others. Let’s make some tabs for “saved” and “shared” notes, with our current view being “all” notes. Jump back to the sticker sheet and click on the “tabs” component. Copy and paste that and position it next to the app bar. If you’ve grabbed the whole “app bar” tab from the sticker sheet, you’ll notice that it’s the wrong color. So, change the background color: Click through (Command + click) to the background of the tabs, and change the color to our main color. Move the tabs to the top, and you’re set.

    Tabs allow for multiple views of the same content types.30
    Tabs allow for multiple views of the same content types. (View large version31)

    When copying components from the sticker sheet, you can take any level of elements. This means you can take a whole screen, just the components within or even just the icons. The tabs, as well as other components, have been prepared with a transparent background. Move within the “app bar” group and you’ll be able to copy the “tabs” group and paste onto any existing background. The advantage of a transparent background is that you will get the proper spacing around the component, but you can quickly place it on top of an existing background or toolbar.

    Making A List

    You’ll use lists a lot. They’re a fundamental component to any app, and material design gives us a number of options. We’ll have our “shared” tab contain a list view.

    Copy the “three-line item” list from the sticker sheet and paste it in a new artboard. Ungroup the list and then just Alt + drag to duplicate an item, a set of items or a group. Do this until you have a full page of rows.

    Lists are a common way to display collections of data.32
    Lists are a common way to display collections of data. (View large version33)

    Secondary Actions Are Shortcuts

    You’ll notice a box on the right side of the list. This box is a secondary action. Tapping anywhere to the right of this action would open up that list item; but for quick actions (such as calling a contact or opening information about a document) you can use the secondary action. We’ll replace this placeholder box with a heart so that the user can quickly save notes.

    In the sticker sheet you’ll find a small set of icons in the top left under “typography.” Grab the heart icon and paste it where the gray box is located. The icon should be in a group containing the heart icon and a transparent 24 × 24 box. This box helps with spacing, so make sure to grab the whole group.

    Symbols allow us to quickly manipulate many instances of the same icon, component or even layout.34
    Symbols allow us to quickly manipulate many instances of the same icon, component or even layout. (View large version35)

    Sketch’s Killer Feature #4: Shared Symbols And Styles

    Now, let’s make the row group into a symbol. This will allow us to edit its contents in many places at once. When you select a group, you’ll see a field in the toolbar that says “No symbol.” Click on this field and select “Create new symbol.” The name will default to the selected group’s name: “row.” Now you’ve got a symbol!

    Symbols allow us to quickly manipulate many instances of the same icon, component or even layout.36
    Symbols allow us to quickly manipulate many instances of the same icon, component or even layout. (View large version37)

    Select each of the other row groups you’ve positioned on the artboard and, once again, click on the area that says “No symbol.” This time you’ll see your row symbol available for use; select it. Now that you’ve got a bunch of rows using the row symbol, when you change one, they will all change. Just like that, you have an interconnected set of elements.

    Using our newfound power, let’s replace the heart with an overflow icon. The overflow icon is a set of three vertically stacked dots and indicates that more than one action is available. All you have to do is copy the “overflow icon” group (along with the padding) from the sticker sheet and paste it right beside the existing heart icon. Line it up with the heart icon, and then delete the heart icon. As you’re doing this, you should see the other rows automatically update. Yay for symbols!

    With Sketch’s symbols, there is no editing mode. Symbols act just like groups and update immediately. This makes it easy to change symbols. Watch out, though: You may be editing a symbol in one place only to find that it has also changed in many other places across the canvas!

    Symbols allows us to quickly switch out icons or whole compositions. But be careful: A change in one place will be reflected everywhere, even on other pages.38
    Symbols allows us to quickly switch out icons or whole compositions. But be careful: A change in one place will be reflected everywhere, even on other pages. (View large version39)

    Bottom Sheets

    In material design, bottom sheets display a set of actions without covering the screen. These sheets emerge from the bottom of the screen, then drop back down when dismissed.40
    In material design, bottom sheets display a set of actions without covering the screen. These sheets emerge from the bottom of the screen, then drop back down when dismissed. (View large version41)

    In material design, bottom sheets are a great way for the user to take action without leaving the current context. These enter from the bottom of the screen and display a set of actions. In our app, the bottom sheet will be invoked when the user taps the forward icon in the top right.

    Let’s grab the bottom sheet from the sticker sheet and paste it in a new artboard. Also, grab the scrim (semitransparent background) from the previous navigation drawer artboard and paste it behind the bottom sheet.

    Dialogs When Needed

    Dialogs can be used for stopping actions, but use them sparingly because they could be unnecessary roadblocks for repeated flows.42
    Dialogs can be used for stopping actions, but use them sparingly because they could be unnecessary roadblocks for repeated flows. (View large version43)

    As a last step, we’ll add in a dialog. This will be invoked when the user selects the delete action from the bottom sheet. In this case, we want to be really really sure that they want to delete this note. And finally, speaking of deleting, I encourage you to start fresh with your own designs. Sketch is such a quick program and material design is such an enabling guide that you can think big and different about how to delight users in your app. So, happy sketching!

    Quick Start With Sketch Resources

    Here’s a list of material design resources built for Sketch to get you up and running quickly:

    Conclusion: Keep The Principle In Mind With The Tool In Hand

    Thanks for walking through material design in Sketch with me and making an awesome notes app. We have not only learned a new tool, but also started on our way to a new design system.

    One final note of caution: Sometime we focus on existing components and miss an opportunity to address our users’ needs in a new way. You can always check your designs against material design’s principles49:

    • Material is the metaphor
      A material metaphor is the unifying theory of a rationalized space and a system of motion. The material is grounded in tactile reality, inspired by the study of paper and ink, yet technologically advanced and open to imagination and magic.
    • Bold, graphic, intentional
      The foundational elements of print-based design — typography, grids, space, scale, color, and use of imagery — guide visual treatments. These elements do far more than please the eye. They create hierarchy, meaning, and focus.
    • Motion provides meaning
      Motion respects and reinforces the user as the prime mover. Primary user actions are inflection points that initiate motion, transforming the whole design.

    Remember, no matter how good it looks, the greater focus is not on the pixels, but on the user. If your sight is true, all else will follow.

    (mb, al, ml)

    Footnotes

    1. 1 http://www.google.com/design/spec/material-design/introduction.html
    2. 2 http://www.smashingmagazine.com/wp-content/uploads/2015/05/01-stickersheet-opt.png
    3. 3 http://www.smashingmagazine.com/wp-content/uploads/2015/05/01-stickersheet-opt.png
    4. 4 http://www.smashingmagazine.com/wp-content/uploads/2015/05/02-allscreens-opt.png
    5. 5 http://www.smashingmagazine.com/wp-content/uploads/2015/05/02-allscreens-opt.png
    6. 6 http://provide.smashingmagazine.com/sketch-material-design.sketch.zip
    7. 7 http://www.smashingmagazine.com/wp-content/uploads/2015/05/03-artboards-opt.png
    8. 8 http://www.smashingmagazine.com/wp-content/uploads/2015/05/03-artboards-opt.png
    9. 9 http://developer.android.com/training/multiscreen/screendensities.html#TaskUseDP
    10. 10 http://developer.android.com/training/multiscreen/screendensities.html
    11. 11 http://en.wikipedia.org/wiki/Pixel
    12. 12 http://www.smashingmagazine.com/wp-content/uploads/2015/05/04-sizes-opt.png
    13. 13 http://www.smashingmagazine.com/wp-content/uploads/2015/05/04-sizes-opt.png
    14. 14 http://www.smashingmagazine.com/wp-content/uploads/2015/05/05-globalelements-opt.png
    15. 15 http://www.smashingmagazine.com/wp-content/uploads/2015/05/05-globalelements-opt.png
    16. 16 http://bohemiancoding.com/sketch/learn/
    17. 17 http://www.smashingmagazine.com/wp-content/uploads/2015/05/06-cards-opt.png
    18. 18 http://www.smashingmagazine.com/wp-content/uploads/2015/05/06-cards-opt.png
    19. 19 http://www.google.com/design/spec/components/cards.html
    20. 20 http://www.smashingmagazine.com/wp-content/uploads/2015/05/07-FAB-opt.png
    21. 21 http://www.smashingmagazine.com/wp-content/uploads/2015/05/07-FAB-opt.png
    22. 22 http://www.smashingmagazine.com/wp-content/uploads/2015/05/08-navdrawer-opt.png
    23. 23 http://www.smashingmagazine.com/wp-content/uploads/2015/05/08-navdrawer-opt.png
    24. 24 http://www.smashingmagazine.com/wp-content/uploads/2015/05/09-forms-opt.png
    25. 25 http://www.smashingmagazine.com/wp-content/uploads/2015/05/09-forms-opt.png
    26. 26 http://www.smashingmagazine.com/wp-content/uploads/2015/05/10-noteadded-opt.png
    27. 27 http://www.smashingmagazine.com/wp-content/uploads/2015/05/10-noteadded-opt.png
    28. 28 http://www.smashingmagazine.com/wp-content/uploads/2015/05/11-colopicker-opt.png
    29. 29 http://www.smashingmagazine.com/wp-content/uploads/2015/05/11-colopicker-opt.png
    30. 30 http://www.smashingmagazine.com/wp-content/uploads/2015/05/12-tabs-opt.png
    31. 31 http://www.smashingmagazine.com/wp-content/uploads/2015/05/12-tabs-opt.png
    32. 32 http://www.smashingmagazine.com/wp-content/uploads/2015/05/13-rows-opt.png
    33. 33 http://www.smashingmagazine.com/wp-content/uploads/2015/05/13-rows-opt.png
    34. 34 http://www.smashingmagazine.com/wp-content/uploads/2015/05/14-rowsSymbol-opt.png
    35. 35 http://www.smashingmagazine.com/wp-content/uploads/2015/05/14-rowsSymbol-opt.png
    36. 36 http://www.smashingmagazine.com/wp-content/uploads/2015/05/15-switchsymbol-opt.png
    37. 37 http://www.smashingmagazine.com/wp-content/uploads/2015/05/15-switchsymbol-opt.png
    38. 38 http://www.smashingmagazine.com/wp-content/uploads/2015/05/16-rowsSymbol-opt.png
    39. 39 http://www.smashingmagazine.com/wp-content/uploads/2015/05/16-rowsSymbol-opt.png
    40. 40 http://www.smashingmagazine.com/wp-content/uploads/2015/05/17-bottomsheet-opt.png
    41. 41 http://www.smashingmagazine.com/wp-content/uploads/2015/05/17-bottomsheet-opt.png
    42. 42 http://www.smashingmagazine.com/wp-content/uploads/2015/05/18-dialog-opt.png
    43. 43 http://www.smashingmagazine.com/wp-content/uploads/2015/05/18-dialog-opt.png
    44. 44 https://github.com/BohemianCoding/SketchTemplates/blob/master/Material%20Design.sketch
    45. 45 https://github.com/patrickkeenan/SketchTemplates/blob/master/Material%20Design%20Icons.sketch
    46. 46 https://github.com/google/material-design-icons
    47. 47 https://github.com/patrickkeenan/SketchTemplates/blob/master/Material%20Design%20Whiteframes.sketch
    48. 48 https://github.com/google/material-design-icons
    49. 49 http://www.google.com/design/spec/material-design/introduction.html#introduction-goals

    The post Sketch With Material Design appeared first on Smashing Magazine.

    Categories: Others Tags:

    Functional Animation In UX Design

    May 14th, 2015 No comments

    Editor’s Note: This article contains many video examples that show functional animation. Therefore, it may take longer to load on slow connections.

    A good UX designer can easily explain the logic behind each decision in a design concept. This includes the information architecture, the hierarchy of page content, the flow and the assumptions made.

    Sooner or later, animation will be introduced to the wireframe concept, and then making design decisions or explaining them becomes harder. Reasons such as “It will be cool!” or “It’s trendy” or ”exciting” are exactly the areas where a design starts to lose its strength. Animations deserve a far better ground in our design considerations. We should be justified in defining animations and explaining their purpose — just the same way that we explain all other elements in a design.

    What Is Functional Animation?

    Functional animation is subtle animation that we embed in a user interface design as part of our process.

    Unlike animation made by Disney Studios or animation made for computer games, functional animation has a clear, logical purpose. Their purpose is to serve a design concept by supporting the solution we are trying to convey. Functional animation is yet another tool in our UX design arsenal.

    In a perfect world, we should be able to validate functional animation against a well-defined set of logical purposes. If a certain animation in our design follows a logical purpose, then it is a valid functional animation and its existence in our design is probably justified. But if it fits no purpose, then it might be redundant and need to be reconsidered.

    In the past year or so, while working on various projects, I’ve collected a family of nine logical purposes that today help me validate functional animation. I’ve realized that by examining a well-defined animation, I can easily fit it in one or more groups in this family.

    It also works the other way around: When an animation doesn’t fit a functional purpose, it usually also feels awkward or annoying. Below are the family groups I have collected so far. I hope you find them useful in validating your own design animation.

    Orientation

    Direction illuminates structure. In this group, we find animation that plays a role in our navigation, casting light on the website’s information architecture. The logic behind this type of animation is to maintain the user’s sense of orientation and to help the user comprehend the change that has just happened in the page’s layout, what has triggered the change and how to initiate the change again later on if needed.

    A classic example is a button that toggles hidden content. When you click it, a hidden panel appears. And when you close the panel, it shrinks back into the action button.

    The first time, a user cannot really predict an interaction that is about to happen. The opening animation of the hidden panel growing in size helps the user stay oriented and not feel that they have left the page or that content has suddenly vanished. They remain in control of everything that is happening. The closing animation helps the user associate the shrinking panel with the action button — so, the next time they will remember how to open the panel again.

    Logical purpose: Avoid a surprising transition, and orient the user.

    Example Videos

    Same Location, New Action

    A well-known usability rule is to be consistent in both the design and content of a website. A consistent website is predictable and, therefore, learnable. This rule applies to action buttons, among other things.

    In certain cases, we are forced to design an action button whose functionality changes under certain conditions. We usually see this in designs where overall space is limited. Thus, a user who has learned the functionality of an action button may need to learn new functionality.

    “Save” and ”Edit” buttons are probably the most common example of switchable buttons. But this is an easy case because, while the actions are contradictory, they have the same context. In other situations, when the two actions have no immediately apparent relationship, we face a usability challenge. That’s where functional animation can help.

    Logical purpose: Emphasize a functional change in an action button.

    Example Videos

    Zoom In

    The third family has some similarities with the orientation group we saw earlier. In these animations, the user selects an item in a list to zoom into its detailed view (which overtakes the list view) and is able to go back to the full list view.

    We commonly see this in image galleries, cards and item selectors. A user will select an item and will immediately see the detailed screen that is associated with that selection.

    The challenge here is to make sure the user feels they are still in control and remain in the given context. Functional animation is usually a must in this situation.

    In examining numerous functional animations in this family group, I’ve noticed a common pattern that, when implemented accurately, enhances the animation’s effectiveness:

    1. The initial state is the original list of items.
    2. Each item is designated with a unique visual cue, such as a dominant color, a symbol, a bold title or a thumbnail image.
    3. When the user makes a selection, a new page is created and the selected visual cue is relocated to a prominent, dominant position. For example, the entire page might be colored with an item’s unique color; the item’s symbol would expand and be positioned in the page’s title; the item’s name would get bigger and appear in the page’s title.
    4. A noticeable action button to dismiss appears in the new page, such as “Cancel,” “Close,” “Back” or “x.”

    Logical purpose: Associate a thumbnail with its detailed view.

    Example Videos

    Visual Hint

    Visual hints assist users to better understand how to interact with a product’s interface. It is especially needed in designs that contain an unconventional object or a unique navigation method.

    This kind of functional animation is easily detected when we open a page and a quick one-time animation is suddenly triggered that demonstrates how certain functionality in the design operates.

    Logical purpose: Hint to exhibit unconventional functionality or a hidden action.

    Example videos

    Video credit: Michael Martinho1
    Video credit: www.buildinamsterdam.com2
    Video credit: Dejan Markovic3

    Highlight

    This family group assists users in those unfortunate situations when there is a need to rise above a noisy layout.

    Designers usually strive to avoid noisy layouts, which load the screen with various pieces of textual and visual content that compete with each other for the user’s attention.

    One way to minimize noise in an interface is by removing clutter. However, sometimes this task is not so trivial. Consider a news website whose owners want to remove pieces of textual news or images from the home page.

    Motion, by its nature, has the highest level of prominence in a user interface. Neither text paragraphs nor static images can compete with motion. We can take advantage of this with this functional animation group. Remember, though, that increasing interface noise by adding an object with a higher level of prominence is a slippery slope.

    In the animation sample below, we see that the addition of an item to the shopping cart is not noticeable enough due to the crowded background. So, animation is needed.

    Logical purpose: Grab the user’s attention, and rise above a noisy layout.

    Example videos

    Video credit: www.Photojojo.com4

    Simulation

    Sometimes during design analysis and user interviews, we find that users have a need that we can address only with a tailored simulation.

    For these special cases, we would create a customized functional animation. In the example below, soccer analytics are presented in a way that figures, numbers, tables and graphs could never compete with. In the second example, the user can monitor temperatures on a map according to time and geography — a particular use case that could hardly be addressed any other way.

    Logical purpose: Simulate topics that are otherwise hard to convey.

    Example videos

    Video credit: Monterosa5

    Visual Feedback

    Visual feedback is extremely important in user interface design. In real life, buttons, controls and objects respond to our interaction, and this is how people expect things to work.

    But remember that functional animation in this family group needs to be very subtle and should be designed responsively. Button feedback is extensively used in every interface, so using functional animation where it is not really needed will cause more harm than good. On touch devices, functional animation can be most beneficial as a substitute for rollover effects.

    Logical purpose: Acknowledge the user’s action.

    Example videos

    Video credit: Google material design6

    System Status

    This group is all about control. For the user, control means knowing and understanding their current context in the system at any given time.

    Functional animation provides real-time monitoring of system status, enabling the user to quickly understand when an action began, the time remaining and exactly when it has ended. Perhaps the very first functional animation that served this role in HTML websites is the spinner GIF, which is still being used in many interfaces to indicate an action in progress.

    Effective functional animations in this family group usually follow this pattern:

    1. Show clear feedback to indicate that the process has initiated.
    2. Present ongoing feedback while the process is in progress.
    3. Estimate the completion of the process (a step, by the way, where spinners fail).
    4. Show clear feedback that the process has terminated.

    A well-known animation in this group is “pull down to refresh,” which initiates a process of content updates on mobile devices. Examine the implementation of these animations in various applications, and you will soon notice that animations that do not fully comply with the four steps laid out above feel wrong. For example, uncertainty arising from the lack of clear feedback that a process has terminated could prompt the user to initiate the refresh action again.

    Logical purpose: Impart a sense of control in a linear process.

    Example videos

    Video credit: Yik Yak App7

    Marketing Tool

    This group is all about Marketing — and it’s got some fun animations! Whereas the previous eight groups in our family of animations are quite logical, this one is full of emotions!

    Suppose we need to indicate a product’s behavior, highlight a particular feature, promote a unique capability or even bundle a brand’s values and style into a product.

    In any of these scenarios, an animation might serve the company’s marketing strategy well. The approach might not be clearly user-centered, but it definitely has a functional purpose.

    Logical purpose: Support a company’s brand values or highlight a product’s strengths.

    Example videos

    Video credit: Creativedash8
    Video credit: www.Bellroy.com9

    Summary

    When it comes to providing pleasure or delight in our websites and apps, animations contribute a lot. But always remember that they must be functional first.

    Aarron Walter of MailChimp writes about the hierarchy of user needs in his book Designing for Emotion. It’s similar to Maslow’s hierarchy of needs, but rather than describing our personal needs, Aarron describes our needs as users. Walter’s hierarchy positions the functional need as the base of the pyramid, while the need for pleasure is up on top — and applicable only if the base has been fulfilled. In this article, I’ve dealt only with this functional base, without going into aspects of pleasure and delight, which deserve an article of their own.

    So far, I’ve compiled a family of nine rules. These nine rules map well to every animation I’ve encountered so far. They help me to assess animations that I see in interfaces, and they are a strong set of guiding principles in deciding how to add animations to a wireframe design. I hope they serve you in your design process in the same way they serve me.

    However, this research is in progress. So, the next time you come across a functional animation, go ahead and test it against one of these nine groups. If it doesn’t neatly fit any of them and the animation has a clear purpose, share it with us, maybe you have found the tenth family of rules!

    (cc, ml, al)

    Footnotes

    1. 1 https://dribbble.com/shots/1964352-Tasking-App
    2. 2 http://www.buildinamsterdam.com/
    3. 3 https://dribbble.com/shots/1861517-Messages-Animation
    4. 4 https://photojojo.com/store/
    5. 5 https://dribbble.com/shots/1410455-Soccer-analytics
    6. 6 http://www.google.com/design/spec/animation/responsive-interaction.html#responsive-interaction-user-input
    7. 7 http://www.yikyakapp.com/
    8. 8 https://dribbble.com/shots/1901531-Loading
    9. 9 http://bellroy.com/slim-your-wallet

    The post Functional Animation In UX Design appeared first on Smashing Magazine.

    Categories: Others Tags:

    Bon Appetit: Beautiful Premium WordPress Theme for Restaurants and Cafés

    May 13th, 2015 No comments

    It’s nothing new. Companies benefit from the web. Still not all make use of it. There are whole industries underrepresented; even after 25 years of website development. The food service industry is such an underrepresented niche. Before you disagree, you’re right, there are loads of websites with food-related content out there. But look around you. How many potential website owners are there directly within your reach. You’d probably be surprised how many of these don’t run a proper website. So why not acquire these small businesses systematically? All you need is a fast and reliable way to create a web presence that suits their needs. As small businesses tend to have small cash, you will not be able to call the whole plethora of front-end wizardry. Instead, consider choosing a dedicated theme designed to handle all the needs of the gastronomy. Bon Appetit by StylemixThemes is one such theme, available at Themeforest for small money – the perfect foundation for food services and you… The Tasty Offers of the Bon Appetit Theme Bon Appetit is a dedicated, responsive theme for restaurants, cafés, bars and other food services. It is available over at Themeforest for a price of 48 USD. There […]

    Categories: Others Tags: