Posts Tagged ‘Getting’

Getting the Most Out of QR Codes Using URI Schemes

Thursday, February 23rd, 2012

Advertise here with BSA

Getting the Most Out of QR Codes with URI Schemes

Lately, everyone has been talking about the potential of the QR code. It has become the Internet’s equivalent of traditional barcodes (like those you’d find on physical goods at your favorite retail store).

Someone can take a quick snapshot of a QR code with their smartphone and immediately have a website up and loaded, so we could print QR codes on paper and physical goods such as business cards, magazine ads and posters in order to lead people to our site.

But, more often than not, web developers don’t use QR codes to their fullest potential.

In this article, we’ll discuss a technique that will unlock the full potential of QR codes through URI schemes.

How QR Codes Work in a Nutshell

Let’s learn how the QR code mechanism actually works. QR codes, at their core, are specially generated images that work like barcodes.

Certain commands (known as responses) are built in, and when a QR code is captured by a camera (usually one on a smartphone or tablet), the image of the QR code is processed and then the built-in response is carried out.

A common QR code response is to open a certain website in a web browser on the device that captures the QR code.

QR codes look like the above and contain information that can be captured by a camera and interpreted by a smartphone, tablet or computer.

QR-Code Readers

This is where things get interesting. QR-code readers — the apps that scan the codes and perform the actions — are not equal when it comes to functionality. Some are able to recognize QR codes and do all sorts of amazing things, and others can simply open URLs or display text.

Most smartphones have the same set of basic features (address book, calendar, texting functionality, alerts and Internet browsing), and a good QR-code reader can cater to all of those.

With low-functionality apps in the mix, though, URL-opening is likely the only reliable function that we can expect most QR-code readers will have.

Here’s a list of features that QR-code readers are generally equipped with:

  • Displaying text
  • Setting up system alerts
  • Adding events to calendars
  • Opening URLs in a browser
  • Collecting contact information (including vCards)
  • Sending email
  • Sending text messages (SMS)
  • Geolocation
  • Calling other phones
  • Connecting to WiFi

The Idea: Using URI Schemes

Since browsers can already launch default email clients via a simple mailto URL (browsers have supported URI schemes like these for years), could the same technique be used to offer in-app functionality for other products that have non-native URI schemes and that a QR reader wouldn’t support by default?

The answer is yes!

If the application supported the scheme, and if the user had the app the QR represented installed, it would work beautifully — and it wouldn’t matter which QR-code-reader was used.

The Possibilities

Here’s a list of some cool things that are possible:

  • Launching native Apple apps (Mail, Phone, FaceTime, Text, Map, YouTube and iTunes)
  • Running JavaScript bookmarklets
  • Opening certain IM clients (Skype, AIM, MSN, GTalk, ICQ and Yahoo)
  • Opening special applications (IRC tools, feed readers, FTP clients and SVN repositories)
  • Opening any application that registers a URI scheme when it installs on a platform

What makes this particular technique so amazing is that it doesn’t rely on the QR-code reader being very advanced; all it needs is for the app creator (be it Skype, Evernote or Angry Birds) you want to launch and interface with to use the system development API to register a URI scheme.

In the case of Apple, it’s the Cocoa Touch OpenURL method of the shared UIApplication object, and for other platforms (like Android), there will be an equivalent somewhere in the documentation.

From scanner to browser to application — the possibilities are endless!

Below is a list of some common non-http URI schemes:

Application URI Scheme or Protocol Query Strings
Default e-mail application mailto:<email>?query Subject
CC
BCC
Body
Default phone application tel:<number> N/A
Default SMS application sms:<number> N/A
Chat Room client irc://<url>:query port
channel
password
Syndication feed reader feed:<url> N/A
Apple FaceTime facetime:<number> N/A
Skype client skype:<username|number>?query add
call
chat
sendfile
userinfo
Google Talk client gtalk:query?<email> chat
call
Windows Live Messenger client msnim:query?<email> add
chat

voice

video

Yahoo! Messenger client ymsgr:query?<email|number> sendim

addfriend

sendfile

call

callPhone

chat

im

customstatus

getimv

AOL Instant Messenger client aim:query?<username> goim

goaway

addbuddy

What does this mean for us? As it stands, there are actually quite a number of applications for the desktop (as well as mobile), which already use URI schemes.

Take Skype, for instance. Do you want people to be able to capture a QR code that causes their phones to call you via Skype on their handsets? That can be done (at least on iOS) right now.

It can also be used to run several native apps, launch JavaScript bookmarklets (perhaps including apps that run within browsers) and access the usual FTP and IRC protocols (if associated with something).

Here are some useful links for developers:

Now that you know a bit more about QR codes and have gotten a brief overview of things you need to know to get started, I’ll outline the steps to the technique below.

Note: The technique I’ll be describing below can even be used to execute JavaScript code, so under the wrong set of code-writing fingers, this could be exploited.

Step 1: Choose the Response You Want to Perform

First, decide what you’d like the QR code to accomplish. Obviously, you can use the regular QR-code generator stuff — like sending text messages to phones or sending emails — but let’s try something trickier.

We’ll create a Skype QR code that will automatically launch the app and make a voice call to a Skype contact. (This will only work if the user that scans the QR code has Skype installed).

Step 2: Create a URL Using a URL-shortening Service

Many QR-code generators suffer from a particular problem: if you try to put a mailto or other non-http link into them, they sometimes think that an error occurred (this also affects some reader apps).

This, of course, won’t get our Skype launcher anywhere near being cross-QR-code-reader-compatible, so we need another solution — and, luckily, a common one exists that can help get this URL into the browser (and help web developers monitor click stats too)!

We’re going to use a URL-shortening service. These services are rarely fussy about what you insert into them, and they push out well-formed URLs with the HTTP header required for best-possible compatibility (most QR readers know how to open basic URLs).

A URL-shortening service such as TinyURL will turn that unconventional URL into a generally acceptable one.

For this QR, we’ll call the Skype contact named echo123 — this contact is the free voice-quality testing contact that Skype offers.

For our URL-shortening service, I’ll use TinyURL, but you can use one of the many other URL-shortening services out there such as bitly, is.gd and so on.

Just enter your chosen URI scheme into the shortener.

This is the result of my TinyURL link conversion:

URL skype:echo123?call
To http://tinyurl.com/echo123skype

If you click on the URL above, you might see something like the following (if you’re using Google Chrome on Windows):

Step 3: Generate the QR Code

Now take that generated URL — which will actually work if you have the desktop version of Skype installed for Windows or Mac — and generate a working QR code from it.

Check that the shortened URL works in your web browser; the link should launch Skype.

There is an abundance of choice when it comes to ways of generating QR codes; free tools exist all over the Web.

Below are a couple of free generators:

After you’ve generated your QR code, test it. Download one of the available applications for your mobile device (if you don’t already have one) and take a snapshot of the QR code you’ve produced.

Below are some free QR-reader products for mobile platforms:

What should happen, if you followed the instructions correctly and if you’ve got the Skype app installed, is this:

  1. Your QR code will be identified by the QR reader app
  2. The QR reader app will notice that the QR code contains a URL (thus it will skip the compatibility quirks of the readers)
  3. The TinyURL link will open in the default browser
  4. It will redirect to the Skype-call URI scheme and launch Skype

Pretty amazing stuff for one clever image!

The only thing left to do with your wonderful creation is to upload it to the Web (as I have with the finished example below). I recommend, as a best practice, that you consider providing a link to the URL being snapped in the QR image itself (for desktop users).

Beyond that, you could spruce up your QR codes with a bit of color or some limited artwork if you’re feeling extra creative.

The Finished QR Code

The above QR code will call echo123 on Skype if you have the app installed.

Conclusion

The power of this technique rests in the opportunity it gives designers and developers. A URI scheme exists between app developers and the browsers that support them (luckily, that’s all of them!).

Using a simple redirect (provided by you or a third party) and these already existing and well-supported features, you can launch applications, interact via query codes, execute JavaScript and do all sorts of wonderfully creative things.

QR codes are being increasingly adopted and have never been more widely used. With this single technique you can break past most existing limitations.

Related Content

About the Author

Alexander Dawson is a freelance web designer, author and recreational software developer specializing in web standards, accessibility and UX design. As well as running a business called HiTechy and writing, he spends time on Twitter, SitePoint’s forums and other places, helping those in need.


Six Revisions

WordPress and Zeus Part 1: Getting Permalinks Working

Saturday, January 21st, 2012

For those of you that might not know (and I was one of you about a month ago), Zeus is a Web server package that’s used instead of apache by some Web hosts. If you’re planning to use WordPress, and you have a choice between apache and Zeus, I would definitely recommend choosing apache. However, sometimes you don’t have a choice in the matter; and you have to do what you can to make things work.

WordPress will work out of the box with Zeus, but a lot of things won’t behave the way you might expect. One of those things is the permalink structure.

Instead of getting nice, clean URLs like “http://example.com/blog/2012/01/my-first-blog-post/”, you get “index.php” shoved in there (like “http://example.com/index.php/blog/2012/01/my-first-blog-post/”). You can correct this issue, but it’s not quite as simple as updating an .htaccess file (in fact, without some jiggery-pokery by your Web host, Zeus doesn’t support .htaccess at all). Instead, you have to apply a rewrite script to your server configuration.

After quite a bit of searching and trial & error, I finally found a working rewrite script configuration for WordPress. A hosting company called ZipHosting posted the scripts below in their knowledgebase. The first script is set up for you to use if WordPress is hosted in a subdirectory, and the second is for use with WordPress in the root directory.

WordPress in a Subdirectory

RULE_0_START:
    # Get the document root path and put value into the SCRATCH array.
    # This is the server path not the web URL.
    # i.e. /clientdata/clients/p/h/php.testing.au.com/www/

map path into SCRATCH:DOCROOT from /

    # Get the URL without the domain.
    # e.g. /test&colour=red
    # e.g. /an-example-post/?color=red

 set SCRATCH:ORIG_URL = %{URL}
 set SCRATCH:REQUEST_URI = %{URL}

    # See if there are any queries in our URL.

 match URL into $ with ^(.*)\?(.*)$

    # If there are...

 if matched then
    # Set a var to path without the domain part.
    # e.g. /an-example-post

     set SCRATCH:REQUEST_URI = 

    # Set a var to the passed queries.
    # e.g. colour=red

     set SCRATCH:QUERY_STRING =
 endif
 RULE_0_END:

RULE_1_START:
    # This is setting a var to the server path and sub folders.
    # e.g. /clientdata/clients/p/h/php.testing.au.com/www/wordpress/an-example-post/

 set SCRATCH:REQUEST_FILENAME = %{SCRATCH:DOCROOT}
 set SCRATCH:REQUEST_FILENAME . %{SCRATCH:REQUEST_URI}

    # Check to see if the file exists.

 look for file at %{SCRATCH:REQUEST_FILENAME}
 if not exists then

    # The file wasn't found so is it a folder?

     look for dir at %{SCRATCH:REQUEST_FILENAME}
     if not exists then

    # No folder either. So now check the URL for special hosting folders.

         match SCRATCH:ORIG_URL into % with ^/stats|^/logs
         if matched then

    # If a special folder was requested end the script.

             goto END
         else

    # There were no files, folders or special folders so set the new URL.
    # -- Sub directory -------------------------------------------------------------
    # If the blog is in a sub directory...replace the words in bold  with your directory name.
    # e.g. /wordpress/index.php/an-example-post

             match SCRATCH:REQUEST_URI into $ with ^/wordpress(.*)
             if matched then
                 set URL = /wordpress/index.php
             endif

    # -- Sub directory ends --------------------------------------------------------
    # or...
    # -- Top level -----------------------------------------------------------------
    # If the blog is in the top level of the site...
    # e.g. /index.php/an-example-post
    # set URL = /index.php%{SCRATCH:REQUEST_URI}
    # -- Top level ends ------------------------------------------------------------
    # Go to the next rule.

             goto RULE_2_START
         endif
     endif
 endif

    # If files or folders were found end the rewrite script.

 goto END
 RULE_1_END:

RULE_2_START:

    # Check for queries in the requested URL.

 match SCRATCH:ORIG_URL into % with \?(.*)$
 if matched then

    # If queries were found add them to the new URL.
    # e.g. /index.php/an-example-post/&colour=red

     set URL = %{URL}&%{SCRATCH:QUERY_STRING}

 endif

    # -- Sub directory -------------------------------------------------------------
    # If you only want to rewrite the sub directory uncomment this bit.
      match SCRATCH:ORIG_URL into % with ^/wordpress
 if matched then
    # -- Sub directory ends --------------------------------------------------------

    # End the script.

     goto END

    # -- Sub directory -------------------------------------------------------------
 endif
    # -- Sub directory ends --------------------------------------------------------
 RULE_2_END:

WordPress Installed in the Root Directory

RULE_0_START:
    # Get the document root path and put value into the SCRATCH array.
    # This is the server path not the web URL.
    # i.e. /clientdata/clients/p/h/php.testing.au.com/www/

map path into SCRATCH:DOCROOT from /

    # Get the URL without the domain.
    # e.g. /test&colour=red
    # e.g. /an-example-post/?color=red

 set SCRATCH:ORIG_URL = %{URL}
 set SCRATCH:REQUEST_URI = %{URL}

    # See if there are any queries in our URL.

 match URL into $ with ^(.*)\?(.*)$

    # If there are...

 if matched then
    # Set a var to path without the domain part.
    # e.g. /an-example-post

     set SCRATCH:REQUEST_URI = 

    # Set a var to the passed queries.
    # e.g. colour=red

     set SCRATCH:QUERY_STRING =
 endif
 RULE_0_END:

RULE_1_START:
    # This is setting a var to the server path and sub folders.
    # e.g. /clientdata/clients/p/h/php.testing.au.com/www/wordpress/an-example-post/

 set SCRATCH:REQUEST_FILENAME = %{SCRATCH:DOCROOT}
 set SCRATCH:REQUEST_FILENAME . %{SCRATCH:REQUEST_URI}

    # Check to see if the file exists.

 look for file at %{SCRATCH:REQUEST_FILENAME}
 if not exists then

    # The file wasn't found so is it a folder?

     look for dir at %{SCRATCH:REQUEST_FILENAME}
     if not exists then

    # No folder either. So now check the URL for special hosting folders.

         match SCRATCH:ORIG_URL into % with ^/stats|^/logs
         if matched then

    # If a special folder was requested end the script.

             goto END
         else

    # There were no files, folders or special folders so set the new URL.
    # -- Sub directory -------------------------------------------------------------
    # If the blog is in a sub directory...replace the words in bold  with your directory name.
    # e.g. /wordpress/index.php/an-example-post

    # match SCRATCH:REQUEST_URI into $ with ^/wordpress(.*)
    # if matched then
    #     set URL = /wordpress/index.php
    # endif

    # -- Sub directory ends --------------------------------------------------------
    # or...
    # -- Top level -----------------------------------------------------------------
    # If the blog is in the top level of the site...
    # e.g. /index.php/an-example-post
     set URL = /index.php%{SCRATCH:REQUEST_URI}
    # -- Top level ends ------------------------------------------------------------
    # Go to the next rule.

             goto RULE_2_START
         endif
     endif
 endif

    # If files or folders were found end the rewrite script.

 goto END
 RULE_1_END:

RULE_2_START:

    # Check for queries in the requested URL.

 match SCRATCH:ORIG_URL into % with \?(.*)$
 if matched then

    # If queries were found add them to the new URL.
    # e.g. /index.php/an-example-post/&colour=red

     set URL = %{URL}&%{SCRATCH:QUERY_STRING}

 endif

    # -- Sub directory -------------------------------------------------------------
     # If you only want to rewrite the sub directory uncomment this bit.
    # match SCRATCH:ORIG_URL into % with ^/wordpress
 if matched then
    # -- Sub directory ends --------------------------------------------------------

    # End the script.

     goto END

    # -- Sub directory -------------------------------------------------------------
 endif
    # -- Sub directory ends --------------------------------------------------------
 RULE_2_END:

Unfortunately, that won’t solve all of your permalink issues, but it will get you started. One serious issue you might encounter is the fact that query strings aren’t recognized at the end of your permalinks; instead, WordPress shows a 404 error page whenever a query string is attached. In my next article, I’ll explain how I fixed that issue.

Related posts:

  1. WordPress: Creating Custom Permalinks for Plug-Ins
  2. Installing WordPress Through SSH
  3. My First Official WordPress Plugin

HTMLCenter Web Development Blog

How to Prevent Your Dog From Getting Dandruff

Saturday, July 9th, 2011



There is hardly any difference between dog dandruff and human dandruff as both of them look the same. The major causes of dog dandruff are allergies, dry skin and parasitical infection. You can control dog dandruff to a very large extent yourself with a little awareness.

You should brush your dog regularly at the same time everyday. Ensure that the dog coat is brushed evenly so that the natural oils of the dog are distributed evenly. The regular brushing helps to distribute your pet’s natural oils evenly and reduces the build up of dandruff.

You should add flax seed to your dog’s dirt everyday so that fatty acids naturally moisturize his skin. You should wash your dog once every week and if the skin of your pet is very dry than once every two weeks. If you wash your dog very frequently this leads to his coat becoming very dry and this in turn leads to dandruff. After you have washed your dog brush him and brush out or cut any mats in his fur.

Remember that dog dandruff accompanied with hair loss can be a sign of allergy. Make a visit to the vet right away when your dog has these symptoms. You should note that dog hair loss can also be a symptom of a secondary condition called demodectic mange that occurs in those dogs that do not have weakened immune systems.

Dog dandruff can be a major cause of discomfort to your pet and you can prevent it with a little care and attention towards your pet.

Easy PHP Programming

Getting Users to Sign Up: Factors in Design and Content

Monday, June 13th, 2011

Advertise here with BSA

Getting Users to Sign Up: Factors in Design and Content

Conversions can be tricky to accomplish on any website. A conversion could mean more sales, more registered users or simply more engaged users. Having a great product and delivering value to the user are obviously the factors to focus on when you want to increase your conversion rate. But a conversion rate can also be increased with smart design and strong content.

In this article, we’ll discuss how to improve design and content for one type of website conversion: getting users to sign up on your website, whether it’s registering an account for your web app, for an email newsletter, your RSS feed, etc. We’ll go over some design trends and practices that have been proven to improve conversion rates.

Everyone Wants Something for Nothing

Let’s say you’ve stumbled on a website that you know nothing about. Perhaps you were intrigued by an ad banner that pointed to the site. Maybe you read a post on your favorite blog about it and decided to check it out. Or perhaps you landed on the site because of a search query on Google.

You’d like to investigate further to see if you want to sign up. What do you do first?

Naturally, you want to try it out right away! Trying it out is the only way to truly know whether it is worth your time and commitment.

Trials are a strong selling point for increasing conversion rates. Your interest is already piqued; if you try it and it meets your standards, you’ll likely sign up.

For example, one of the top premium WordPress theme sellers, WooThemes, releases a few free themes so that you can get a good look at the quality of their products before signing up for the premium service.

The key is to get new visitors to try out the service, product or community in some way. What are some ways to do this? Some methods may be more effective than others. Here are a few ways:

  • Provide a limited-time trial version (e.g. 30 days free)
  • Provide a free or "lite" version, and then ask users to upgrade for premium features
  • Hand out freebies related to your product (such as a WordPress theme or an e-book with basic information)
  • Let visitors peek inside to see what registered users are enjoying
  • Offer detailed product tours, screenshots and videos that tell visitors what they’ll get before signing up

Some site owners may want to follow an established business model in their niche, while others may want to try a few methods and test their effectiveness. Before settling on one, track your current conversion rate metrics:

  • How many sign-ups are you getting?
  • What has been the average number of sign-ups in the past few months?

Then, implement the method you’d like to try out, and test the conversion rate for the same timeframe.

Should It Say, "Buy Today" or "Buy Now"?

Some web designers have dabbled in web copywriting. Whether you have or not, we should all pay some attention to the copy on the website we’re working on and be able to tell which content will be effective at increasing conversion rates.

Professional copywriters know how certain words can get more sign-ups, how certain paragraph lengths are more persuasive, and how the writing style and level can be tailored to get the best results.

You could always hire a professional copywriter, but designers should still know the basics. We’re still responsible for the call-to-action elements, even if we’re not actually writing the content. We need to know what will increase conversion rates.

How should a button or link be worded? Should you use "Log in," "Login," "Sign in" or something else? Studies show that consistency and various other factors affect conversion rates. Do you know how to make these decisions?

Introductory sentences, calls to action, sign-up and log-in links, featured content: all of these and more are critical to websites. Even page titles are essential. Anyone who has run a blog knows how changing the title of a post can increase the number of page views dramatically.

So how to you go about figuring out what copy sells? The tricky thing is that it can be different for every website!

One approach is to view trends in your niche. At the very least, this contributes to consistency in style within the niche, which helps usability and findability.

However, a stronger approach is to perform an A/B testing study.

A/B Testing

A/B testing (also referred to as split testing) is a simple yet effective user interface testing technique that can profoundly influence design and content decisions.

The idea is to use two designs (A and B) that have one minor difference: the item to be tested.

Let’s say you have to design a call to action button to get visitors to sign up. Many decisions need to be made:

  • What color should the button be?
  • How should it look?
  • How should it be aligned or positioned relative to the text and imagery around it?
  • How should it be worded: "Sign up now," "Become a member," "Sign up for a free 30-day trial," or something else?

Some designers might conduct A/B testing for a number of these factors, but that’s not always necessary. The two most important elements are probably the color (or other means of distinction) and wording. Two simple tests can be done to determine what would lead to the biggest increase in the conversion rate, and further tests can be done later on if desired.

After creating two mockups with these minor differences, one can use testing software or even do an in-person test to see which is preferred.

Live testing on a launched website can bring even better results and can be a part of an iterative web design process, although it’s not always an option, such as when the scope of the project ends after the website is live. Some designers might prefer to test the current call-to-action button, modify the design, and then test it again to see if there is an improvement.

Some A/B testing tools:

Images and Icons

Images and icons are a big part of most designs. Beyond adding visual interest, imagery can bring benefits at the psychological level. Icons create points of interest and help to organize and explain features. Photography and illustrations can bring life and personality to a website, making it more relatable. Users are more inclined to sign up on a website if they feel connected to it.

Look at the imagery on any website that requires registration, whether a web app or social network. How is it used? It may be minimal, but it probably still reinforces the tone and feeling of the website. Icons improve user interfaces and help to brand websites. Most importantly, icons and images help to convince new users to become members.

One effective way to promote registration is to explain the process visually with illustrations or photos. The images could either be integral to the demonstration or simply be a visual aid. For example, the illustrations at the top of Basecamp‘s page lead to the call-to-action button.

Simplify the Sign-Up Process

If you want users to sign up, don’t make it difficult for them. One-click registration has long been proven to promote usability and conversions. A long-winded process will frustrate users and make them stop partway, despite their initial interest. Keep forms to just a few fields if possible.

For example, Subernova requires only five fields to sign up, and then the user is given instant access, without even needing to confirm their email address.

While some would argue that email confirmation is essential for combating spam, the conversion rate increases when you lead users to the members section right away.

Instead, consider restricting certain areas or features until the contact information has been confirmed.

Below are some ways to simplify registration.

Make the Username the Person’s Email Address

Having to remember multiple user names is annoying. And any name that hasn’t already been taken will be harder to remember anyway. Because every email address is unique, why not just make that the username?

Let the User Choose Their Password

Don’t make password selection an arduous task. Some sites apply silly restrictions such as a password must be between 7-28 characters long, contain 3 numbers and a capital letter. This type of inflexibility just adds a potential exit point on your sign-up forms.

Require Only the Minimum Amount of Information

If more information is needed, then consider just giving the user the option to update their profile after creating the account.

Likewise, put any information the user will want to know right on the registration page. Tell them up front about the costs, core features and important terms. This will reassure them right on the sign-up page, and they won’t have to leave the page to find the information.

Allow Sign-in Using Popular Authentication APIs  

More and more web apps and websites have been allowing new users to sign in with their social media profile. The user’s profile information is automatically filled in, and the person is spared the hassle of having to create yet another account they have to manage and remember.

Using the APIs of these social platforms to allow people to sign in, you can get people started on your website quite easily.

Some popular authentication APIs are:

Many users may find this convenient because:

  • It’s faster
  • There is less perceived risk from signing up with an unfamiliar website
  • The user does not have to remember another username and password combination
  • Even less commitment is needed to get involved with the website

Another trend is that some applications and websites are using Twitter, Facebook and the like for initial sign-up, providing limited functionality, and then afterwards prompting the user to register for a permanent account in order to access all of the features.

Fortunately, implementing or integrating these web services into your sign-up process is easy, too. Below are a few tutorials to get you started:

By Popular Demand: Social Proof

Social proof is another way to increase site conversions. Who else is using this website or app? Who belongs to the community? Are any users famous or notable? How many satisfied members are there?

A website that looks lonely won’t get much attention. If the website is membership-based, why bother signing up if no one’s there? If an application is set up for viral growth but doesn’t have a lot of sign-ups, then visitors will wonder what’s wrong with it.

Be sure to mention popular brands affiliated with the product and famous users, or just mention the hundreds or thousands of satisfied members.

Basecamp is once again a great example. It mentions the millions of people using the tool, which creates strong social influence. It also uses this figure to lay claim to being the leading project management app.

Whether it meets the needs of all companies or individuals, this social proof makes Basecamp seem valuable and reputable.

What happens if you don’t have any big-name members or a large user base? If you’re just starting up, providing social proof can be difficult. Membership websites must start small and grow gradually in order to gain high-quality attention.

First, reach out to 15 to 20 people who might be interested in testing your website. Get valuable feedback this way before scaling up. This will also get those first few members interacting; if visitors see no interaction or content, they’ll wonder why they should sign up. Focus on launching small first. Then, try out a launch page or invite-only page for the first month or two.

Conclusion

Building up the membership base is a primary goal of many websites, and it’s the main goal of any website that has a community or that relies on sign-ups for profit. Increasing the conversion rate is essential, and there are a number of techniques for doing so. The most effective way is to measure your current conversion rate and then try different things to increase it, all the while measuring the changes.

The designer’s main goal is to combine design and content as efficiently as possible in order to entice visitors to sign up and become members. Mediocre design and poorly planned content is a recipe for disaster, even if the members area is up to standards.

Related Content

About the Author

Kayla Knight is a web designer and web developer who loves coding way too much for her own good. She does freelance design/development work and helps run the XHTML Shop. Connect with her by visiting her website and following her on Twitter @ KaylaMaeKnight.


Six Revisions

How to Prevent Your Dog From Getting Dandruff

Saturday, April 9th, 2011



There is hardly any difference between dog dandruff and human dandruff as both of them look the same. The major causes of dog dandruff are allergies, dry skin and parasitical infection. You can control dog dandruff to a very large extent yourself with a little awareness.

You should brush your dog regularly at the same time everyday. Ensure that the dog coat is brushed evenly so that the natural oils of the dog are distributed evenly. The regular brushing helps to distribute your pet’s natural oils evenly and reduces the build up of dandruff.

You should add flax seed to your dog’s dirt everyday so that fatty acids naturally moisturize his skin. You should wash your dog once every week and if the skin of your pet is very dry than once every two weeks. If you wash your dog very frequently this leads to his coat becoming very dry and this in turn leads to dandruff. After you have washed your dog brush him and brush out or cut any mats in his fur.

Remember that dog dandruff accompanied with hair loss can be a sign of allergy. Make a visit to the vet right away when your dog has these symptoms. You should note that dog hair loss can also be a symptom of a secondary condition called demodectic mange that occurs in those dogs that do not have weakened immune systems.

Dog dandruff can be a major cause of discomfort to your pet and you can prevent it with a little care and attention towards your pet.

Easy PHP Programming

Web Developer’s Guide to Getting a Startup Up and Running

Thursday, February 18th, 2010

A Web Developer's Guide to Getting a Startup Up and Running

Despite the overall economic downturn, there seems to be yet another boom in web startups. In the ’90s, we saw the explosion of the Internet’s first big names, like eBay, Yahoo, Amazon, and others. In the 2000′s, social networking and the beginnings of web apps took off, planting MySpace, Facebook, and Flickr firmly on the map–the so-called Web 2.0.

But times have changed yet again, and we’re now in a new kind of web startup boom; one that is on a smaller scale, yet more prevalent due to more accessible development tools and cheaper infrastructures (powered by affordable cloud-based services such as Amazon S3). This is the app boom. The focus is on utility, cost-effectiveness, and highly targeted solutions to common problems. This can range from niche web apps to mobile device apps for iOS (iPhone, iPad, and iPod touch) and Android.

Today’s web startups are leveraging the technological and social advancements we’ve made over the past two decades, packaging them into useful tools meant to fit right into a person’s daily life.

Why Web Developers Become Startup Founders

The bulk of today’s apps and services are web-based and internet-enabled in one form or another. So it’s no surprise that web developers so often become startup entrepreneurs. Having the capability in-house to quickly design and produce a high-quality app certainly makes things easier for today’s startup entrepreneurs.

But I think this connection goes even deeper. Web developers (such as myself), by nature, like to build things. In doing so, we are naturally problem-solvers. We take the requirements given to us (often by a client or boss), and devise the best way to achieve these objectives using the tools that are available to us.

So what happens when we’re not working on client projects? If you’re anything like me, you’re thinking of ways to use your skills and experience to build tools that are useful and have potential to launch a successful new business. Instapaper, for example, is a widely successful web app startup founded and developed by a single web developer.

Instapaper

Equipped with our expertise, some spare time (or overtime), and perhaps some funding from our own bank account, launching a new startup might be an attractive option for the web developer looking to branch out.

In this article, I aim to guide you through a few things to consider as you get rolling with your first startup.

How to Choose the Right Idea

If you’re like me, you’ve probably brainstormed dozens of ideas for products by now. You might even be stockpiling domain names just in case you ever decide to move on one of these ideas.

So how do you know which ideas are worth pursuing?

Scratch Your Own Itch

Conventional wisdom would tell you to choose the idea with the most profit potential and a proven market. Sure, these are important factors; after all, your product needs to make money, and you need to find customers willing to pay you for it!

But there’s one key factor I look for when choosing an idea to pursue: Is it something that I would personally buy and use?

To restate the question: Does it solve a problem that I personally confront on a daily basis? By "scratching your own itch," you ensure this is an idea you’re truly passionate about. If user experience is the most important factor when designing a product (and I believe that it is), you can bet that you’ll craft the best experience possible if you are user #1.

Leverage Your Existing Skill Set

You also want to choose something that aligns with your expertise. I’ve had many ideas for iPhone apps that I think are winners. Unfortunately, I have zero experience with iPhone app development. Therefore, I’ll leave these ideas alone and pursue something else which falls more in line with what I already specialize in.

Case Example: WP Bids

To illustrate what I mean, here’s the story behind how I came up the idea for WP Bids, my own startup.

WP Bids

Identifying a Problem (Scratching My Own Itch)

As a freelance web designer, writing project proposals is a very important part of my business. The proposal, or "bid", is my final pitch at winning a new client. It’s basically a document, which outlines the scope of work, time estimate, and price quote for a particular project. I had been relying on MS Word and Google Docs to write up these proposals. The process was clunky, very time consuming, and I wasn’t happy with the design and presentation options that these tools provided. I needed some kind of template system that I can tweak to my liking and speed up the process. Much like I do when tweaking a website or a WordPress theme. Light bulb!

Executing the Solution Using an Existing Skill Set

Since I had already been specializing in WordPress theme development, and since I felt very comfortable using the WordPress interface, I decided to build my proposal-creation tool as an app built on top of WordPress. I created it in the form of a specialized WordPress theme. WP Bids has slowly gained interest from fellow freelancers (particularly those who use WordPress a lot), but more importantly, it has proven to be a valuable tool for my own client business.

Finding the Right Partner

Sometimes going it alone can work, but launching a startup with a partner or two can be much more rewarding.

Needless to say, when it comes to productivity, two heads are better than one. Even more important is the value of collaboration. Having a partner who shares your vision and who will be there to bounce ideas around with, keep you in check when you’re taking things in the wrong direction, and balance out your areas of weakness with their strengths are benefits of having a partner.

But it isn’t enough to simply find any partner. You must find the right partner. Ideally, you and your partner should already have some kind of relationship to build on. If you already know how they work and what they’re like on a personal level, you can skip a lot of the "discovery" phase.

Of course, you may not know anyone in your circle that is a good fit as a partner. That’s OK. Here are some suggestions for finding a potential business partner.

Referrals and Social Networking

Ask around in your network; ask around on Twitter, Facebook, LinkedIn, etc. Contact known experts in the niche of your startup idea.

Do you follow the blog of a few guys you think might be a good fit? Shoot them an email; you never know who may be looking for a new venture.

Job Boards, Forums and Directories

Check out FreelanceSwitch and Drawar, and click through to a few portfolios or blogs of users. Check out directories and listings such as ProgrammerMeetDesigner, PartnerUp, Startuply, and 37signals Job Board. Do some background research on each candidate (check out their personal site and Twitter feed, for example). Send them an email, and take it from there.

Web Design Conferences and Meetups

Check out Lanyrd to find upcoming conferences near you.

Key Factors for Choosing the Right Partner

Here are a few factors I look for in a business partner, in order of importance:

  1. Passion: They have to share your level of passion for the idea, as well as your level of self-motivation.
  2. Willingness to take risks: Starting a business is risky–there’s no getting around it. It requires sacrifice in the form of working for nothing, working overtime, and sometimes investing money. If your partner isn’t on board, it won’t work.
  3. Complementary expertise: Typically, you will share many skills. But there should be areas where your partner’s strengths make up for your weaknesses. You want to avoid partnering with someone who is a carbon copy of yourself.
  4. Communication skills: You will spend countless hours talking and emailing with one another, so effective written and spoken skills are a must. They should also be accessible. Nobody appreciates a colleague who doesn’t answer emails or doesn’t sign into Skype for days or weeks at a time.

Key Factors for Choosing the Right Partner

Managing and Planning Your Time Commitments

More often than not, your biggest investment in your new startup will be your time. A lot of your time. It’s essential that your time management skills are in top notch form. Otherwise, there is no way your startup project will materialize, let alone achieve success.

The biggest hurdle is balancing your time between your day job (i.e. the gig that pays your bills), and your work on the startup, which of course will be unpaid (at least in the beginning).

There are obvious financial concerns to be aware of. Since your work on the startup will be taking you away from your paid work, you’ll need to prepare yourself for potential dips in income. Perhaps this means padding your bank account with extra savings before you start, or building your team of trusted sub-contractors and virtual assistants to help you manage the workload.

It’s also important that you map out an estimate of the time you plan to spend preparing and working on your startup. Have a ballpark number of hours in your head? Double it. The result will be the more accurate of the two. Building a web startup entails more things than a typical web development project does.

Things That Will Take Time

Here’s a list of things to take into account when planning your time:

  • Conceptualizing the idea–this can take weeks and will likely be reworked several times over the course of the process.
  • Pitching the idea to friends and getting their feedback.
  • Crafting the business model.
  • Creating your marketing plan.
  • Wireframes, prototypes, and designs, redesigns, and more redesigns.
  • Site development, testing, and debugging.
  • Blogging and marketing, which are time consuming and will be an ongoing effort.
  • Legal and partnership-related tasks.

The list goes on, and many items will likely be repeated several times as you inch towards launch and beyond.

Designing Your Product: Battling Feature Creep

Think your clients are the only ones who are guilty of feature creep? Think again. When you’re designing your ideal product that you yourself will want to use, it’s easy to keep adding to the "awesomeness" of the product every time another idea strikes.

The key is to remain focused like a laser on the core functionality and your original project scope. Take note of those extra ideas, but don’t implement them in your first version. If you keep adding to the scope, you’ll never proceed to launch!

This is where having a partner really comes in handy. Not only are they there to bounce ideas off of, but they can also be there to keep you in check when your ideas are taking you away from the core feature set.

Every time a new idea for a feature pops up, ask yourselves, Is it essential for the product to function or can it at least work without it? Based on your answer to this question, you can group your feature ideas into two categories.

"Essentials" Idea Category

This is your to-do list for phase 1 of development. These features must be designed and implemented from the start. This is what you will spend the bulk of your pre-launch time on.

"Nice to Have" Idea Category

These are enhancements; Things that might make the product better, but are not required for it to function in its most basic form. You might choose to implement these post-launch when you’re ready to iterate on your product; perhaps these ideas could migrate to the "essentials" idea category after production, based on user feedback.

Your goal in the short term should be to get the essentials up and running as quickly as possible. The advice we’ve heard time and time again from other startups rings true: Launch early, get user feedback, and iterate.

If you can’t bang through the first list, the "essentials," your product will never get off the ground and ultimately will result in waste of your valuable time.

Craft Your Marketing Plan

As early as you begin mapping out your product, you should be constructing your marketing strategy. As a bootstrapped startup, much of your marketing will require quite a bit of time commitment from you and your partners.

Blogging

Blogging is likely a major part of any web startup’s promotional activities. I’m an avid fan of Mixergy, and there is one common storyline I hear from many successful web startup founders interviewed on the startup interview site: They launched their product off of the success of their blog.

Mixergy

Building an audience ahead of time will give you a huge head start when it comes time to find your first users for your new product.

But many of us don’t have massive traffic to our own blogs. That’s OK. In this case, I highly recommend building relationships with other more popular blogs to get your name out there. I have found success over the past few years as a guest writer on blogs like this one, MashableFreelanceSwitch, and others.

Not only has guest blogging resulted in increased exposure for my work as a web designer, it also gives me an "in" when launching or promoting a product. For example, my WP Bids WordPress theme has been reviewed on Netsetter and included as a prize for a FreelanceSwitch promotion thanks to my relationship with editors at Envato.

Traditional Internet Marketing

There are other more traditional marketing strategies such as CPC and banner advertising. These can have varying levels of effectiveness depending on your product, your overall branding strategy, and the amount of money you plan to invest. Paid advertising is worth considering. But before you go and create your Advertiser account on BuySellAds.com, you should make sure you and your partners are on the same page in terms of how much money you each plan to invest in your marketing campaign.

Social Networking

It goes without saying that you should have an active (and never automated) Twitter account to keep early adopters informed about your progress. Create a Facebook fan page as well, and keep it up to date.

Launch, Get Feedback, Iterate, Build Community (All at Once)

The goal is to launch your startup sooner rather than later, even if it’s not "perfect" yet. Here’s a word of advice: It will never be perfect. Perfection is a constantly moving target.

As you gain new users, you will receive new and constructive feedback. As your product progresses, new challenges arise. The key is to embrace change and iterate to fit the demands of your customers.

Launch, feedback, iterations, and building your community should be a continuous process. You can plan for this by designing your startup with flexibility in mind.

This idea of flexibility and malleability can be applied in every area of your startup:

  • Concept: Is your idea locked in one place? Think of various directions your business might take you and see if there is anything you can do to make a potential transition easier.
  • Startup’s name: Is it too focused, or can it represent anything? Choosing the name Zappos.com instead of ShoeSite.com (their original name) allowed the startup to venture into a wider array of products outside of just shoes.
  • Business model: Are there alternate revenue sources you may want to explore? How might introducing these affect your customers and your business?
  • Design: Like the name, is the design tied to a specific concept or is it fluid enough to evolve along with changes in your business?
  • Code: Your code will change and change again. Is it clean, flexible, templated, modular, and editable? Are you logging the right data (some of which may not be useful now, but might be later)?
  • Marketing: Always track and measure your results from marketing campaigns and social media efforts. Does your budget allow for changing strategies on the fly?

Over to You

For those who have made the transition from serving clients to selling products, what advice might you add for web developers becoming first-time entrepreneurs? Do you have an idea for a startup? If so, name one action you can take today that will move your potential startup forward.

Have questions about this topic? I’ll be monitoring and responding to comments. Ask away!

Related Content

Brian Casel is a web designer and creator of the WP Bids WordPress theme, a specialized theme for freelancers to create (awesome) project proposals using WordPress. Brian loves to connect with fellow web workers on his blog and on Twitter @CasJam.


Six Revisions