Responsive Design

to Maximize Your Blackbaud Internet Solutions Donation Experience

Who Was I?

  • Failed High School Teacher
  • Failed FM DJ at a Classic Rock Station
  • Failed Writer*
  • Failed Coffee Shop Manager
  • Failed Stock Boy at a Liquor Store
  • Failed Best Buy Service Plan Pusher

Who Am I?

  • Real Name is Just the Letter J
  • Older than you think*
  • Married 18 years, 8 year old daughter
  • 5 Years at Blackbaud
  • Senior Interactive Web Developer IV
  • Specialize in BBIS Front End Customizations
  • Photoshop Narcissist.

What my mom thinks I do

What I think I do

What I Really Do

What It Is

Exploring responsive design and its implementation in Blackbaud Internet Solutions, hopefully sparking your creativity while instructing on pitfalls to avoid, choices to consider and granting you another tool to create a successful, engaging website for your BBIS installation.

What it also is

We will look at the practical application as well as overarching themes.  So a bit of code a bit of philosophy, but not enough of either to fry your brains.

Why Responsive?

2008

We must make our website iPhone friendly

2009

We must make our website Android friendly!

2011

We must make our website iPad friendly!

2014

We must make our website ...

The Next Device is Coming!

2015

!!!!

Declaration of Terms

Fixed

A traditional website with fixed widths.  Remains the same size regardless of device or screensize.

This is where your website probably began.

Fluid

Uses percentages instead of fixed pixel width.  Everything remains the same relative size to the screen.

This is an important step in creating a website readable on any screensize, but doesn't address the problem with two columns squeezed onto a small device.

Adaptive

Uses media queries to alter the styles at different screen widths. 

An example would be creating a mobile menu that is normally hidden, but when the screen size is below a certain width, it appears.

.mobileMenu ul {
    display:none;
}
@media (max-width: 380px) {
    .mobileMenu ul {
        display:block;
    }
}

Responsive

Combines the approach of Fluid and Adaptive design to create a website readable regardless of device and screensize. 

Widths will fluidly adjust based on screen width, but in addition will have breakpoints to change the layout to something better suited to the screensize.

West Point

Mobile First

Starting with a mobile design and progressing to desktop.

Mobile

Tablet

Desktop

Mobile first is nice

But most organizations are starting with an existing website that needs a makeover

Mobile first is nice

But BBIS is built on an older markup that began as desktop first.

Responsive Frameworks

A Popular Shortcut

Responsive Frameworks

  • Twitter Bootstrap
  • Foundation
  • Skeleton

Yes, Virginia, you can use a responsive framework with BBIS.*

*Considerations

Gremlins hiding in the code

Considerations

  • Media Query format
  • jQuery or other libraries used
  • Choosing the right add-ons
  • Styles overriding core HTML
    elements
  • Responsive parts
  • Copy, Copy, COPY

Media Query

BBIS uses a compression utility when it renders the CSS that doesn't like compound media queries.

@media only screen and (min-width: 40.0625em) {
    .stuffInHere {

    }
}

To have the compressor ignore this, we have to add the following.

@media only screen and /*!YUI Compressor */(min-width: 40.0625em) {
    .stuffInHere {

    }
}

Media Query

You may have noticed something odd about that width, too.  It was using an odd unit of measure.

@media only screen and (min-width: 40.0625em) {
    .stuffInHere {

    }
}

Some responsive frameworks use EM instead of percentage.  This makes widths dependent on the base font size (the default is 16px).  In this way designers can better control horizontal scroll.

jQuery Compatibility

BBIS already loads a version of jQuery.  Bootstrap attempts to load a newer version.  This can cause odd things to happen.

<script type="text/javascript">var $ = jQuery.noConflict();</script>

The No Conflict trick at the end of our page creates an alias, allowing us to use a newer version of jQuery.

Choosing the right Add-ons

Most frameworks will have additional components you can add à la carte.  Don't be a glutton.

Styles overriding core HTML
elements

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, 
small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, form, 
table, caption, tbody, tfoot, thead, tr, th, td { 
    margin: 0;
    padding: 0; 
    border: 0; 
    outline: 0;
}

* {
    box-sizing: border-box;
}
*::before, *::after {
    box-sizing: border-box;
}

Items to be wary of

form, input, button, select, textarea, table, td, and ul

These styles could affect standard BBIS parts as well as elements in the Admin overlay when editing a page.

#siteWrapper * {
    box-sizing: border-box;
}
#siteWrapper *::before, *::after {
    box-sizing: border-box;
}

Using a more specific target I can avoid overriding base styles and still use the framework styles

Most Important Commandment of BBIS Design

Copy, Copy, Copy

Don't Gamble with your work or your site.

Create a copy of every file you touch, both locally (on your harddrive or a file repository) and inside BBIS

Responsive Parts

  • User Login Form
  • Password Reminder Form
  • New User Registration Form
  • Change User ID/Password Form
  • User Profile Form
  • User Profile Update Confirmation
  • User Profile Display
  • User Email Preferences Form
  • Donation Form
  • Payment Part
  • Payment Summary
  • Event Registration Form
  • Event Calendar

Non-Responsive Parts

  • User Photo Form
  • Transaction Manager
  • User Interest Form
  • Common Form
  • Directory Part*
  • Job Board
  • Personal Notes

Coming Soon

  • COER Registration Form

Also, don't forget the parts that allow you to create your own HTML

 

  • Advanced Donation Form
  • Record Display Part
  • Query Display Part
  • Custom Content Part
  • Unformatted Text Part

A Quick Primer on Placement

  • CSS
     
  • Grid HTML
     
  • JavaScript, Fonts
     
  • Images
     
  • Header Includes
     
  • JavaScript Includes
  • Sites Explorer - Stylesheets
     
  • Layouts
     
  • Sites Explorer - Files
     
  • Sites Explorer - Images
     
  • Unformatted Text Part
     
  • Unformatted Text Part

Considerations When Converting to Responsive Design

UI Interactions

Mice Don't Have Fingers

Another example to look out for would be your collapsing menus or hover states.


Fingers can't hover.

Only mice can hover.

Remember that mobile users are all thumbs

  • Give them large, idiot proof buttons
  • Make clickable areas forgiving
  • space clickable areas to avoid misclicks
  • This doubles for forms where misclicks mean missed opportunities.

http://www.core77.com/posts/27656/Mobile-Interface-Design-Thumb-Zones-for-the-new-iPhones

Put it within reach

Cross domain calls

Don't text all your friends before putting your pants on

Example (Name withheld to protect the innocent)

http://ads.adaptly.com/seg?add=X
http://s.amazon-adsystem.com/iui3?d=XXXXXXX
http://b.collective-media.net/seg/cm/uiao (called twice)
http://a.tribalfusion.com/i.cid?c=X&d=30&page=landingPage
http://leadback.advertising.com/adcedge/lb?site=XXX (called three times)
http://pixel.quantserve.com/pixel/p-d5N1L76OG6H12.gif?labels=X
http://ad.doubleclick.net/activity;src=XXX

That's 10 lookups on every page load.

Limit these, or ensure they are ASYNCHRONOUS

Optimize Images

No one cares about your trip to the Bahamas

Small images can still be large images.

An image not resized by an image editor is still the same size, regardless of how small you tried to make it in the browser.

Or as my grandfather said, 10 pounds of junk in a 5 pound bag.

Images should be responsive.

Set them to a max-width of 100%.

Don't Forget Tablet

It's always

Marsha, Marsha, Marsha!

Tablet is the middle child.

Some Tablet Love

  • Desktop is too wide, mobile too small
  • Optimal reading width is 60-75 characters
  • Remember landscape and portrait
  • More active space on the screen
  • Still no hovers

Content

You talk too much

Says the guy who hasn't taken a breath this presentation.

Content Considerations

  • Content should be creme, good should rise
  • We all have ADD on our phones
  • Get users a way to get to what they want
  • Don't give everyone everything
  • Mobile users scroll
    acutually everone scrolls
    (http://uxmyths.com/post/654047943/myth-people-dont-scroll)

Wait a minute

Why are those only Mobile considerations?

They Aren't.

If it's too complicated for mobile, it's too complicated.

If it's too wordy for mobile, it's too wordy.

If it's confusing for mobile, it's confusing.

That's not saying no content.

Put it where we can get to it.

But let us know what it is.

10 Things your mother never told you about responsive design.

She made a responsive design website, but what she did next blew my mind.

Which brings me to my last point...

Know your audience

Each one of us might be a brain...and an athlete...and a basket case...a princess...and a criminal.... But we all don't visit your site for the same reason.

As my grandfather would say...

Anecdotes are like garlic, we may all enjoy them, but they stink.

Content strategy and design is a whole new topic.

but I'm not one to balk at tangents.

Quick tips:

  • Think of three groups that may visit your site.  It could be less.
  • Think of the three things those users want to accomplish.  It could overlap.
  • Make those easy to get to.
  • "Pretend" you are that person, and test.

Quick Quiz

What page do you think this button will take me to?

Not Here

Pet Peeve

I'm looking at YOU Higher Ed

Pet Peeve

I'm looking at YOU Higher Ed

If you say Donate Now.

I better be able to donate NOW, on the very next screen.

Not three clicks in.

Not after reading about all the stocks I can bequeath.

I JUST told you I want to Donate NOW and you chose to confuse me.

Final Tip

Test.

In the devices.

Using your actions and audience.

From end to end.

What Questions do you have?

Besides

Do you always talk this much?

Did you even leave time for questions?

and, How did you get so awesome with Photoshop?

Responsive Design Session

By J Owen Schultz

Responsive Design Session

BBCON 2015

  • 835