WP wins CMS award

by Tyler Suchman on November 20, 2009

Last week, WordPress won the Overall Best Open Source CMS Award. Fantastic. Wonderful. Kudos. So what does it mean?

CMS stands for “content management system”. That means that one or more people can be given access to a website, where they can log in over the internet, and create, edit and delete content through a web-based interface. The real-world implication of this is that a company website built on WordPress has lower maintenance costs, quicker turnaround on content changes and no psychological or financial barrier to adding fresh content on a regular basis.

Why WordPress? WP got its start as simple blogging software. The user interface itself simple and easy-to-use. As WordPress evolved, the core development team kept that commitment to an easy-to-use interface, at the same time a robust developer community grew around the platform to extend its functionality.

How does that happen? WordPress is open source (as the award indicates) which means that the code is accessible to any developer, and the whole platform can be downloaded for free and hosted on virtually any server. So a developer may like WordPress but needs it to do something specific for a client. The developer can search through thousands of “plug-ins” that extend the functionality of WordPress (like adding contact forms or embedding a Twitter feed or building a sitemap) or can build something from scratch and offer it to the community.

Here at Dennison+Wolfe, we use WordPress as a primary development platform. We’ve funded development of a free Events Manager plugin, our Chief Creative Officer is an award-winning WordPress developer, and we continue to push the envelope of what’s already a great CMS on behalf of our clients.

If you are looking for an affordable, professional website that you can update yourself, WordPress is a great fit, and we’d like to think Dennison+Wolfe Internet Group is too. When you’re ready, Start The Process.

{ 0 comments }

How to Hide Pages and Posts in WordPress

by Tyler Suchman on September 18, 2009

You may want to hide a Page or Post in WordPress for a variety of reasons: it’s in draft mode and you aren’t done composing it, it’s for an event that hasn’t been announced, or it’s an expansion of your site that you aren’t ready for. No problem!

Put a Page or Post in Draft mode – when you’re editing your Page or Post, look in the right column “Publish” section. If its already published, you’ll see “Status: Published [Edit]“. Click “Edit”, select Draft from the drop-down menu, click OK, and click the blue Update Post button. The Page or Post should no longer be visible on the site.

{ 0 comments }

Discourse on Flipping Out

by Tyler Suchman on August 27, 2009

Let’s assume right off the bat you’re going to flip out at least once.

As a business owner, you wear virtually every hat in the company, and you are making decisions about products and services, you are dealing with vendors, clients, partners and media simultaneously, and even though you know its critically important, you don’t even want to THINK about the website being built for you.

It just feels so overwhelming building a new site – so many decisions to make, while swimming in a sea of technology, buzz words and tools that are at best unfamiliar and at worst downright scary.

And so at some point in the process, you flip out.

The process has too many steps, too many choices, not enough choices, an imperfect first draft, a formatting issue and you throw up your hands, want to give up, apologize for not fitting into a little box, call the designer an amateur and maybe use a choice swear word or two to drive your point home.

That’s the point at which we take a deep breath together, communicate in an honoring and respectful way, and get through the challenges and choices you need to make hand-in-hand.

Here at Dennison+Wolfe, we’re trying to make the process ever easier while still providing you a personalized site that fits like a glove with all the features you need to make your business a success at a highly competitive price point.

We’re affordable, professional, creative, responsive and patient. How those traits are ordered by importance will be different for each of our clients. But know that we are committed to you, your business and the great service that goes with it. And if you totally flip out, together we’ll get through it just fine.

{ 0 comments }

Paying the price. One way or another.

by Bert Mahoney on July 27, 2009

Today I was reflecting upon a common occurrence among people that I talk to with regard to their website(s).

The people I talk to either want a new website or they have one and want to update/add/delete a design or function of the site. These conversations either happen through email or in person and become a dialogue of  back-and-forth brain picking. They ask how they can do “X, Y, and Z” and I then ask questions relating to strategy, objectives, and outcomes. These are great conversations, and I love having them to figure out what it is people are doing, and how I can help them out.

How Much?

One thing all of these conversations have in common is the inevitability of talking about “how much?”

My favorite conversation starter is, “How much will it cost me for a new website?” That is like walking up and asking a housing contractor how much will it cost you for a new house? Without sufficient background, Q&A, and discovery process to understand what your goals are, you can’t get an estimate for a house that  meets your wants and needs. The same is true for websites.

Why can’t you give me an hourly rate?

No matter how menial the task I always approach projects from an estimate perspective. Each project and set of circumstances is different in the world of web design and development:

  • different servers
  • different programming languages
  • different databases
  • different strategies + objectives
  • different desired outcomes

Different variables can and will produce different results and require varying expertise. So the question of “What is your hourly rate?” is a pointless exercise. How will giving someone who is not educated in the nuance of how I, or any seasoned web professional, approaches a particular solution give them the wisdom to say, “I know that the CSS work for this project will take ‘X’ hours and he charges $100.00 an hour so it should cost me $XXX.XX.”

The estimate is too much

At some point clients would like an estimate based on a set of tasks to be performed, to achieve a certain objective, and have it all done by a specific date. For good, honest, respectable work the world of web design and development it is not inexpensive.

There is an old saying I love to repeat whenever someone comes back to me on an estimate.

You can have it cheapfast, or good—now pick 2.

Don’t get me wrong everyone wants a bargin. I want a bargain. But, if you are looking for expert work and consulting it is not inexpensive. However it is worth every penny!

But really? Is the estimate too much?

Some of the people that receive an estimate from me will decide to go another route and not work with me. That is their right, and I wish them all the best luck and good fortune in the world. I have not one drop of animosity towards anyone who choses another path.

However, I have had a few people come back to me a few months later for some of the following reasons:

  • Your estimate was considered too costly so I went with the cheapest one, what a mistake. A complete unprofessional.
  • I found out that my cousins kid, who is in high school, isn’t as good at computers as he claimed to be.
  • I wanted to figure out how to do this all myself, what the hell was I thinking?

All of these are real experiences I have had with clients who have come back to me after my initial estimate and proposal to them. The one I find most interesting is the last one. Let me explain.

Many entrepreneurs are self-starters and do-it-yourselfers. They like to learn and do things themselves. Sometimes when they receive an estimate from me based on their needs and requirements, either there is a bit of sticker shock or their budget can’t bear the weight so they decide to take things on themselves. For the sake of argument I will use the following example to illustrate what I am talking about.

I produce an estimate based on the scope and objectives the client and I agree on. That estimate is $5,000.00. That price includes complete deliverables; all files, graphics, and coding. When I am done with the project it will work as intended and be set to meet the objectives we have outlined.

The prospective client, for whatever reason, decides not to work with me (as I said which is fine). This experience is not unique to me and happens to all web design/developers. The potential client decides that in order to save money they are going to do this themselves.

A project that may take me 50 hours to complete will take a prospect who knows nothing of designing or developing a website a factor of 5 times as long to achieve the same results (this is extremely optimistic because most people will take longer). So in this case we are talking 250 hours of their time.

That is 250 hours they can spend working on their business, the things they do well, and on making money.

For the continuation of illustration lets say that prospective client charges $50 an hour for their professional time.

250 hours x $50 = $12,500.00

Granted not all of those 250 may not be true billable hours so lets say that 60% of those hours are. The other 40% went to business development. That still provides you with $7,500.00 of income.

You have:

  • made enough to pay for your website
  • gained new clients that could provide additional business
  • have moved your business along to meeting its objectives
  • got your website done 200 hours sooner
  • and made money!!

My final point

My final point is that when it comes to designing and developing your website, no matter what,  you are paying the price one way or another. In terms of being efficient and using your talent, time and money effectively you need to take a moment and think about your approach to your website.

Hope this helps.

{ 0 comments }

One of the tools that we use is Chris Pearson’s fantastic Thesis WordPress theme framework.

In an effort to contribute back to both the Thesis and WordPress communities we have documented how to embed the Next-Gen Gallery plugin to your header, or banner image and place your logo above it. This functionality allows you the ability to have your banner image change how you like it beneath your logo at the top of your website.

Why Would You Want To Do This?

If you would like a variety of images in your header beneath the logo/type and manage them in a central location. Once the initial programming and configuration are setup it’s all image management after that.

You may have clients that would like the option of changing their header image on their own and this gives them that option.

Things you will need to perform this tutorial:

  • WordPress
  • Thesis (optional. You can do this without Thesis but we are using it here)
  • Next-Gen Gallery plugin for WordPress
  • Photoshop (or other image editing software)

First Things First

You will need to have WordPress, Thesis, and Next-Gen Gallery (NGG) installed before proceeding.

Dimensions

Once everything is installed we are ready to go. First you will want to determine the size of your image, or header. What is that dimension in pixels? You will need this for both creating the image and for settings inside of Next-Gen.

Once you have the width and height of your header determined it is time to create/optimize your images that you intend on using. For our purposes of this tutorial the size of our image/header is 857 pixels wide, and 150 pixels high.

Preparing The Images

We used Photoshop to create a layered file containing all of our images so that we can position and scale them within the size constraints and save out the multiple versions of the file. You may want to import your logo, or typeset your text now, to position it on top of all the images so that you can determine the static position that the logo/type will present itself.

Once we have all the layers in the proper positioned its time to save out all your files. In our example we created 5 different images to use. We used smart naming conventions to make sure we can tell these images from others just by their names. We titled our images:

  • header-01.jpg
  • header-02.jpg
  • header-03.jpg
  • header-04.jpg
  • header-05.jpg

Now that the images are prepared its time to prepare the logo/type.

Preparing The Logo/Type For “floating” On Top

We should have our logo/typesetting in place from our previous step of getting our images sized and positioned. We need to do the following steps:

  1. Make sure logo/type is in correct position
  2. Ensure that we have a drop shadow created
  3. Turn off all image layers
  4. Check transparency
  5. Trim the logo/type down to size
  6. Save out proper format of file

Make sure logo/type is in correct position

You want to make sure with each and every image layer you have saved out that your logo/type is in the position you want it to appear on all images.

Ensure that we have a drop shadow created

Select your logo/type layer then select the layer/layer style/drop shadow inside the menu options of Photoshop.

drop_shadow_menu

Adjust the settings to your liking and you should see a drop shadow from your logo/type on top of the image.

picture-14

Once you are happy with the shadow its time to save out the logo/type image.

Turn off all image layers

You should turn off all image layers so that you only see your logo/type and shadow.

Check Transparency

Once all images are turned off and the only layer turned on is your logo/type you should see transparency behind the image. In Photoshop—you should see the checkerboard pattern—it should look like this:

picture-15

Trim the logo/type down to size

With only the logo/type layer displayed you will want to trim out all the uneccessary image data. In Photoshop you want to select Image/Trim

trim_image

You should now have a much tighter logo/type that still has the shadow present.

Save out proper format of file

You want to select File/Save For Web and Devices

save_image

Once presented with the save dialog window you will want to set the following parameters for your file.

  • Image type: PNG
  • Colors: perceptual
  • Number of colors: (depends on what looks good and how large the image file is. Play with this setting)
  • Dither: diffusion
  • Dither %: 88%
  • Transparency: check box ‘yes’
  • Matte: None
  • Transparency Dither: Diffusion Transparency Dither
  • Amount: 88% (Play with setting to get desired result)
  • All other settings default

Here is what my settings looked like:

picture-4

Once your settings are how you like them, save the file with a distinguishing name.

Save it to the custom image folder inside of Thesis: ~/wp-content/themes/thesis/custom/images/

You can now FTP that image to your webserver.

Now that the background images are created and uploaded into NGG, and your logo/type image is uploaded via FTP its time to get busy with the custom.css, custom-fuctions.php, and NGG settings.

Getting Next-Gen Gallery Settings Dialed In

The method presented below is our “hack” to making this combination of plugins and technology work. If you have an easier/simpler way to do this, please share! We are always open to more efficient approaches—who isnt? :-) That being said, here is what we did.

Create A Header Gallery and Upload Images

You want to be logged into the admin area of your website, http://www.[yourwebsite].com/wp-admin/

Once logged in you want to proceed to the gallery management tools near the bottom of the left hand side of the page:

picture-6

You want to select Add Gallery / Images from the menu choices. On the next screen you want to give your new gallery a name, in my case it was appropriately “header.”

picture-8

The next step is to upload the images you previously saved. These are the background images, not the logo/type you saved. If you look at the set of tabs at the top of the screen you will see an Upload Images option. That is what you want to select. You need to click on Choose File and proceed to navigate to all your images and upload each one. Once you have all of the images listed, you should then select the proper gallery from the pulldown menu where it says Choose Gallery in the pulldown menu.

picture-10

Once all your images are listed, your gallery is selected it is time to click Upload Images. This may take a few seconds depending on how large your images are so be patient.

picture-12

Once the upload is complete you will see a confirmation at the top of the screen.

picture-13

Manage The Gallery

Now click on Manage Gallery under the Gallery admin menu on the left side of the page. You should see your gallery listed under the Gallery Overview page. Click on the title to proceed to edit the gallery content. At this point you want to make sure that all the images you uploaded are present. If not, go ahead and add what you need.

Tweak the Settings

Now you want to confirm that the slideshow and the technology needed to run it are in place. You do this under the Gallery/Options menu item.

gallery_options

Of primary concern is the tab titled Slideshow. You need to look at the first option under this tab: Path to the Imagerotator. If the path is not already filled in, click the “search now” button just to the right. This should take care of things. If not, you may need to get JW Image Rotator from Jeroen Wijering. Follow the instructions and return here and click the “search now” button again.

picture-18

Testing The Show

Now that you have uploaded the images and checked the slideshow technology is in place you should test out your slideshow to see if everything is working. This tests the slideshow, and if its working well, gives us some key code that we will need for custom_functions.php

The way we tested the slideshow was to create a test page, insert the slideshow, then preview the page.

I created a page by clicking on Pages/AddNew

pages_addnew

I then give the page the title of Gallery Test in the title bar, then I click and icon in the top row, right. You can see it here in the screen capture.

click_ngg

Once I click that button I get a dialog box that lets me select from the pull-down menu the slideshow I want to insert, and lets me determine how I want to display the images—in this case a slideshow.

ngg_popup

Once you have clicked insert you should see something like this showing up in your content area:

[nggallery id=5 ]

This is the code the NGG plugin uses to insert the slideshow. Now the code is in place I click publish, then I click preview to see the page and if the slideshow is working as I want it to. If its not you need to go back and double check your settings and that you have to get JW Image Rotator from Jeroen Wijering.

Assuming the slideshow test is working as you intended in your web browser, the next step is to look under the hood at the code being generated to display the slideshow. You will need to find this code, copy it, and then paste it into custom_functions.php to help build your new header. Fortunately I will show you my code here and you can copy/paste to make things work.

When you are looking at the webpage with the slideshow working as it should, you should “view the source code” to see the syntax that is making everything tick. One thing you may have noticed is that your slideshow is a different size than the header you want. Don’t worry, we will change the size in the code.

What Is The Code?

The code you are looking for in the preview page source is this:

<div class="swfobject" id="so5_1" style="width:857px; height:200px;">
<p>The <a href="http://www.macromedia.com/go/getflashplayer" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.macromedia.com/go/getflashplayer');">Flash Player</a> and <a href="http://www.mozilla.com/firefox/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.mozilla.com/firefox/');">a browser with Javascript support</a> are needed..</p>
</div>
<script type="text/javascript" defer="defer">
var so5_1 = {
	params : {
		wmode : "opaque",
		allowfullscreen : "true"},
	flashvars : {
		file : "http://www.YOUR_DOMAIN.com/wp-content/plugins/nextgen-gallery/xml/imagerotator.php?gid=1",
		linkfromdisplay : "true",
		shownavigation : "false",
		showicons : "false",
		rotatetime : "6",
		transition : "fade",
		backcolor : "0x000000",
		frontcolor : "0xFFFFFF",
		lightcolor : "0xCC0000",
		width : "857",
		height : "200"},
	attr : {
		styleclass : "slideshow",
		name : "so5"},
	start : function() {
		swfobject.embedSWF("http://www.YOUR_DOMAIN.com/wp-content/uploads/imagerotator.swf", "so5_1", "857", "200", "7.0.0", false, this.flashvars, this.params , this.attr );
	}
}
so5_1.start();

</script>
<div class="ngg-clear"></div>
<div id="logotype">
<img src="http://www.YOUR_DOMAIN.com/wp-content/themes/thesis/custom/images/typeface.png" alt="">
</div>

Get your width and height

There are a few numbers you will want to change based on your design and your domain name. The first line of the code above is this:

<div class="swfobject" id="so5_1" style="width:857px; height:200px;">

You want to replace the width and height with the values of your banner graphics. You should know this from creating the graphics previously. There are 2 other places in the code above where you need to replace the width and height. One place is inside the flashvars declaration:

flashvars : {
	file : "http://www.YOUR_DOMAIN.com/wp-content/plugins/nextgen-gallery/xml/imagerotator.php?gid=1",
	linkfromdisplay : "true",
	shownavigation : "false",
	showicons : "false",
	rotatetime : "6",
	transition : "fade",
	backcolor : "0x000000",
	frontcolor : "0xFFFFFF",
	lightcolor : "0xCC0000",
	width : "857",
	height : "200"},

The last place is in starting the function here:

swfobject.embedSWF("http://www.YOUR_DOMAIN.com/wp-content/uploads/imagerotator.swf", "so5_1", "857", "200", "7.0.0", false, this.flashvars, this.params , this.attr );

NOTE: Be sure to change the domain to your domain name in the paths above.

So all together the code inside your custom_functions.php will look like this. We are first moving the main navigation below the header (this is optional for you) then inserting the banner:

/* MOVING NAV BELOW HEADER */

remove_action('thesis_hook_before_header', 'thesis_nav_menu');
add_action('thesis_hook_after_header', 'thesis_nav_menu');

/* Next-Gen Gallery into Header */

remove_action('thesis_hook_header', 'thesis_default_header');
function ngg_custom_header () { ?>

<div class="swfobject" id="so5_1" style="width:857px; height:200px;">
<p>The <a href="http://www.macromedia.com/go/getflashplayer" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.macromedia.com/go/getflashplayer');">Flash Player</a> and <a href="http://www.mozilla.com/firefox/" onclick="javascript:pageTracker._trackPageview('/outbound/article/http://www.mozilla.com/firefox/');">a browser with Javascript support</a> are needed..</p>
</div>
<script type="text/javascript" defer="defer">
var so5_1 = {
	params : {
		wmode : "opaque",
		allowfullscreen : "true"},
	flashvars : {
		file : "http://www.ojaigetaway.com/wp-content/plugins/nextgen-gallery/xml/imagerotator.php?gid=1",
		linkfromdisplay : "true",
		shownavigation : "false",
		showicons : "false",
		rotatetime : "6",
		transition : "fade",
		backcolor : "0x000000",
		frontcolor : "0xFFFFFF",
		lightcolor : "0xCC0000",
		width : "857",
		height : "200"},
	attr : {
		styleclass : "slideshow",
		name : "so5"},
	start : function() {
		swfobject.embedSWF("http://www.ojaigetaway.com/wp-content/uploads/imagerotator.swf", "so5_1", "857", "200", "7.0.0", false, this.flashvars, this.params , this.attr );
	}
}
so5_1.start();

</script>
<div class="ngg-clear"></div>
<div id="logotype">
<img src="http://www.ojaigetaway.com/wp-content/themes/thesis/custom/images/typeface.png" alt="">
</div>

<?php }

add_action('thesis_hook_header', 'ngg_custom_header');

CSS and Your Logo

Now that you have the rendering of your banner in place, the thing to do now is get your logo to appear on top and in the position you would like. The code we added to our custom.css file is this:

div#logotype {
	background-color: transparent;
	margin: 0;
	padding: 0;
	display: inline;
	z-index: 2;
	position: relative;
	top: -84px;
}

The key here is to position: relative; and to use negative top margin. This is what will get your logotype to appear on-top of the banner. Be sure to add the z-index in for good measure.

Be sure to save your custom_functions.php and custom.css file and upload via FTP and test, test test!

Wrap Up

This has been one looonnnnggg tutorial and if you have read to this point, you are both patient and persistent. You can see the banner that we have based this tutorial off of here at OjaiGetaway.com which is a web site in progress.

Do let us know if you have any questions about this process. We will help as best we can.

{ 2 comments }

A client asked this question, regarding her WordPress 2.7 website. I thought it was a good opportunity to share this with everyone who is new to WordPress.

When you are on the Edit Pages or Edit Posts page in the admin, mouse over one of your items. You will see something like this:
picture-11

When you click Quick Edit, you can edit the basic info attached to your Page or Post. For example, you can change the title, assign a different Parent Page or Unpublish it. When you Edit, you go to the Edit page for that Page or Post, where you can edit the actual content on the page. Put another way, Quick Edit is convenient for some tasks, but Edit will give you access to all of the information in and around your Page or Post.

{ 0 comments }

Dennison+Wolfe Announces Web Services For Budget-Conscious Businesses

Dennison+Wolfe Internet Group, a web communications agency for budget-conscious businesses, announces company launch and new website.

Ojai, CA – February 09, 2009 – Dennison+Wolfe Internet Group, a web communications agency for budget-conscious businesses wanting to do it right, today announced the company launch and a new website at www.DennisonWolfe.com.

Dedicated to providing affordable, professional web and marketing services, Dennison+Wolfe was co-founded by two internet veterans who together bring decades of experience in web development, internet strategy, online communities, technology and media.

Bert Mahoney, Chief Creative Officer, has developed a refined sense of effective design focused on usability, architecture and simplicity. He is also President/Creative Director of HamiltonBerchman Design Group, Inc. and Director of Internet Strategy and Services for AIGA Santa Barbara.

Tyler Suchman, Chief Strategy Officer, has built a thriving internet strategy consultancy over the last seven years, helping a wide variety of clients effectively build their business and do business online under the Tribal Core banner. He is the founder of The Ojai Post, the largest community website in the Ojai Valley, and was named to the 2007 Top 40 Under 40 by the Pacific Coast Business Times.

“We believe that it shouldn’t cost an arm and a leg to put your web strategy in place, with the t’s crossed and the i’s dotted by people who care about your business,” stated Suchman. “We believe that on a modest budget, we can make your web presence remarkable, and exceed your expectations.”

Dennison+Wolfe offers professional, personalized web packages that are ideal for a company looking for a fresh look or just starting up. From just $999, services include a personalized look-and-feel, marketing services and simplified content management giving clients the ability to edit and add web content from any computer or cell phone.

The partners are committed to the double bottom-line, and have ambitious plans to donate web packages and web hosting to non-profits and other socially responsible organizations on a regular basis.

For more information, visit www.DennisonWolfe.com.

About Dennison+Wolfe Internet Group
D+W is a web communications agency for budget conscious businesses wanting to do it right. The company offers a suite of professional and affordable services accessible to the smallest of companies with the biggest of dreams. Web Packages start at only $999, and include personalization, marketing services, including email newsletter marketing, and a leading content management system.

Media Contact:
Leslie Davis
leslie -at- neuhouse.com
(805) 272-5410

{ 0 comments }