Over the years we all build up our own collections of tools which help us be more productive little soldiers. We realise a need for something to help us to achieve an end goal, or a lot of the time just ask ourselves “surely there is a faster and easier way of doing this”.

The list of software below would easily be worth a significant amount of money considering the hours I’ve spent doing the research and comparisons. I only wish more people would publish such a comprehensive list, so I encourage you to comment and share other products or links to your own lists!

Virtualising desktops/servers:

  • VMware Server or VMware Player – Free products allowing you to create either virtual servers or desktops which runs on top of an existing operating system. So you don’t need extra hard ware to trial a new operating system, or to have a dedicated development environment, or perhaps just a used for testing applications without tainting your base system.
  • VMware Converter – Creates a Virtual machine from a physical (P2V – Physical to Virtual) one, which is useful if you have an old server you want to decommission, but want to retain a copy of it ‘just in case’.
  • Parallels Workstation – Achieves basically the same virtualised environment as the VMware products however it’s not as popular. I started using this a couple of years ago because at the time VMware’s product weren’t supporting Vista as a base OS, while this product ran very smoothly on it!

Web application infrastructure:

  • XAMPP for Windows – One of many packaged WAMP stacks (Windows Apache MySQL PHP) available. This can be easily installed on to a USB key and taken around with you which is what I do. A single executable is run off the USB to load your Web server and Database server. It also comes packaged with a lot of other little useful packages such as phpMyAdmin (a web based MySQL server interface).
  • Zend Server – Zends replacement for  Zend Core which was a stable and well supported WAMP stack, and my preferred for enterprise depolyments. My one grievence with Zend Core was that it doesn’t include MS SQL support which has apparently been addressed in Zend Server.

Managing source code:

  • Subversion (SVN) – An open source revision control system and source code repository. If you’re not using one you should be (regardless of the size of your projects) it makes life so much easier in tracking changes to your code over time. When I started using this I was running up my own virtual server with SVN setup, these days my web hosting is with Dream Host who offer unlimited subversion repositories.
  • TortoiseSVN – Subversion doesn’t have a GUI it’s all command line… So TortoiseSVN is my preferred client interface in to my subversion repositories. It integrates in to windows explorer so you see lots of extra options when you right click.
  • WebSVN – A web-based (PHP) reviewing interfaced in to your subversion repositories and the code they contain. Something that might become a little more useful down the track once you’re more familiar with Subversion and want even more readily available access to see your code. If you’re setting this up I’ve already produced some instructions for Dream Host and Ubuntu.

Tracking issues:

  • JIRA – An  issue/bug tracking product which is ideal for large development projects with numerous developers. It has highly flexiable workflows and triggers and can store nearly any conceivable data template. I’ve used it with large open source projects like Zend Frameworks issue tracking system and have even implemented in one goverment agency as a Change Management System managing RFCs/CRs. It’s expensive but they have a personal edition for up to 3 users.

Programming, testing and documenting:

  • Zend Studio – My preferred  PHP Integrated Development Environment (IDE)! It comes in two flavours at the moment the original one which is awesome and the new one based on the Eclipse platform (Zend Studio for Eclipse) which should be even better ( a work in progress). Run with Zend Core/Zend Platform it offers step-through code debugging. Without this you’ll need to setup the largely undocumented Zend Debugger.
  • XAMPP – My preferred portable WAMP  (Windows Apache, MySQL, PHP) stack. However the stack comes with a lot more than just that… You’ll also find an FTP server and a heaps of other useful built-ins! I keep one of these on a USB stick for a development environment where ever I go…
  • FireBug – Is a Firefox plugin
  • FirePHP – Enables you to utilise the FireBug console for information/error messages etc. There messages are passed in the HTTP Header so they don’t actually effect the display of your web application. It’s also supported by the Zend_Log component in Zend Framework
  • Notepad++ – A light weight and very popular tool which offers syntax highlighting for every programming language I know, plus many more I don’t know! You’ll also be able to track down a portable version which is handy on a USB for those moment where you need a editor a little more powerful that just plain old Notepad… Also supports plugins for some of those functions it doesn’t perform out of the box (like a file explorer).

Web applications:

  • WordPress – By far the most popular blogging software that exists! There would be easily 10′s of millions of blogs out there using this product including this blog you’re reading now. There are also millions of free themes available so to get yourself start you don’t even need to do any coding.. And start thinking it doesn’t quite offer what you’re try the 10′s of millions of free plug-ins available.
  • Gallery 2 – An online Gallery with an endless list of features and p
  • OS Commerce – One of the more popular open source online store applications. Definitely a great product for what is it and especially considering it is free and there are a lot of themes/plugins available across the Internet. However it’s administration/management interface leaves a little to be desired… I hopeful this is being addressed in version 3 their next major release! Although this has been under development for a number of years now (but it looks like its nearly there).

Web application frameworks/libraries:

  • Zend Framework – In my opinion the best PHP Application Development Framework on the market! Well worth a look with an abundance of components to solve most of the heart ache in getting a application quickly of the ground…
  • jQuery -  A Javascript framework which provides a lot of useful low level functionality, which is then built on by the 1000′s of community submitted plugins, some of which are effectively self contained solutions e.g. a LightBox equivalent.
  • YUI – Standard for Yahoo User Interface and is probably one of the most comprehensive Javascript frameworks I’ve seen. This framework does provide just your low level functional but provides your end solutions like managing data tables or menus.

General productivity:

  • Xmarks (previously Foxmarks) – A browser plugin and free web service that supports bookmark syncronisation, allowing you to syncronise your bookmarks across multiple computers. They’ve recently been adding a lot more features I haven’t really paid attention to as well like password syncronisation and site recommendations.
  • myVidoop – A secure online password manager that provides browser integration with assisted log in. It is also an openID provider, not that all that many sites are using this. This doesn’t mean I trust them with my bank passwords still, but it does help me manage the millions of forums I have membership with!
  • Allway Sync – An automatic file synchronisation tool which is really easy to set and forget. I use this for backing up some directories from my laptop to my NAS periodically in case the laptop dies or is stolen (God forbid, Touch wood etc).. Free provided it doesn’t need to regularly synchronising too many files!
  • Gadwin PrintScreen – A ‘printscreen’ / screen capture tool on steriods, and better yet there is a freeware version! The selling point for me is you can configure it so that when it you push Print Screen it open a screen selection tool so you can crop, and that cropped version can be saved to the clipboard as a GIF for example.

Update history:

  1. 21 May 2009 – Added Gadwin PrintScreen, Notepad++ and revised Zend Core to Zend Server thanks to some feedback.
  1. Great list! I had just posted about the core apps I use for development and saw this list. All very good selections.

  2. Nick says:

    Check out Zend Server as a substitute for Zend Core. MSSQL extension is there.

  3. Caveman says:

    good compilation…. I liked the last utility, could be very useful to me :)

  4. Have you heard about Zend Server? Comes optionally bundled w/MySQL, and all those annoying to add in php extensions. Plus the Community Edition is free.

  5. Patrick Fong says:

    Nice list, but you miss out Notepad ++!

    Or Smultron on the Mac platform.

  6. Brad says:

    Yeah, at the risk of sounding like a broken record, Zend Core has been superceded by Zend Server http://www.zend.com/products/server and has many more features that Core didn’t. It’s a full WAMP/LAMP/MAMP stack, includes setting up Zend Debugger to use with Zend Studio (or the free PDT), and as Grayson and Nick say, comes with MySQL and the MS SQL drivers all bundled in, plus you get higher performance with a built-in byte-code/opcode cache (like APC, but no addition install necessary). Easy. Comes in a free community edition too… as Grayson mentions.

  7. Grant Perry says:

    Thanks for all the feedback – Glad see some fellow Zend supporters (and a token Zend employee), and that’s awesome to hear Zend Server is supporting MS SQL. I’ve downloaded it and am about to have a play!

    In the mean time I’ve updated the post regarding Zend Server, and also added Gadwin ScreenPrint and Notepad++… Thanks Patrick, I don’t know how I forgot about that one!!

  8. I suggest Yahoo Small Business Web Hosting. Management of one’s internet site at Yahoo! is really a breeze due to their web hosting handle panel. Every thing from setting up e-mail accounts, acquiring monthly web website statistics, to internet site development and maintenance could be easily controlled making use of one standardized interface.