I love Vim and Textmate

If you follow me you’ll notice that I’ve been playing with Vim lately. For almost a year now I’ve been a TextMate fan but something about Vim just called to me. Maybe it was the feeling that knowing Vim increased my geek cred just like terminal hackery does.

Vim and TextMate sitting in a tree
Vim and TextMate sitting in a tree

Why Vim

Really anyone doing any type of coding should be fairly comfortable in Vim (if you’re not I know a post on Vim). Vim is on any Unix system so it’s on all the servers you’re putting client sites on. If you have SSH access to your server Vim is way faster than FTP trickery.

Vim’s Killer Features (yeah I mean good things)

The feature I miss the most from Vim (when I’m coding in TexMate) is the modal editing. Just by hitting escape I’m moving the cursor around. Then start looking at using ‘W’ and ‘B’ to move whole words and you’re flying around the file so fast your hair will curl.

NERDTree is another pretty dang awesome Vim feature. Yeah I know it’s a Vim plugin but just go install it since it should just be included by default. NERDTress gives Vim a project browser like any other modern GUI text editor. You can move around with the normal Vim keys and open,close files lightening fast. It’s also super easy to jump to the parent folder and close it.

Vim’s Killer Features (as in your dead to me)

That dang copy/paste buffer. So you have a normal system wide copy/paste buffer that is pretty much the same no matter what operating system your on. Well Vim doesn’t care about that and it doesn’t use it. You see Vim has it’s own copy/past buffers that only work inside Vim (at least as far as I can determine) and the system ones don’t work. So that cool piece of code you put in your blog so you could reuse it, yeah it won’t paste into Vim, sorry.

No CMD+t to open a file in a project. While NERDTree rocks it’s still no CMD+t from TextMate. Sure PeepOpen adds that type of function to MacVim but not to Vim (and of course it couldn’t if you used it on a remote server).

TextMate go to file CMD+t
TextMate go to file CMD+t

Still Using TextMate

Really the only feature from Vim that I miss when using TextMate is the navigation of code with HJKL. There is a plugin that adds this to TextMate but I’ve found it a big buggy (lets just ignore the fact I’m on a hackintosh please). Well that’s not quite right I TextMate started having occasional issues getting stuck in the project drawer after I renamed a file, after I installed ViMate.

That’s All She Wrote

So I’m going to stick with both Vim and TextMate for now. Neither is quite what I’m looking for in a code editor. They both have awesome features and things that are a bit lacking.

At the very least if you’re working on code use Vim long enough that you’re comfortable in it. It just makes you a more well rounded coder. One day the time you spent in Vim will save your ass when you need to live edit some files on a live server that keeps dropping FTP but keeps and SSH connection. Trust me it saved my ass more than once.

Storing Code Snippets for Productivity

A Coders Problem

So my regular coding has progressed to a point that I’m sure many other have hit. I’ve built a huge reference of code that I need to reuse for many projects and digging through the old projects is getting un-manageable so I need a solution that keeps my reusable code organized and quickly findable from the keyboard.

The Holes I’m looking to Fill

To start this search let’s define my needs in code snippet storage:

  1. Offsite storage and sync (MobileMe or Dropbox is fine)
  2. Local Storage (I code offline too)
  3. Search from the keyboard with pasting into the app I was working in
  4. I’d love it to be Mac and PC because I do work on both from time to time
  5. Not tied to a specific code editor (some text snippets are used outside of code)

Some of the Resources

While I may not look at all of the options below I’ll look at some and includes links to the reviews as they happen.

Websites for Storing Code

Mac Software

PC Software

Cross Platform

Other Articles

Conclusion

So that’s where I’m starting. Am I missing any solutions that fit my needs (hint text files and GREP don’t count)?

EasyTask Review: If Only

Recently I reviewed The Hit List and while it is a great application I found a number of areas that gave me pause in using it long term. Since then I’ve been using EasyTask which appealed because of it’s cross-platform nature and the offsite sync, not to mention the price which includes versions for both Mac and Windows. Today EasyTask gets it’s time under the microscope.

EasyTask Mac and Windows
EasyTask Mac and Windows

What’s Hot & What’s Not

Offsite Sync

One of the biggest things going for EasyTask is the offsite sync provided for free by the application. Setup consists of getting a free online account then entering the username and password into the EasyTask sync preference panel. Click Sync in the top menu and you’re done. It can also facilitate passing your TODO list between the Mac and Windows versions. In my opinion this setup is awesome and the single biggest thing that 90% of desktop applications fail on.

EasyTask manager Sync screen
EasyTask manager Sync screen

Web Interface Sucks

If you bothered to click the link above to the online account you’ll see that the design sucks. Just the intro buttons alone are terrible. While the web interface is better, it’s still pretty awful in it’s own right.

EasyTask's Ugly Web interface
EasyTask's Ugly Web interface

Having used Remember the Milk for a number of months as my online TODO list I know what a good web interface looks like and how it should function. EasyTask is not up to the challenge, so while it’s great that the web version is there I’d certainly never use it if there were any other option. Even sending myself an email with the relevant item is a better option than using the web interface provided.

iPhone/iPod Sync

In addition to the sync offsite EasyTask will let you sync with the iPhone/iPod touch application. This works like every other application sync. Get EasyTask running on your Mac and on your iPod and on the same wireless network. Then simply sync it.

EasyTask iPod/iPhone WIFI sync
EasyTask iPod/iPhone WIFI sync

An Extra Step

What baffles me about this sync is the fact that it isn’t automatic. Like so many things this is a half realized item on the application. To sync you need to scroll to the bottom of the iPhone application click on ‘Sync’ and then click ‘WIFI Sync’. Why do we have to waste our time doing this? I have a number of iPod/iPhone applications that sync automatically so there is obviously no reason EasyTask can’t do this.

LaunchBar & QuickSilver Integration

Yes EasyTask ships with a QuickSilver script that lets you add tasks directly from QuickSilver. I ported it to LaunchBar easily enough as well. While this is pretty awesome the fact is that the AppleScript support in EasyTask is sorely lacking.

EasyTask AppleScript Library
EasyTask AppleScript Library

You can’t add contexts, or due dates, or start dates, or have it go directly into a project. Unfortunately with the awesome scripts available for Things and Omnifocus this lack of support is really not acceptable.

Even the minor items that are supported work in such a way as to confuse you. When you use the script it puts your task into the ‘Someday’ category with no project or context. Yeah it should default to your Inbox, but it doesn’t

Quick Developer Response

One of the biggest issues I had with The Hit List is the fact that development has essentially died on the project and isn’t even responding to users. Over the last few weeks I’ve emailed the developer a few times about pricing and AppleScript support and guess what…they respond.

Development

While it’s awesome that the developer responds the future of the product is still in question. When you get on a product purchase page and it doesn’t even list the current version of the operating system for any platform you have to wonder what’s happening.

Secondly the Google Group for EasyTask hasn’t seen updates (outside my own two) since February 2009. On one hand this seems to show we’ve got a stable application but on the other hand it also shows that there isn’t a strong community of people using it. It also seems to indicate that there is no development since new features would spur questions.

Conclusion

The story of EasyTask is one that shows lots of promise and lots of “if only’s.” If only the web interface was useful. If only the development seemed to be ongoing. If only there was better support for AppleScript. If only iPod syncing was automatic.

While EasyTask has lots going for it the sad part is that all of these issues amount to an application that just doesn’t cut it for long term use. I would put it above The Hit List since it doesn’t have an expiry.

The Real Sad Part

The really sad part is that I’m going to recommend this application. If you’re on Windows and looking for a good task management application EasyTask is by far the best solution I’ve ever seen for Windows. I find it very unfortunate that Windows users get left out in the cold with solidly built TODO applications.

Review of The Hit List: It came with a Bundle

In Episode 2 @iKitty mentioned that she was using Things as a GTD/TODO app based on a recommendation from me. I used to use Things as my choice for quite a while but have now switched over to The Hit List and thought I’d give you a run down of the features. While this started as a case for The Hit List read the conclusion for my thoughts by the end of writing this article.

It’s Beautiful

Yeah the first item that makes it work for me might be a bit vain but the reality is that I like beautiful things and The Hit List is very well designed. The interface is simple to understand right away. Even when you start digging and reveal the features of the application nothing ever seems cluttered or out-of-place.

The Hit List Interface
The Hit List Interface

Multiple TODO Levels

It’s been a while since I’ve used Things but at one point you could only have single level TODO item depth, though I’m not sure if this is still the case. The Hit list lets you easily create multiple depth TODO items as well as letting you have multiple folder and list levels to organize the project as you see fit.

iCal Sync

I’m personally still deciding about adding this to my workflow but if you want to have your TODO items show up on your calendar it can be done with The Hit List. The control of the sync is also very fine-grained. You can choose exactly how to sync it. If you take it a step further you could also create matching Google Calendars which would let you sync it online then to any device supported by Google Calendar.

Sync The Hit List with iCal
Sync The Hit List with iCal

Multiple TODO Views

I prefer to view my TODO items in the normal list view but if you find that multiple TODO items in your view at once is distracting there is a nice single note card style TODO view. This removes the clutter and lets you see and focus on a single TODO item.

Single note card view of your TODO item
Single note card view of your TODO item

Never Leave the Keyboard

Face it, a mouse is often not something that really adds to your productivity. If your hands are already sitting on the keyboard moving them off to grab some other device and perform a simple function is slow. Luckily The Hit List has a huge slew of keyboard navigation items. You can easily navigate between the sidebar and main window, mark things as done, tag…really you can perform any action in the application from the keyboard.

Keyboard navigation hints can be activated by clicking hints in the bottom menu
Keyboard navigation hints can be activated by clicking hints in the bottom menu

System Wide TODO entry

The extensive keyboard navigation also extends to the entry of TODO items and not only while the application is in focus. You can set the new TODO entry to a keyboard shortcut of your choice and enter a new item whenever you want. Not having to focus back on The Hit List means you don’t break the flow of your work on other applications. You can enter a new TODO item while working on anything from design to coding.

Quick entry box for tasks
Quick entry box for tasks

This is a Nice Touch

While this doesn’t truly contribute to making your TODO management easier, it’s still a pretty thoughtful little feature. If you start running The Hit List outside of your Applications folder it will know it’s not in the proper spot and ask if you want it to move itself to your applications folder. Of course you can also decide that no you want it to stay where it is and dismiss the dialogue never to be seen again.

It’s Missing Stuff Though

Despite the things I love about it there are things it’s missing. As I said in a previous post I think that desktop applications are broken if they don’t sync to something offsite. The Hit List has no online component, though I really have seen few applications outside of Evernote that sync online.

While The Hit List is fully Apple Scriptable which means this could be done, but currently I don’t see anyone that has put the time into setting up LaunchBar so you can create a new TODO item without even having The Hit List open. There do appear to be scripts for both OmniFocus and Things that will allow this integration with QuickSilver.

If you look at older reviews you’ll see that people have been citing the iPhone/iPod touch app as coming soon for a long time. Currently if you look in the application preferences there is an apology for the delay in producing the application but still we see no time frame or promise of a due date.

iPod/iPhone app apology
iPod/iPhone app apology

The reality is that it’s taken way too long for this to come to the market. For many people the lack of a way to enter TODO items into The Hit List from your iPhone/iPod Touch is a big failure. Not all of your ideas for items TODO come while sitting at your desktop so not all can be entered right away if you’re away from it. Unfortunately this also does bring the future of the whole product into question. If they aren’t putting the development time into the iPhone app what is the future of the whole product?

There have been updates to the desktop application but this fact that there is a hanging empty promise does make you wonder about investing in the application.

Conclusion

So at the end of it all I use The Hit List instead of Things. My choice, at the beginning of the article, was based on the fact that I got The Hit List with a MacHeist bundle. Although I have used Things, my former employer purchased it for me so I’d have to buy my own copy.

In research for this article I looked on the Google Group a fair bit to see about answers and notes on the application and it seems that the users of The Hit List are pretty upset with the developer. With the lack of development and the beta expiration issues I’m re-evaluating my decision not to just purchase Things. I certainly don’t want to be in the spot where I rely on a software only to find that the beta expires and I can’t even just keep using it or even view the TODO items inside the application. In fact my plan now is to try Omnifocus and EasyTask. If either application doesn’t suit I’ll move back over to Things. I just can’t take the risk that software I rely on will just disappear.

The Great Windows Code Editor Hunt: Sublime

This is the fourth instalment in our search for a solid Windows Code Editor. You can find the other parts listed at the end of the post. While this editor wasn’t in my first list of editors to review it was suggested in the comments and I’m glad it was.

The Good

Sublime has awesome keyboard navigation. Want to divide the project window vertically and show two files, how about horizontally and show two files? Neither of those items is hard just hover over the buttons from the navigation menu and the keyboard commands will show.

Not something that I was originally looking for but the mini-map provided by Sublime is a great little feature. The min-map shows up on the left hand side of the file you’re working on and allows you to see exactly where in the document you are located. This is especially useful in a big file as a quick visual reference. I found that I’d turn it on of the file extended outside of the coding window and back off when it wasn’t needed.

Sublime Text Editor Mini-Map
Sublime Text Editor Mini-Map

While Sublime doesn’t have a project drawer it does have an awesome project file search. In fact I’ve pretty much decided that if the project file search works like this I don’t really need a project drawer to view my project files. Navigating files with a mouse removes your hands from the keyboard and slows down your coding process. So yeah I’m totally willing to give up the project drawer for something more efficient.

Sublime Text Editor Find in Project
Sublime Text Editor Find in Project

The Bad

As I’ve stated above Sublime has a ton of options but unfortunately the way to access those options is a bit kludgy. While the other code editors I’ve reviewed so far have nice GUI interfaces for working with the options Sublime just opens up an XML file with the options labelled. The labels are pretty descriptive but the reality is that it’s not a GUI interface which makes it more difficult to work with.

Sublime Options
Sublime Options

Sublime also makes a project file for the project. Again it’s something I wish I didn’t have to deal with but it seems that you can’t really have a project without some file that references and remembers where all the assets are stored. Not huge points against the tool but still something I could live without.

Conclusion

So far Sublime seems to be the best option I’ve found for Windows. It’s quick clean and pretty well-organized. I can see that people just really getting into coding could be a bit overwhelmed by the options provided but for someone willing to put the bit of effort in need to decode the options this is a killer code editor for Windows.

In all honesty if I hadn’t talked about reviewing some of the other editors I think I’d just stick with Sublime. It’s got the right blend of features and the few draw backs aren’t anywhere big enough to make the tool unusable.

The Other Parts

The Great Windows Code Editor Hunt: InType

InType Logo
InType Logo
InType Logo

We’re now on the third code editor in our epic hunt for a great windows editor. If you’d like to catch up and see where we’ve been:

The Great Windows Code Editor Hunt: Part 1

Dreamweaver

Komodo Edit

Now it’s on to InType.

InType is still in Alpha and is similar to Textmate for OSX. In fact it’s so similar that it even imports Textmate bundles with a bit of conversion. I just started using Textmate on my OSX installation (switching from Coda for HAML, SASS, and LESS highlighting) and the two do bear a number of similarities.

The Good

InType starts up super fast which is a far cry from the other two editors (Dreamweaver, Komodo Edit) that I’ve looked at so far. Even while rendering video in Handbrake, InType started up with little lag and remained responsive during the entire time used.

A second point for InType is the amazing code completion. With all of the bundles available for InType you’re pretty sure to find the language and code completion you’re looking for. Sure it doesn’t have some of the popular web app languages like Ruby but you shouldn’t be doing ROR dev on a Windows box anyway.

image of the InType bundle list
image of the InType bundle list

InType is also very configurable. While it doesn’t have the wealth of options that Dreamweaver has you also don’t spend an hour looking for an option. Really the most important ones are at your finger tips in the main editor window. Need to change your indentation for HAML to two spaces…go ahead it’s at the bottom of the editor window.

Intpye preferences panel
Intpye preferences panel

That also brings me to another great feature of InType, visualization of your tabs and spaces. I haven’t had an editor that has done this before so when I opened my projects in InType I was greeted by a cacophony of tab and space styles. Ultimately it made more work for me as I went through and changed everything to be 4 spaces but it means I’ve got cleaner code instead of the soup of indentation styles I unknowingly had before.

The Bad

I know InType is still in Alpha and it does show sometimes. One issue that kept cropping up for me would appear when starting InType up, for some reason it would forget it’s location and open with a small window in the upper left corner of my monitor. Now I normally use two monitors and have the code editor open in the bottom right of my second monitor…so InType would jump across my entire desktop on occasion.

InType forgot where it should be
InType forgot where it should be

Another point against InType is the fact that it adds a project file to your project. Not a huge issue but yet another file to declare in my .gitignore file. I’d prefer that we didn’t add a project file but I can live with it.

The code completion of InType could also throw off some users. Sure it’s similar to how Textmate works but it’s also very different from the way Komodo Edit or Dreamweaver does it. Both Komodo Edit and Dreamweaver start hinting while you’re typing while InType waits till you hit tab before providing options to complete you’re typing. So when working in CSS you’ll need to type “background” then press tab, which will present you with all of the options for background. It even shows you the properties that background can take. Again it works but depending on where your experience lies you may find it odd.

Intype's code completion
Intype's code completion

Finally, and probably the biggest point against InType is the fact that it doesn’t have access to remote files. If you’re working with InType you’re working locally. I honestly do this anyway so it’s not a huge issue for me to fire up a FTP client or SSH into the server and transfer the needed files when I’m putting up a project for final client sign-off. It would be nice though to be able to connect to multiple servers out of a project like Dreamweaver does.

The Conclusion

While InType is a bit rough around a few edges overall it’s a pretty solid editor. It has all of the little features like easy theme management, code completion and the few draw backs are hardly show stoppers. At the end of the day InType is happy to just melt into the background and let you interact with your code.

The Great Windows Code Editor Hunt: Komodo Edit

Komodo edit logo
Komodo edit logo
Komodo edit logo

Second up on my list of code editors to review is Komodo Edit. No we’re not talking about the paid IDE but the free version.

The Good

Komodo Edit is developed on the Mozilla platform which means it’s a cross-platform code editor just like Firefox is a cross-platform web browser. As I said when I started there is an extra point for any editor that is cross-platform since I do end up spending some time each week on Mac and Linux. Add that to the price tag of FREE and you’ve got a decent editor to try.

Editing code in Komodo Edit
Editing code in Komodo Edit

Komodo has lots of options for configuration. Prefer a different colours scheme? Yeah you’re only a few clicks away from having a multitude of choices. Need to change how indentation works on files? Again a click or two and you’re all changed up. Use Emacs key bindings evidently Komodo Edit supports that as well, though I don’t use them so I have no clue on how well it supports them.

Another point in for Komodo Edit is the amazing extensions. When I needed proper colour coding for HAML in a project I just opened up the extension manager typed in HAML installed, and restarted Komodo Edit and I was ready to go. Need jQuery support, no problem search your extensions.

pick your poison with addons
pick your poison with addons

When I started this whole quest I also made a project browser a requirement for a code editor to be considered. Komodo Edit has a great project browser. It’s easy to navigate and clear.

The Bad

Edit: Checkout the response from ActiveState in the comments to some of my ‘Bad’ points.

While building on the Mozilla platform gave Komodo edit a leg up by making it easy for developers to extend it, there are also some downsides. Who hasn’t given up on Firefox after you’ve been using it for a year or so and it just takes forever to get up and running? I mean my 95-year-old grandmother has done three laps around the walking track before Firefox has loaded. Komodo suffers from this as well. It seems to me that Komodo Edit is just as slow to start as Firefox is on a given system. I have Komodo Edit installed on two systems. One is a bit new and Firefox is still snappy and so is Komodo Edit. The other systems is pretty powerful but has been around on the same install of Windows for a bit and both Firefox and Komodo Edit give you enough time to go get groceries while they start. Never seems to matter if it’s warm or cold, they’re just slow.

komodo is slower than dreamweaver
komodo is slower than dreamweaver

While I said this is a code editor hunt I know some people might take issue with including Komodo Edit here. Really Komodo Edit is an IDE. Start a new Ruby on Rails project from within Komodo and you get a bunch of extra ‘helper’ files and stuff it thinks you need. While this might help a new developer it also hinders them long-term. So the extra crap is a point against Komodo Edit.

Again in the beginning I said that I gave points to an editor that was cross-platform and while Komod Edit is the Linux install is less than desireable. I was never able to get the launch icon to show up properly in my Ubutnu Netbook Remix properly. Sure there is probably some place I need to put the .desktop file but as I said last week it should just work. I should have to go hunt around for how to make it work. Komodo Edit needs to work on their install process in Linux.

While the project browser is great on Komodo Edit it also sucks. At different times I’ve had issues creating new files in the project window. This has happened while working on both WordPress and Ruby on Rails projects. I was also never able to find a way to open and close the project browser from the keyboard. While this isn’t really an issue on my dual 22′ screen desktop it is annoying on my 10′ netbook. You can close it from a button at the top of the tool bar but that is less than desireable.

Komodo Edit also adds a project file to each project. If this was it’s only fault then it would hardly be a big one but combine that with some of the others above and it’s just a pain in the ass to add yet another thing to my .gitignore file.

Conclusion

The biggest point here is how long it takes to open. Cold or warm even Dreamweaver would win a start-up race and be on its second beer by the time Komodo Edit gets to the finish line. The slowness is something I’m just not willing to suffer.

The few other big things are the fact that working on projects in Komodo can separate you from your code as it throws all it’s IDE features at a project. The the lack of a great keyboard navigation so you always have to go back to your mouse, and the less than desirable install on other platforms just put the whole package over the top. It’s something to try if you’re looking for a code editor but it’s on my list of products I wish were a bit better, then I could use them regularly.

The Great Windows Code Editor Hunt: Dreamweaver

Dreamweaver CS4 icon
Dreamweaver CS4 icon
Dreamweaver CS4 icon

This is the second post in The Great Windows Code Editor Hunt series. Today we’ll look at Dreamweaver as a code editor.

The Good

Dreamweaver has come a long way for coders since CS3. When I used the CS3 version it was barely tolerable as a code editor. I don’t remember why at this point but I do remember having to switch back to CS3 when the CS4 beta ran out and my employer at the time decided not to upgrade. I remember ranting for a few days about how the UI was crappy in CS3 and CS4 was way better.

Dreamweaver is highly configurable. Working in a language that requires a certain amount of tabs or spaces to work properly? Not a problem. Hop into the Preferences pane and under ‘code format’ adjust as you need. It doesn’t stop there though. Like your code hinting in a fashion other than default? Dreamweaver provides you with a few options and at least one should suit.

Dreamweaver CS4 preferences
Dreamweaver CS4 preferences

Another wonderful feature of Dreamweaver is the ability to connect to different servers on one project. I’ve used this feature a number of times to work on a WordPress theme locally then, with a simple dropdown, connect to my development server and upload the required files. When we’re ready to push to the client’s server simply open the drop down again and connect to the live environment and upload the files. A great thing they introduced in CS4 with the Files panel is that it is now dockable or can sit free-floating on another monitor if you wish.

Dreamweaver CS4 file browser
Dreamweaver CS4 file browser

The Bad

So what are the things that make Dreamweaver not my code editor of choice? It starts with the WYSIWYG editor. While it’s possible to enter full code view and not see the code editor somehow it always seems to sneak into view. I’ve never been able to stop the ‘Design View’ to disappear entirely. For some reason I was never able to track down some files would randomly open in the ‘Design View’ of Dreamweaver forcing me to go back to the top and click on the ‘Code View.’ I’ve just dug through the preferences panel again and don’t see any option that leads me to believe I can just shut down the design view permanently.

So one of my requirements was load time. Dreamweaver is a pig. I run Windows 7 on an AMD Athlon 2.6 with 8GB of RAM and a 1GB video card. It’s not a slow system but Dreamweaver seems to be the morning coffee hounds best friend as it takes forever to start-up. Yeah go get a coffee. Even on the 24″ iMac I used at my last job Dreamweaver was a pig to get running. To my very unscientific observations, it didn’t seem to matter if it was a cold or warm start. The green dialogue that shows during startup might as well say “Go Get a Coffee there’s lots of time”.

Dreamweaver CS4 coffee load screen
Dreamweaver CS4 coffee load screen

Another beef with Dreamweaver is the amount of crap files it introduces into your projects. It seems that in every folder you end up with an extra folder called _notes and an extra file called dwsync.xml. Sure they’re not big but they also don’t matter to the client’s website and are thus bloat. I think these files have something to do with FTP syncing with the server but whatever they’re actuall purpose removing them from a project is yet another step to take before packaging files up to send to a client at the end of a project.

Themes in Dreamweaver are a pain. For all the configuration options available there is no real way to quickly switch away from the original eye searing white theme. I’ve got big thanks for That Web Guy since he has great instructions on how to change the white theme out on Dreamweaver. It requires a change to an actual application file in Dreamweaver which is stupid but I suppose it’s not all that hard. I’m still astonished that Dreamweaver doesn’t have an easy way to switch between multiple colour themes though. Seems like every other code editor out there, even those in alpha have it as a default feature.

While Dreamweaver has a great project browser it really doesn’t do a good job or any job of tracking your files since the last upload. I can’t tell Dreamweaver to only pushed changed files. Sure I can sync the files but then we’re waiting while it figures out what that sync it. I see no real reason why it can’t mark the file state at last file upload and then only upload the files that have changed. We’ve got lots of other application bloat why not something useful.

A final point I’d like to put against Dreamweaver is the file type support. I work with Github more and more which means I need to edit README files. Dreamweaver has no clue what to do with the file nor does it offer me a good way to tell it what to do.

Conclusion

Really the only reason that Dreamweaver was included in the review is that it comes with many version of the CS4 suite of software. I really don’t think it would be a contender if it wasn’t included with other software I need to do my job (Photoshop and Illustrator). I certainly wouldn’t be forking out $400 bucks for Dreamweaver after working with it during the trial.

We can also add as a point against Dreamweaver the general distaste seen for it by prospective employers. Sure I wrote a while back that Dreamweaver is a fine tool but that doesn’t change the fact that you see daily job ads that say don’t apply if you use Dreamweaver.

Ultimately I’m not using Dreamweaver because it’s slow to open, doesn’t recognize a number of common files I’m working with, doesn’t integrate with Git at all, and I just can’t get that stupid ‘Design View’ to go away. Maybe minor things all but it amounts up to a code editor that just doesn’t suit my daily coding habits.

The Great Windows Code Editor Hunt

code editor article imag
code editor article imag
code editor article imag

I’m a web designer/programmer so I spend a good portion of a day in a code editor (at least if it’s a good day). I’m pretty particular about what code editor I use and what features it needs so I’m on a hunt for a great code editor for Windows. My plan is to use a code editor for at least 2 weeks to really get a handle on exactly how it works and to get as familiar as possible with all of the shortcuts.

The Requirements

So lets start by figuring out exactly what I’m looking for. I’m not going to list the normal things like syntax highlighting that are just required to even get into my list for testing.

  1. Code Completion of Some Fashion: I need code completion of some fashion. Whether that’s adding the end tag automagically upon completion of the beginning tag or if it’s hinting at the next tag to close. I’m not picky really on which way it works. Extra point for tab style tag and block code completion.
  2. Project Browser: The code editor needs to have a project browser (Sorry VI) even if it’s not included out of the box there needs to be a plugin to make it work.
  3. Dark Theme: It’s a personal preference but I need a darker theme to look at all day. My eyes hurt if I get stuck looking at something super white all day. Light greys or browns all work just can’t be white. And you need to make it easy to switch the theme with some template of some fashion. I’m not opposed to having to build a template if none exists already but it better be easy to do.
  4. Lite Weight: I don’t want to wait forever to open a file. I willing to wait on the first cold start of the day but after that you better be quick.
  5. Good Looking: If I have to look at and work with you all day you better be pretty, well pretty enough. I’ve seen a few editors that just look really freaking ugly. I’ll admit I’m a bit vain and I require a UI that looks good and works.

Nice to Have

  1. Snippet Management and Completion: I end up working across 3 different OS’s so while I like snippets built-in I find they’re never on the system I need them on. I’d like it but it’s not a deal breaker.
  2. No Project File: I’d love not to have a .whatever project file added to projects but if the rest of the application rocks then I’ll deal with adding it to my .gitignore file.
  3. Editing of Live Files: My workflow has me building all my sites locally and doing all my testing for browsers there. I don’t need to edit live files on a server often so I don’t have much call for publish on save but if you have it I’ll give you a point.
  4. Cross-platform: I end of doing a bit of work on Windows, Mac, and Linux so I’d love something I can learn and use across all platforms as my main development platform.
  5. Spell Checking: I write all my blog posts in a text editor so spell checking would be great but not a need. I use After the Deadline on by blog before posts go out and will continue to do so even if the editor has spell checking.

The Contenders

So I’ve got some contenders already. Some I’ve used and some I’m planning to try.

  1. Dreamweaver: I get it with CS4 Design Premium so I figure I’ll go over why I’m not using it (yeah that was a spoiler). Read Review
  2. Komodo Edit: Not the paid IDE but the free Komodo Edit. It appeals because it’s cross-platform and free is a good price. Read Review
  3. gedit: It’s the right price and on my two main platforms for development (Windows, Linux) so it’s in.
  4. InType: Heard lots about how it’s like Textmate for Windows. Textmate is the cat’s ass according to some programmers I know so I figured I’d be up for trying it. Read Review
  5. E Text Editor: Another Textmate for Windows I hear. I actually tried it a few months back and for some reason that escapes me right now I have no idea why I’m not using it still. So if I can get it running again on the trial I’ll review it.
  6. Notepad++: It’s a staple of any programmers “I’ve tried it” stable so now I’ll try to be its lover for a bit.
  7. PSPad: I’ve been told that real programmers on Windows are using Notepadd++ or PSPad so it’s in.
  8. Sublime: Suggested below and reviewed.

What’s Missing

Am I missing something in my list? Is there a code editor that you just love and hasn’t cropped up on my radar? Let me know. I don’t promise to use it but I promise to at least visit the site and see if it could be a contender.

Can We Get by with Web Apps?

google docs shot

google docs shot
Are web apps enough?

Web apps have been heralded as the solution to our online and offline lives. We do not have to install software on our machines. Things are backed up online and, in theory, we can edit offline with Google Gears (or other solution).

So looking at this promised land I decided to move my blog writing from Open Office with storage in Dropbox to Google Docs with offline enabled. I have now been writing exclusively in Google Docs for about a month and here is my experience.

The Good

I love the organization of Google Docs. There is just something about the simplicity of the interface that appeals to me. Drag and drop folder sorting is beautiful. Auto saving is great. Being able to check the content of a folder with by winding and unwinding the arrow for a folder is great. It just seems easier than drilling down a file structure and backing out of folders. I love that I am not really flipping back and forth between a file browser and an application for writing. I love that I just have Firefox open and can browse for links and write out of the same interface without having multiple applications running. Since I do much of my writing on a netbook having a single application open instead of a few is a great feature.

I find that the spell check works well and the standard keyboard shortcuts for boldand italic text work great. I really do not notice that I am in a web interface instead of a desktop application.

The Bad

While Google docs seems to promise document syncing and offline editing my experience leaves me wanting much more from Google docs. I typically operate over two main machines, a Vista desktop and an Ubuntu netbook. I take the netbook with me lots of places that do not have WIFI of any sort so I need to be able to edit my documents while offline.

The first fail came for Google docs when I was trying to start a new article over lunch one day. Low and behold the new document button is ‘ghosted’ out. So I scratched my head fired up Open Office and jotted down the notes I had in my head for an article. After a bit of research I found out that you can not create a document while in offline mode. You can ‘hack’ around this by creating a number of new documents while online and then editing them at a later point when you have a new document to write. Not a perfect solution but not too bad either so I could live with that.

The second fail or series of fails dealt with syncing my documents when transferring offline and online. For some reason a month after editing I still have documents that are marked at ‘edited offline.’ Despite the fact that I am currently giving Google Docs every opportunity to sync these items while I sit here online finishing this article in Google docs. Since it appears that the documents are just marked as ‘edited offline’ while still having the content syncedSo while this is annoying again I can live with that.

The final fail item was just today. I had planned to work on a document and finish it off for a blog post. Unfortunately for some reason Google docs decided not to sync that particular document today. So there I am ready to write an article and I get totally stumped. I suppose the great thing about that is I got to finish off this post about the ways in which Google docs has failed me. Maybe it has something to do with the Linux implementation of Firefox but to be honest I really do not care. I just want my apps to work.

The Conclusion

I love the thought of web apps and offline access but at this point I do not think that Google docs is there. Sure if you always have a WIFI connection Google Docs is a great resource but if you are editing offline and online you are out of luck (at least in my experience). I actually love writing in Google Docs but the syncing problems just kill the option for me. I really do not want to switch back to Open Office and Dropbox but I feel I have no choice. So I think I’ll be going back to using Open Office and storing documents in my Dropbox for syncing. The only downside to that is the poor functionality of Open Office for Mac. Fortunately my main machines are Linux and Windows with Mac as an occasional platform (at least for writing).

My next attempt at online document writing will be with Microsoft’s Office Live. Hopefully that is not a bucket of fail. Added after I scheduled the post Unfortunately it seems that Office Live is also a buckect of fail. While many browsers across many platforms are supported there is no Linux support in the Office Live site so my primary writing machine won’t work. I guess that means I’m stuck with Open Office and Dropbox for syncing.