Web Design for Small Business in Houston, TX

What's going on right now.

We keep our clients informed about the latest in social media and web design, we also work together and collaborate with other web design and internet marketing professionals.

Add a Re-Tweet Button in an Iframe for Faster Page Loads

One of the topics discussed in my WordCamp Houston Presentation, Optimizing For Performance, was putting social media share buttons in an iframe to improve page rendering. I thought it would be helpful to describe in more detail how to accomplish this.

Since Facebook already does a pretty good job of putting their widget code in an iframe we will use the TweetMeMe Re-Tweet button for this example. If you were to just put the code directly in an iframe it wouldn't help much because Javascript embedded in an iframe will block the rest of the page from loading until it was complete.

To accomplish our goal of progressive page rendering we will need to start with a div placeholder for our iframe code and write a short Javascript function to add the iframe code to our placeholder div once the page has completely loaded. This is the same method Fredrick Townes, creator of the W3-Total Cache plugin and CTO of Mashable.com, uses to place the buttons on Mashable.

First we need to add our div placeholder to our template files where we want the Tweetmeme button to appear. In this case we will use div id="tm_box" then close the div.

Next we will need to build our iframe src variable.

1. Start with the button.js url that Tweetmeme provides in their embed code:
http://api.tweetmeme.com/button.js
2. Add ?url= followed by the page url (for now we will add URL as a placeholder because we will want the url to be whatever page the button is placed on).
3. Add &style= followed by what button style you will want to use. Either normal or compact.
4. Add &source= followed by your Twitter username.
5. Add &service= followed by a URL shortening service for ease of use we will use the bit.ly service see the Tweetmeme api reference on how to add other services.

Your completed src variable will look something like this:
http://api.tweetmeme.com/button.js?url=URL&style=normal&source=Chris_Olbekson&service=bit.ly

Now we will set the width and height attributes:

For the normal style button: width="50" height="61"
For the compact style button width="90" height="20"

Now that we have all our variable our iframe code will look something like this:

<iframe src="http://api.tweetmeme.com/button.js?url=URL&style=normal&source=Chris_Olbekson&service=bit.ly" scrolling="no" frameborder="0" width="50" height="61" ></iframe>

Now to convert your iframe code from html to JavaScript you can use this simple online HTML to JavaScript Converter

Next we need a JavaScript function get the current page url. We will use the escape() function just like TweetMeme uses in its button.js and we will add window.onload = tweetMemeButton which will fire the code after the page is completely loaded.

Here is our completed JavaScript which we can save as an external file and call it in header.php or footer.php (It won't matter where we call it because it won't fire till the page is loaded).

function tweetMemeButton() {
	if (document.getElementById("tm_box")) {
		var iframeCode= "";
iframeCode += "<iframe src=\"http://api.tweetmeme.com/button.js?url=" + escape(document.URL) + "&style=normal&source=chris_olbekson &service=bit.ly\" scrolling=\"no\" frameborder=\"0\" width=\"50\" height=\"61\" >";

		document.getElementById("tm_box").innerHTML = iframeCode;
	}
}

window.onload = tweetMemeButton;

This code is used to add the TweetMeMe Re-Tweet button at the end of this post.

**Update: 08/12/2020
Twitter just announced the release of their new tweet button. I will be evaluating the performance over the next few days.

Optimizing WordPress for Performance WordCamp Houston

WordCamp Houston

I will be speaking at Houston's first WordCamp, a one day camp dedicated to serving beginner to advanced, businesses to bloggers, and everyone in between.

My topic will be "Optimizing for Performance" - How to make your WordPress Blog Faster and Scalable. The discussion will include tips for installing and configuring the W3 Total Cache plugin and how to take advantage of APC, X-Cache, or eAccelerator opcode caching, using efficient CSS selectors and theme files, and how to maximize your MySql database for performance.

WordPress 3.0 New Features

WordPress Version 3.0  is set to be released in the next week or so and contains some exciting new enhancements and improvements over previous versions.

I have been working with the beta and release candidate versions over the past few weeks to develop a client project. I had to make the decision early on to use WordPress 3. My choice was to develop it with the older version and be safe or take a chance with the new version and the possibilities of things going wrong along the way.

Luckily everything turned out great and I only encountered a few minor issues along the way.

I made it a point to keep up with the nightly builds and back up the database daily before every update. I benefited by becoming an expert in custom post types and taxonomies and I want to share some of this knowledge and will be writing a series of articles and tutorials on everything from the new built in menu system, custom post types, custom taxonomies, customizing the login page and admin interface and much more.

This post will serve as a starting point and will list many of the enhancements, fixes, and new features in Version 3.0.

Will the new version break my theme or cause any conflicts?
No everything will still work when you install WordPress 3.0.

Can I start using the new features right away?
Most of the new features including menus and custom post types require theme support via functions.php.

User Enhancements

  • New default theme 2010
  • New menu management user interface
  • Custom backgrounds for themes
  • Custom header images for themes
  • New admin color scheme
  • Enhanced media upload interface
  • Ability to add theme css classes to post editor
  • Category to tag and tag to category converter
  • More secure install process (removes default admin username

Developer, Theme and Plugin Enhancements

  • Custom post types with built in UI
  • Custom taxonomies for any post type with built in UI
  • New template files: front-page.php, single-{post_type}.php, author-{nickname or ID}.php, taxonomy.php, taxonomy-{taxonomy}.php, taxonomy-{taxonomy-term}.php
  • New template tags and functions see Codex Version 3.0
  • JQuery updated to 1.4.2 and JQuery UI to 1.7.2
  • add_theme_support function call to include the new features
  • Built in multi site built in via: WP_ALLOW_MULTISITE in config-php
  • wp-ajax.php file to use for front end and plugin ajax support

As a developer and web designer, I am very happy with WordPress 3.0. It moves it more to being a full fledged content management system than it was before and opens up more options for the theme developer, plugin developer, web designer and end user.

Help a Houston Liquor Distributor Improve their Website by Providing Feedback

Please help a Houston independent liquor beer and wine distributor improve their website by voting for the design concept you like best. Any comments or feedback would be greatly appreciated.

  • thumbnail
  • thumbnail
  • thumbnail
  • thumbnail

Twitter @Anywhere on your Website

(EDIT) I no longer use the Twitter @Anywhere Service. The API is very unstable and causes problems with the smooth operation of this website. It also has a bug that Twitter will not acknowledge that effects embedded font delivery systems.

Twitter's @anywhere api makes it easy to integrate @Twitter in to your website or blog.

Features include:

  • Auto-linkification of Twitter usernames
  • Hovercards
  • Follow buttons
  • Tweet Box
  • User login & signup

To generate a hovercard use the @ symbol followed by the Twitter username. Here is mine @chris_olbekson.

You can also add a tweet box to your post so users can send tweets from your website. Go ahead and try it out below.

Facebook Fan Pages for Businesses

Facebook Fan Pages for BusinessFor many small businesses and companies a Facebook fan page can be used as an integral part of their marketing strategy. A recent report on Mashable reported that out of Facebook's 400 million users over 116 million are in the US and when you compare that number to US Census estimates it concludes that 37% of the US population is on Facebook. What can you do to successfully expose your brand to this market? And what specific elements should you use to create a fan page with a large engaged following? I've assembled a list of elements that will help you succeed in your fan page marketing efforts.

skittles facebook page

1. Create a special landing page using Facebook FBML

Facebook Static FBML IconFacebook FBML is Facebook's own mark up language that allows developers and users to create custom designed pages and applications. Almost all HTML tags are able to be used along with CSS and some special FB specific code. To create a custom landing page you first have to add the Static FBML app to your page. Once the app is added click the edit page link under your pages profile picture and you will see it listed under applications. Click edit and it will bring up a box where you can give your new tab a custom name and enter your code. If your not familiar with HTML you could create your page in a word processing program like Microsoft Office then choose to save as html then copy and paste the code over to your Static FBML box.

Once your page is done go to your wall settings and choose it as the default landing tab "for everyone else" This will be your companies public page that gets indexed by Google and the default landing page for any visitor who is not a fan.

At C3M Digital, we design design custom Facebook Fan Pages and offer social media marketing consulting services.

2. Import your companies blog or website using Facebook Notes

The notes tab is already on your page. Go to the tab and under notes settings click edit import settings and add your website's feed address (If your using a publishing platform like WordPress your feed address will be hxxp://yoursite.com/feed (replace the xx tt)

Once you successfully add your feed address every time you add a new post to your blog or update your site it will also add a new note and publish it to your wall. If your reading this article on Facebook right now, you will see how this all works. The best thing is that once it's set up you never have to worry about it again and all your posts and articles will be automatically added to your Facebook Fan Page.

3. Upload your contacts to the Facebook Friend finder

The people on your email contact list or in your CRM are already familiar with your brand and can help you immediately build a strong fan base for your page. Most email programs like Microsoft Outlook will export your address book as a .csv file that you can upload to Facebook and add them as friends. Once they accept your request you can then send them a suggestion to become a fan of your page.

If you want to keep your personal friends separate from your business contacts use the edit friends feature and create a special list for all the people who you do business with. You can then adjust your privacy settings so that your professional contacts only see stuff related to your fan page.

4. Engage your fans

The secret to social media marketing is "It's not about you or your brand, it's about them". While it's completely appropriate to make your fans aware of your products and services, you should also focus on stimulating comments and reactions from fans. I have worked with some real estate agents and mortgage professionals who take a picture of their client at closing then post a comment congratulating them on their new home.

What to share?

  • Latest news about your business or industry
  • Upcoming events
  • Promotions to encourage loyalty
  • Surveys or polls
  • Your own comments when appropriate
  • Encourage your fans to post their own videos or photos regarding your business
  • Use a call to action with your updates asking a question

How do you use your Facebook Fan page? What has been successful for you? I would love to hear your ideas or comments, please feel free to add them below.

Please visit our Facebook Page and become a fan so we can stay engaged.

KPFT 40th anniversary T-Shirt Contest

KPFT 40th anniversary T-ShirtMarch 1, 2010 marks the 40th anniversary of 90.1 FM KPFT, Houston's only listener sponsored commercial free radio station. KPFT was founded in 1970 by journalist Larry Lee, who convinced Pacifica to establish an independent listener-supported station in Houston. KPFT is part of the of thePacifica network of independent, noncommercial radio stations in the service of peace, social and racial justice, and the arts and is home to such programs as Technology Bytes, Democracy Now, Partisan Gridlock and a wide range of alternative music and arts programming.

To celebrate the 40th anniversary the station is holding a T-Shirt Design Contest and asking its listeners to help choose the design that best exemplifies the Pacifica mission and the uniqueness of KPFT. To vote on your favorite go to KPFT's T-Shirt Gallery and email your choice to 40thtshirt@kpft.org.

KPFT relies on the support of its listeners and is 100% commercial free with no influence from corporate conglomerates who push their own politically and economically motivated self-interests. Please help support Houston's true media gem by pledging a Donation and letting the station know that you value and enjoy what your hearing.

Support Local Grow Together

Support Local Grow Together logo#SLGT Support Local Grow Together is a group of local businesses and like minded individuals who have banded together to promote sustainable living and to help other businesses succeed by supporting local. SLGT was started in 2009 by J.R. Cohen, general manager of The Coffee Gounds who has succeeded by providing customers with:

"a comfortable atmosphere which makes you feel at home, a constructive work atmosphere for business meetings, and a casual meeting place for when you just want to get together with some friends."

One of the ways I SLGT is by purchasing server and web hosting space through Host Gator, a local business uses 130% Texas wind powered electricity to power its data center. The average server produces as much emissions as a 15 mgp SUV and Hostgator is committed to reversing the environmental effects of web hosting by purchasing certified renewable energy credits. I also SLGT by purchasing all computer equipment that I use for the company and for clients through Directron.Com, a Houston owned and operated computer wholesale company.

What can you do

If you would like to show your support for SLGT you can connect through Facebook by becoming a fan or by following on Twitter. If you have a local business you can write a message on the wall introducing yourself and to promote any specials for other members.

Update 3/20/10
You can now visit the SLGT website at WeSLGT.com

Your Guide To Web Font Embedding

web font speciam

Typekit Revisited

Last week I wrote an article reviewing the new Typekit service for embedding fonts on websites. After using the service for over a week now on my website, I am still on the fence about it's practical uses for building client sites. The font choices are incredible and they are offering a very wide variety of type choices from some of the great foundries like Under Ware, Font Head, Ps.Type.Lab, and many others. Many well know designers are praising the service and using it on their own sites.
Andy Clarke-- A beautiful Web says

"Typekit will revolutionize the way that we work with, and purchase typefaces in the same way that iTunes revolutionized the way we buy and listen to music."

And Jason Santamaria's font kit is featured on Typekit's feature tour.

As I mentioned in my earlier article, you use the service by calling a javascript file hosted on Typekits servers which return a file that replaces your chosen selectors with the fonts you have included in your kit. Typekit claims "Your fonts will be served from a robust global network built with hundreds of servers located across North America, Europe, Australia, and Asia." Adding that "—often faster than most web sites can serve their own CSS." Unfortunately the service fails to deliver on this claim.
dom load times for Typekit
If you look at the picture, you will see that it is taking 1.2 seconds for the 363kb font file to load from their servers. This causes the page to jump slightly when the default fonts are replaced with the Typkekit fonts. My font kit contains 2 fonts with a bold, regular, and italics version of one and just a bold version of the other. 363kb is a huge size file to load and my support questions in their forums regarding the issues have not been addressed (my support request were posted 6 days ago and still no answer). Once Typekit can work out the kinks in their javascript, file sizes and fully staff their support team, I think they will become the standard for web font embedding.

How to use the new css @font-face

To use the css @font-face declarations you need to add a call to the font file which can be stored on your server or anywhere on the web. To use the fonts on your web pages simply include the font names in your selectors and font stacks. See code below:
@font-face {
font-family: "Your typeface";
src: url("type/filename.eot");
src: local("Alternate name"), local("Alternatename"),
url("type/filename.woff") format("woff"),
url("type/filename.otf") format("opentype"),
url("type/filename.svg#filename") format("svg");
}
@font-face {
font-family: "Your italic typeface";
src: url("type/filename-ital.eot");
src: local("Alternate name"), local("Alternatename"),
url("type/filename-ital.woff") format("woff"),
url("type/filename-ital.otf") format("opentype"),
url("type/filename-ital.svg#filename-ital") format("svg");
}

The above code references and call the font stored on root directory in the folder named "type". You will notice that the font is called in 4 different formats. This is necessary for your font to show up properly on different browsers. The .eot format is for Internet Explorer, the .svg is for mobile browsers and the .woff format is the new secure type format developed by Mozilla that is supported by the upcoming Firefox 3.6 release. Woff stands for "web open font format" and is fully explained on the Mozilla Hacks Blog. Many of the large foundries and type face designers are supporting the new format including Adobe and House Industries.

It is very important to place the font calls in proper order in your css. The reason the .eot is placed first is because if not Internet Explorer will try to render the type in any format placed before the eot. This takes up bandwith and will slow loading times for IE users.

You will also notice the use of 2 @font-face rules, this is because to properly render the italic version of the same typeface you have to treat it as a 2nd font.

Font Squirrel Logo

Font Squirrel

Since most fonts are only available in open type or true type format you will need a way to convert them. Font Squirrel provides a free for commercial use @font-face generator. You just upload your font, choose your format, and Font Squirrel returns back a zip file containing the css, the fonts, and a sample html file to see how the fonts are rendered. It also includes a base 64 coded style sheet to use on fonts that require encryption for web embedding use.

Here is the css returned in my @font-face kit:

@font-face {
font-family: 'ITCGaramondHandtooledStdBold';
src: url('GaramondStd-HandtooledBold.eot');
src: local('ITC Garamond Handtooled Std Bold'),
local('GaramondStd-HandtooledBold'),
url('GaramondStd-HandtooledBold.woff') format('woff'),
url('GaramondStd-HandtooledBold.otf') format('opentype'),
url('GaramondStd-HandtooledBold.svg#GaramondStd-HandtooledBold') format('svg');
}

Font Squirrel also has hundreds of free commercial use fonts available for download. Each font includes the @font-face kit.

Screen Shot from Web Font Speciman

Web Font Specimen

Tim Brown from Nice Web Type , a site dedicated as a complete guide to web fonts, has created tool for designers to use for evaluating type faces and how they render in browsers Web Font Specimen contains an example HTML file, three CSS files, and an empty folder in which to put your type. I use this tool to compare fonts before using them on the web.

EULA Limitations and Progress

House Industries Web Embedding Policy
The real remaining limiting factor effecting the use of fonts on the web is the End User License Agreement. Since it is a fairly new technology most foundries and type face designers either haven't addressed web embedding in their license or they do not allow it due to fears of "font-piracy". Some are turning to Typekit to license their work and others are making a specific web embed license available. My favorite foundry, House Industries allows the use on a case by case basis and charges accordingly to allow the use. MyFont's EULA prohibits the use but their license does not specifically address the issue.

For a complete list of foundries supporting Web Font see Typegirl's blog post.

Conclusion

With all the new services and products available for commercial designers, now is the time to learn about the new standards and help make the web a more beautiful place by removing the former limitations on only being able to use "web safe" fonts. What are some of the issues you have run across with web font embedding? Please share your comments below.

References and further reading:

A List Apart, "Real web type in real web context"
A List Apart, "An Interview with The Font Bureau’s David Berlow"
Nice Web Type "One place for web typography"
Web Designer Depot, "10 Web Typography Rules Every Designer Should Know"