How I work: My Applications (freelance web developer)

I’m a freelance web developer. I work mostly with PHP, HTML and CSS, but also javascript and actionscript.
I’m also a web designer, print designer and illustrator.
I’m always interested in what tools other people in this line of business use and always happy to get a good suggestion from people with similar workflows or interests.

So here’s my little list of apps that I use (I own a mac, so many of them might be mac-only)

UPDATE. It’s been more than 2,5 years since I wrote this little article. Things have changed a little bit since. If you’re interested, you should also take a look at the orange notes below, that explain what changed and why.


Simple PHP web development over FTP

For simple projects, when I develop mostly inside a IDE and save my files directly over FPT. I switch to the browser and refresh. Then I repeat.

What I need:

- A good editor (IDE) (has to have syntax coloring, good file management, good HTML/CSS editor, some auto-complete)
-  A FTP manager (might be integrated in the IDE but I definitely need a separate tool just for FTP/SFTP)
- Database management (I could (and so sometimes) use phpmyadmin, but it gets frustrating and slow sometimes)

What I use:

Coda

Certainly the most beautiful mac code editor out there. Everything feels right. Since I’m the kind of developer who does everything by hand, I don’t need previews, a visual mode to edit CSS, etc. Coda has them, I just don’t use them. It has a very good CSS editor with suggestions which is highly important to me.
PHP feels nice inside Coda, although you’ll want a better IDE for more complex projects. HTML, CSS and Javascript work and look really good inside Coda.
I tried TextMate, TextWrangler, VodooPad or even vim and the like. They weren’t as good for me.
Coda is made by Panic, costs $99 and, in my opinion is really really worth the price.
www.panic.com/coda

Update: I do most of my work on a local machine now, then save or sync to a FTP server. I’m not exactly sure why (I still like Coda), but I switched over to Espresso (75$). I like it’s ability to define multiple sync servers. I think it offers just about everything Coda offers, but I never did a strict comparison between the two. I must say that right now, I’m leaning towards Sublime Text and have started to incorporate it in my work (70$, now at version 2, quickly moving towards 3). If you watch this set of videos, you might be persuaded as well!

Transmit

Transmit 3 is a really nice companion to Coda or as a standalone app (made by the same company). I won’t go into details but it looks really good, feels fast and stable. If Transmit 3 was really nice, I think Transmit 4 has really hit the sweet spot for me (multiple tabbed connections, “places”, quick look, sync, and really a lot more).
There’s integration between Coda and Transmit, you can get your Transmit saved connections into Coda’s “Sites” page pretty easy.
I did try Cyberduck, Filezilla and Forklift but Transmit feels nicer to me (Forklift looks nice though)
Transmit is made by Panic, costs $34, and is pretty good value for the money.
www.panic.com/transmit

Update: Still use it, not a major component in my workflow, but would prefer not to live without it.

Sequel Pro

I used to be a fan of phpmyadmin for many years. Discovering Sequel Pro changed my vision a bit. It’s certainly not a hardcore database management application, no table relations, nothing like that. But it’s a simple and fast interface to quickly see and edit your databases. There is room for improvement but it’s already a great app for “normal” projects.
Sequel Pro is developed by mjmedia and is free for now. Version 1.0 coming soon.
www.sequelpro.com

Upgrade: I still use it and have become more reliant on it for certain queries and db operations. I use it for exports/imports and manual backups. Just noticed there’s a new version available and it’s still free.


Complex PHP projects developed on a local machine

For larger projects, you usually use some framework (I love Symfony right now), a more powerful IDE and you develop locally using a local webserver and database.
You test and debug locally and, when the work is done, you deploy everything on a server.

What I need:

- A powerful IDE that has all the advantages mentioned above but also the ability to manage Projects, powerful code completion, recognizes object dependancy and allows debugging.
- Better database management (sometimes)
- Server tools

What I use:

Eclipse

I’ve finally decided on Eclipse. Coda is certainly not enough. BBEdit looked interesting but fell short. Eclipse is big (Java) and sometimes slow, doesn’t look as good as Coda but, if you really start to take advantage of it’s features, it’s an incredible tool you really couldn’t do without on more complex projects. I hate that I couldn’t get the CSS Editor plugin to work and so ‘m doing all my CSS-ing manually for now (which isn’t as bad as it sounds).
I’m into Symfony right now and even though they don’t always play nice together, Eclipse and Symfony are a really cool combination.
I did try Zend Studio a while bag (I thing it was the 6.0 version) and I thought it was really good. Really really good. But slow as hell and crashed often. Also, to me it’s kind of expensive.
Eclipse is an open-source project.
www.eclipse.org

Right, still use it.

MySQL Workbench

I won’t get into it because I’ve only recently discovered it, but it looks pretty darn interesting. It has stuff like creating dependancies using diagrams and stuff. I never got into optimizing SQL and usually I do this stuff manually or using other tools. But this looks like a nice advanced app.
MySQLWorkbench is developed by MySQL and is free to use (check the license though).
wb.mysql.com

Yes, I still use it.

Server Tools

On my mac I used XAMPP.
Apache, MySQL, PHP, Pearl
A lot of work here, check out the docs and everything. Not really my first choice I guess, but one I got to work fast(er).
XAMPP is an open source project.
www.apachefriends.org/en/xampp.html

Moved to MAMP since. I work on OSX Lion right now and use the built-in Web Server, plus a MySQL Server.


Design

I do web design, slicing and optimizing but also logos, print design, illustrations. No shocker here. I use Adobe. I thing they are overpriced but the alternatives are not really that great. They do exist though and I’ll try them out when I have a bit of time.

Fireworks

I don’t need to talk about Photoshop, everybody knows what it is and what it does. I do think many web developers overlook Fireworks though. It’s a really good app and it’s well suited for web development. I design all of my websites in fireworks. Fireworks has a few abilities that really make it work for web design, like being more object than layer oriented, aligning things, slicing (really, once you try slicing in fireworks, photoshop slicing seems torture). It also has a lot of web oriented features like button states, styles, symbols, 9-slice and stuff. I rarely use them.
Fireworks, Photoshop and Illustrator are made by Adobe. Check adobe for prices.
Adobe Creative Suite Website

Not much has changed, but I do own a drawing tablet now and have experimented with Gimp, Inkscape and Pixelmator.


Project, task and time management

There are really a lot of tools out there for project management, time tracking, to-dos, calendars, etc.
I’m sure this is one area where I might find some nice new tools in the future.

Numbers

For now, I use iWork Numbers (like Microsoft’s Excel) for keeping track of my projects, invoices, clients, hosting, etc. Rows and columns just seem the natural way to keep stuff like that. I might be interested in some simple project management tool (something like: enter project, define contacts, timeline, milestones, price, etc, maybe integrated with one of those time tracking thingies). I head about OnTheJob but never got a chance to try it out.
Numbers is developed by Apple as part of the iWork package which costs $79.
www.apple.com/iwork

Moved everything (basic accounting, invoices, contracts) to OpenOffice, which is free. Haven’t used iWork in ages. Also moved project management to a web app that I built, for better control.

Things

Is a cool little gem. It’s about keeping your to-do lists in place. It’s flexible and simple and I really use it daily. You schedule tasks for every day, every week or whenever you like, you can categorize them, tag them, and of course, mark them as complete.
For instance, I have a “Do your exercises” daily task (to remind me I need to fight eye strain, back pain and hemorrhoids while I still have a chance), a “Pay you taxes” end-of-the month task, a “Pay current bills” Monday task, and daily tasks that I set in the morning. Things is not a calendar or reminder, nor should it be. It’s about getting those things done and feeling good about clicking the checkbutton.
I never tried other simple task management software.
Things is developed by Cultured Code and is well worth the $50 price tag in my opinion (I think it was $40 when I bought it).
culturedcode.com/things

Still use it, still update it, still update it in the cloud, still love it.

Pomodoro

I’m currently using the “Pomodoro technique” to maximize productivity and to better keep track of my time. Starting to use it had an interesting side-effect. I know exactly what I did in a day and how much time I spent on each task. If you read more about the technique it might interest you to know I use a piece of paper as the General Activities and Things as the Activity Inventory Sheet. Of course, you need a timer. They recomment kitchen timers, but I’ve found “pomodoro” is really the way to go for me. A bit of fiddling with the preferences (growl notifications, 25 minutes pomodoro, 1 minute maximum interruptions, half-hour break every 4 pomodoros, etc) and you’re set to go. Like I said, the nice thing about using this technique is that it pretty much eliminates the need for time-tracking software. At the end of the work day I move all activities into Numbers and calculate billable hours for certain projects.
I’m new to pomodoro so I’m not aware of other techniques like this. Also the pomodoro application is created specifially for using with this technique.
Pomodoro (the software) is developed by Ugo Landini and is free.
pomodoro.ugolandini.com (the software) | www.pomodorotechnique.com (the technique)

Gave up on it. These things come and go. I’m now trying a “standing desk” (but I’m sitting as I’m typing this)…


Other stuff

Backup: I use Deja Vu, the only backup software that came close to the way I wanted it to work, even though it lacks FTP support. I use dropbox for some important files (I don’t own a paid account though, but might need one soon. A nice bonus is that Deja Vu works kind of cool with Dropbox). I also use Apple’s Time Machine. I have this nice setup where I backup my stuff to two external firewire drives, all is setup inside Deja Vu, and that also takes care of the folder Dropbox uses to sync. I’m really happy with this setup. The only thing that could be better would be if Deja Vu supported FTP backup. That would allow me to do away with Dropbox and the like, because I can setup my own FTP server if I need to.
propagandaprod.com (deja vu) | www.dropbox.com (dropbox)

Stopped using Deja Vu a long time ago. I do automatic backups over SFTP using rsync and still use Time Machine. The rest is manual.

Photos: I keep my photos very well organized, I always have. I use simple names for files and folders based on date. That allows me to always find what I want even without any kind of software. Going a little further though, there comes a time when you want to select those images you want to upload to you blog, work on them a little bit, crop and adjust and export them. Or you might want to create a selection out of those 5000 photos you took on you trip to Europe. Adjusting brightness, contrast, color temperature is also often needed. iPhoto is cute but nerve-wrecking pretty soon and is bad with large collections of photos (I never let iPhoto, iTunes and the like manage my libraries completely. I find it dangerous and redundant).
So I chose Aperture. I do own a nice DSLR but I’m no expert. It seems Aperture pretty much does what I want and how I want it. I did try Lightroom one time, but they seemed like the same thing to me. Like I said, no expert.
www.apple.com/aperture

Have used Picasa for mac for about a year. I’m keeping certain photo albums organised in Google Photos, but have move to Lightroom for all of my local images. Can’t say much about Lightroom vs. Aperture, I haven’t used it long enough.

Passwords: I can’t imagine working without a password manager. I am reluctant to the “auto-fill” methods most of them provide, but I do keep a nice collection of about a few hundred passwords. Some are mine but most are client password, emails, cPanels, FTP, etc, etc. What I need is a good catalogue. Simple, fast and nice-looking. 1Password was the right tool for me for a few months. That’s until I realized I had saved all of my passwords using the “Location” field as the “username”. I don’t know why, but that’s how it seemed natural to me. The problem is, I can’t for the life of me get the Location field to export in an external file. So, 1Password becomes an app that doesn’t let me export all of my data form it. I’m terrified of that perspective, so I went with Wallet. Really nice looking, a bit faster, a bit simpler. With cool custom fields. The automatic generation of passwords was easier to use in 1Password but it works in Wallet too. Wallet is made by Acrylic Software and costs $20.
www.acrylicapps.com/wallet

Still there, still perfect for my needs.

Fun: I use VLC (because, coupled with DivX and Perian, it let me play any video I ever came across), Transmission for my torrent needs, last.fm (with iTunes, because I love knowing what I listened to and getting recommendations). I use iTunes for audio playback (because I organize my music thoroughly, with tags and covers and everything and, once you do that, it looks great in iTunes). Unfortunately, there’s no MediaMonkey for mac (the best mass ID3 tagging and cover finding software in the world) and, even though I’ve searched everywhere, all I could come up with was Musorg. It does what I need simple and nice but has no cover retrieval option.
I use Apple Mail for emails and feeds, Lynotype FontExplorer for managing a huge collection of fonts and Colorspace as a colorpicker.
www.videolan.org/vlc (VLC) | perian.org/ (Perian) | www.transmissionbt.com/ (Transmission) | www.last.fm (last.fm) | peippo.eu/main/ (Musorg)

Right. Not much to say. Stopped using iTunes (hate it actually) and now use VLC for both music and movies. Still a fan of last.fm, stopped cataloging and organizing my music. Moved from Transmission to uTorrent, I like it better.

That about wraps it up.

6 Responses to “How I work: My Applications (freelance web developer)”

  1. Pedro Casado says:

    You dont use SVN? I like SvnX (freeware) but Versions and SyncroSVN are also another good options.

  2. Squirrel says:

    There’s a SVN plugin for Eclipse, but Versions looks nice too

  3. carol says:

    Hi, nice stuff. How do you check crossbrowsing (IE) while developing on a mac environment?

  4. Squirrel says:

    Hi caronlina. I don’t… I have an old windows XP laptop with IE7 on it. I stopped supporting IE6 in January this year. There are better ways though, online tools that give you screenshots of how your website looks in tons of browsers. Some of them are free, some of them have a long waiting queue, making them almost impossible to use. I’m still looking for a better way…

  5. Naji says:

    Hi Please send me your contact info. I have freelance cloud\php\mysql project if interested. Thanks

Leave a Reply