thoughtful theming

Post on 28-Jan-2015

124 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Slides used in WordCamp Raleigh presentation: Thoughtful Themeing, an inspirational talk about design.

TRANSCRIPT

THOUGHTFUL THEMINGA talk on design, and efficient

theme development for WordPress

Who am I?

Just a guy Started on blogger, adopted b2, moved

to WP Built a successful side-business doing

custom design http://onefinejay.com

How did this talk start?

Talking with a friend with common interests about aspects of design

Started as a 5-min presentation at a local WP-related meetup

Discussed conditional logic for faster theme development

This talk is more about design than anything else.

Today’s Questions

What is design? What is good design? What are the areas of design in

WordPress? What is a theme? Why roll your own theme? How can you make your theme

development experience better? When should you use what?

What is design?

Design is a tool; it is a means to an end Design is thoughtful and thorough

development of a solution to a problem We experience design everywhere Poor design leads to bad experiences Great design can be invisible. “It just

works.”

Poor design

You feel its effects, immediately or otherwise

Consequences can lead to lost business or worse, lost lives

Inability to forecast unintended possibilities

Inability to step into the shoes of target market

Lack of passion due to undercutting oneself

Quality Triangle: “Pick two.”

Product dev’t: cheap, fast, high quality Spouse: intelligent, good looking, sane Design is what you do when you refuse to

accept that you can only pick two.

What is “good design?”

Industrial design tangible area of design Dieter Rams and the 10 principles of

good design Studied architecture and carpentry Worked in architecture then for Braun as chief

of design Weniger, aber besser. Less, but better.

Jonathan Ive Inspired by Rams VP of design at Apple, Inc.

Rams & Ive, side by side

Gizmodo, et.al. compared products

Rams’ Ten Principles of Good Design

Innovative Makes a product useful Aesthetic Makes a product understandable Unobtrusive Honest Long-lasting Thorough down to the last detail Environmentally friendly As little design as possible

Areas of Design in WP

Database design Changes with every major release Drive for efficiency

Admin UI design Well-designed plugin user interfaces are

consistent with WP’s own admin UI Theme design/development

Most common area High visibility Most competitive marketplace

What makes a theme?

Short history of WP themes Style.css + my-hacks.php Theme directories

Index.php Style.css

Rise of premium, freemium, or do-it-all frameworks

Entire applications built on top of WordPress

Great expectations

The highly competitive market of themes has raised expectations

Clients look for deliverables that are built into themes or require plugins (paid/freemium)

Frameworks make for rapid deployment IF you know how

Are drop-in themes crutches?

Matter of opinion Subject of a SxSW Panel, in terms of

WordPress itself Depends on whether you treat it that way

Do you find yourself shoehorning your work into a theme framework?

Do you find yourself repeating a wireframe for rapid deployment?

That’s okay. I’m guilty of that, too, but remember: you may not grow as a designer if you keep doing this.

Why roll your own theme?

You gain an understanding of the medium You know it like the back of your hand No drop-in, freemium, premium,

superdupermegacomplete framework can predict a need you might encounter

Sometimes you need a scalpel and all you have is a Swiss knife without one, or worse, a chainsaw.

The potential for discovery has not been exhausted.

When not to roll a theme

Client won’t pay the right price for custom work

Don’t waste your time with unpaid work Needs are met with a drop-in theme “Just want to write.” Twenty-Ten might

just work for this, just as Default/Kubrick worked as well

Persistence of design

Some blogs have never changed design since 2003, yet they have plenty of traffic

A known and familiar interface for readers

Primitive by today’s standards “Still works for them” The goal is to be read, and that goal is

met

Balancing futureproofing and creativity

A growing trend is to produce child themes Applies to all paid frameworks Encouraged for the new theme

Majority of themes between then and now are modified versions of Kubrick/Default Evidenced in conditional output when viewing

archive and single pages Material benefit: you get all the goodies

and features while keeping your customizations after a core update

Drawbacks to child-theming

Child themes tend to be palette and image swaps

Same song, different day Working with someone else’s code,

keeping up with a growing list of CSS classes/IDs, and custom functions (Yes, I understand you have to start from

somewhere)

Having a good time theming

Learn WordPress like the back of your hand Understand the core functions and play, play,

play! If you learn something when playing during

“idle time,” you did not waste any of that time at all

Read up on resources that discuss principles of design (color, proportion, line, space, etc)

Follow a 101-level theme development tutorial

Choose a framework, or make your own You don’t have to share if you don’t want

to.

Enough “ranting” let me teach you something

Conditional logic is the coolest thing in the world and it will make your life easier if you exercise discretion.

Practice makes good. Sometimes the only difference between

index.php and page.php are a few lines. So just use a few conditionals specific to

page.php and save yourself yet another file to edit or sift through

You can combine conditionals!

Know your car; know your theme

When you ride with someone and they take a parking spot in one turn, or surprise you with a remarkably tight parallel park, how do you feel? Your friend driving that car knows his car.

Using conditional logic, you can cut down on the number of theme files you have to worry about. It’s like driving a smaller car. Not really.

A few examples

Some screenshots from the code editor on the theme I privately developed.

I’m lacking files!

No: Page.php Archive.php Author.php Category.php And then some

Fewer files to edit

Modular CSS loading

Why load CSS rules for comments on every page?

Also has some CSS for a custom page

Prevent a page fromlinking to itself

Mostly overlooked, but it’s a nice thing to do

Yes, people are used to this happening, so when they come across something that reminds them you thought about them, they might just feel a little better.

A word about content

Designing for the web requires content. Play with wireframe sketches, layout and

Lipsum all you want; your design won’t come to life without content.

Identify the aims to every project: why does someone even want an online presence? To have a voice? To win an election? To sell ads and make money?

Quick recap

Design is a tool, a means to an end Ten principles of good design by Dieter Rams No one theme or framework works for all

possible projects Rolling your own theme is not a bad idea Use conditionals to cut down on

inefficiencies and maintenance efforts Learn to see your project from your client

and their target audience’s eyes Content might not be king, but it’s not dead

top related