Making A List: The ‘Type A’ Guide To Development Success

So, you’re aiming to improve your organization with the implementation of a new CMS? Congratulations! If done correctly, this move can position your business for growth and create efficiencies for your staff and clients. No matter the project, the key to its success is rooted in preparation and organization.

Continue reading Making A List: The ‘Type A’ Guide To Development Success

Quick CMS Comparison [Infographic]

Choosing the right content management system (CMS) for your website – and your budget – is one of the most important decisions in the web development process. To help illustrate the differences, we’ve put together this visual guide examining what makes some of our favorite affordable CMS options unique.

Continue reading Quick CMS Comparison [Infographic]

Does a Developer Need Content Strategy?

Since the dawn of this buzz word, salespeople in the tech world have been clamoring for some kind of deliverable or line-item that they can attach to “Content Strategy” and thereby affix some value to. What they’re missing is that Content Strategy is simply a design approach. It is one of many methodologies used in the User Experience (UX) process that informs design and development decisions. Developers agree that wireframes, sitemaps, and visual design comps are critical deliverables from the UX process. So when it comes to understanding the value of Content Strategy from a development perspective, perhaps it’s best to first ask “What does Content Strategy provide?”

George Lucas was often asked about the incredible special effects featured in Star Wars. His answer?AnthonyDaniels1

“Special effects are just a tool. A means of telling a story. A special effect without a story is a pretty boring thing. [When it comes to character development], eventually you actually take a real person and stick them into that character. And that real person brings with him or her an enormous package of reality. Threepio is just a hunk of plastic. And without Tony Daniels in there, it just wouldn’t be anything at all.”

When you strip away the mechanics and the nuts-and-bolts and the presentation of a website, you are left with the content. It is the core product. All of the other functions of a website are simply there to support the content. Branding, animations, style choices, publishing tools, delivery methods; all of these things mean nothing without content for the user to digest.

A Content Strategy is a plan for keeping the website’s content in a clear, unified direction. It is an agreed-upon process that aligns stakeholders, informs design and development decisions, and guides change. A website needs a strategy for content for the same reasons an organization needs core values: to provide a solid direction that all other processes can rally behind.

As a developer, the Content Strategy answers the overarching question of “Why?” Why are we organizing the content like this? Why do we need this process flow? Why is it important for this particular piece of content to have a template, when another one doesn’t? Why does this content need to be associated with that content? Why do we need to coordinate publishing times?

Imagine you are a developer for the “Cogswell Cogs” website. You are given a design. You are given some “lorem ipsum” text, as well as all of the legacy content from their previous website, including a handful of white papers. You know nothing about where this content comes from, how it gets published, when it gets published, how it should relate to other content, or what rules need to frame up the content’s lifecycle.

Without this direction, you do the best you can, creating content types, navigation, and features based on what you see in the sitemap and wireframes. The site may look exactly the way Mr. Cogswell was expecting. But what happens after deployment? How does the content live? Do the Cogswell Cogs employees know how to add and delete content in a meaningful way? Do they know how or why they should be relating one piece of content to another? Does the site’s search function return results in the fashion the user expects? Is there a process flow for how content gets created, edited, and published, and does that process need to be part of the Content Management System (CMS)? This is a very common scenario that often leaves you wondering “Did I really set my client up for success?”

Now imagine that you are a developer for the “Spacely Sprockets” website. You are given a design, real content, and a Content Strategy. You know that two Spacely Sprockets employees will be contributing content to the website on a weekly basis. You know that they want a way to relate articles and blog posts to their sprockets product information. You know that they want to see their search results categorized by sprocket type and sorted by date. You know that they occasionally have events such as the annual Sprocketfest that might need special attention on the website, and that Sprocketfest promotional content will be removed once the event has passed. You know that Mr. Spacely has appointed one of his employees to be the ultimate authority when it comes to content on his website, and that this user should have the appropriate permissions and functions available to them in the CMS.

Armed with the understanding of how Spacely Sprockets plans to conduct business through their website, you now have the information you need to configure the CMS with accuracy. Using the Content Strategy as a guide, you can be sure that you have left Spacely Sprockets with the tools necessary to maintain their content, and that they are comfortable with their role when it comes to using those tools. You can sleep well, knowing that you have indeed set your client up for success.

So, does a developer need Content Strategy? Absolutely. Consider the following parts of a CMS project.

Content Types – Does all content always need to fit into a repeatable pattern? Or are some types of content so rare that they are better off as custom code?

Taxonomy – How does one type of content relate to another? Is it a parent-child relationship? A one-to-many relationship? A many-to-many relationship? Is it important to create a minimum number of relationships between content pieces? Is it appropriate to use free-tagging?

Navigation – How is the content organized? Does content always have to be nested under a menu? If not, how does the user navigate to the content? How does the content creator associate that content with its navigation?

Search – Is a keyword search enough, or is a faceted search required? What does the search results page look like? Does the user expect to find certain content types represented a certain way on search results pages? Do results need to be categorized or sorted? Should the user have sorting or refining controls on the search results page?

Publishing Process – How many stages are there in the publishing process? How many roles need to be involved? Is it a linear process flow, or something more complex? What kind of business rules need to be adhered to in the publishing process? Is there a schedule for when content should expire? Is expired content archived? Deleted? Re-purposed? Does the content approval process need to be part of the CMS, or should the CMS simply be treated as a publishing platform?

SEO – Do you need to provide special fields for metadata? How does the content creator differentiate between trimmed/summary content and the main content? Does the content creator have control over the number and type of headlines used? How does the content creator control which content appears in which order on a landing page or search results page?

Section 508 – Does the content creator need to handle accessibility? Does the CMS need to provide a way for the content creator to control ARIA attributes? Does the CMS need to provide a way for content creators to add “alt” tags to images or captions to videos? Does the CMS need tools to convert certain types of content (such as MS Word documents or PDFs) into accessible formats?

Multi-Lingual – Does the content creation process need to account for other languages? Other countries? Contexts that combine both a language and a country (such as French and Canada)?  Does the CMS need to provide a way to enter right-to-left (RTL) text (such as Arabic)? Does the site need to support Chinese, Japanese, or Korean (CJK) characters? How will a content creator control these options?

Legacy Content – What does the CMS need to consider in order to support old content? How will the legacy content be imported? What does a content editor need to do to curate legacy content?

All of the above questions can be answered by a well-formed Content Strategy. Without one, as developers we are left to make assumptions about how the end user and the site maintainers will interact with the content. This introduces the serious risk that a website will fall short of its purpose, that it will not be properly maintained, or that it may become stuck in an endless cycle of re-work and scope creep.

Websites can get expensive. Without direction they become stale, misguided, under-utilized, and eventually discarded only to be re-built from the ground up in another expensive endeavor. A solid vision for the role of a website as it relates to an organization can extend its life, bring in new sources of revenue, and even reshape the organization itself.

Developers, we can save ourselves and our clients a world of frustration by agreeing on an action plan for a website’s current development, ongoing maintenance, and future expansion. Whether or not you knew it, that plan is called the Content Strategy. Before diving into your next CMS build, work with your client and your UX engineer to produce a Content Strategy that everyone can agree on, and give your project the clear direction it deserves.

NerdCast #2: The Umbraco CMS Fan Club

This NerdCast is an interview with a .NET developer that went from skepticism about Umbraco to drinking the kool-aid – tune in to hear why.

Host: Ryan Carlson

Guest: Jason Thomas

Running Time: 0:21:37

Subscribe to the NerdCast on iTunes


Agency Primer Notes: CMS Smackdown, all over but the plug-ins

Agency Primer: CMS Shootout – WordPress and Expression Engine from The Nerdery on Vimeo.

Promotors of last week’s WordPress vs. Expression Engine webinar hinted that there could be blood. Two Nerdery programmers trained hard for this CMS bout. They drank raw eggs and ran stairs, and then a nationwide audience of agencies tuned in for what turned out to be a rather amicable exchange. Or was it? Watch Thursday’s rematch above.

Here is a list of recommended plug-ins for  both content management systems, with WordPress plug-ins submitted by (in this corner) Anthony Lukes, and Expression Engine plug-in faves from (challenger) Brian Litzinger.

WordPress  plug-ins:

Dagon Form Mailer – This is my (Anthony’s) personal favorite because it’s easy to customize and it supports file attachments. Another favorite of mine is Contact Form 7.

Flutter CMS – This plugin allows for easy assigning of different data types and for easy custom page templating.

NavT Navigation Management Plug-in – This plug-in allows you to manage and customize your site’s navigation system.

Inline PHP – This allows you to insert php code into the text editor.

All in One SEO Pack – Pump up your SEO. Customize page titles, meta keywords, and descriptions. This works out of the box and can be fine-tuned for super-users.

Google XML Sitemaps – Generates an XML sitemap of your site to better your search rankings with Google, Yahoo, Bing, and Ask.

Akismet (comes with WordPress) – This helps keep spammers from posting comments on your blog.

NextGEN Gallery – Great photo gallery plug-in. Not an essential for every site, but this is a really well built plug-in that’s too good not to mention.

And in this corner, recommended Expression Engine plug-ins:

Structure – It forgoes the current template_group/template setup and creates “static” and “listing” pages that can be edited through a tree sitemap view. Traditional page style content and multiple entry pages can live within the same area.

Image Sizer – Resizes images as specified in EE tag and caches the resized image in the cache folder. If you update the original image, a new resized version is created. If the image is not on the server the tag will not return anything. The architecture is setup to only process images when needed.

FieldFrame – A framework for rapid development of fieldtype extension, FieldFrame will be included as part of EE 2 core when 2.1 is released.

nGen File Field – nGen File Field is a field type for the FieldFrame framework that adds a custom field type allowing you to upload files from the Publish/Edit interface, and also functions as part of the FF Matrix. This extension is useful for creating galleries and downloading libraries.

“No mas … no mas.” – Roberto Duran

WordPress user group, Thursday evening; do you know the way to the Nerdery?

OK, so a few people who thought they were Nerdery-bound last month for the first-ever meeting of the Minneapolis St. Paul WordPress User Group got a bum steer and ended up at our old office (come on, GoogleMaps).

Don’t let this happen to you. Sierra Bravo, home of the Nerdery, is at 9555 James Ave S in Bloomington. Mingling begins at 6:30 p.m. with breakout sessions from 7-9.

Session 1 @ 7 p.m.:

* 25 Reasons to help you sell WordPress to your client (Adria

* Using WordPress as a CMS for Flash or Flex (Judah Frangipane)

Session 2 @ 8 p.m.:

* My favorite plugins for using WordPress as a CMS (Gillian 

* WordPress freelancer’s discussion (Toby Cryns)

It’s free, there’ll be pizza, and if you have a beverage of choice (no hip flasks, please), bring it. Help the Nerdery roll out enough red carpet for all by telling us you’re coming – please leave us a comment or click here to register.

District 202, renewed


Heading into the Overnight Website Challenge, District 202 needed a game-changer. After 17 years, the GLBT youth-serving nonprofit org was boldly leaving its long-leased but costly and under-utilized physical space for the more-portable, much-roomier and free Internet – a strategic online move of necessity.

“Without the Overnight Web Challenge and intensely hard work of Team Praxis, we would have been looking at shutting this organization by the end of the year,” said Curt Prins, board chair of District 202. “The web site overhaul has allowed us to start overhauling our organization. It helped us become smaller in order for us to become bigger.” (Old site, above; new site, below.)

When asked what was so wrong with District 202’s old website, Prins said: “Basically everything. It was hard to update. Hard on the eyes…”

Team Praxis, comprised of volunteer interactive pros from Colle+McVoy and The Nerdery, came ready with some pre-baked homework. “Although we did not know which nonprofit we were going to get beforehand, we were allowed to plan and build whatever we wanted and bring it with us. So what I did was prepare a base ExpressionEngine install,” said The Nerdery’s Brian Litzinger in an interview posted on (see Brian’s entire interview here).

“In 24 hours we designed and architected the site, built a chat application from scratch, integrated with a third party CRM/donation tool, and created a Ning community,” said Litzinger. “I knew that the way ExpressionEngine handles different content types – through the usage of Weblogs and custom fields – it would handle whatever we threw at it. It handled static pages, news feed, and generated all the XML for the Flash modules. Pretty much every word on the site is editable through ExpressionEngine, which will make it easy for the client to update.”

District 202 New Site

With this transformation, we wish to reemerge as a youth inspired, tech savvy, streamlined and more powerful organization which keeps creating new ways for youth to bring their unique voice and leadership to our ever-changing world,” wrote Prins in an open letter to District 202 constituents. And while his District 202 colleagues Jason and Solomon made it through the all-nighter, Prins described his shuteye as one of the most enjoyable 90-minute naps on concrete ever taken.

While all volunteers at the Overnight Website Challenge deserve credit for their nerdy deeds, it’s worth repeating here that the panel of judges gave the work of Praxis top honors. “We come away from this year’s event with a trophy, yes, but also humbled at the awesomeness of Minneapolis’ web development and nonprofit communities,” said Praxis team captain/Colle+McVoy Technology Lead Jason Striegel. “We’re honored to work with District 202 in launching their new site, and appreciate Sierra Bravo’s leadership in making this event happen.”

“District 202 headed into this crazy all-nighter hoping to get a better looking website that our youth could easily update,” said Prins. “What we got instead was a visually impressive, easy-to-manage tool allowing us to evolve from a bricks-and mortar nonprofit into an Internet-driven organization empowering GLBT youth.  It’s the greatest donation we’ve received in our 17 years.”

See for yourself at