Time.onrails.org is closing!

I just send an email to thousands of users to notify them that time.onrails.org is closing down. I don’t think many of these users are active but just in case I wanted everyone to be able to get their data out of the system if so they wished.

I will turn down the service on March 17th at 9pm.

Now why in the hell would I close this service. In brief I created it for myself on the plane to RubyConf 2005, thought it was cool and opened it to the public in April 2006. I haven’t updated the code much since many years and just don’t have the time to add new features, and trust me Rails code from 2005 looks slightly different than nowadays Rails code.

For posterity here is the “official” announcement blog entry of the creation of the service:

April 13, 2006 – LAUNCH time.onrails.org, time tracking made simple!

And here are few more articles related to time.onrails.org.

Here is part of the email I send to the users:


Time.onrails.org is closing down March 17th 2010 at 9pm Mountain time.

You can export your time entry for each project by clicking on the export buttons at the bottom of each project page or you can export your full account by just login and then go to this url:

    http://time.onrails.org/export/xml/user

This will export each of the projects will all sections including the notes.

Please start transitioning to a new service now.

As a replacement service I would suggest harvest (http://www.getharvest.com/) which offers a free plan which allows for 2 projects, 4 clients, unlimited invoicing for 1 user absolutely FREE.

Thank you to all the users over the years I hope you enjoyed this free service. Time.onrails.org enjoyed thousands of users and I received many nice complimenting emails for the service over the years. The main reason that I close this service is that I am starting to use harvestapp for my own time tracking. I wrote time.onrails.org back in 2005 just for fun and thought it could be useful to others. It fulfilled my needs of keeping track of time for the various customer projects I worked on over the last few years.

Since we moved to slicehost it was very stable and I just have good things to say about slicehost, they are just great. Recently one of the slice time.onrails.org was running on had issues and got moved twice over two days. Again slicehost was on top of that situation and I just sat back and they did all the work. But this also reminded me that I cannot just keep the service running without giving it the time and effort it deserves and just now I don’t have that time as I am working on other projects, such as http://appsden.com.

So I went on the search for a replacement service and  looked at many out there. And Harvest just added the timestamp feature, which is exactly how I track time, their app is more fleshed out than time.onrails.org, so I decided to move over to use their services.

The great news is while I tweeted about my move to Harvest, Doug, which I knew from his time in Denver mentioned that he now works for Harvest. So he put me in contact with the cofounder and I asked him if they could get some deal for my current users, and they where very responsive and create a special promo code. Thanks for that and I hope you try and enjoy their services. Just for disclaimer I didn’t ask for any monetization or anything for referring you to Harvest, the idea was just to have an alternate offering in case you needed one. But they offered me a free Solo plan, so hey, at least I got that out of this whole ordeal.

Please don’t hesitate to contact me for any question at daniel@onrails.org.

Thank you again for having tried out or being a user of time.onrails.org over all these years.

Kind regards,
Daniel Wanja

Posted by Daniel Wanja Thu, 18 Feb 2010 03:15:03 GMT


Updated: http://time.onrails.org

Time.onrails.org – a simple time tracking application has been updated.

  • Time shifting – Let’s assume you entered time from 08:00-12:00 13:00-17:00. Then you notice that you effectively took a longer lunch. Simply edit the 12:00 to 11:45, then tab to the next field and change 13:00 to 13:15 and press enter. In the same way, if you didn’t come back from lunch at all that day. Simply clear out the 13:00-17:00 field and press enter. This will delete this time slot.
  • Running Timers – When a timer is running (i.e. 11:30- ), the time line (day) is highlighted in green. That way it’s easy to detect which timers are still running.
  • IE6 Support. Time entry was pretty broken with IE. This should have been fixed. I haven’t installed IE7…so I assume it doesn’t work there.
  • Rails Migration. Behind the scenes Rails was migrated from 1.1.6 to 1.2.3.

20070713_timeonrails.jpg

Please let me know if you find anything unusual.

Enjoy!
Daniel.

Posted by Daniel Wanja Sat, 14 Jul 2007 04:46:24 GMT


Certified Flex 2.0 Developer.

Last week I passed Adobe's Flex 2 Developer Exam. Now what's that got to with Rails. Like you may have seen in my previous post I like both technologies, Flex and Ruby on Rails, and I see the strength of both coming together and allowing to build some really cool applications. Now WebORB for Ruby on Rails will play a big element in tying both together. WebORB is not the only way to build a Flex app on top of a Ruby on Rails server, but it provides an efficient mechanism to transfer data between the UI and the server. Beginning of 2005 with Lee we wrote Flex::OnRails, a now "deprecated" (as in don't even try to use it) framework, that was build on top of AMF4R. At that time combining Flex and Rails was an odd match, due to the pure enterprise nature of Flex with it's very high price sticker. Now that Flex is free, I can see many projects benefiting from integrating both. It is true that many web sites don't need a Rich User interfaces that go beyond what can be achieve with javascript. There are many javascript based websites that are incredible. See http://www.fluxiom.com/ or http://wufoo.com/ as two refined examples. However with Flex it's often faster to build an application than with html and javascript, the applications often perform better, are easier to skin for a developer, the code is more readable and can support very large projects. Don't take me wrong, I love the Prototype library and Scriptaculous is really cool, and I will do many more "pure" Ruby on Rails projects, but at least now there is a serious alternative that I will consider in many scenarios.

Now before you ask why did I even bother doing a certification, let me answer it. The first reason is that it forces me to read and study material that I would never have the patience to read otherwise as there is always too many cool things to try out. Now everyone has it's own style of learning. I started Rails by reading all the rdoc that was available and I also love to read the source code. The second reasons is marketing, and this worked really well for me in the past and opened several doors. Personally, I wouldn't value a developer by it's certification but rather by the projects he worked on, the code he writes and it's personality.

I haven't found much information out there on the Flex certification which is pretty new . The Exam Preparation Guide by Adobe provides an overview and there is a more detailed version on the net which is not the official one. I found lot's of information in Adobe's online documentation and in the Flex 2, Training from the source book.

So be ready to hear a little more on Flex and Rails on this blog.

Posted by Daniel Wanja Wed, 07 Feb 2007 07:03:00 GMT


Time.onrails.org now with Blinksale integration.

Blinksale is the easiest way to send invoices online. Now time.onrails.org is the easiest way to create Blinksale invoices. Check http://time.onrails.org/doc/blinksale/blinksale.html for more details.

Posted by Daniel Wanja Thu, 05 Oct 2006 22:36:00 GMT


Blinksale API

Today Blinksale published it’s data API. See http://www.blinksale.com/api for the details.

It’s good news for time.onrails.org as now we can use the api to generate a draft Blinksale invoice with one click. I have started coding the integration and expect to release it once I have completed extensive testing.

In short, time.onrails.org interacts in the following way with Blinksale:

  1. get list of client names
  2. get highest invoice number
  3. create invoice

Let’s have a peek at how this is implemented.

Accessing Blinksale

A Blinksale class is provided to interact with your Blinksale data. You need to provide your blinksale id, username, and password.

@blinksale = Blinksale.new 'blinksaleid', 'username', 'password'

In time.onrails.org we will let you define your Blinksale credentials once to avoid having to retype them each time you create an invoice. Storing the password is optional, and if not provided it will be prompted each time. A use_ssl flag can also be specified if you have a paid Blinksale subscription. This is of course recommended for security reasons.

Get the list of clients

clients = @blinksale.clients
names = clients.collect { |c| c.name }

Get the highest invoice number

invoices = @blinksale.invoices
invoices.collect{|invoice| invoice.number}.max  

Create An Invoice

invoice_data =  BlinksaleGenerator.to_xml(INVOICE)
new_invoice = @blinksale.invoices.new invoice_data
new_invoice.save

BlinksaleGenerator is a time.onrails.org class that helps creating the following ‘invoice’ xml.

<?xml version="1.0" encoding="UTF-8"?>
<invoice>
   <client>http://#{blinksaleid}.blinksale.com/clients/#{@client_id}</client>
   <number>34</number>
   <date>2006-09-27</date>
   <terms>30</terms>
   <currency>USD</currency>
   <lines>
     <line>
       <name>Consulting</name>
       <quantity>2.0</quantity>
       <kind>Hours</kind>
       <unit_price>150.00</unit_price>
       <taxed>false</taxed>
     </line>
   </lines>
 </invoice>

The integration is pretty straight forward. Don’t you think? Thanks Scott and your team for this cool application. To find out more on the blinksale api see the online documentation at http://www.blinksale.com/api

Posted by Daniel Wanja Mon, 02 Oct 2006 21:52:00 GMT


UPDATED: time.onrails.org - new features, fast server.

Time.onrails.org, the simplest and most efficient time tracking application out there, just got better!

Speed: We moved it to a new server. The application is now really responsive!
More Projects: We also took the opportunity to extend the number of projects you can manage from 4 to 12 projects and sections from 12 to 52.
Sorting and Filtering: Added new functionality like project reordering and filtering.
Project Sharing: You can now share a read-only view of your projects for your customers or coworkers.

So, no time to loose, go try it out and let us know what you think.

Posted by Daniel Wanja Tue, 05 Sep 2006 21:08:00 GMT


Dreamhost out, Slicehost in.

I must say I like Dreamhost but we had too much downtime recently. Even if we offer time.onrails.org for free it must be up and running when the users need it. This is especially true for a time management application. When you are done with your workday, one click and go home. Lee and I are using time.onrails.org daily for all of our customer projects and recently it has been down once too many time. In addition it’s getting really slow, but then again with a $9 a month shared host plan, I must admit we went already a long way. So time to move on and find a better solution.

We went the last two days on the search for a new hosting provider that would provide dedicated or virtual private servers. There is lots of offerings out there and good information. Lee stumble upon slicehost.com and liked the idea of a small hosting company, that diggs Ruby on Rails, and is about to be launched. They are small and hopefully will work hard to make it. I was not too convinced so we decided to contact them, and had a nice chat with them over their campfire support room. See the campfire transcript. I gave them a hard-time, but they provided us with lots of good information. Check them out if you want to find out what’s going on at slicehost

Transcript: http://onrails.org/files/20060804_slicehost.html

So time.onrails.org users, thank for your patience. In the next month we will move over our application to a way faster environment.

Update: time.onrails.org has been moved. If you sign up with slicehost because of us, feel free to say we referred you. :) Just use this referrel link.

Posted by Daniel Wanja Fri, 04 Aug 2006 21:00:00 GMT


Update: time.onrails.org. Add Notes to your time entries!

Updated time.onrails.org

The new functionality is


  • Add notes to your time entries. You can now add notes from the Dashboard or your project pages.

  • Improved CSV export.

Some functionality I am considering next:


  • fixing the rendering in Internet Explorer. I just saw this bug since I installed Parallels on my MacBook pro.

  • Blinksale integration, I started to write the UI to submit a time section to generate an invoice via Blinksale, but I am still waiting to get access to the api. Unfortunatly I didn’t make to the beta of the API. I even tried to convince Josh Williams from Firewheel Design, to let me in on it, but without success. Thanks Josh for the quick response anyhow!

Posted by Daniel Wanja Mon, 08 May 2006 21:58:00 GMT


Update: time.onrails.org. Capistrano Rocks!

Updated time.onrails.org

The new functionality is


  • A first version of data export to text, csv, and xml. See the export icons in the bottom right of the projects and dashboard page.

  • A mini system message board. So we can leave you a message, i.e. for planned system maintenance downtime, or to announce new functionality.

  • The latest version of the Gruff Graphs

I realized that data export needs some more work as in Safari the xml doesn’t appear unless you do a view source and the csv doesn’t load Microsoft Excel directly nor adds a default .csv extension to the generated data.

We will deploy new functionality or fixes issues once a week if possible. Note that we are going to keep this application simple, but any suggestion is welcome. Contact us at time@onrails.org.

I deployed the application using Capistrano. It is pretty stressless and consists of the following steps:


rake remote:disable_web
rake remote:deploy_with_migrations
rake remote:enable_web

In this case we had a database migration, the new ‘messages’ table.

The only issue that persists is that the application doesn’t start right away after the deployment and seems to hang for about 10 minutes before comming back to life. The application is hosted on Dreamhost and we don’t have full control on how the displatch.fcgi processes are launched.

It’s now up and running, so enjoy!

Posted by Daniel Wanja Wed, 19 Apr 2006 21:50:00 GMT