As web technologies constantly advance, the skills a developer is expected to have are constantly increasing.Web users are beginning to expect Ajax interfaces, charts and graphsand a whole host of other tricks and features. This means webdevelopers not only have to be skilled with HTML and a server-sideprogramming language such as PHP or Perl, but they now also need to beJavaScript gurus, Flash experts, and skilled graphic designers.When developing your applications, you simply can’t create everyelement yourself. A graph or mapping solution is an application initself, so no single developer or small team can create such componentswhile continuing development of the primary application. This meansprogrammers have to use third-party solutions — and thankfully thereare thousands of such solutions to make our lives as developers thatlittle bit easier.In an effort to save you a few hours crawling the web in search of the perfect third-party solution, we have compiled this list of essential development resources.

1. Functions and Classes

You can find a whole array of pre-made classes and functions to helpsave development time. A great resource directory for finding theperfect PHP classes is PHPClasses.org. For those of you who use Perl, you should be familiar with CPAN.CAPTCHA

CAPTCHA (Completely Automated Public Turing to tell Computers andHumans Apart) is the term used to describe the use of images whichhumans can identify, in order to ensure an automated bot/computerprogram isn’t accessing your application. The ideal use for this is incontact forms to ensure only humans can send messages — thereforeeliminating automated spam and junk messages.The following CAPTCHA systems can be easily integrated with your applications:

reCAPTCHAOneof the most popular CAPTCHA systems that helps to digitize books,newspapers and old time radio shows by using CAPTCHA inputs to helptranslate. There is also a Perl module available for reCAPTCHA.

Manipulating dates in your applications can be a time-consumingprocess. PHP and Perl include numerous functions for automating theprocess, but often don’t offer all the required functions.The following date manipulation functions can be easily integrated with your applications:

PEAR DateGeneric PHP classes for representation and manipulation of dates, times, and time zones without the need for timestamps.

Date ClassThis PHP class allows you to add or subtract periods from dates, and calculate the difference between two dates.

Date manipulation in PHPA PHP tutorial on PHPBuilder.com, guiding you through a number of common date manipulation processes.

Manipulating images is a common requirement. Whether you want toresize your images while maintaining aspect ratios, or add watermarks,the process can be entirely automated using a server-side language likePHP or Perl.

Ajax is a web methodology that uses JavaScript to make HTTPconnections to retrieve and process data for the purpose of dynamicallyupdating the content of a static web page. Ajax enables you to updatecontent within a web page without reloading the entire page, thusreducing load times and server loads, making your web pages moreinteractive and intuitive. A great resource for Ajax tools is MiniAjax.Auto Suggest

Auto suggest or autocomplete tools are usually applied to textinputs like search fields. When a user begins their input, the inputfield shows a list of options that match what they have entered so far.This enables users to enter their input more quickly, and can also helpthem enter terms that match search data that are more likely to returnrelevant results.

Ajax calendars are extremely useful when you need your users toenter a date. They reduce confusion over date formats, and enable usersto easily find the date they are looking for rather than typing a dateformat string.

Ajax sliders enable users to use an interactive draggable element toselect values. These are very useful for features like colour pickersas they enable users to ‘slide’ through a range of colours to selectthe one they want.

Ajax-based draggable content features can be very useful when usedappropriately. Such tools enable users to reorganize a page to suittheir needs, and can also serve as a basis for an interactive featurelike a shopping basket.

Image galleries are very useful when you have a collection of imagesto show, they allow users to easily browse your images, and featureslike slideshows allow users to sit back and enjoy watching your images.

If you want to let users choose colours in your application, it’sbetter to present them with an interface rather than asking them toenter a HEX code. Colour pickers allow users to choose colours from acolour palette which then generates a HEX code for use in your HTML.

An API (Application Programming Interface) is a set of programfunctions which can be accessed by another application. One example isa currency conversion API that retrieves currency conversion data byallowing the user to enter a base currency, an amount, and the desiredresult currency, which returns a result via the API.

eBay APIeBay’s API which allows you to submit items to be listed and obtain listing data.

Twitter APIThe Twitter API allows you to have access to Twitter data, including user and status information.

4. IP Locations

Finding out where your visitors are located can be valuable from adevelopment standpoint. It can help you understand your visitors so youcan design your site to better suit their needs. IP locationinformation can help you determine where a user is located, enablingyou to display content in the their language. You can also optionallycustomize other information such as currencies and shipping costs.

Charts and graphs enable you to display complex data visually. Thisis useful for example when trying to determine information like dailypageview counts from detailed statistical logs, enabling the user toimmediately see how the data varies over a period of time.

amChartsA powerful Flash charts tool which supports 3D charts and the ability to combine different graphs.

Once you are using IP location tools like those listed above, youwill have a collection of user location data. What better way todisplay it than with an interactive map. Interactive maps are alsouseful for understanding user location data such as sales information,for example, when you receive delivery and billing address info from auser.

Video content is now becoming a standard, but getting the rightvideo player is very important. Video content is the ideal, and oftenexpected tool for promotion, so getting a player which suits your siteand needs is now a critical design and development choice.

Video conversion/encoding can be a tricky business. Videos can be ina wide range of formats but most players only support a handful ofthose. If you don’t have a server which supports ffmpeg, convertingvideos to a format suitable for your player is usually an offline andmanual task.

WYSIWYG (What You See Is What You Get) editors enable you to offeran HTML editor when users enter information, for example, in contentmanagement systems, or for entering comments or reviews. These editorsenable users to style and format data without the need to understandHTML.

Neil Skirrow is a professional web developer with over 14 yearsprogramming experience and is the Managing Director of ionix Limited, aUK software development company that develops the OpenCrypt Membership Software.