Cool little project. However, most people don't use FTP because of security issues. With FTP everything (password included) is sent in plain text. You should avoid it for anything you're doing over the internet. Use either SFTP or rsync. This is great though, because you could easily port it to other transport tools, like the ones mentioned above.
Even better, if you're automating deployment, move the security management outside your app entirely and require users to use ssh-keypairs. This way no password authentication is required, and you don't have to worry about storing someone else's password.
For ideas about other features to implement, have a look at Fabric [1]. Although, it looks like their site is down right now. One of the most common features of deployment systems are "hooks". Hooks allow you to execute other code at different events during deployment. Like: "after checkout", or "after sync". Sometimes it's useful to perform some other task, like symlink in resources that aren't under version control.
1 - http://docs.fabfile.org/