Anyone who works in web development has to keep track of a lot of stuff. For every site you develop there are a variety of passwords and settings. For every server you manage there are even more. For every project there are notes, meetings, code fragments, links to resources, and – of course – lists of things.
On Windows, the application I used to handle this was the awesome MyInfo by Milenix. When I switched to the Mac, I looked at all the information managers and settled on Mori. Mori does what I need (a nice hierarchical folder structure of notes), but the new developer has let the application sit idle and now it feels slow and behind the times. Not good for the application you depend on to manage your most crucial data.
Enter Scrivener 2.0 by Literature and Latte. This is my favorite writing application but with the 2.0 release about to come out (there’s a preview available from their blog … and a Windows version coming out as well) this application becomes so feature-packed that I’m going to switch over to it for my main note-keeping axe. Here are some of the cool things Scrivener 2.0 offers that relate to a developer:
- A really slick outliner mode. Sure the documents and folders are a nice navigation mechanism, but the outliner mode gives you the ability to show/hide columns. This lets you, for instance, see the tags on each document – or the modification date so you can tell when you made a settings change to something.
- Document notes and inline comments. Really handy for note-taking (duh!) but the inline comments are good for jotting down those special instructions you often forget. Oh … there are also project notes too.
- Linkage. Notes and comments are just the start – you can also attach links to web addresses as well as to other documents in the project to any document. Oh – you can also add a URL as a document too – great for keeping track of sites which have resources you use a lot – or keeping track of the sites that have templates/plugins you use on a project.
- Snapshots. Scrivener does backups which is great. But snapshots let you keep versions of your document around. This is invaluable when you’re doing things like updating a site from one system or version to another. Your new settings may change but you’d like to be able to see the old ones in case something blows up. Now you can keep it all together. I haven’t tried it yet, but there is also a sync function to folders and a couple of conduits.
- Customization. You can save window layouts and project templates which is pretty slick. But now you can also have document templates. So, imagine a template for client contact information. A template for WordPress configuration settings. A template for domain setup on a server. The tree view now allows you to set the icon for any document or folder.
- Collections. Kind of like “smart folders” but better. These can be assembled via search or by manual placement. So you could have a collection of all your WordPress deployments by searching for the “wordpress” tag on a document. Or you could have a collection of documents that you want to export and give to a client for their reference – you’d hand-assemble that collection.
There are more features than just these and I’ve barely scratched the surface of what Scrivener 2.0 can do. Obviously if you’re a writer, this is going to quickly become your tool of choice. But for people in technical fields this is a tool to consider for keeping project documentation together. The price for Scrivener 2.0 is only $45 – which is dirt cheap considering how much other information managers (which don’t do a fraction of what Scrivener does) cost. Scrivener 2.0 is due to release on November 1st, 2010.
One of the first things I set about finding when I switched over to the iPhone was an outliner. As a developer-slash-designer-slash-consultant-slash-CTO I spend a lot of time making outlines of notes and tasks for things I’m working on. If it’s a “to do” I use a to-do manager, but if it’s something that’ll take weeks or months, I have to capture all of the steps and know where I am.
I settled on Carbonfin Outliner as it did everything I wanted and nothing I didn’t.
For starters, the outliner works great. It has all the standard means of moving things around. Items can be just an outline bullet or have a check-box on them, to mark off tasks as they get completed. Even cooler on the check-boxes is that the parent item turns into a disc which gets more complete as you check things off. I’ve seen outliners that have the checkboxes, but you always have to expand a parent task to see how far along you are.
Mac Dev Tools Worth Having
For a lot of people, the Mac is seen as the PC for a “creative person”. Very “artsy.” Now, I’ve spent years (decades) developing code on Sun workstations, DEC equipment, and PC’s – the Mac, and the tools that are available on it beat all that stuff by a wide margin.
For starters, Mac OS X is itself a Linux environment. So no more shoe-horning a WAMP environment onto a PC. It’s not needed (although I do use MAMP for the Mac because Apple chose not to install some of the standard PHP extensions as standard, but for most developers this may not be needed).
But what IDE does one run? Sure, you can install the ever-present Eclipse platform. Which is capable of pretty much anything and everything if you locate/install/configure/incant the right stuff. For me, Eclipse was just too much work to get running, too slow, and too idiosynchratic to use on a daily basis.
Thus enters Coda, by Panic. Coda combines a solid code editor, a rock-solid FTP client, a terminal, a CSS editor, Subversion, and site management in one package. If you code in Rails or work with CMS-based sites, the inclusion of a SSH terminal which remembers passwords is a life saver. No more neededing to reach for Terminal or iTerm when you need to launch mongrel or change some folder protection – just open a tab, hit the button and you’re in.
Most of my daylight hours are spent as CTO/lead-coder/graphics-monkey of a start-up I’ve been with for a couple of years: Dialed In. This is a Ruby On Rails application and that means we hit the usual problem with Rails of finding a good hosting service. There aren’t a whole lot of top-shelf options in this area yet and, back when we started, there were even fewer. At that time Engine Yard (“EY”) had a waiting list of a week or more to get service and we didn’t have the time, so we went with another provider who was technically as good, but could fulfill our server needs more or less same-day.
Now fast-forward a couple of years. Our provider starts to have some performance issues, one of which ends up costing us half a week of down-time to move our server image to a new physical server. Support starts to get slow and, while responsive, we get the impression that they’d rather we figure stuff out on our own. They have great technology and, if we were a large company with a full IT staff, it’d be great fun to play with.
But we’re not. We’re a small outfit where everyone does 3 or 4 or 20 jobs and messing around with complex server configurations is simply not good for business. Every hour one of our developers spends trying to configure the server is an hour they’re not spending writing code.
So we just recently moved the whole deal over to Engine Yard. In a word, I was astounded by the reception we received. For starters, their slice hosting comes with free accounts on GitHub (Git hosting), Beanstalk (SVN hosting), Lighthouse (ticket/project-management system), and New Relic (application analytics). So basically all the services we needed, or were paying for elsewhere, were now included in our basic hosting fees. Email is hosted on MailTrust – which works pretty well, even though it’s based on a Microsoft platform. But using MailTrust we can suddenly send email to people on AOL, so that’s a good thing.
The new Google Chrome browser is a really nice piece of technology. Google has an uncanny knack for building applications which are fast, light, and smart. The search/address field is a very well done. Type whatever you want in there and get a list of likely matches. If nothing fits, hit return and go search for it. When you start using it, you wonder why this wasn’t the way it was at first.
Being able to turn any tab into a launchable desktop application is also great. It means I can now retire Prism from my Windows machine as Chrome does a better job – especially on GMail, Google Docs, and so on – go figure.
The minimalist interface gets in the way in some cases – like trying to figure out how to manage bookmarks. And if you’re used to the features you can end up with in Firefox once you load up all your add-ons, Chrome may be a downer. Because it does what it does – it does it fast and reliably, but that’s all it does.
But that isn’t bad. Use Firefox when you need your add-ons for downloading video or inserting BB-codes into message boards. Use Chrome for your web applications where you want them launched fast and you don’t need anything else getting in the way.
The one huge, huge problem with Chrome … it’s Windows only. Of course, this makes sense given the market share of That Platform. But still. The ‘Net runs on Linux and most of the best design work is done on the Mac. The opinion-makers don’t like on Windows 24×7. I’m sure Google will correct this.
In summary, Chrome is the ideal browser for accessing web-based applications (version control, project management, email, billing systems, and so on). It’s worth a shot and, while it may not take market share away from Internet Explorer, every user who can be lured away from it can be considered a “win” for web designers.
If you’re doing code development on a Mac, especially if you’re bouncing onto your web server a lot, there are a lot of little commands and passwords that you need to keep track of. SSH passwords, SVN passwords and accounts, commands for SVN, Rails, Apache, mysql, etc. This is on top of the snippets of text for running the Mac itself and all the various signatures, quotations, recipes, contact information and other endless pieces of data you not only need to store, but be able to quickly retrieve but paste quickly into a browser, email, or shell window.
Enter “ShoveBox“, a great little menubar utility which keeps all this stuff close at hand. There are a lot of clipboard managers, but ShoveBox’s “Organize” window makes the difference. It allows all the clipping to be organized and colorized any way you like. This makes it real easy to track down that Subversion command for creating a branch you only use once or twice in six months – and then just drag-paste it into your terminal window.
At its core, meebo is a multi-protocol, AJAX-based instant messaging client. It handles all the major IM channels through on a web page. No ad-infested bloat-ware application to load. This month they also added the “Meebo Me” widget which lets you see visitors on your site as chat clients in your Meebo page. This kind of functionality opens up a lot of possibilities – community building, customer support, making things like mySpace more interactive, and so on.