Software

OmniFocus on the iPhone

It has been a troubling experience getting OmniFocus to work on the iPhone but I am now able to finally use it the way I have wanted. In fact, when looking back, it was around July 11th of this year when I first tweeted about buying the OmniFocus application for my iPhone. So yeah, I have been wanting this for a while.

The trouble has been that OmniFocus for the iPhone initially only worked with the MobileMe and WebDAV services. I did setup an Online File Folder account with GoDaddy but it didn’t work right. I would sync my data only to find that repeating tasks would start duplicating on both my iPhone and my desktop. This proved too be to annoying to cope with and eventually I gave up using the app on my iPhone.

The good news (and something I have been patiently waiting for) is that OmniFocus for the desktop (version 1.5) and OmniFocus for the iPhone (version 1.1.2) both support Bonjour network synching now. This means that I can sync the data between my desktop and my iPhone using my local network. Finally, it all works!

The setup is really easy. For OmniFocus on the desktop, you just need to adjust your preferences as such:


(click to view)

Then from the iPhone, you enter the settings menu and pick the Bonjour network as shown here:

The best part, of course, is being able to make use of all your actions while on the go. Here are some screenshots that show OmniFocus being used on my iPhone:


(home screen)


(main application screen)


(contexts screen)

I have written about OmniFocus many times before on this site (more notes here) but if you are looking for a GTD solution that works both from your desktop and while you are mobile, then this is definitely worth checking out. I’m definitely happy with it (finally).

Sunday, November 16th, 2008 Software No Comments

Billings 3


For the MacOS only.

As a small business owner, tracking the projects that you are working on, the hours worked, your billing rate, generating invoices, etc. can be a hassle. I bought Billings 3 a couple of weeks ago to solve these issues and am glad I did. While you can visit Billings 3 web site to learn, here are a few pros and cons from my experience:

Things I Like

  1. Getting started is really easy. Simply import client information from your Address Book, create a new project associated with the client, create a working slip, set your hourly rate, and start the timer to clock your hours.
  2. After the application is started a little clock timer shows up in the MacOS menu bar giving you a handy way to start/stop time. You can also set when the timer should time out in case you forget to turn it off manually.
  3. Working slips are how you track time and itemize work for a project as a whole. I like to label my working slips by versions, milestones, iterations, etc. For example, I might have a project called GeoMiner that requires two months worth of work with two-week milestones. Each working slip slip can be labeled Milestone 1, Milestone 2, etc.
  4. Being able to generate professional looking invoices from working slips saves me a ton of time. It only takes a couple button clicks to turn a working slip into an invoice which can then be e-mailed as a PDF or printed out.
  5. There are multiple theme templates you can choose from to style your reports, invoices, etc. There is also support for building your own theme or customizing an existing one.
  6. Theme templates can also be applied to labels and envelopes. I find the envelope printing feature very handy not only for clients but for other printing purposes where you need a professional look and feel.
  7. Even though a project must be tied to a client, there is support for personal projects. For me, this is extremely handy as I use personal projects to track time spent on open source projects, the work I do for my HOA, experimental R&D, etc. Even if you are not running a business, I see this as a great tool to add perspective on how you manage and spend your time.

Things I Don’t Like

  1. Client information is pulled from your address book when setting up new work. That is fine. What I don’t like is that a new category gets automatically created in your address book called Billings. Bah.
  2. I wish you could track stock being earned in a company. Let’s say that for each hour you work, 5 shares of stock is accumulated. It would be nice to automatically track and see a summary of your stock total by working slip and project as a whole. The workaround is to use the customized fields feature of a project, label it “Stock Shares”, and then manually do the calculations after each invoice billed.
  3. When going into triple digits for hours worked, the timer really only has space for showing double digits so some of the numbering gets cut off unless you dig into the log a bit more. Not a big deal but something that could definitely be fixed in the future.

So give Billings 3 a look. I definitely recommend buying a copy (which is at a discount currently) if you are in need of tracking projects, time, and keeping yourself organized.

Saturday, October 18th, 2008 Software No Comments

Blending Background Images and Colors

I ran into an odd situation where I was using a background image that was a gradient (with a light color turning darker from top to bottom). The gradient background, which is 1 pixel wide by 500 pixels high, would be positioned at the top and repeat across the horizontal axis. As you moved down the page, the background would eventually blend into the background color. For example, here is the CSS code:

body { background: #e75210 url(/images/main/bg.jpg) repeat-x top; }

This worked greate in Firefox and Internet Explorer. However, in Safari, I ended up with the following:

Not too sexy, right? Turns out that I wasn’t saving my JPG image for web format in Photoshop. I was saving it as a straight JPG image at a medium quality setting. Once I saved the image for web, Safari was happy and now I get the same experience in all three browsers.

Wednesday, August 27th, 2008 Software 1 Comment

Rubyology

For those looking to expand their interest in Ruby, you might want to subscribe to the Rubyology podcast/screencast feed. Thanks, Brant, for the tip.

A word of caution though, these podcasts are pretty rough. Here are a few reasons why:

  1. No Labels - Each show is simply a number both when viewed from your iPhone/iPod and on the file system of your OS. Makes it hard to remember what each show is about and why you would want to listen to it.
  2. Poor Sound - The sound quality is so low that I have to set my headphones at maximum volume and even then it is hard to sometimes hear.
  3. Poor Use of Technology - For me, when you start talking about code, it really should be in a screencast as it is hard to convey in speech only.

I downloaded the screencasts but haven’t had a chance to check them out. I’m hoping they are better than the podcasts. That being said, there are a few tips and tricks that I have picked up along the way.

Rubyology is hosted by Chris Matthieu who lives in the Phoenix area and can sometimes be found at the local Ruby user group gatherings.

Tuesday, August 26th, 2008 Software No Comments

Managing Software Deliverables Documentation

I need to send the details of what I have been working on in terms of enhancements and bug fixes to my clients. I tried several ways of doing this where I would manage a text or word document but each was annoying to maintain and it would force me to have an additional app up and running. The other issue is that I use MacOS Spaces heavily and I don’t like COMMAND+TAB’ing to a document file just to capture the tidbits I am working on. I just want to stay in the same space.

The answer? OmniFocus. With OmniFocus I can open the Quick Entry window from any MacOS Space by using the global CTRL+OPTION+SPACE key combo. BTW, for those not familiar with OmniFocus, you can read more about it on my OmniFocus page. Here is my setup:

The projects you see above are the standard fair where I have all my “next actions” listed in “Bug” and “Enhancement” projects so I can tackle them when I’m in my “Work” context. The new project I added was “Deliverables” to capture items that I need to send out using the “Pending” context. As I complete my next actions in the “Bug” and “Enhancement” projects, I bring up a new Quick Entry window and quickly document what I fixed or enhanced. This might sound like duplicate work but not really. The reason is that what I enter as a “Deliverable” gets additional documentation because it needs to be readable by the client. I can enhance the action by using the note capabilities of the action such as adding more text or capturing a screenshot or two. The Quick Entry window is also handy in those cases for capturing tangential fixes or enhancements while in the midst of working on another action.

When it comes time to release a new milestone to the client, I can export all “Pending” actions into a document and I’m done (or export the entire project as HTML). No longer is there extra work at the end of week assembling all the documentation together. Now I am getting things done faster with more time spent coding.

The following screenshot helps illustrate (this is a view of the “Deliverables project for all actions in the “Pending” context, sorry had to blur most of the content out — too many secrets ya know):


(click to view)

Now, if only OmniFocus would allow me to export the contents of my “Deliverables” project as PDF. Maybe it’ll happen in the future.

Sunday, August 17th, 2008 Software No Comments

Rails RJS Message Fades

In some cases, I have found that displaying info, warning, and error messages for five seconds in a Ruby on Rails application is long enough. I tend to like using RJS with the following setup:

  • /app/views/shared/message.rjs = The JavaScript code that will render my message partial.
  • /app/views/shared/_message.rhtml = The message partial that will display the message.

The RJS code looks like this:


(click to view)

The first line inserts my message partial at the top of my “content” element which, in this case, is a DIV. The rest of the code forces the page to delay for five seconds while the message is being viewed. After the five seconds is up, the message is faded for one second. The fade should be quick as I think the effect is more visually appealing when it fades fast.

The message partial code looks like this:


(click to view)

I like to initialize my partials with default values for required parameters so if things are missing the partial will still work and that is what the first two lines of code do. The last line of code simply displays the message based on the parameter values: type and message.

The resulting desired affect looks like this:

Error Message (delay for five seconds)

(click to view)

Error Message (being faded out)

(click to view)

Error Message (gone, page is back to normal)

(click to view)

As you might gather from the code, the message type determines the type of CSS used to style the message. For example: info = green, warning = yellow, and error = red.

Wednesday, July 23rd, 2008 Software No Comments

Maximize Your Firefox Real Estate

A while back, Lifehacker wrote a great article on how to maximize the default screen real estate used by Firefox. I thought this was worth mentioning again as I have been coming across a fair amount of people who have their Firefox address and toolbar so cluttered that it amazes me that one can read the web at all. In one instance, a guy sent me a screenshot of his browser where half of the screen was toolbars and bookmarks. Oy Vey! Here is a capture of my Firefox toolbar (with a few open tabs):


(click to view)

With the context of Lifehacker article (mentioned above) in mind, here is what I have done:

  1. Added only the essential icons (i.e. back, forward, refresh, new tab, etc). to the Navigation Toolbar.
  2. Added the address bar to and dropped the search bar (who uses this anyway) from the Navigation Toolbar.
  3. Put only my most used bookmarks on the Bookmarks Toolbar and grouped related bookmarks into folders.
  4. The last row is my web tabs which can grow and shrink depending on how much content I am reading, of course.

That is all that is needed IMO. Find what works for you and reclaim your screen real estate.

Monday, July 21st, 2008 Software No Comments

Favorite Ruby Feeds

Ruby

I have been busy developing a couple different Rails applications lately and wanted to share some of my favorite Ruby feeds that I follow daily in case it is of interest to fellow Ruby developers:

BTW, you can find this list and more on my Ruby page. While I don’t broadcast my page updates anymore I do update that page on a weekly basis.

Monday, July 7th, 2008 Software No Comments

Twitter in Plain English

The talent at CommonCraft have done it again and created an excellent video that explains Twitter for those who might not understand it yet. You can watch it below:

You can find me on Twitter, learn how I use of Twitter, and study more about Twitter on my Twitter page if you want to learn more.

Tags:

Monday, May 5th, 2008 Software No Comments

stackoverflow

stackoverflow, if you haven’t discovered it already, is a website and podcast that has the goal of being a place for programming discussions as well as a repository of code snippets and examples. In essence, a great place for us in the programming community to hang out and learn.

The site is being hosted by Joel Spolsky and Jeff Atwood and is only a week or two old. I applaud what these guys are doing and look forward to seeing how the site matures.

Wednesday, April 30th, 2008 Software No Comments

Search

 

Categories