Jun

30

Visit Sherry Ransom

Halfslide Design was recently contracted to redesign the site for Austin-based author and inspirational speaker, Sherry Ransom. Sherry wanted a more modern and user-friendly design applied to her personal site. Her goal was also to make it easy for visitors to get in touch with her and hire her for speaking gigs. Finally, she expressed that she wanted to be able to manage content herself and be able to publish articles on a regular basis without getting a web designer involved.

Halfslide Design built her site on the Wordpress CMS platform.  This allows Sherry to manage the content on each page and article completely on her own.  In addition, Halfslide extended the Wordpress administration area to give her the ability to manage the events listing on her site so that she could easily alert her fans to the fact that she would be speaking in their area in the near future.

We also built the site to highlight the articles that she has written in an effort to increase her search engine optimization around her topics of expertise.  Visit the site and let us know what you think about the new design.

Apr

15

Storage Strategies Now – http://www.ssg-now.com

Storage Strategies Now, an Austin, Texas based storage analyst firm, recently requested Halfslide Design perform a renovation of their website www.ssg-now.com. The stated goal behind the redesign was to both provide sample content to those who are new to their service as well as provide a protected area for content that requires a subscription to access. The client also wanted to improve their search engine optimization by providing more content targeted around their service in html format rather than in pdf or doc attachments.

Halfslide Design redesigned the site to run on a customized WordPress platform similar to what the Halfslide Design site currently runs on.  We had to make several changes based on some specific business logic.  First, we had to update the customer registration process.  On SSG-Now, users who register get access to the full site the first time they visit.  Once their visit ends, their account is disabled and can only be reactivated after working out a subscription membership with SSG-Now.  This allows users to get an in-depth look at the content published by SSG-Now before they subscribe.  Halfslide Design modified the customer registration process so that all users were set as inactive after their session ended and also built-in functionality for SSG-Now to update customer accounts once a subscription had been initiated.

In addition, Halfslide Design reorganized the site so that all content published by SSG-Now that was public would be easily indexed by search engines.  Sitemaps of the site are automatically updated daily so that search engines are always aware of new content within 24 hours of it being published.  This has resulted in a dramatic increase in visits to the SSG-Now site since launch.

Finally, one last requirement from the client was that they be able to manage and update the site themselves.  In the past, the client was providing new content to Halfslide Design that we would then post to the site.  The client is now able to manage all site content, pages, links, and pages themselves.

Mar

14

We had an issue this weekend with one of our high utilization servers at GoDaddy dropping dead. We’ve still not been completely briefed on what happened, but the end result was that our server was dead and we had to rebuild it from scratch. I learned a lot about what to expect from Godaddy’s disaster recovery process in the meantime and thought I’d share my experience.

The first thing that stuck out to me was that there was no notification that the server was dead.  My partner actually discovered that there was a problem when she couldn’t access one of the sites on that server.  She immediately called GoDaddy who then informed us that the server was dead.  Maybe I am naive, but I would have expected that GoDaddy would be more on top of the situation and would alert us if they noticed a problem.

We had backed up all of the code running on our servers, but did not have recent backups of several of our databases.  I fully admit that this was a glaring hole in our own process.  GoDaddy knows that they have you over a barrell in this case so they charge you $150 to take the old drive off of your dead server and then hook it up through a USB enclosure.  This allows you to get at your old data.

Not only is the cost extreme, but the process is really involved from the client perspective.  From the minute we noticed the outtage, we really had to drive the GoDaddy service technicians to do everything.  We had to initiate the reprovision and then we had to contact them about reconnecting our drive.  We then had to get them to notify us when the old drive was reconnected.  They were also very unhelpful when I asked them for assistance in mounting the usb drive.

In conclusion, the whole process has lead me to rethink my relationship with Godaddy.  Their service technicians are extremely unhelpful, their hardware is flaky, and they’ll really take advantage of you when they see an opportunity.  I believe that from this day forward, I’ll direct my clients who need hosting to have that hosting done with a different provider.

Have you had a similar situation?  Feel free to post a comment and share your experience.

Jan

30

We recently ran into a situation where one of our users was receiving a large amount of spam to their forwarded email account. Our setup is a dedicated server running Simple Control Panel at Godaddy. We handle email for a few clients and this one in particular was receiving 100’s of spam emails every hour.  Pretty much as soon as we set up this client, we started hitting our 1,000 SMTP Relay limit which prevented us from sending any further emails for any other client on the server.

There is a simple fix to this that I had a difficult time finding so I decided to create a post on this for anyone else who might run into this issue.

The first thing I tried was to turn on SpamAssassin through the Simple Control Panel (log in to your control panel, choose “Email” from the “Server Configuration” section, and choose “Filter incoming email using SpamAssassin”).  The result of this is that SpamAssassin started analyzing the emails coming in and marking them as Spam.  This didn’t fix the problem because the emails were not being dropped, but were instead being forwarded onto the receipient, just now with the “SPAM” designation in the message subject.

The only solution I discovered was to utilize Postfix’s header_checks.  This uses a regular expression to check the header of the email message and then apply a rule to the message accordingly.  Here’s what we did.

  1. edit the /etc/postfix/header_checks file.
  2. add the following line to the bottom of the file:

    /^X-Spam-Flag:.YES/ DISCARD spam

  3. edit the /etc/postfix/main.cf file an make sure the following line is in your file (it may just be commented out):

    header_checks = regexp:/etc/postfix/header_checks

  4. Now restart your postfix process by using the following command:

    postfix reload

What this does is look for the existence of “X-Spam-Flag” in the header of the message.  This flag is put there by SpamAssassin, so it is important that SpamAssassin is running.  Once it sees the “X-Spam-Flag”, it will discard the message.  This will effectively prevent your server from forwarding any spam emails onto your user’s email accounts.  So far this has worked out well for us.

Dec

5

Visit Playa Luxury Villas

Halfslide Design recently finished the construction of a new site for a condominium and villa management company located in Cabo, Mexico. The site’s graphics were created by Graphic Designer, Barry Link. Halfslide Design took the design and built the site on top of the Wordpress content management system.

The site utilizes lists condo and villa objects that the client can manage themselves.  In order to provide this functionality, we modeled the villas as wordpress posts and built them out with custom post fields.  This allows the client to manage all of the page content and villa objects through the single wordpress interface.

Halfslide was extremely happy to work with Playa and the client continues to be easy to work with.  If you are interested in visiting the Cabo, Mexico area some time soon, I would highly recommend checking out the site and giving the crew a call to inquire about possibly staying in one of their condos or villas.

Visit Playa Luxury Villas

Oct

26

Shirtaday Redesigned

October 26th, 2009

For the last three weeks, I’ve been busy completing a total redesign of Shirtaday.com. The site was originally created in early 2006 and was extremely simple at the time.  During the next three years, it progressively grew new features and each of these features were bolted on without keeping a consistent object model or design.  It turned into a maintenance nightmare.  Also, the design had several cross-browser issues with Google Chrome and Internet Explorer 6.  It also looked poor at smaller screen resolutions.  These are just a few of the issues…I could go on forever about things that I hated about the site.

The goal of the new design was to resolve all of those issues mentioned and to really just make the site much easier to maintain.  Previously, if I changed something, I never really knew for sure just what that’d affect on the rest of the site.

A few of the things that the redesign accomplished:

  1. Better SEO. On the old site, the links to shirts and pages in the warehouse were built using query parameters such as “shirt.php?id=1″.  Most modern search engines completely ignore the query parameters, so our 700+ shirts were being treated as essentially one page.
  2. Paged Warehouse and Shirt Listing.  At one point, the warehouse contained over 120 shirts.  All of these were loaded on the single warehouse page when the user viewed it.  That was a lot of data to load and display, and if you were on a slow connection, it was painful to wait for it all to come down to your browser.  The new design incorporates paging of each list and allows the user to search through the lists using some new search functionality that we built into the site.  For instance, if you want to buy a black, large shirt for less than $10, you can narrow your search to this so that only shirts relevant to your criteria are displayed.
  3. Better design. The original design was table-based, and some tables had tables within them that went three to four layers deep.  Ouch.  What a nightmare that was to maintain.  The new design is completely css based and is much more straightforward to maintain and enhance.  New pages and sections can be plugged in or move around extremely simply.
  4. Better navigation. The main goal at shirtaday is to sell t-shirts and i think the new design helps shirtaday reach that goal better.  I believe it’s more intuitive for a user to come to the site and get through a checkout with a shirt they like.  Purchase options are emphasized with bold print and highlighted colors.
  5. Ajax and jQuery. The new site utilizes ajax and jQuery for many things like voting for your favorite shirt or adding an item to your cart.  This, in my opinion, really enhances the user experience at the site.

Oct

13

Before I get started, I want to point out that much of my thoughts in this post are based on a recent post by Derek Powazek on the evils of SEO. (Major props to him for fitting in the term “Faustian”!) He makes some excellent points in his post and I highly recommend you go read it when you get a chance.

The point of this post is to discuss some of the things that I tell my clients in the course of designing their website.  Inevitably, as any project moves towards a go-live, the client wants to talk about Search Engine Optimization or SEO.  This is natural, as any one who has spent their hard-earned money on a website wants to get it in front of as many people as possible.  My response to them is always the same.  If you are concerned about SEO, you should be concerned about your content. Your job, as the client, is to explain your website through content that is relevant to what you’d like your site to be searched under.  It’s my job, as your designer, to ensure that that content is structured in such a way that the search engines can find and index it correctly.  So below are a few things that I tell my clients to think about when they are concerned with SEO.

Choose Your Keywords

The first step of any optimization is to decide on a small set of keywords that they would like to target.  Most clients I’ve worked with are in the Austin area so they often find that they want to target keywords like “Austin Landscaping” or “Austin Family Doctor”.  The general idea is that, the more specific the keywords, the better as it will be very difficult for any new site to gain traction on Search Engines for broad keywords like “Family Doctor” or “Landscaping”.  You really have no shot at these unless you are able to get 100s of other sites to link to you, thus upping your PageRank.

Make Your Content Keyword Relevant

Once you’ve chosen your keywords, make sure that your content is relevant to it.  If you create a site about landscaping and are targeting landscaping related keywords, but you’re page is just images and never mentions landscaping…you’re completely missing the point.

As an example, I recently authored a post about image slideshows in jQuery.  I knew before going into it that I wanted to target very specific keywords such as “simple jquery image slideshow”, so I made sure that the title of my post included those keywords and wrote my content in a way that it was relevant to those keywords.  I now receive 20-30 visits per day on that post for those exact keywords.  I know I’ll never be on the front-page for “jQuery” or “slideshow”, but I’m okay with that because the post I wrote is really not targeted for those keywords.

Create Fresh Content and Keep Your Site Updated

This is the one recommendation I make to clients that is very rarely accepted.  You need to take the time to keep your site updated and create new content about your topic so that your site will stay relevant.  No one wants to go to a site that hasn’t been updated since 2003.  Stale content gives the impression that your company is either lazy, doesn’t put importance on its web interface, or is out of business.  So start a blog and talk about your industry or subject-matter expertise and keep the posts flowing.

Get Others To Link To You

This is the strategy where most SEO firms act unethically.  They take your money and pay for links to your site that come through bots, pay for click, or blog spam.  You don’t need this.  What you need to do is seek out other sites in your industry and discuss either advertising on their site or link exchanges.  Blogging also helps out here as others in your community will pick up on your posts and link to your site.  Google’s algorithm is based on links, so the more links you get here (and more importantly, the quality of your links) the better off you will be.

The important thing to remember is not to try to trick anyone.  People don’t like to be tricked and won’t stay at your site long if it advertises itself for something that it’s not.  Don’t paste 100 keywords in your meta tags.  Don’t blog spam.  And most importantly, don’t write content for search engines, write it for your users.

Oct

6

I recently got a request from a client of mine to setup two different wordpress blogs for her company and then display the posts from both blogs in a single list on the home page of her web site. I wasn’t able to find much documentation of people doing this type of thing through various searches, so I figured I’d post an entry on it when I finished. As a disclaimer, I’m sure that this can be done more efficiently or in less code. If you have a better way to do it, please leave me a comment. I’m always open to learning new techniques.

Read the rest of this entry »

Sep

29

I’ve run into situations where I’ve installed content management systems for customers who like to add their own content and/or copy content from documents they’ve created. Often, this results in them copying non-ASCII characters such as smart quotes, elipsis, or em dashses. I’m not sure why (maybe someone can educate me by posting a comment below) that PHP can’t handle these characters, but I’ve come up with a way to replace these characters with characters or character sequences that PHP understands. The function is below.

function cleanString($string) {
  $find[] = '“';  // left side double smart quote
  $find[] = '”';  // right side double smart quote
  $find[] = "‘";  // left side single smart quote
  $find[] = "’";  // right side single smart quote
  $find[] = '…';  // elipsis
  $find[] = '—';  // em dash
  $find[] = '–';

  $replace[] = '"';
  $replace[] = '"';
  $replace[] = "'";
  $replace[] = "'";
  $replace[] = '...';
  $replace[] = '-';
  $replace[] = '-';

  return str_replace($find, $replace, $string);
}

The function essentially is a very simple string replacement that attempts to match an invalid character with a valid character and output the change.  This will prevent the weird diamonds or boxes that you may be seeing in text output using “echo” in php.

Sep

19

I often get requests for proposals from prospective clients regarding e-commerce or deal of the day sites. Many times these clients know that they want to create an online store but they haven’t really thought about the various requirements that they’ll have regarding how their site will be built. By sitting down and thinking through the various requirements or options they will need for their website, they can save themselves an immense amount of time and money when working with a designer. Below are just a few of the items for an e-commerce website that I generally work through with clients.

  1. Payment – How will the site accept payment?  There are a variety of options: Paypal, Google Checkout, or Credit Card gateways like Authorize.net.  There are pros and cons about each.  Paypal and Google Checkout generally have lower fees for accepting payment but they often require that your customer have a Paypal or Google account to complete the transaction (Paypal allows customers to use credit cards if they don’t have a Paypal account, however).  Accepting credit cards directly on your site is often the simplest method for your customers, but requires extra effort when building the site to integrate with the gateway, secure the transactions, and record orders.  Credit card gateways often have a monthly gateway fee on-top of the per-transaction fee so they are often more costly than simply using Paypal or Google Checkout.
  2. Shipping – How will you ship your products and charge your customers for shipping.  I’ve generally seen a variety of methods of dealing with this issue.  Some sites charge a flat rate per item for shipping.  This is the simplest method but can often lead to inacurate shipping charges (the customer is either over-charged or under-charged for the actual shipping charge).  Other sites charge a rate based on the item’s weight and the shipping destination.  This is more accurate, but requires that you weigh each item you plan on selling and be able to store that weight on each item for your checkout process.  Additionally, you need to think about who you want to use to ship your packages.  Do you want to use USPS, UPS, DHL, or FedEx?  Do you want to provide a real-time shipping calculator for each service on your site so that customers can determine their actual shipping charges when they checkout?  All of these things need to be planned so that the designer building your site can correctly implement the shipping process for your site.
  3. Communicating with Customers – How will you communicate with your customers?  At a minimum, you should always send the customer an email when the order was placed.  However, you may also want to send additional emails when their order has shipped.  Also, will you want to provide your customers with an option to sign up for special offers?  This requires some extra functionality for your site that keeps track of customers who are signed up for your special offers and their email address and also provides you with a way to send out a bulk email.
  4. Order Processing - When you process orders, what pieces will you want to automate?  Do you need to integrate your orders with QuickBooks?  Do you want to be able to print shipping invoices automatically for each order?  Do you want to automatically send your customers their tracking number when their order has been scheduled to ship?  Do you want to be able to issue refunds through your website?  All of these are features that clients often over-look but could make their lives much easier when it comes to processing orders from their online store.
  5. Organization of the Products – Many clients know that they want to provide items in their store, but they’ve not thought about how they should be organized.  There are many questions you should ask yourself:  Will I want to feature certain products in certain areas on the website?  Will I need product categories and sub-categories?  If an item is out of stock, do I want to continue to offer it on the site and fill the order when the item comes back in stock?  Do I want to schedule sales on certain items or categories?  All of these questions, if answered before construction on your website has started, will help you get a more robust and reliable site.  Modifying your site after it has gone life in order to add one of these features is always possible, but can lead to bugs or broken functionality.

These are just a few things to think about when building an e-commerce store.  Generally, the more thought you put into your site, the better your experience will be.  I always encourage clients to put together a thorough request for proposal.  This has two major benefits: 1) it enables you to get accurate estimates from various web designers (and be able to hold them to the estimate when they later balk at adding functionality) and 2) it gives you a good vision of what you expect your site to do when it eventually goes live.

If you are interested in an online store or daily deal website, please contact us through our contact form about your project.  We’d be happy to answer any of your questions and provide you with an accurate estimate of how long it would take and how much it would cost to build your website.