Chrisdigital's Blog

Tech Notes, Code Tips, And Musings By Chris Carvey, NYC UI/UX Director

Powered by Genesis

You are here: Home / Archives for WordPress

SASS + Codekit + WordPress Theming

August 8, 2013 By Chrisdigital Leave a Comment

SASS + Codekit + WordPress Theming: reverie-and-sassRecently I decided to revisit my interest in using SASS as a component of my WordPress theme development skillset. I began this process by looking around at my WordPress starter theme options that utilized a CSS preprocessor as part of its workflow. I briefly considered using Bones before eventually settling on Reverie (which is actually a Framework not a starter theme.) I have a specific use case in mind for the themes I’m building and I concluded Reverie stood out for its simplicity and would play nice with Gravity Forms and mobile templates after some rudimentary testing.

What’s All This Sass About?

Well, SASS is a CSS metalanguage that extends on CSS3 standards by adding sweet features like mixins, variables, includes and the like. There are a lot of benefits to using it with a CSS preprocessor or CSS framework (like Compass) that mainly have to do with trying to apply OOP (Object-Oriented Programming) principles to your theme code and leveraging reusable CSS variables throughout your projects. Here are three posts that go in-depth on the topic:

A. What is a difference in CSS frameworks vs preprocessors?

B. Cross-Platform Sass and Compass in WordPress

C. Getting Started With Codekit + CSS Preprocessors (Post includes a video.)

D. Syntactically Awesome Stylesheets: Using Compass In Sass

Designers love Sass and CompassWhat is also cool, is the emergence of GUI tools like CodeKit to help make this a real viable workflow for developers and designers alike. Having worked a bit with SASS during my stint at E9 Digital I was eager to exercise these muscles again and after some hiccups with Mac OS / Mountain Lion / RUBY configuration I was well on my way. I threw this post together to help those also starting down this road.

Getting Started

This post is a bit Mac OS-centric (Mountain Lion specifically) but nevertheless developers that use other operating systems should be able to figure this out using the information provided below. Here’s a list of steps and resources that helped me get up and running:

Step 1. You’ll need to fire up Mac OS X’s native Apache server local environment or use something like MAMP that is independent of the OS.

Step 2. Download WordPress and Download Reverie (which is based on ZURB’s Foundation.)

Foundation-responsiveStep 3. Make sure your development environment is up to date and/or install a “fresh” Ruby build and all the necessary gems and Compass.

A. Sass / Compass / Foundation / Mac Setup (Video)
This video covers some nuances of Codekit setup not covered elsewhere… (like switching the version of Compass you’re using to compile your code.)

B. Foundation Developer Documentation

C. Installing Compass

D. How to Install Xcode, Homebrew, Git, RVM, Ruby & Rails on Snow Leopard, Lion, and Mountain Lion

E. Ruby on Rails development with Mac OS X Mountain Lion

And Now For The Tricky Part

You may need to tweak Codekit settings to get your configuration just right.As you may have noticed, all the tutorials above focus on various pieces of the puzzle but don’t quite pull everything together in context. This can cause some confusion, that is now compounded by the fact that Compass, Foundation, CodeKit, and Reverie can be used independent of each other (or standalone if you prefer that phrase) where in the past some of these components were more tightly integrated and packaged together. Needless to say, it takes some patience and “massaging” to get this right especially if you’re working with pre-existing code or a theme like Reverie.

As I alluded to above, you may have to dig into CodeKit preferences to change preset folder names as I did. I made the mistake initially of trying to conform to the naming standards Compass wanted, but realized Reverie’s directory naming structure was engrained in the template code to a degree that made me change course. You might find this easier or less of an issue with other themes, but this tripped me up for a few minutes.

Sassy Starter

For example of a simple starter theme, you might want to check out “Sassy_S” which is the popular “_S” aka “Underscores” starter theme refactored into SASS partials.)

I hope this helps you fast track your efforts.

Speak Up

Have any tips to share? or any experiences with this workflow? Please share them in the comments.

Read more on ChrisDigital’s Digital Designer Blog:

1. Customizing the WordPress Admin : WPNYC Meetup Recap

2. My WordCamp NYC 2012 Recap : 800 WordPress fans assemble

3. Responsive Design: WordPress NYC Meetup Recap

Filed Under: WordPress Tagged With: CodeKit, customizing WordPress themes, Foundation, SASS

Customizing the WordPress Admin : WPNYC Meetup Recap

February 22, 2013 By Chrisdigital 3 Comments

Presentation screen : Tailoring the WordPress Admin for Clients and WorkflowsLast Tuesday, on a drizzly February night, several scores of intrepid WordPress fans came out to the latest WordPress NYC meetup, “Customizing the WordPress Admin” hosted at New Work City. I have been rather busy in recent months and I found this latest subject rather serendipitous. Why you ask?… well, you may recall that last Summer’s WordCamp New York Meetup was jam-packed with good information and as an attendee, I couldn’t experience all of it. Needless to say, choosing which seminars to attend seemed like a series of terrible sacrifices. But, I was happy to learn that Helen Hou-Sandí (Director of User Interface Engineering at 10up) was doing a reprise of her talk that I missed last June on customizing the WordPress administrator’s control panel for our group. As a sweetener, Boštjan Špetič of Zemanta walked us through a very new and hip way you can find and assess WordPress plugins.

OMG 23,000+ Plugins! What Do I Use?

Boštjan Špetič walks us through his RankWP site which features WordPress plugin search engineThe first presenter at the meetup was what I consider a bonus treat. Boštjan Špetič (CEO of Zemanta) gave us a peek at his freshly launched side project RankWP.com. He, like most people, can be easily frustrated with the WordPress.org plugin directory index and sought to re-think it completely as an experiment. So he “scraped” that entire section of WordPress.org and built a functioning demo of how he imagined it working. Thus, RankWP.com was born. To be honest, it’s pretty freakin’ cool. So much so, I thought it stunned most of the attendees as he detailed the work he put into it. RankWP.com should become an essential tool for how we all decide which plugins to use with our personal WordPress installs in the future for reasons that are self-evident; it’s much easier to find contextual and relevant results for items you’re looking for over the WordPress.org Plugin Index.

A look at Rank WP's homepageIn response, the crowd gave some great constructive feedback and I am very excited about where the project will go in the future. The crowd wanted to see the compatibility with the current version of WordPress and when the plugin was last updated in search results, among other comments. This is certainly a good supplement to my usual googling for “top” or “best” plugin lists for a required feature if I’m not interested in building it myself.

Oh, Man This Should Be Good

As most of you know, that tune in for these recap posts- I write these recaps as exercises to clean up my notes and help some of the information I have learned “stick.” This meetup’s main topic was especially relevant to me since I’ve primarily been using WordPress as a content management system for my clients for the last several months. I’ve utilized a series of plugins and self-learned tricks to integrate jQuery UI and home-brewed enhancements to the admin interface to make data entry easier and less confusing for my clients. I was very interested to learn and hear what more experienced developers were doing on this front. Since Helen Hou-Sandí is a WordPress core committer and was leading the charge on Post Formats UI and WordPress CSS standards, I was fortunate to slide into the event last minute to learn from a seasoned pro.

I’m Not Worthy

Helen Hou-Sandí speaks to 100+ assembled at WPNYC meetup re: Customizing the WordPress AdminThis presentation did not disappoint, because some of the things Helen covered I would probably not have thought up myself…. How about a tweak that doesn’t break the “featured image” association with a post until you actually want to update the post? OK, how about a page layout preview / “staging” engine entirely built in .js (Javascript) before your client hits publish? Setting up a staging environment for WordPress is a famously “hairy” and painful proposition with many approaches. This is an investment of time and resources most clients don’t even have the imagination for. But, making edits to a “live” site is not ideal and I ran across Ramp doing my own research on the topic. Which was an option Helen mentioned as an up-and-coming alternative that everyone has said good things about, but I personally have no experience with. I can see how and why she “baked” her own solution to a vexing problem, which was pretty awesome to see in action. The other very cool thing I can mention were the project scheduling & assignment screens she showed that were built on top of a feed from Basecamp and custom taxonomies. That was pretty sweet.

Customizing Post type Icons with CSS SpritesI won’t mention all the examples Helen illustrated because I’m not sure it’s appropriate (some of it was advanced client-related work), so please reference her slides. But by far her most relatable admin hack was simplifying and smoothing out media content uploads pre- version 3.4. Several months back (before 3.4) there were a lot of UI frustrations with the WordPress image uploader, so she got it there and streamlined the process for her clients. She warned that a lot of techniques covered like this one were for pre- 3.4/3.5 but they are still relevant depending on how custom an experience you’re trying to build. This was a pretty great example to see.

Helen also got into minutiae of using css sprites for your custom post type admin icons and their hover states. Use them or Helen will find you :-) Here is a cool icon template I found.

Note: A link to her slides are below.

Decisions, Not Options

In her intro, Helen dug into WordPress philosophy a bit, in particular the “Decisions, not Options” section, which states:

“When making decisions these are the users we consider first. A great example of this consideration is software options. Every time you give a user an option, you are asking them to make a decision. When a user doesn’t care or understand the option this ultimately leads to frustration. As developers we sometimes feel that providing options for everything is a good thing, you can never have too many choices, right? Ultimately these choices end up being technical ones, choices that the average end user has no interest in. It’s our duty as developers to make smart design decisions and avoid putting the weight of technical choices on our end users.”

This roughly translates into really knowing your content administrators and their needs intimately and stripping out any obstacles and challenges to their success in the admin interface. The other side of the equation is adding to or enhancing WordPress custom features that are unique to that client’s publishing experience.

Get Your jQuery On

Helen walks us through featured image meta box admin enhancementjQuery UI was a big aspect of the presentation and Helen noted that it snuck into WordPress’ core install recently, just not with the accompanying CSS apparently, so you have to style it yourself. Following up on this post- presentation, I learned jQuery UI is now native to WordPress as of 3.3.x. Here’s a great tutorial on some of the possibilities for the Admin UI, and that tutorial covers the jQuery UI integration I just mentioned. Helen specifically highlighted nice examples like adding a jQuery UI datepicker and jQuery UI slider to a form (e.g. for age range) instead of standard select elements. She also went into detail about injecting Javascript inline by echo scripts through WordPress template hooks. I prefer my method of enqueueing what I would call a “junk drawer” file named something like “application.js” that loads last and tests for user events or a DOM object and then runs the relevant scripts rather than sticking .js inline, but it’s a matter of personal taste. Her method also has the advantage of calling relevant code snippets when needed. It’s probably semantics, but it might matter depending on your specific execution, the scale of your application code base, and what you want to maintain.

[Her slides are here].

Plugins Mentioned…

Post 2 Posts

Helen discusses her appproach to A close up of media upload enhancements to adminHelen gave the example that this plugin is very useful in creating “many to many” relationships between data nodes (e.g. people –> companies –> many companies)

Advanced Custom Fields

I’ve used this myself recently and it is awesome because I know what it’s like to do this manually.

Simple Page Ordering

This one is nice, but I’ve personally use CMS Page Order and I really dig it.

*Note*– See her slides for other plugins and Github code she mentioned.

Some Other Plugins I Use To Customize The Admin…

I’ve used this premium plugin a couple times: White Label Branding for WordPress and here’s a free one that comes close to the features: White Label CMS.

Hardcore Mom Award

Special thanks again to Helen Hou-Sandí for reasons stated above and as you can note from the pictures, she is with child. I already knew she was a hardcore WordPress user from last summer’s WordCamp, but my respect for her has now been cranked to “11.” If I were pregnant, I would have found a number of other things to do on a drizzly Tuesday night than present in front of a room of 100+ people.

Some Random Items And Announcements I Noted…

Steve, Jolie explain situation with the videos and other annoucements•Helen noted in her presentation that 10Up is growing quite well with about 23+ people now and considers it to be one of the largest WordPress consulting shops in the country.

• I appreciated the dedicated time at the end of sessions for networking and Steve for pointing out how active the wpnyc.org job board is. That was very good news.

• New Work City is coming along quite nicely. They may have one of the nicest spaces for meetups and the largest presentation screens I’ve ever seen.

•The official start time for the meetups is 7pm now, no longer 6:30pm.

• WPNYC meetup is also looking for help to edit the tens of videos still left to get cleaned up from last summer’s WordCamp, synced with audio and outputted to a format ready to be put online. They are also in need of assistance getting captions placed in all videos, but specifically the meetup videos. Contact Joly for more info.

• Also, the meetup’s price is going up to $6 for a trial period. The money from the extra $1 will be split between a door prize of around $50 dollars to a lucky attendee and a donation to a WordPress developer that gives back to the WordPress community. Rules and restrictions are being discussed as we speak.

“Don’t Email Steve”…

If you want to learn more about the WPNYC group, check out on Meetup.org. When we’re not meeting up check WPNYC.org. Attendees meet up the third Tuesday of every month, some say religiously :-)

On a final note, I want to make a last shout out to Tom Harrigan of RootBuzz (go check out what he’s up to). He dropped his spot on the guest list so I can get in.

Did I miss something? Have something to say?

Feel free to add comments and additions below. Thanks!

Resources:

  • 1. Helen Hou-Sandí slides from this presentation: Tailoring the WordPress Admin for Clients and Workflows
  • 2. “The Design of Everyday Things” by Don Norman was mentioned as a source of inspiration for UI/UX design by Helen.
  • 3. Media-models.js and Backbone.js were mentioned briefly.
  • 4. Complex Meta Boxes in WordPress
  • 5. SpeckyBoy: 20 Snippets and Hacks to Make WordPress User-Friendly for your Clients
  • 6. Add a character counter to excerpt metabox
  • 7. How to Limit the Display of a WordPress Meta Box
  • 8. Add a jQuery DatePicker to Event Posts {WP}
  • 9. Creating Admin Themes
  • 10. Tuts+: How To Change Your WordPress Publishing Workflow For The Better
  • 11. Smashing Magazine: Six Revisions: How to Customize the WordPress Admin Area
  • 12. Smashing Magazine: Smashing Magazine’s How To Customize The WordPress Admin Easily
  • 13. Justin Tadlock: Uncluttering the post editing screen in WordPress
  • 14. Smashing Magazine:Useful Free Admin Plugins For WordPress
  • 15. WPBeginner: How to Improve your Editorial Workflow in Multi-Author WordPress Blogs
  • 16. Ulancer: Improving the WordPress Admin’s Workflow
  • 17. Hacking the WordPress Admin: Mastering Custom Columns
  • 18. [Video] Alan Cole’s talk last October about: Growing Pains: Experiments with Child themes and why I stopped using them.
  • 19. Tuts+: Customizing Your WordPress Admin
  • 20. Smashing Magazine: How To Improve And Refine Your WordPress Theme Development Process

Filed Under: WordPress Tagged With: #wpnyc, customizing WordPress themes, Recap, Using WordPress as CMS, WordPress CMS

My WordCamp NYC 2012 Recap : 800 WordPress fans assemble

June 12, 2012 By Chrisdigital 8 Comments

-Steve Bruner does the wrap up after a marathon of WordPressWell, it was that time of year again. The time when people’s thoughts turn to warmer weather, cool drinks, blockbuster summer movies, and ofcourse how to improve their WordPress skills. Maybe that last one is just me… or not. Recently, (during WordCamp New York City : June 9th – 10th) WordPress themers, pro bloggers, development rockstars, and newbies thirsty for knowledge got a chance to assemble from all over the world much like Marvel’s Avengers to rub elbows with WordPress core developers (and more importantly each other) in the spirit of learning.

Since I had such a positive experience in 2010, and due to the fact New York took a collective hiatus in 2011, I was looking forward to another wonderful event this time around after all the anticipation. Turns out many people were looking forward to this as well, because we easily hit in the neighborhood of 800 attendees. This year was really special for me personally, because I decided to introduce my son to WordPress. He was excited about assisting me in volunteering, and getting a window into what I do for a living. He also looked forward to being in the “beginner track” sessions, because he has dreams of running or being part of a school newspaper in the future.

[ ↓ Jump down to my list of favorite WordCamp NYC 2012 presentations ]

“Focused” And Diverse

Father and son WordCamp New York 2012 volunteers and attendees pose for the cameraIn addition, this year felt more “focused” and mature to me. That is probably a side-effect of my own knowledge, and the maturation of WordPress itself (WordPress 3.4 launched June 14th.) Also noteworthy, are the facts: like myself several people brought their kids, there were a lot more female presenters, and the topics spanned the spectrum of “improving how you blog” to “getting into the guts of WordPress and coming out the other side” figuratively speaking.

Due to my affinity for this event, I answered the call for the second time in three years and volunteered to aid the WordCamp NYC 2012 team to stage one of the most diverse events I’ve ever attended- diverse in attendees, and in presentation content.

The Fellowship Of WordPress

Shot of the crowd that was starting to develop for keynote WordCamp NYC 2012 speech on SundayIf you’ve never been to one of these WordCamp events, you really missing a treat. WordCamps are hosted year round, all over the country- supported by local Meetup groups, sponsors, and the WordPress foundation. Speaking for “our event” (WordCamp NYC), there is a real spirit of “brotherhood” and “tutelage” at the event that everyone buys into.

Since the event was held at Baruch College (mostly in their 55 Lexington Ave. location) It was always an interesting proposition navigating the hallways and watching people do the lost-freshman-first-day-of-high-school routine trying to find the room numbers of the different sessions. But as usual people made it work.

Shoutout To The Organizers, Volunteers And Individual Sponsors

WordCamp New York City 2012 Organizers take a bow at the urging of Steve Bruner during closing wordsThis year the hard assignment of organizing this year’s WordCamp went to a crack team of intrepid souls from our local WPNYC.org group. If you want to shoot them a note of thanks, Check out this WordCamp NYC 2012 organizer Twitter list. We also had 40 people step up as volunteers and 22 people step up as individual sponsors, including myself.

Why You Should Volunteer Next Time

Just a little secret… I love volunteering, especially for morning setup and lunch because they are really critical. Not only that, but you get to meet the most people which helps if you want to turn to a neighbor for clarity on a point during a speaker’s session. I also like to meet, or work with the speakers if they have to register at your table, or if you happen to be their room monitor. It’s really a great advantage, you get the see the event in a whole different perspective than just being an attendee.

The Theme Of WordCamp NYC 2012

Andrew Nacin walks the crowd through details of the query at WordCamp NYC 2012If I had to pick a theme for this year’s WordCamp New York City I would say it was: “There’s a right way to do things and a wrong way. Learn the right way.” There was a lot of head-nodding in the sessions I attended (even if it was only me doing it.) I definitely think we’ll see a lot about “best practices in WordPress” in the near future. Take a look at this developing page on CSS in the WordPress Codex for example.

The Biggest Things That Stuck With Me As A Designer/Developer:

1. Stay on top of your updates, and take proper security precautions to protect your install.
2. Don’t work against how WordPress works, if that can be avoided at all.
3. Learn the nuances of why WordPress does what it does, this will make you a better developer.
4. If you don’t like the way WordPress works then become a core contributor and patch it, or file a trac bug.
5. We all have access to a really great WordPress community that’s willing to help.

For My Teenager, His Take-aways Were:

WCNYC 2012 - Mark Jaquith speaks as Andrew Nacin deals with the hecklers from his own team during keynote at WordCamp New York1. He really got a ground level introduction to the software.
2. Really enjoyed learning about SEO and taking full advantage of the tools Google offers.
3. Loved the concept of guest blogging and different things you could do to raise your online profile.
4. He really liked the idea of learning a trade that he felt would be in demand
5. He liked learning about all the useful plugins at his disposal especially for things like video integration.

A Lot To Process

This WordCamp was “off the chain” busting out with content, 80 sessions were held on Saturday alone with more on Sunday including repeats by popular demand. It was a lot to process even for a veterans, but oh so awesome ;-)

The coolest things I learned about by far were the new debugger tools available (see slides below), and the new Theme Customizer tool in WordPress 3.4 : download the latest WordPress, (3.4 or later) is out now!

My List Of Homework / Favorite Presentations (*means I saw in person)

Daryl Koopersmith demoing a new feature coming in WordPress 3.4: new theme customizer at WCNYC 2012These are WordCamp NYC 2012 presentations I saw live or wish I saw (like the Mets no-hitter.) It was so hard making choices! This is a list of 20 out of 80! I originally just wanted to highlight 10.

It’s really hilarious and an embarrassment of riches that so much information was offered to the attendees in one place (and in some cases direct from the WordPress VIP developer team.)

I’m not going to bore you any further, or steal the thunder from any of these slide presentations, so just check them out for yourself…

1. Brad Williams – WordPress Security
2. Boone Gorges – Using Git for Sane WordPress Development [Sunday]*
3. Mo Jangda – WordPress Debugging*
4. Andrew Nacin- You Don’t Know Query [Sunday]*
5. Daryl Koopersmith – Intro To Javascript In WordPress* (and the Theme Customizer walk-through for WordPress 3.4 on Sunday)
Snapshot of WordCamp NYC 2012 schedule : lots of content6. Alexandar Sapountzis and Jeffrey Marx – Customizing the loop*
7. Sonja Leix – WordPress Responsive Design Bootcamp
8. John Havlik – The Power Of Custom Post Types*
9. Sarah Whinnem- WordPress Hierachy and Custom Templates
10. Mel Choyce – Alas, No Mind: Designer-Developer Communication
11. Jeremy Clarke = Dry CSS – Theories, Methods And Tools For Scalable Stylesheets
12. Helen Hou-Sandi – Making Plugins and Themes disappear in into the WordPress Admin
13. Jason Paul – WordPress As A Custom CMS
14. Siobhan McKeown – Killer Docs For Devs
15. Mason James – Supporting WordPress:Caring For Your Clients And Community
16. Ben Doherty – WordPress On The Command-Line
17. Jake Goldman – What Would Core Do?
18. Erick Hitter – Moving beyond the Codex: Learning WordPress from itself
19. Kathryn Presner – A Beginner’s Guide to WordPress
20. Alex Miranda – Google Loves WordPress – Blogging For SEO

If want to learn more, checkout the WordCamp NYC 2012 Website. If you want follow-up info just check the #wcnyc hashtag on Twitter. Also my Meetup buddy Jean-Pierre Welch (@jpwelch) has a running Delicious.com feed of all the available WordCamp NYC 2012 #wcnyc slides from the event and eventually the videos will be available online as well.

Sponsors

Jean-Pierre Welch and Chris Carvey chat with Austin Gunter of WPEngine during lunch on Sunday at WordCamp New York CitySpecial shoutout to the WordCamp NYC 2012 sponsors for the free swag and the support. Especially the @WPEngine guys who gave any #wcnyc attendee that was interested a free personal account for life! I got into a great dialogue with their team and they’re really committed to sponsoring and promoting WordCamps across the country. Check them out if you’re interested in a hosting company that believes in WordPress. The t-shirts were printed up by Graf-X Unlimited in Brooklyn. Please visit, support and tweet about the sponsors of our event to encourage them for the future.

Other Recaps, Please Comment

If I have left out anything important, if you see any glaring typos let me know. Also, if you have your own WordCamp recap, please comment, shoot me an email, or hit me up on twitter (@chrisdigital) I’ll update the post:

1. Zachery Hogan : WordCamp NYC 2012 Has Come and Gone

2. Sarah Gooding : 12 Fantastic Presentations from WordCamp NYC

3. Austin Gunter : WORDCAMP 2012 RECAP

4. Artiatesia Deal : WordCamp New York City 2012 Recap from a Volunteer POV

5. Content Robot @ WordCamp NYC 2012

6. Nancy Loderick : WordCamp NYC 2012 – An Excellent Adventure

7. Hal Goodtree : Top Tip from WordCamp New York City

8. Poka Yoke Design : Attending The WordCamp NYC 2012 Conference

9. Mike Toppa : WordCamp New York City 2012

Read more on ChrisDigital’s Digital Designer Blog:

1. The Importance of Social Media and Your Online Persona

2. Responsive Design: WordPress NYC Meetup Recap

3. NYC Tech Startup Tour Meetup Recap: ideeli and Skillshare

Filed Under: WordPress Tagged With: #wcnyc, #wpnyc, Baruch College, Slide Presentations, Wordcamp, WordCamp New York, WordCamp NYC 2012

Responsive Design: WordPress NYC Meetup Recap

April 19, 2012 By Chrisdigital 12 Comments

Sonja Leix and Jack Reichert talk responsive designTo say “responsive design” is a hot topic right now is an understatement. As proof, just google it, and you’ll find great resources and articles about it online. In addition, as it relates to this specific meetup (agenda listed on that page) – I was one of 60+ people that were on a waiting list for this CBS Local venue that holds 120 and I was lucky to get in.

The WPNYC community definitely wanted to hear what the speakers had to say. Sonja Liex (link to slides below), and Jack Reichert (link to slides below) were game and I thought they gave a great overview of the issues developers face with the explosive growth of web-enabled devices. This post hopefully compliments and extends what was covered by the speakers Tuesday night. Slides and video will be available so I’m just rounding out my own thoughts here.

Down The Rabbit Hole Of History

The speakers chose a topic that is very timely because as more and more end users choose to digest content from a diverse collection of devices, developers are asking themselves how can they keep up?… and still have their content look great. After all, content is king and if you don’t serve your users in a manner they expect, you’ll get left behind. One by one content publishers are taking a look at their vistor stats and making changes, Actual Insights Blog relates their experience with “responsive WordPress” and shares a great recommended reading list. I won’t go down the rabbit hole of history of this topic too much, mainly because Jared Ponchot of Lulabot (of Drupal fame) does a great job of doing that here.

Wait, This Sounds Familiar

Media queries - common resolution breakpointsResponsive design has evolved into a broad concept in product development, and it’s larger than WordPress.

‘Our understanding of “responsive design” should be broadened to cover any approach that delivers elegant visual experiences regardless of the size of the user’s display and the limitations or capabilities of the device.’ – Jeffrey Zeldman.

He also has another popular quote in this post that takes me back in time- ‘It’s what some of us were going for with “liquid” web design back in the 1990s, only it doesn’t suck.’

This meetup also reminded me of my experience connecting with Filipe Fortes at a Technology “Watercooler” Talk at Time Inc. last year (then of Treesaver, now of Flipboard.) I tried to get him introduced to the higher-ups at one of my previous employers but they were content to stay with Zinio. If his name sounds familiar, it should. He was part of the crew that worked on the awesome, yet killed Microsoft Courier. Recently, some of his associates made noise releasing or being associated with the release of some interesting iPad apps.

Challenging Conversation

Responsive design screen on WPNYC Meetup group pageTo prepare my mind for the meetup, I did some related research on the Interwebs and I saw that .Net magazine did a feature on “Responsive WordPress” and then ran across this interesting related dustup between Josh Clark and Jacob Nielson (the comments sections on both positions are a priceless read.) Also this post addresses some of Nielson’s comebacks.

Mostly, the Web industry is treating Nielson like the guy at the party that forgot his pants. Web professionals found Nielson’s comments about publishers needing multiple site versions curious because he skipped over the entire responsive design movement. I mention this because it may be relevant if you have some challenges dealing with clients and stake holders in your business dealings and discussion of responsive design. This stuff also plays off of some of the arguments in Jack Reichert’s presentation as I would find out Tuesday evening.

Why Are We Even Catering To These Devices?

There are a diverse range of opinions out there… take this comment by Justin Tadlock I found recently “Honestly, I’m still questioning the entire responsiveness movement. I like what can be done, but it’s steering Web design in the wrong direction. What I mean by this is that the device should know what to do with standards-based code. The code shouldn’t be catering to the device. That’s kind of backwards. Those are my thoughts. Responsive designs are definitely on my radar.”

This was something that came up in group discussion at the meetup. Some of us have clients that would rather have the end users cater to their “fixed” way of presenting content and be done with it. The counter to this is obvious ofcourse- how much are you willing to risk alienating any part of your audience due to a crappy user experience? Bringing the focus back to reality and starting to talk hard numbers– relating to who can effectively see your content and who can’t, should steer the conversation to where it needs to go.

Content.Users.Content.Users.

Sonja Leix at podiumThe presentation wasn’t necessarily WordPress specific much to the chagrin of some of the attendees but that was sort of the point. When you start to break down the genesis of “Responsive Design” it’s about content strategy as it is about design or technical implementation. (If you want to talk implementation scroll down to the stuff about themes.)

There seems to be two situations a developer will face, trying to upgrade a current site or accounting for responsive design at a site’s inception. Either way, in both situations there is homework to do and two philosophies are at the center of this homework. Graceful degration vs. progressive enhancement.

Graceful degradation is loosely described as cutting things away from a core “desktop” site depending on the end user device.

Progressive enhancement is the opposite, where content publishers focus on the “base” of their content (acceptable to all devices) and add content to extend their offering based on capabilities of the end user device that can handle the enhanced experience.

At it’s core, this is a conversation about how to best serve your content and understanding how to get it to your audience with minimum preconceived assumptions about how your users absorb it, allowing for some flexibility. After doing your due diligence you come with a game plan that divides your investment in your content into “vital” presentation items and what is “optional” per device. Here’s a great post on simplebits that illustrates my meaning.

Broad Strokes

Sonja covered formulas and techniques with the flexible fluid grid + CSS3 media queries to address styling issues per targeted device. Her explanation of all the ratio-based relationships between element and container was helpful. She discusses the “target / context = results” forumla and it cascades down the dom tree to get the desired responsive effect. Please reference her slides to get my meaning.

Jack Reichert at podiumJack got into stuff like “Graceful degradation” vs. “Progressive enhancement” and “crafting experiences that honor your content and your user.” His Camel vs. Stallion analogy about typical “design by committee” situations hit home for me. His main point was to find whats really important in the content (see the “Mobile First” philosophy) and that implementing a responsive approach does add a level of complexity to your building process but not compared with maintaining multiple versions of a site.

Principles of Responsive Design

Jack also presented what he called the “Principles of Responsive Design,” I’m paraphrasing here… please reference his slides when they are available.

1. Keep content king- respect your content, respect your users
2. Think mobile
3. Be progressive in your approach
4. Be semantic in your code
5. Labeling your dom elements is Key: Ids, classifications, microformats, ARIA
6. “C” is for cascade, hacks, know your selectors
7. Hide advanced CSS from older browsers
8. All javascript must be unobtrusive
9. Update your scripts, and gain features from the new code
10. Optimize your assets, minify, gzip

The Mechanics

When you pull back the curtain on the mechanics of a responsive design, it’s simple in theory- ideally, some kind of server-side technology (like PHP or Ruby) receives the request for data, server-side scripting “feature sensing” or “user-agent sniffing” of the client is initiated, the server decides what modules to load, re-position (or hide depending on your logic.)

There are lots of pros and cons, so there is an emphasis on early scope. Don’t over promise because your presentation won’t look perfect on every device, the idea is to have some kind of representation or version on most devices and to be practical.

Take Your Time

Start small, every content publisher’s solution should be tailored to their content and site architecture. Narrow your focus to core of content, essentials, build from there. It’s not practical to have a desktop site and use display:none to hide things as the base responsive solution. The example was given that you don’t want to download a data heavy media player to a mobile device, only to hide it because it’s not being used. Strategies must be put in place that take care with download time versus is a user missing important content.

There was also talk of client backlash rejecting responsive sites such as (old school) magazine-minded people that have a print mindset that desire their layout to be unchanging, pixel locked and the challenges involved.

Book Learnin’

Steve Bruner at PodiumA few books were mentioned by the presenters and during the back and forth with the audience, looks like good reading:

1. Mobile First by Luke Wroblewski

2. Responsive Web Design by Ethan Marcotte

3. Adaptive Web Design by Aaron Gustafson

4. Hardboiled Web Design by Andy Clarke (Someone mentioned this book during the Q&A)

Resources & Links, Stuff From Q&A

1. Apple Voiceover
2. Responsinator.com
3. Prefixr.com
4. CSS3Please.com
5. DetectMobileBrowsers.mobi
6. DIV Layer Editor Creator was in the house and gave his plugin a shoutout, check it out.
7. Mobile Detector Plugin
8. JQuery Mobile

Plugins were mentioned as a possible way to introduce responsive features to a current theme. A quick search of the WordPress.org plugin repository seems to back this up. Here are three examples:
1. Respond.js
2. Responsive 2010
3. WP Fluid Images

Using WordPress body class to show or hide content, customize presentation in one theme, across multiple sites or views, etc. was discussed. There is a lot online about this technique.

Issue of dealing with the Apple high resolution Retina display and images was posed, this post on css-tricks.com makes some suggestions.

Someone in the crowd mentioned Nicole Sullivan’s Object Oriented CSS in a question.

Examples Of Responsive Sites

CSS-tricks.com, Studiopress.com, Smashingmagazine.com were all cited as examples as good responsive designed sites.

Somebody Mention Theming?

Responsive themesBefore I get into themes, since this is as much about content strategy as it is about design- I want to sneak in this link to an interesting post about Implementing Taxonomy for Better User Experiences and this recent one I found of Mobile Interface design principles.

During the presentation there was a lot of talk about Studiopress’ Genesis and DIYThemes’ Thesis ( because of timeliness of updates and available support) but here are some responsive theme resources I found after doing some cursory searching:

1. Responsive Web Design for WordPress Theme Designers

2. What’s Your Favourite WordPress Responsive Theme Framework?

3. How to Choose the Right Responsive CSS Framework

4. 15 Responsive CSS Frameworks Worth Considering

5. Brave the Seas of HTML5 WordPress Development with Bones

6. 40 Best Responsive WordPress Themes

7. 65 Stylish and Lightweight Responsive WordPress Themes

8. 10 HTML5-Ready Blank, Bare-Bones and Naked Themes for WordPress

9. Responsive Web Design with HTML5 and the Less Framework 3

10. Origin: Responsive parent theme for Hybrid

Sonja’s Presentation Slides & Notes

What could possibly wrong with responsive designSonja was nice enough to post her assets online here: Sonja’s Slides, and Sonja’s notes.

Jack’s Presentation Slides & Notes

View Jack’s slides (best viewed in Safari- use the keyboard arrows, and spacebar to advance.) Read Jack’s notes.

Don’t Email Steve :-)

I’m recapping Steve’s introduction to the group here… His main point was don’t email him :-) We have 1900+ members, and our meetup is run through here: WordPressNYC. We meet every third Tuesday of the month. We will not meet in June (because of Wordcamp NYC 2012, see below for more information.) Our community is run though this Website here: WPNYC.org. Separate sites, separate logins – don’t confuse them. WPNYC.org has a pretty robust jobs board and helpful forums. Don’t email Steve :-)

WordCamp NYC 2012

Steve with Speakers Sonja Leix and John ReichertDid I mention don’t email Steve? Go here: Wordcamp New York City http://2012.nyc.wordcamp.org/ … 800 slots for newbies to pros, on June 9-10 @ Baruch college. Tickets go onsale in May, sign up for the email newsletter (below the countdown timer on the right of the Wordcamp page) to get your notice. Oh, he’s taking submissions for presenters and sponsors, so you guys can email him :-)

The Wrapup

This meetup was a collision of a lot of worlds for me. Many of the issues discussed I have backburnered or I was dealing with only in theory and this presentation brought them into the forefront. Personally, I have been trying to come up with my own “bootstrap” (my own personal base Web app starter suite.) So far, with my recent experiences with Ruby, Compass, Blueprint, and SASS/SCSS- I am really interested in working with LESS and messing with Twitter Bootstrap, or Foundation. But, now after looking at this again because of this meetup and revisiting my research, I’m releaved to know I have a lot of options if I want to leverage what I already know about WordPress into my future prototyping with a “responsive” theme. This Bones theme might be what I am after. Stay tuned.

Rumor Has It

The next meetup with be all about WordPress multisite (WordPress MU) Stay tuned for that…

Hope To See You At A Meetup

Want to bump into me at a meetup? Check out my profile on meetup.com

Please Comment, Share Your Experiences

Feel free to add corrections, links and updates to this post in the comments if I missed anything. I especially want to hear what your takeaways were from the meetup or dealing with the issues involved. Thanks for visiting.

Filed Under: WordPress Tagged With: adaptive, blog theming, CSS3, media queries, Meetup, responsive design, responsive wordpress, WordPress

Intro to WordPress Plugin Development : NYC Meetup Recap

March 24, 2011 By Chrisdigital 8 Comments

Brad Williams addresses NYC crowd at WordPress NYC meetupIt’s been an interesting last few weeks for my personal development, and metaphorically speaking you could say that it has mirrored what’s been going on with WordPress over the last few months. I’ve been optimizing, learning, and expanding the scope of how I see myself, and how others view me, plus I finally got around to launching some online design samples. As far as what’s going on with WordPress, the “little blog platform that could” has matured greatly and now launched (at the time of this writing) a full upgrade to WordPress 3.1.

Many consider WordPress to be a full blown Content Management System (CMS) even more than before, with the recent introduction of custom post types (and admin UI to match) and the fact that you can hack the admin interface to your liking with plugins like White Label CMS. It seems (at least for me personally,) all that remains is learning how to use the WordPress core smarter in my projects, plus figuring out whats a nice add-on (plugins, themes, hacks, and custom code) versus what practices should just be abandoned in lieu of improvements in WordPress 3. So, eager to find out what I could do with WordPress outside the norm, enter the latest WordPress NYC Meetup.

Oliver Wellington of Nrelate walks the WordPress NYC Meetup crowd through the Nrelate Related Content plugin and the design contest they are running.After missing a few WordPress meetups I really wanted to attend, I made time this week to head out to the WordPress Meetup NYC at it’s new location hosted at NYU Poly, and I made sure I RSVP’ed to get a slot. Especially, since in this edition the topic was a hot one, Brad Williams of WebDevStudios presented Intro to WordPress Plugin Development. Brad coincidentally runs the Philly WordPress meetup and if this presentation was any indication it’s also definitely worth attending on a regular basis as well.

A few changes since my last meetup were apparent this time around. NYU Poly is now the venue sponsor replacing Oracle in midtown. I must say the sunlight coming in through the window made for a nice feel. The environment definitely felt less corporate than the Oracle space and I recommend getting there early to find a good perch to view the screen.

Brad Williams’s slides were straight forward and focused on laying the foundation of good WordPress optimized code. He’s a great presenter that made nice with the NYC crowd sporting a “I Love NY” undershirt, and using fun examples like walking us through his faux plugin that engaged “Rage mode” on a mock blog to teach us his philosophy on plugin construction. There was a lively Q&A session but mainly the crowd wanted his slides. Other interesting things to note are – there was a heavy presence from designers, and a large group of newcomers to the meetup which was nice to see.

I won’t re-hash Brad’s slides but here are my main takeaways from the presentation and the Q&A:

  • A complete grasp of the anatomy of a plugin
  • Better understanding of introducing my own short codes
  • The concept of “conflicting” function names with other plugins and how to combat this
  • Two examples of high-selling premium plugins are Gravity Forms and Backup Buddy
  • Taking advantage of code hooks in WordPress and there are thousands of them, some undocumented in codex and detailed info only exists in WordPress core code.
  • His anecdote about the folks behind Gravity Forms “building a better mouse trap” contact form and then turning down client work to focus strictly on product development, hit home. In addition, his comments on finding plugins you like – which development has stalled on, might be a good place to start for ideas on your own plugins.
  • Brad also discussed “pay models” and licensing for your potential products: give it away free with paid support, versus pay up front and offer varying levels of support and upgrades, etc.

Brad’s presentation got people excited, after which the crowd broke up into two rooms: WordPress Newbies (in which Chris Cochran of Webdevstudios fielded questions) and the more advanced WordPress crew stayed in the main room with Brad Williams and Steve Bruner.

Steve Bruner addresses the crowd during WordPress NYC meetup.Sponsors Nrelate and Themeforest.net were on hand to make their presence felt. Nrelate is running a contest you can learn more about by subscribing to their newsletter on their blog, Oliver Wellington basically announced you can style (using css) the output from their Nrelate Related Content plugin anyway you want, which they boast can improve your click-through rates on your site by at least 5%. Submit your styling for their review and you can win some cash and credit in the source code if your styling gets integrated into the next version of the plugin. Also Steve Bruner and Mark Brodhuber of Themeforest.net handed out 23 t-shirts to some lucky early birds.
The other treat for the attendees was that 3 copies of Professional WordPress Plugin Development, and 3 copies of Professional WordPress (Wrox Programmer to Programmer) were raffled off after Brad’s presentation. Still bummed I didn’t win any.

Anyway, I’m looking forward to the next one, and seeing some familiar faces and meeting new friends. Especially, since I will have knocked out a “Hello World” plugin or perhaps my own “Rage mode” plugin by then. Cheers.

More thoughts on WordPress, Custom Post Types, and Plugin Development

1. Brad William’s slides for Intro to WordPress Plugin Development

2. The CMS Power of WordPress

3. Tutorial – Custom Post Types for WordPress

4. Registering and Displaying WordPress Custom Post Types In a Very Easy Way

5. Ten Things Every WordPress Plugin Developer Should Know

6. How to Write a WordPress Plugin: 12 Essential Guides and Resources

7. Do we do enough to support WordPress Plugin Developers?

Read more on ChrisDigital’s Digital Designer Blog:

1. My WordCamp NYC 2012 Recap : 800 WordPress fans assemble

2. The Importance of Social Media and Your Online Persona

3. Responsive Design: WordPress NYC Meetup Recap

Filed Under: WordPress Tagged With: Meetup, WordPress Meetup, WordPress NYC Meetup, WordPress plugin

  • 1
  • 2
  • Next Page »