Your Guide to Website Design and Management

Text Size:
small_A.gif small_A.gif
Bookmark and Share

Rating: 3.6/5 (5 votes)

Don't Reinvent the Wheel: Useful Code, Tips & Tools >>

My "Essential" Software Programs

"For people who make websites" - A List Apart Magazine explores the design, development, and meaning of web content, with a special focus on web standards and best practices.
HTML Validator is a Mozilla extension that adds HTML validation inside Firefox and Mozilla. The number of errors of a HTML page is seen in the form of an icon in the status bar when browsing. The details of the errors are seen when looking the HTML source of the page.

The extension is based on Tidy and OpenSP. Both algorithms were originally developed by the Web Consortium W3C. Both algorithms are embedded inside Mozilla/Firefox and makes the validation locally on your machine, without sending HTML to a third party server.
This project aims to create an archive of user contributed clip art that can be freely used.
Starting at the beginning, this reference explains everything you need to know about using core JavaScript. It assumes you have the following basic background: a general understanding of the Internet and the World Wide Web and a good working knowledge of HTML. An excellent resource.
This site features online text and html changing, modifying, converting tools designed to save you time making web pages or preparing text for web publication. If you've ever needed to capitalize sentences or convert line breaks to <p> or <br /> then this site can save you needless manual labor. There are other useful tools as well, like the one to uncompress html to make it readable and the ones to uppercase or lowercase text. Basically, the most common tasks that someone who works in an office or does freelance web development might encounter. Most of the tools have been created using javascript so you should be able to change large amounts of text as the processing is done on your computer instead of being limited by a server script.
Edit your images on the fly online with Splashup, a web-based image editor that integrates with Flickr, Facebook, and Picasa. Splashup offers up a surprising array of image editing tools, far beyond the usual crop of resize and contrast-- you can also edit multiple images, play with filters and layers, use a variety of brushes, and more. Splashup is one of the best image editors in a long line of image editors; i.e., Picnik, Pixoh, and Resizr, to name just a few.[Lifehacker Annotation]
This website will let you:
  • Create an XML sitemap format that can be submitted to Google to help them crawl your website better.
  • Create a Text sitemap to submit to Yahoo.
  • Create a ROR sitemap, which is an independant XML format for any search engine.
  • Generate an HTML site map to allow human visitors to easily navigate on your site.
Clearspring's free Launchpad widget builder lets you easily turn your website's content into a widget which site visitors can use to place your content on all the major social media sites (MySpace, FaceBook, Google, hi5, Live, Yahoo, Wordpress, Blogger, etc.). The service also provides tracking and analysis.
dTree is a free JavaScript tree menu. That is very simple to set up and use. You don't have to worry about adding pages to the tree in a specific order, which makes it ideal for generating a tree from a database.
webmaster toolkit offers this CSS Menu Generator to generate both the CSS and the HTML code required to produce a text-based yet appealing set of navigation buttons.
A very flexible unlimited-level, drop down JavaScript menu that uses UL/LI list data formatted with a CSS menu layout. It's powerful, lightweight and extremely easy to use!
CSS Tab Designer is unique and easy to use software to help you design css-based lists and tabs visually and without any programming knowledge required! Read a review.
This document guides you through the process of using JavaScript and the DOM to build a three-state toolbar that accurately and efficiently handles different button states (normal, highlighted, selected), and the interdependencies between them.

There are countless sites out there to help struggling and even experienced webmasters. I am sure I have barely scratched the surface in my searches and learning process and I am regularly discovering new sites. So, don't consider this list even remotely complete or use it as an excuse not to explore for sites yourself. However, considering how daunting the task of getting started is, hopefully these sites and programs will be a big time savings for you.

Ad Serving Software

  • Openads – Openads, formerly known as phpAdsNew, is the world's most popular adserver with the web's largest community of ad space owners. Tens of thousands of websites (including a couple of mine) use Openads to make money from online advertising.

eCommerce

  • PayPal – if you don't know about PayPal you probably shouldn't be a webmaster ;-) Seriously, it is a nice, relatively inexpensive solution for basic eCommerce needs. There are actually several PayPal solutions, with the primary distinction being whether the payment takes place on your site or on the PayPal site and whether or not a customer needs a PayPal account to make a purchase. The Website Payments Standard option is free and doesn't require a merchant account (an expensive option if you aren't making a lot of sales). The Website Payments Pro option includes a merchant account and costs $20 a month, which is actually quite a bit less than the alternative of a merchant account and a payment gateway account. The big potential drawback to PayPal is its international support, especially with the Payments Pro solution. If you don't need to sell outside the U.S. or other major industrialized countries, PayPal may be a great solution for you. For many others, PayPal is a useful option to add to their primary eCommerce solution.
  • 2Checkout – 2Checkout.com, Inc. (2CO) provides turnkey e-commerce solutions. 2CO's proprietary technology supports back-office functions including financial reporting, tracking, fraud prevention, affiliate tracking, customer service and sales tracking. I have never used 2CO personally but know of others who have quite successfully. As I understand it, 2CO has two major advantages – it's quite inexpensive if you have low sales volume since there are no monthly fees. Of course, as your sales volume increases, their 5.5% fee will start to seem quite high. The other major advantage is that they have a good affiliate program so you can recruit others to sell on your behalf without the headache of managing the affiliate program yourself. Other 2CO advantages include ease of installation/setup and the fact that it works with most shopping cart software, though it's not easy (or even possible?) to automate the overall purchase process when using 2CO.
  • RegSoft.com – RegSoft specializes in solutions for those offering downloadable products like e-Books or software. Like 2CO, RegSoft is relatively easy to setup, doesn't require a merchant account, and doesn't charge any monthly fees. Their commission is $3.00 per for products $30.00 and under and 8.9% for products over $30.00. One plus is that they provide good foreign country support, though they are sometimes overly conservative about flagging purchases as possibly fraudulent, especially those from overseas. Another drawback is that they don't have affiliate handling ability. One unique aspect of RegSoft is that you can use the service to automate the provision of download registration keys. If you choose to do that internally however, you lose the ability to automate the purchase process, meaning you will have to approve all purchases after being notified by email that they have occurred.
  • CCNow – CCNow is another alternative for those who don't want the hassle of getting a merchant account and a gateway. The basic fee is 4.99% of each sale. I used to use CCNow and liked them, but they don't allow the sale of digital products.
  • ClickBank – I have not used ClickBank, but I believe it is quite similar to 2CO except that is almost completely targeted towards those selling digital products via affiliates.
  • aMember Pro – aMember Pro is a flexible membership and subscription management PHP script that currently costs $139.95. It has support for many payment systems, including PayPal, 2Checkout, VeriSign PayFlow, Authorize.Net, PaySystems, Probilling, and Clickbank, etc. aMember Pro allows you to setup paid-membership areas on your site. It can also be used without any payment system - you can manage users manually. aMember Pro also supports integration plugins to link users database with third-party scripts, for example vBulletin, Joomla, and WordPress. aMember Pro is widely used for selling digital subscriptions and downloads and I am in the process of starting to use it on a project with good results so far. Of course, since it is a script, it requires setup and modification to suit your unique needs (though free setup is included with the price).

Forums

  • phpBB – phpBB is one of the most widely used Open Source forum solutions. It works well and has good support forums and regular updates. My only complaint with phpBB is that it is not easy to integrate seamlessly into a "templated" site. You can modify their header and footer to match the look and feel of your site, but that's not the same as true integration. As far as I know, this may be a problem common to other forum software as well though.
  • vBulletin – the other big Kahuna in the forum world. I have used many implementations of vBulletin but haven't run one myself in ages.

Graphics

  • gifWorks - This is a very neat online GIF image editor. You can do some cool things with it. I myself use it most often to take regular GIF images and make them transparent. Many other programs can do this, but I find this site the most straightforward to use.

  • One note about GIF images: technically the GIF format is patented technology and so using GIFs that aren't created with appropriately licenses software would be illegal. As a practical matter, this mostly applies to major corporations, etc. with deep pockets. But, you should be aware at least. That is why you are seeing more and more PNG images. This is a free format developed to avoid GIF problems.
  • TheLogoCreator – This is one of the handful of programs I coughed up cold, hard cash for and it has been worth every penny (and the price recently dropped drastically because of an agreement to sell the product in retail outlets like Best Buy). Basically, after some playing around to get familiar with its capabilities, this program will let even the most artistically challenged among us create some pretty nice looking logos.

JavaScripts

  • My favorite single site for finding various JavaScripts is Earthweb's JavaScripts.com. I signed up for their weekly newsletter which helps me keep on top of newly added scripts. I look over the ones I think are promising and collect them in a text document for future reference. I offer one warning: JavaScript can and often is highly browser dependent. Sometimes javascripts.com mentions browsers supported for the script, sometimes they don't. I personally never use a script that is only supported on IE (more common than you might guess).
  • overLIB – a great little tool for creating nice popup descriptions when someone hovers over some text, an image, etc.

Mailing Script

  • phpMailer – this is really an open source PHP class that you can use by itself or you can use to integrate with development projects. It is actually used in both of the next two recommended scripts.
  • phpList – this is probably the best open source newsletter manager script available. The big thing to realize about phpList is that it is NOT a list manager in that you can only send out emails via a web or CLI interface. You can't send to a list from your email client. And, recipients can't reply to each other. So, if you are looking for software to manage discussion groups, phpList isn't it. If you want to send out newsletter, it certainly should be one of the scripts you consider.
  • oemPro – oemPro is another of the scripts I have coughed up cash for and it has been a good investment. I like it much more than phpList for certain things, most notably its ability to use outsourced lists (e.g., a separate membership database). It is produced by a small software firm in Turkey but they are quite active in terms of updating and improving. The only warning I offer is that some of their "updates" break things so if your need is mission-critical, never upgrade immediately.
  • Mailman – Mailman is open source software for managing electronic mail discussion and e-newsletter lists so it will fit the bill where the above newsletter scripts won't when dealing with discussion groups. Mailman has a web interface, making it easy for users to manage their accounts and for list owners to administer lists. Mailman supports built-in archiving, automatic bounce processing, content filtering, digest delivery, spam filters, and more. I don't use Mailman, but tried it once. Unfortunately, it requires some advanced administrative privileges to install and I was unable to install it on my host, even though it is a virtual server account.
  • Others – I haven't used these programs but they looked promising during earlier investigations: 1-2-All, b*bounce, SendStudio, and Dada Mail. You can also find a good review of mailing list software programs at TikiWiki.

Menus

  • FreeStyle Menu – A very flexible unlimited-level, drop down JavaScript menu that uses UL/LI list data formatted with a CSS menu layout. It's powerful, lightweight and extremely easy to use! Note that it is "donation-ware," meaning that if you make a donation to support this script, it may be used on a website without a crediting link.
  • dTree – dTree is a free JavaScript tree menu. That is very simple to set up and use. You don't have to worry about adding pages to the tree in a specific order, which makes it ideal for generating a tree from a database.

Miscellaneous

  • verifyemail_lib tests emails in different levels. It checks emails in three levels: whether the entered email is in correct form or not, whether the domain is legitimate, and whether the actual address exists at the domain (you can choose which levels to include in your check).
  • FCKeditor is a HTML text editor that brings to the web much of the power of desktop editors like MS Word. It's lightweight and doesn't require any kind of installation on the client computer. My favorite feature of FCKeditor is the Paste from Word option, which cleans up much of the garbage that is associated with MS Word HTML
  • JpGraph is an Object-Oriented Graph creating library for PHP >= 4.3.1 The library is completely written in PHP and ready to be used in any PHP scripts (CGI/APXS/CLI versions of PHP are supported). The library can be used to create numerous types of graphs either on-line or written to a file. JpGraph makes it easy to draw both "quick and dirty" graphs with a minimum of code as well as complex graphs which requires a very fine grained control. The library assigns context sensitive default values for most of the parameters which minimizes the learning curve. The features are there when you need them - not as an obstacle to overcome!

MySQL Related

  • phpMyAdmin – without a doubt the leading script for managing your MySQL databases. It can do almost anything you want and more.
  • automysqlbackup.sh – A script to take daily, weekly and monthly backups of your MySQL databases.
  • BigDump: Staggered MySQL Dump Importer – a script to stagger the import of large and very large MySQL Dumps to avoid problems with web-servers that impose hard runtime limits and those in safe mode. The script executes only a small part of the huge dump and restarts itself. The next session starts where the last was stopped.

Survey Software

I haven't found an ideal open source PHP survey script yet, but two are close: AskPeople and Unit Command Climate Assessment and Survey System (UCCASS). I can't call my investigation exhaustive, especially as I didn't search for anything that wasn't written in PHP, but I can discuss two major differences between these programs that might sway your decision. First, UCCASS currently (June 2007) doesn't support a multiple choice answer type that includes an option for "other" with a text field, though on the site's forum this feature is planned for a future version. I consider this strange considering how many other great features the program does include. On the other hand, AskPeople doesn't offer a routing or branching feature whereby you can skip questions based on answers to other questions and that is a pretty essential feature. AskPeople also uses flat files rather than a MySQL database which has its own implications. Finally, AskPeople isn't actually open source, but rather is licensed under a Creative Commons Attribution-Share Alike license. A third script I read some good things about is called phpESP. Unfortunately, the website and demo weren't too impressive and I read that customizing the script is difficult. In the end, I chose UCCASS for my project and after using it for a while have been quite pleased. The "other" select answer type would be nice, but I found with some extra thought I could design my surveys around that limitation.

Update: I just found an open source program called LimeSurvey (formerly PHPSurveyor). After just a quick look, it seems like it might be the best program to use. After I get a chance to install it and give it a try I will report back on how it compares to UCCASS...

Update: OK, now I have installed and worked with LimeSurvey and I have to say it has now replaced UCCASS as my survey software of choice. I still think UCCASS is a good script and, in some ways, is easier to use than LimeSurvey, but once you get the hang of working with LimeSurvey and realize the extra features it has compared to alternatives, the choice becomes easy. Note that I installed the JpGraph software that LimeSurvey can be configured to work with to enhance reporting outputs and the results graphs are quite nice. So far, my only negative comments are that there is a bit of a learning curve, especially figuring out how groups work and how to create and use label sets. Also, there is no way to add multiple questions at one time so there are a lot more mouse clicks to get a survey set up. The user interface also takes some getting used to as multiple menu bars show up depending on what you are doing. It all seems natural once you've gotten up the learning curve, but it threw me at first. Another small criticism is that the progress bar doesn't list an actual percentage and there is no way to show a user what page they are on relative to the total number of pages. In fact, the percentage completion bar is part of the template system, which I actually like more than smarty (which UCCASS uses) because it is simple and only comprises a handful of files. Having said that, the existing templates are all a mess from a HTML perspective, using tables with font statements, etc. That is why I have created a CSS-driven template which replaces most of the tables with div statements. Feel free to download it and use/modify to suit your own needs. I have also created a .zip file of label sets that might be of use to those creating business related surveys. It includes the following 20 files:
  1. 10-point_not-very-to-very.csv
  2. 10-point_poor-to-excellent.csv
  3. age-range.csv
  4. corporate-activity.csv
  5. corporate-sales.csv
  6. education-level.csv
  7. employment-function.csv
  8. employment-level.csv
  9. how-often.csv
  10. how-well.csv
  11. income-level.csv
  12. interest-level.csv
  13. likelihood-level.csv
  14. location-region.csv
  15. low-high.csv
  16. number-employees.csv
  17. satisfaction-level.csv
  18. time-amount.csv
  19. value-level.csv
  20. yes-no.csv


Web Analytics Software

Web analytics software is a major issue and the options are all over the map in both effectiveness and cost. When investigating analytics solutions you will invariably be considering two different approaches. The first approach is software which analyzes the log files that are captured by your webserver. The second approach places code on every page you want to analyze for software (usually hosted by a third party, but not necessarily the case) to perform all relevant analyses. While I encourage you to try multiple programs and read more about this issue in general, I have a recommendation for each of the two analytics approaches.

  • AWStats is a powerful and full-featured tool that generates advanced web, streaming, ftp or mail server statistics, graphically. This log analyzer works as a CGI or from a command line and shows you all possible information your log contains in few graphical web pages. It can analyze log files from all major server tools like Apache log files (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS (W3C log format) and a lot of other web, proxy, wap, streaming servers, mail servers and some ftp servers. AWStats is free software distributed under the GNU General Public License.
  • Google Analytics (formerly Urchin) is a free service offered by Google that generates detailed statistics about the visitors to a website. As a hosted service, all that is required is an account and the placement of some simple code on all the pages that should be included in analysis. A highlight of the service is that a webmaster can optimize their advertisement and marketing campaigns by defining and tracking conversions, or goals. Goals might include sales, lead generation, viewing a specific page, or downloading a particular file. Naturally, this works seamlessly with AdWords but can be used for other ad sources as well.
  • CrawlTrack – Did you know that a majority of hits on your site are probably coming from automated robot crawlers? Many of these crawler visits are from legitimate bots, like those from search engines, but some are not. Among these not so nice bots, a lot are hacking attempts (they represent almost 50% on the CrawlTrack site itself). While better analytics programs separate crawler traffic from "real" traffic, using CrawlTrack will help you:
    • track crawler and spider activity in real time
    • detect and block a lot of hacking attempts
    • follow day after day how your site is known by the main search engines and social bookmark websites
    • learn what keywords are used to find your site and the corresponding entry pages as well as track the number of visitors sent by the main search engines

    Plus, CrawlTrack has a database of more than 1000 search-engines crawlers and spiders, which you can update simply by a click on a link in the tools section of the administration panel. And, the script allows you to track several websites (even hosted on different servers) with only one installation.

    Note: I have used this script for a while, and while it has always been useful, I didn't regularly update it. Recently I did and I must say the improvements since that last version are fantastic, especially the hacking detection features (code injection and sql injection). In fact, browsing the statistics on hacking attempts in the administrative area is very educational and can lead to a better understanding of how your site may be vulnerable and how you can make it less so.

Text Size:
small_A.gif small_A.gif
Bookmark and Share



Trackbacks »


Comments »

In response to your Graphics section, it looks as if most patents on the GIF format are either expired or capable to bypass legally. That's what I'm getting from GNU: http://www.gnu.org/philosophy/gif.html The Wikipedia entry has lots of details and the history.

Oh, and thank you so much for the Lime Survey info. Exactly what I came here looking for, but left with many new toys and tools. Thanks! :D
#1 - Tedious Researcher - 01/17/2008 - 16:42
Thanks for this info. I was looking for comparison of UCCASS and LimeSurvey. I wanted to know if LimeSurvey allows users to view results upon completion of survey. It looks like it can't at this time.

Also wanted to ask if you had any problems with for spam with either UCCASS or LimeSurvey.

Form spam. I hate it. One category you might add is a source for a good captcha script that's easy to implement.

Thanks for the good info!
#2 - Susan - 02/28/2008 - 16:56
Thank you
Never heard about limesurvey before, that's the one I was searching for, thank you!
#3 - Devis - 02/29/2008 - 10:13
Hi Susan,

Thanks for your comments, viewing results wasn't important to me so I neglected to consider it.

As for spam, that is also a good question, which I don't have a good answer for. Currently, I am not using my survey in an environment that might expose it to such spam submissions. I believe LimeSurvey has some pretty good security options where you can restrict who can take a survey, but assuming you want it to be open to the world, I wonder how susceptible to spam submissions it is. It also may not be practical for your application, but I wonder if splitting your survey into multiple pages would effectively prevent any abuse. What I do know is that when I first installed LimeSurvey the development team was VERY active so I suggest you email them or post in their forum and see what you can learn.

Now, regarding captcha, I actually prefer a simpler alternative, one which is more accessible. Basically, I use a simple math question (e.g., what is 3+4) and check that the answer is correct. It has worked like a charm for me. Where you see the captcha on this comment form or anywhere else on any of my sites, it invariably was included with the third party script I use.
#4 - Jeff - 02/29/2008 - 11:26
Name
E-mail (Will not appear online)
Homepage
Title
Comment
To prevent automated Bots form spamming, please enter the text you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.