Friday, February 6, 2015

Grumpy Programmer’s Testing Bundle: Review

After having gotten some constructive feedback regarding my testing practices on the basic TDD in your new PHP package tutorial, I decided to read Chris Hartjes “Grumpy Testing Bundle”, a set of two books consisting of The Grumpy Programmer’s Guide To Building Testable PHP Applications and The Grumpy Programmer’s PHPUnit Cookbook. It was my hope that those books will prevent me from using the shoddy practices I displayed in that original post and which originally prompted Matthew Weier O’Phinney’s critique. In this post, I’d like to share with you what I’ve learned, and how much this helped me, if at all.


The Grumpy Programmer’s Guide To Building Testable PHP Applications



The first thing I noticed when opening the book was the low page count. For a hefty $20, one would expect more than 68 pages (including dedication, intro, ToC, etc). One shouldn’t judge a book by its cover (or page count), though, so I dove in enthusiastically, disregarding this.


The book has a total of 15 chapters, and only really starts in chapter 7. If you just read Peter’s tutorial on code analysis tools and are familiar with environment isolation like Vagrant (e.g. our Homestead Improved box), you can skip right to it, as those are the only topics the author touches on in those first 22 pages. Unfortunately, it all goes downhill from there due to the severe outdatedness.


Continue reading %Grumpy Programmer’s Testing Bundle: Review%




by Bruno Skvorc via SitePoint

Adam Woodhouse

Adam Woodhouse Portfolio 2015


One Page portfolio redesign for Canadian digital designer, Adam Woodhouse, featuring big text and full screen imagery.



by Rob Hope via One Page Love

Julie and Kurt

Julie and Kurt


Nice blend of typography against a chalkboard style background in this wedding announcement for Julie and Kurt. My only suggestion is a higher res chalkboard texture for bigger screens. Love the favicon;)



by Rob Hope via One Page Love

YouTube API, Version 3 on Rails

A while ago, I penned an article on using YouTube on Rails, explaining the basics of interacting with the YouTube API. The previous article covered how to fetch video information and use the YouTube IFrame API to manipulate video player. Later, another article, Uploading Videos to YouTube with Rails, was released showing how to create an app that allows users to upload videos directly to YouTube.


The Youtube_it gem was used for both demos. Both of my posts garnered quite an bit of comments, which I appreciate.


youtube_it is a great gem, however, it employs version 2 of the YouTube API, which is now officially deprecated and will no longer be supported after April 20th, 2015. Ouch.


Fortunately, Claudiofullscreen saved the day by creating a new gem called yt (now that's a short name) that utilizes version 3 of the YouTube API.


In this article, we are going to build an app similar to the one that was introduced in the "YouTube on Rails" and "Uploading Videos to YouTube with Rails" posts, but make it work with version 3 of the YouTube API.


Continue reading %YouTube API, Version 3 on Rails%




by Ilya Bodrov via SitePoint

A Story of Poisons, Pirates and Mr. Yuk

The classic jolly roger The skull and crossbones. There's a good argument that this is one of the most successful graphic designs in the last 1,000 years. Perhaps that's why it seems to be laughing. Aside from religious iconography, there aren't too many symbols that have remained in common usage for 500+ years. From the middle ages skulls and crosses were inked next to deceased crew members names on ship manifests. Of course, by the 1700's -- as the 'Jolly Roger' -- we saw the symbol used on pirate flags. The flag was intended to intimidate victims into surrendering their ship with as little fight as possible. The ISO poisons sign we're all familiar with. From around 1850, the symbol began to be used to label 'poison'. Today, it even has a unicode symbol - '☠ - HTML ☠' Generally when designing a symbol like this, your task is to:



  1. Keep it simple: Your symbol may need be reproduced at small scale and in poorly lit environments.

  2. Avoid written language: Even if your user is literate, it may not be in your selected language.

  3. Avoid reliance on culture: A good symbol shouldn't rely heavily on previous knowledge, fairytales, folklore, history, science or other special learning.


As a poison identifier, the skull and crossbones has done a good job at each of these. It's certainly simple, and text-free. If it has a weak spot, it's arguably that last point. Children's books are full of friendly pirates. When does a child first understand exactly what a skull is? Sure, they might know it's a face of sorts, but would they comprehend that they are looking at bones -- and what that implies? At 3 years old? Maybe 5? It must vary. What's more important is how culture has accidently softened the symbol's meaning. Take a look around any toy store -- even the toys and books for toddlers abound with fun and friendly pirates, almost always emblazoned with jolly rogers. It wouldn't be crazy for a child to conclude that any bottle labelled with the jolly roger indicated that the contents were recommended for drinking while dancing a jig or sword fighting. Not an ideal result.

The Alternative?


Green yeuch! face So, is there a better symbol for marking poisons? Perhaps there has been. In the 1970's Dr. Richard Moriaty came up with this -- 'Mr. Yuk' -- as a new poison labeller. As a Pittsburgh Pirates fan, Moriaty found that far from a deterrent, pirate imagery was in fact well-loved by his patients, both young and old. Moriaty's alternative symbol used a 'yucky' green face, squinting eyes and a stuck-out tongue to communicate the idea of a nasty flavor. Any kid who ever spat out a brussel sprout knows what this means -- perhaps before they can even talk. Humans are social animals and we're born with advanced face-interpreting software. Moriaty's child-like icon taps into that innate ability. So, why don't we see Mr. Yuk everywhere now? Although the Mr. Yuk icon gained some mindshare at the time, the design is currently still owned, trademarked and copyrighted by Moriaty's employer -- The Children's Hospital of Pittsburgh of UPMC. Unlike the skull and crossbones (public domain), you can't use Mr. Yuk on your poison bottle without the explicit permission of the hospital. We're stuck with the pirate flag for now. At least be thankful that -- for all their plundering, blood-thirsty violence, bad language and poor hygiene -- pirates were never fierce defenders of their trademarks.

Continue reading %A Story of Poisons, Pirates and Mr. Yuk%




by Alex Walker via SitePoint

10 Tips for Prototyping Your Designs

Even though there’s a wide variety of prototyping techniques, they all share plenty of common ground. In this article, I’ve distilled years of prototyping tips and best practices from the best specialists in the field, as well as from our own experiences over at UXPin.



Tailor the Prototype to Your Audience


The type of prototype you present matters. What may work well for a session with your design and dev teams may not be as effective in a general staff meeting.


It’s not so much about limiting what to present — since you want to involve and be transparent with all stakeholders as much as possible — but more about how to present prototypes and choosing the right level of fidelity.


Low-fidelity prototypes are good in instances where you’re trying to show a conceptual design solution at the earlier stages of a product.


On the other hand, a high-fidelity prototype can be easier to understand for non-design and non-technical folks since it’s visually closest to the final product.


Perhaps a paper prototype might work well when presenting the prototype to a senior executive or engineer who just wants to get a quick overview of the main design concept.


Or maybe you need a mid-fidelity prototype to initiate a collaborative design session amongst team members.


Using the appropriate type of prototype for the situation ensures that your design concepts are clearly conveyed to the audience.


Prime Your Audience


The creator of the prototype will be intimately familiar with every aspect of his or her work.


However, the people testing and evaluating the prototype will be seeing it for the first time, so the creator of the prototype will need to explain and prepare them before the prototype is demonstrated so that there aren’t any misunderstandings or confusion.


For instance, for a low-fidelity prototype, we need to make sure we clarify upfront that feedback and evaluation should be focused on functionality and user flows, rather than aesthetics. On the other hand, if we’re presenting a mid-fidelity or high-fidelity prototype, we can center the discussion on the visuals and interactions.


Involve Your Users (Participatory Design)


Participatory design builds user-feedback into the design process.


Participatory design can be done in a number of ways, including paper prototyping exercises, user testing, brainstorming sessions and so forth.


The idea behind participatory design is user-involvement can give us insights about problems related to usability and user experience early in the process.


Participatory design frameworksource: poweredbysilas.com


Participatory design is more of an observant collaboration. It’s different from usability testing because we are involving users right at the beginning stages of ideation and concepting, not purely for the sake of validating design decisions, but rather, to actually use their feedback to help develop the design.


Focus on User Flows and Scenarios


Prototypes don’t need to be pretty, but they need to work. They must clearly demonstrate the key ideas behind the design.


User flow quick mockupsource: wireframes.linowski.ca


Here’s a process our team followed when we redesigned Yelp as an exercise:


Step 1: Sketch the page flows


We started by crafting how users could optimally flow through the site. After two iterations on the site map, we spent another two iterations filling in navigational and content details (menus, image containers, etc.)


Step 2: Create a low-fidelity digital prototype


Once the sketches were done, we moved into the UXPin app to start the digital prototyping process. We created three to five variations of each page, ran a few quick hallway-usability tests, and then iterated on the prototypes as needed based on the feedback.


Step 3: Increase fidelity as a final touch


Once the user flow was finalized and we were satisfied with the functionality, we focused on visual details like typography, icons and images. We also imported graphics from Photoshop into the UXPin app, merging our design mockup and prototyping phases together.


As we finalized the prototypes, we also tweaked the functionality as needed.


Make User Interactions as Simple as Possible


Fewer clicks mean less friction, which means better user flow.


But don’t let the 3-click myth restrict your design decisions. You could theoretically create a site with all of its pages accessible in one click from the site’s front page, but that would detrimentally increase the cognitive strain users will experience while navigating the site because they’d need to sift through a ton of information all at once.


Navigation flow chartsource: grundyhome.com


It’s more important to consider the productiveness of each interaction. An interaction must make the user feel they’re moving closer to accomplishing their tasks and goals. It’s excellent if that can happen within three clicks, but if you need more user interaction, you should choose the best option.


In our ebook, Web UI Patterns 2014, we covered Virgin America’s airline-ticket-booking user flow. The task of booking a flight couldn’t optimally be completed in three clicks or less; it took roughly nine steps.


Yet, despite breaking the three-click rule, the user flow of booking a ticket was still simple and pleasant.


Virgin America user flow for booking ticketssource: uxpin.com


Don’t Neglect Animations


While animations and transitions might be simplified in a functional prototype, or completely absent in a low-fidelity or paper prototype, the important thing is that we think about them early in the process.


Example of prototying an animated interactionsource: blog.uxpin.com


Knowing where and how animations will be implemented — whenever we get to them — will help us create a more unified user experience.


Animated interactions can make your prototype feel more like the end-product, and that can be beneficial during user testing, so it’s not a bad idea to prototype them if you have the time and resources.


Sketching: The Prototype for the Prototype


Just like the prototype is a distilled version of the final product, a sketch is a distilled version of the prototype.


The traditional design process goes something like this:



  1. Sketching

  2. Wireframing

  3. Design mockups

  4. Prototypes

  5. Development


The process often varies based on the project’s needs, resources and limitations. Some people skip wireframing and mockups entirely, jumping straight into prototyping. Others prefer building wireframes first, then diving straight into code.


No matter what method you use, though, starting with a rough sketch is a quick and inexpensive way to help organize your concepts, ideas and thoughts. Sketching can turn abstract ideas that are floating around in your head into something a little more concrete.


If you have concerns about your drawing ability — don’t be! As you can see in the image below, it’s not about looking pretty. The goal is to organize and explore your thoughts, concepts, and creating a basic structure.


A simple sketch for a prototypesource: uxpin.com


Don’t Let Code Hold Back Your Prototypes


If you’re purely a designer, code might not be your strong suit. In this day and age, with so many tools and options at your disposal, your level of coding knowledge shouldn’t discourage you from creating prototypes. While a functional prototype does have its benefits, it’s not a strict requirement.


There are plenty of prototyping options: Paper prototyping, the Wizard of Oz method, using Keynote/PowerPoint, as well as specialized prototyping tools that have graphical user interfaces.


Paper prototyping exercisesource: carolynchuwong.com


A low-fidelity prototype can let you get away with minimal or no coding. A paper prototype requires no code whatsoever, and could be an easy way to quickly and clearly express your ideas to your team. Also, tools like InVision, Axure and our app allow you to build high-fidelity prototypes without code.


Test Your Prototypes with Real Users


Testing your prototypes lets you discover problems early.


Use personas and user scenarios to keep you on track as you create the prototype, then validate your assumptions with in-person moderated tests or affordable online usability testing through UserTesting, USERcycle, etc.


Start with a low-fidelity prototype, since it makes users more comfortable giving honest feedback, then iterate and test your interactions and animations with a high-fidelity prototype.


If you only have the budget or time for one round of testing, we suggest creating a mid-fidelity prototype. They still look like works-in-progress (which encourages honest feedback) and you’ll still be able to test key components like interactions, user flows and site content.


Between each prototyping stage, we always run quick usability tests. Here are a few tips that have helped our team throughout the years.


Test before you build


By running card sorting and tree testing, you can actually test the effectiveness of your information architecture (IA) before you’re deep into the prototype.


Card sorting helps you see how users create their own navigation schemes. Tree tests let you see the effectiveness of your current IA concepts while users accomplish core tasks.


Don’t use Lorem Ipsum


Placeholder text is distracting, confusing and lacks meaning. Actual content will simulate your end-product better.


Use real images and icons whenever possible


We also don’t recommend placeholder images and icons for usability testing. Your images and icons don’t need to be polished, but users should be able to perceive their general forms.


If necessary, at least use realistic placeholder content


In some instances, you can get away with placeholder content so long as they can effectively represent the final content.


Prototype Only What You Need


Prototyping is a means to an end, not the end in and of itself. We can get so caught up trying to build the perfect prototype, but this will only postpone development of the actual product.


While you don’t want to rush the prototyping phase, you also don’t want to be stuck in this stage for too long.


Timeline of prototypingsource: devartia.com


Further Reading


To learn more about prototyping, grab our free ebook The Guide to Prototyping. Our book covers different prototyping tools and tactics, and discusses case studies from companies such as Google Ventures, ZURB, IDEO and many more.


Related Content



About the Author


Jerry Cao is a content strategist at UXPin. In the past few years, he’s worked on improving website experiences through better content, design, and information architecture (IA). Join him on Twitter @jerrycao_uxpin.


The post 10 Tips for Prototyping Your Designs appeared first on Six Revisions.





by Jacob Gube via Six Revisions

madgas – 2014/5

madgas — 2014/5


Minimal launching soon page for French freelance art director, Matthieu Leclerc. Just love his social network load transition after you click the flashing corner icon.



by Rob Hope via One Page Love