A client asked the following question:

In your opinion, what are the best practices for setting up a business Facebook account?  What is your advice for the best app for creating a Welcome Page? for event listings?

Here’s my answer:

A lot of businesses make the default tab a welcome page with special offers, testimonials, graphics, and so forth. While this is a great way to focus visitors attention on your products or services, more and more businesses are using Facebook to build brand identity – focusing more on interactions with users. For this reason, many pages make the default tab the Wall or Discussion Boards, so that when a user visits the page, they see what others are saying about the business and its products and services – positive reviews, stories about how they use a product, etc. (Smaller businesses can solicit this kind of content with contests: “five randomly selected fans who post their first memory of Product X on our Wall during November will win a $20 Amazon gift card”.) This approach makes the page seem less like just another marketing channel, and more like a community of people who appreciate the business or product.

However, if you determine that having a custom welcome page is best for your business, there are many apps that will do this for you. One that I’ve used in the past is TabPress: it’s free and lets you display custom HTML (including images and links) to visitors. You can display different content to people who already like your page, vs. people who have not yet liked it.

As far as event listings, again there are many Facebook apps that add this functionality. Facebook’s built-in Events app may do the trick, or you can use a more advanced calendar app like Events Calendar.

, , , , ,

We just finished and launched a new website for Casa Hogar Juan Pablo II, an orphanage in Lima, Peru. Click the image below to visit the new website:

Casa Hogar Juan Pablo II

Casa Hogar is a home for orphaned and abandoned children in Peru.  There are 64 children who live at Casa Hogar ranging in age from 4 years to 17 years.  The orphanage uses a very unique family model – different than more traditional orphanage models.  Casa Hogar uses the Girls and Boys Town program to set the kids up for success.

Features of the new website:

  • Custom website design with XHTML, CSS, and Javascript (especially jQuery)
  • Built with WordPress
  • Custom image rotator created with jQuery and WordPress Custom Post Types
  • Tested in all leading browsers on multiple devices and platforms
  • Fully multilingual content management – site is available in three languages
  • Statistics tracking software
  • Photo gallery software
  • Search engine optimized

What do you think? Let us know in the comments below.

, , , ,

I received a question from a client today:

Can I have special fonts show up on all browsers?  I know that was not possible some years ago, but I am tired of using Verdana, Arial, and Times Roman.

Here’s my answer:

Certainly, this is now possible. There are a few options for using uncommon fonts on websites:

  • TypeKit: a service you subscribe to. TypeKit will host all the Javascript necessary to render your fonts, plus they give you access to a large library of fonts you can use (no need to worry about licensing & legalities). For CSS3-supporting browsers (Firefox, Chrome, Safari, and sometimes Opera), the service uses the CSS3 propery font-face. In other non-CSS3 browsers (Internet Explorer), TypeKit uses Javascript to get the font to render correctly.
  • Cufón: this works by using Javascript to replace a textual element with a canvas element on which is rendered the appropriate font. The downside of this is that you cannot select the text drawn on the canvas element. Cufón is free and self-hosted. You need to make sure that the license for the font you want to use covers web distribution.
  • Google web fonts: Google’s hosted font tool. Like TypeKit, Google fonts uses the CSS3 propery font-face, falling back on Javascript if CSS3 is unsupported.

Using something like TypeKit to render all the text of a website can slow certain browsers/devices down a bit – you have to wait for the libraries to load and the scripts to run. However, for most platforms this is barely noticeable.

Any designer you’re working with should be aware of these tools, and any developer should be able to implement them.

, , , , , , ,

Google Analytics

I recently received a question from a client:

Does Google Analytics increase hits to a website? Is it worth using?

Here’s my answer:

Google Analytics doesn’t directly increase traffic to your site, it just gives you reports about traffic you’re already getting – how many hits you get, to which pages, what links are people arriving from, how long do they typically spend on your site, and so on. However, you could use this information to make an educated guess about where to focus your resources to increase hits on your website.

For example, if most of the traffic to your website comes from people who search “German Shepherd puppies”, you might put more effort into SEO, to increase your search engine ranking for those search terms. If, on the other hand, most of your traffic comes from links on other websites (maybe pet enthusiast sites, or dog breeder sites), you may want to focus on pursuing link exchanges with other such sites.

One way to increase traffic and exposure for your website is to purchase advertising (for example with Google AdWords). With most online advertising services, you can set up a monthly budget for ads, and you can target specific key words. The ads then appear on other websites that embed ads with Google AdSense.

question markDid you know?
Around 40-50% of all websites use Google Analytics.

A neat feature of Google Analytics is that it integrates with other online services. For example, if you use Google AdWords for advertising, Google analytics will tell you information about how many ads it placed on which websites, how many clicks were generated, and once the user arrived at your site, what they looked for, how long they stayed, etc. Or if you use a service like MailChimp for sending email newsletters, you can configure Google Analytics to report information about how many messages were sent/delivered, click-through rates, etc.

You can sign up for Google Analytics for free, so there’s not really anything to lose – I’d recommend that you try it. When you sign up, Google will give you a Tracking Code that needs to be embedded on your website in order for Google to be able to track hits. It’s just a simple Javascript which is easy to add to the template of most sites. You can always remove the script if you decide that Google Analytics is not the right tracking product for your business.

, , , ,

A quick note for those who may find it useful:

John Brien’s GalleryView plugin is an awesome addition to NextGEN Gallery for WordPress, but if you’re using the button NextGEN adds to the TinyMCE editor to insert galleries into your pages and posts, you will notice that that there’s no option for the [ galleryview ] shortcode – just [ nggallery ], [ slideshow ], and [ imagebrowser ].

This is easy to fix, though:

  1. FTP into your WordPress site
  2. Find and open the file /<base>/wp-content/plugins/nextgen-gallery/admin/tinymce/window.php in a text editor
  3. Search for this: <label for=”showtype”>
  4. Under this, you will see several lines like this:
    <label><input name=”showtype” type=”radio” value=”nggallery” /> <?php _e(‘Image list’, ‘nggallery’) ;?></label><br />
  5. Duplicate one of the lines, and change value=”nggallery” to value=”galleryview”

That’s all! Now the option is added and should work smoothly.

, , , , ,

We recently wrapped up a project for a client, Don’s Marine in Lodi Wisconsin. The owner contacted Reitz Internet about having the website redesigned, and having some functionality added to the site.

Don's Marine in Lodi Wisconsin

Established in 1936, Don’s Marine services and sells new and used boats, motors, and snowmobiles. Located just 2 miles from Lake Wisconsin and right off the Lodi snowmobile trail, it’s easily accessible and provides a one-stop convenience for all your needs!

Features of the new site:

  • Updated logo
  • Newly redesigned site with valid XHTML, CSS, and Javascript (especially jQuery)
  • Tested in all leading browsers on multiple devices and platforms
  • Built with Concrete5
  • Theme with multiple fully customizable layouts
  • Multi-level drop-down menu
  • Custom-built inventory management software, with:
    • Ability to create inventory types with custom data fields
    • Integrates with Concrete5′s file manager and content editor for adding photos and descriptions to inventory items
    • Dynamically generated downloadable PDF product sheet for inventory products
    • Filter and sort controls for displayed inventory items
    • Ability for website visitors to search the inventory
  • Email newsletter subscription and sending software, with customized email template and bounce processing
  • Advanced statistics tracking software

What do you think? Let us know in the comments below.

, , , , ,

I recently ran into an issue while developing a Concrete5 website: by default, Concrete5 is set up so that only the “super user” account (username = “admin”, user ID = 1) can delete other users from the system. Other users in the Administrators group cannot.

This is a problem because  usually when I set up a Concrete5 website, I am the super user – but the client, who is also an administrator on the website, may also need to delete users from the system.

In more recent versions of Concrete5, if you have advanced permissions enabled, you can manage other permissions for specific actions for users in the Administrators group, but deleting users is not one of the options in this section.

Below are instructions for how to modify the core code of Concrete5 to allow users in the Administrators group to delete users. They still will not be able to delete the super user (which is probably a good thing), and other user groups will not be able to delete users – just Administrators.

Edit the file /<base>/concrete/dashboard/users/search.php, and change lines 138-144:

public function delete($delUserId, $token = null){
	$u=new User();
	try {

		if(!$u->isSuperUser()) {
			throw new Exception(t('You do not have permission to perform this action.'));
		}

to:

public function delete($delUserId, $token = null){
	$u=new User();
	$groups = $u->getUserGroups();
	if(in_array("Administrators",$groups))$userIsAdmin = true;
	else $userIsAdmin = false;
	try {

		if(!$u->isSuperUser() && !$userIsAdmin) {
			throw new Exception(t('You do not have permission to perform this action.'));
		}

Next, edit the file /<base>/concrete/single_pages/dashboard/users/search.php, and change lines 515-520:

	$delConfirmJS = t('Are you sure you want to permanently remove this user?');
	if ($uo->getUserID() == USER_SUPER_ID) { ?>
		<?php echo t('You may not remove the super user account.')?>
	<?php  } else if($u->isSuperUser() == false){ ?>
		<?php echo t('You must be logged in as %s to remove user accounts.', USER_SUPER)?>

to:

	$groups = $u->getUserGroups();
	if(in_array("Administrators",$groups))$userIsAdmin = true;
	else $userIsAdmin = false;
	$delConfirmJS = t('Are you sure you want to permanently remove this user?');
	if ($uo->getUserID() == USER_SUPER_ID) { ?>
		<?php echo t('You may not remove the super user account.')?>
	<?php  } else if($u->isSuperUser() == false && !$userIsAdmin){ ?>
		<?php echo t('You must be logged in as %s to remove user accounts.', USER_SUPER)?>

As usual, back up before making major changes to your Concrete5 website. The tweak detailed above really shouldn’t damage your website, but it’s better to be safe than sorry.

, , , , , ,

If you’re near Madison, Wisconsin in the next few weeks, tune into Relevant Radio 1240AM during your morning or evening commute and you might hear a commercial for Reitz Internet Technologies! Or you can preview the ad here:


    [download]

Special thanks to Brian Kelly and Renee Rivers (voicing) and Chris Reitz (production).

 

, , , , ,

Just posted:

The Beginner’s Guide to Internet Technology

_

Go read it, and let us know what you think in the comments!

, , ,

Today I installed iOS4 (the latest iPhone operating system) on my phone. It took a whole lot of tries because the download kept failing – I suppose Apple’s servers were overloaded. Anyway, I’ve finally got it installed now.

iOS4 is available for iPod touch, iPhones 3G and 3Gs, as well as the brand new iPhone4. It has a bunch of new features, including:iPhone

  • Home screen backgrounds
  • Digital zoom for the camera
  • Tap-to-focus for video
  • The long-awaited multi-tasking functionality
  • App folders

If you have an iPhone or iPod touch, do the upgrade. I’m really enjoying these new features!

, , ,