<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
  <title>Cerebris - Blog</title>
  <id>tag:www.cerebris.com,2009:mephisto/blog</id>
  <generator version="0.8.0" uri="http://mephistoblog.com">Mephisto Drax</generator>
  
  <link href="http://www.cerebris.com/blog" rel="alternate" type="text/html" />
  <updated>2009-05-17T00:35:41Z</updated>
  <link rel="self" href="http://feeds.feedburner.com/cerebris" type="application/atom+xml" /><entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2009-05-14:52</id>
    <published>2009-05-14T21:09:00Z</published>
    <updated>2009-05-17T00:35:41Z</updated>
    <category term="Blog" />
    <link href="http://www.cerebris.com/2009/5/14/a-re-introduction" rel="alternate" type="text/html" />
    <title>A Re-Introduction</title>
<content type="html">
            &lt;p&gt;It's been much too long since we've posted to this blog, so perhaps a re-introduction is in order. With that in mind, we've refreshed our site, including new &lt;a href="http://www.cerebris.com/about"&gt;profiles and pictures&lt;/a&gt; of Larry and myself.&lt;/p&gt;

&lt;p&gt;Since our last post, we've had our heads down developing and supporting our &lt;a href="http://www.livetimer.com"&gt;time and expense tracking service&lt;/a&gt;. LiveTimer has really come a long way since we first launched its beta over two years ago, and we have plenty of plans for its future. We look forward to sharing more of our experiences on this blog in the weeks and months to come.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2008-10-20:50</id>
    <published>2008-10-20T15:53:00Z</published>
    <updated>2008-10-21T01:21:48Z</updated>
    <category term="Blog" />
    <category term="announcements" />
    <category term="ndebted" />
    <link href="http://www.cerebris.com/2008/10/20/introducing-ndebted" rel="alternate" type="text/html" />
    <title>Introducing nDebted.com</title>
<content type="html">
            &lt;p&gt;Do you ever need to split up a dinner tab? Do you ever say "I owe you one", only to forget later? Do you have trouble remembering whether you've paid a friend back? If this sounds familiar, we've got a site for you:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.ndebted.com"&gt;nDebted.com&lt;/a&gt; is a free online service for tracking and sharing debts with friends.&lt;/strong&gt;

&lt;p&gt;Use nDebted to keep running tallies of debts with all your friends in a number of real (dollars, euros, etc.) and fun (meals, beers, hugs, etc.) currencies. You can track your debts privately or you can invite friends to join nDebted so they can share and track debts with you.&lt;p&gt;

&lt;img src="/assets/2008/10/20/ndebted_dashboard_sm.jpg" /&gt;

&lt;p&gt;nDebted was developed during the &lt;a href="http://www.railsrumble.com"&gt;Rails Rumble&lt;/a&gt; this past weekend. As I mentioned in &lt;a href="http://www.cerebris.com/2008/10/15/getting-ready-to-rumble"&gt;my last post&lt;/a&gt;, the Rumble is a 48 hour web application development contest for &lt;a href="http://www.rubyonrails.org"&gt;Ruby on Rails&lt;/a&gt;. Well, the contest closed last night and we pushed nDebted out the door faster than we've "finished" any other application.&lt;/p&gt;

&lt;p&gt;Although the basic functionality is complete, there are honestly quite a few features we wish we had time to add. Contest rules prevent us from updating our entry while judging takes place, so we can't make any improvements for about a week. However, after judging is complete, we're going to continue work on nDebted regardless of how well it does in the contest.&lt;/p&gt;

&lt;p&gt;If you'd like to try nDebted, head over to &lt;a href="http://www.ndebted.com"&gt;nDebted.com&lt;/a&gt; and click on the "Sign up" link. Thanks for your interest!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; We've added a &lt;a href="http://getsatisfaction.com/cerebris/products/cerebris_ndebted"&gt;support forum for nDebted&lt;/a&gt; at &lt;strong&gt;GetSatisfaction&lt;/strong&gt;. Please use this forum to ask questions, share ideas, or report problems.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2008-10-15:49</id>
    <published>2008-10-15T16:43:00Z</published>
    <updated>2008-10-20T15:00:06Z</updated>
    <category term="Blog" />
    <category term="contest" />
    <category term="rails" />
    <link href="http://www.cerebris.com/2008/10/15/getting-ready-to-rumble" rel="alternate" type="text/html" />
    <title>Getting Ready to Rumble</title>
<content type="html">
            &lt;p&gt;Larry and I have signed up to compete in the &lt;a href="http://www.railsrumble.com"&gt;Rails Rumble&lt;/a&gt;, a 48 hour web application development contest taking place this coming weekend. This contest is a great way to showcase the productivity of &lt;a href="http://www.rubyonrails.org"&gt;Ruby on Rails&lt;/a&gt;, our web framework of choice, as well as excellent practice in the embrace of constraints.&lt;/p&gt;

&lt;a href="http://www.railsrumble.com"&gt;&lt;img src="/assets/2008/10/15/RailsRumbleBadge_125_1.png" /&gt;&lt;/a&gt;

&lt;p&gt;We're taking this opportunity to launch an idea of ours that we've had on the back burner for much too long. We're going to keep the name and purpose of the app secret until it's been launched. However, I will say that it will be open to the public, free, and useful to a wide range of people.&lt;/p&gt;

&lt;p&gt;Look for a post here on October 19th, if we have any strength left in our fingers after 48 hours of coding. We can't wait to share our new app with the world.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2008-07-11:46</id>
    <published>2008-07-11T13:47:00Z</published>
    <updated>2008-07-25T13:48:52Z</updated>
    <category term="Blog" />
    <category term="livetimer" />
    <category term="press" />
    <link href="http://www.cerebris.com/2008/7/11/tech-podcast-round-table-july-12th" rel="alternate" type="text/html" />
    <title>Tech Podcast Round Table - July 12th</title>
<content type="html">
            &lt;p&gt;I'll be speaking at the Tech Podcast Round Table tomorrow, Saturday July 12th at 4pm EDT. Details about the show can be found on &lt;a href="http://www.geeknewscentral.com/archives/008093.html"&gt;Geek News Central&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I've been asked to talk about &lt;a href="http://www.livetimer.com"&gt;LiveTimer&lt;/a&gt;, give a brief demo, and answer questions. Anyone can participate in the Round Table (just follow the instructions in the link above), so please feel free to join us.&lt;/p&gt;

&lt;p&gt;Thanks very much to Andy McCaskey of &lt;a href="http://slashdotreview.com/"&gt;Slashdot Review&lt;/a&gt; for inviting me on the show.&lt;/p&gt;

&lt;p&gt;UPDATE: The video is now up at &lt;a href="http://www.techpodcasts.com/archives/2008/07/tprt-2008-07-12.html"&gt;TechPodcasts.com&lt;/a&gt;.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2008-01-25:43</id>
    <published>2008-01-25T03:08:00Z</published>
    <updated>2008-05-07T20:59:07Z</updated>
    <category term="Blog" />
    <category term="announcements" />
    <category term="livetimer" />
    <link href="http://www.cerebris.com/2008/1/25/livetimer-is-out-of-beta" rel="alternate" type="text/html" />
    <title>LiveTimer is Out of Beta!</title>
<content type="html">
            &lt;p&gt;As we &lt;a href="http://www.livetimer.com/2008/1/24/livetimer-beta-complete"&gt;posted on the LiveTimer News&lt;/a&gt;, we're proud to announce that LiveTimer's Beta period is complete!&lt;/p&gt;

&lt;p&gt;We certainly haven't rushed the Beta period, which began in March 2007. We decided to continue the Beta while working on what we consider to be critical features for any paid online service: &lt;a href="http://www.livetimer.com/2007/12/20/backups-and-restores"&gt;downloadable account backups&lt;/a&gt;, which can be used to restore accounts, and a &lt;a href="http://www.livetimer.com/2008/1/11/announcing-the-livetimer-api"&gt;developers' API&lt;/a&gt;, which provides almost unlimited integration opportunities.&lt;/p&gt;

&lt;p&gt;Thanks again to all our Beta users who have helped shape LiveTimer. We hope you'll continue to work with us to improve our service for years to come!&lt;/p&gt;

&lt;div&gt;
&lt;a href="http://technorati.com/claim/y7x2sbavv"&gt;Technorati Profile&lt;/a&gt;
&lt;/div&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2007-09-16:38</id>
    <published>2007-09-16T16:00:00Z</published>
    <updated>2008-05-07T20:58:52Z</updated>
    <category term="Blog" />
    <category term="livetimer" />
    <link href="http://www.cerebris.com/2007/9/16/livetimer-progress" rel="alternate" type="text/html" />
    <title>LiveTimer.com Progress</title>
<content type="html">
            &lt;p&gt;Sorry for the lack of recent postings to this blog. We've been quite absorbed in the development of LiveTimer.com as we work towards the completion of the Beta period. It's been a very productive time as we incorporate insightful feedback from our users with our own ideas, and it's been quite rewarding to see the results.&lt;/p&gt;

&lt;p&gt;The &lt;a href="http://www.livetimer.com/news"&gt;LiveTimer News&lt;/a&gt; discusses some of the recent updates to LiveTimer.com:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.livetimer.com/2007/6/6/some-features-for-the-forgetful"&gt;Some Features for the Forgetful&lt;/a&gt; - New features have been added to retrieve forgotten account names and passwords.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.livetimer.com/2007/8/8/new-report-features"&gt;New Report Features&lt;/a&gt; - Reports can now be "memorized" for quick viewing at a later date. Furthermore, recently viewed reports are now being tracked and can be viewed again with a single click.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.livetimer.com/2007/8/16/new-activity-classification"&gt;New &amp;quot;Activity&amp;quot; Classification&lt;/a&gt; - An optional secondary classification for time entries has been added. Named "activity" by default, this classification is independent of the primary classifications already available (i.e. clients, projects and tasks).&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.livetimer.com/2007/8/16/id-fields"&gt;ID Fields&lt;/a&gt; - We've added custom ID fields for classifications and users. IDs can be used to keep track of your data, and may reference IDs that you use elsewhere for project management or accounting purposes.&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.livetimer.com/2007/8/21/bimonthly-report-filters"&gt;Bimonthly Report Filters&lt;/a&gt; - Reports can now be filtered by the periods "This half month" and "Last half month".&lt;/li&gt;
	&lt;li&gt;&lt;a href="http://www.livetimer.com/2007/9/14/new-bulk-time-entry-and-time-summary-views"&gt;New Bulk Time Entry and Time Summary Views&lt;/a&gt; - Time can now be entered "in bulk" one day or one week at a time. While bulk entry may not be as accurate for tracking time as the Timer, we think you'll find that this is the most efficient way to make many time entries at once. In addition, we've embedded a Summary view within the Time Ledger. This view displays a filtered time summary report that is updated automatically as you make Timer entries.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks again to everyone who's provided feedback thus far. We still have a few more updates planned before the Beta ends.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2007-06-09:26</id>
    <published>2007-06-09T01:07:00Z</published>
    <updated>2008-05-07T20:59:25Z</updated>
    <category term="Blog" />
    <category term="application design" />
    <link href="http://www.cerebris.com/2007/6/9/keeping-users-in-the-loop" rel="alternate" type="text/html" />
    <title>Keeping Users in the Loop</title>
<content type="html">
            &lt;p&gt;One of the challenges for a Software as a Service (SaaS) vendor is to provide just the right level of communication with users and potential users of your service. You want to make it very easy for users to PULL the information they want, while PUSHING them only the information they need. We've found that the key is to provide diverse communication channels, each aimed at relaying a different type of information.&lt;/p&gt;

&lt;h2&gt;System feedback&lt;/h2&gt;

&lt;p&gt;Immediate feedback to users' actions is probably the most important communication your application can provide. Feedback can reinforce actions that are successful and can alert users when there's been a problem.&lt;/p&gt;

&lt;p&gt;In &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt;, we display system feedback in a "status bar" near the top of every screen. The status bar is a fixed height in our layout, which allows us to display messages without resizing the layout and disrupting the user's experience. We use this status bar to display three different types of messages:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Confirmations&lt;/strong&gt; - Used to display reassuring feedback about successful actions the user has performed, confirmations are displayed for a brief time (about 8 seconds) and then begin to fade from the status bar.&lt;img src="/assets/2007/6/7/notice.jpg" /&gt;&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Warnings&lt;/strong&gt; - Warning messages should get the user's attention to let them know about system behaviour they may not expect. We display these with a bright yellow background to draw the user's attention, and we keep them visible until the user's next action.&lt;img src="/assets/2007/6/7/warning.jpg" /&gt;&lt;/li&gt;
	&lt;li&gt;&lt;strong&gt;Errors&lt;/strong&gt; - Error messages are used to indicate that a user's action was unsuccessful and could not be completed. We display these with a bright red background to really get the user's attention, and also keep them visible until the user's next action. The most common error messages are related to input validation and will often refer the user to another red highlighted field in the input form.&lt;img src="/assets/2007/6/7/error.jpg" /&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In addition to status messages, web applications can provide visual cues, such as animations, to reinforce users' actions &lt;em&gt;as long as it doesn't slow down the user experience&lt;/em&gt;. LiveTimer.com makes use of &lt;a href="http://script.aculo.us/"&gt;script.aculo.us&lt;/a&gt; for animations and Sébastien Gruhier's &lt;a href="http://transparent-message.xilinus.com/"&gt;transparent message&lt;/a&gt; to indicate progress. When considering how and when to use animations, focus on both the information that the animation conveys and whether it ultimately helps or disrupts the user experience. Forget about the initial "wow factor" and try repeating an animated action 10 times to see if you really think it's a good idea.&lt;/p&gt;

&lt;h2&gt;System notifications&lt;/h2&gt;

&lt;p&gt;Sometimes you need to notify users about changes to your service, and it's important to tell them &lt;em&gt;as they are using your service&lt;/em&gt;. For instance, if you're planning a system update at a certain time, it would be courteous to notify users in advance (e.g. "Server update at 11:00pm"). Also, after the system has changed, you want to let everyone know about those changes (e.g. "Procedure to add new users updated").&lt;/p&gt;

&lt;p&gt;We developed a notification system in LiveTimer.com for this purpose. Here's how a sample notification appears in the user's banner area:&lt;/p&gt;

&lt;img src="/assets/2007/6/7/sys_notification.jpg" /&gt;

&lt;p&gt;These notifications appear immediately after we post them from our system console application. They don't disappear until a user clicks Close or Details, or until after the notification has expired.&lt;/p&gt;

&lt;p&gt;Some notes:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Since notifications are displayed to logged in users, we personalize them for each user with their display preferences (time zone, 12 hr vs. 24 hr clock, etc). If an important event is happening at 5pm EST in the U.S., the user shouldn't have to convert that time themselves if they happen to be in India.&lt;/li&gt;
	&lt;li&gt;We may target different types of users (e.g. only account administrators) so that only appropriate messages are shown to each user.&lt;/li&gt;
	&lt;li&gt;We archive notifications in the Help section for future reference.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Email&lt;/h2&gt;

&lt;p&gt;When you really need to get in touch with users, whether they are currently using your service or not, sometimes "old-fashioned" email is appropriate. For instance, we send out a Welcome email to new users to provide a reminder of their account and user names. We also plan to send out an email to all users at the end of our beta period. Email is also appropriate for billing and other critical events. We tend to use this form of communication sparingly, since it can be one of the "pushiest" if the user has not specifically requested it.&lt;/p&gt;

&lt;p&gt;Of course, an email newsletter can be an effective marketing tool, but only if users can voluntarily subscribe and easily unsubscribe. I never appreciate being automatically subscribed to a newsletter after purchasing a product or service, and I am tempted to mark newsletters as spam if they don't provide a one-click link to unsubscribe.&lt;/p&gt;

&lt;h2&gt;Blog / news site&lt;/h2&gt;

&lt;p&gt;A blog or news site should be an entirely optional form of communication that people can choose to browse, subscribe to (via an RSS feed), comment upon, or ignore completely. It's probably not the best (or only) place to tell your users about important issues like expected system downtime, since it is unlikely that most of your users will read your blog daily.&lt;/p&gt;

&lt;p&gt;We created the &lt;a href="http://www.livetimer.com/news"&gt;LiveTimer.com News&lt;/a&gt; site to provide "the latest news, features and updates for LiveTimer.com." The purpose of this site is as much about describing our service to potential users as keeping current users informed of changes.&lt;/p&gt;

&lt;img src="/assets/2007/6/7/livetimer_news.jpg" /&gt;

&lt;p&gt;Of course, communication is a two way street. This post has focused on keeping your users informed, but it's equally important to make it as easy as possible for users to get in touch with you with questions, suggestions, comments, or problems. Sounds like material for a future post...&lt;/p&gt;

&lt;p&gt;So, how do you keep your users in the loop? Please feel free to comment below.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2007-05-21:18</id>
    <published>2007-05-21T03:29:00Z</published>
    <updated>2008-03-28T02:46:04Z</updated>
    <category term="Blog" />
    <category term="announcements" />
    <category term="livetimer" />
    <link href="http://www.cerebris.com/2007/5/21/livetimer-news" rel="alternate" type="text/html" />
    <title>LiveTimer.com News</title>
<content type="html">
            &lt;p&gt;We have just launched the &lt;a href="http://www.livetimer.com/news"&gt;LiveTimer News&lt;/a&gt;, which is devoted to the latest news, features and updates for LiveTimer.com.&lt;/p&gt;

&lt;p&gt;One of our first announcements is that the Beta period for LiveTimer.com will be ending June 30, 2007 &lt;em&gt;[Update: We've extended the Beta period - please stay posted for a new end date]&lt;/em&gt;. We're going to be quite busy between now and then implementing a &lt;a href="http://www.livetimer.com/faq#features"&gt;number of features&lt;/a&gt;. So keep your eyes on the News site, or better yet, subscribe to the new &lt;a href="http://feeds.feedburner.com/livetimer"&gt;RSS feed&lt;/a&gt;.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2007-04-21:16</id>
    <published>2007-04-21T20:13:00Z</published>
    <updated>2008-03-28T02:47:55Z</updated>
    <category term="Blog" />
    <category term="lessons learned" />
    <category term="livetimer" />
    <link href="http://www.cerebris.com/2007/4/21/lesson-learned-account-activation" rel="alternate" type="text/html" />
    <title>Lesson Learned: Account Activation</title>
<summary type="html">&lt;p&gt;It's been great to hear from people who have started using &lt;a href="http://www.LiveTimer.com"&gt;LiveTimer.com&lt;/a&gt; since it was launched a few weeks ago. Thankfully, the feedback we've received has been quite positive and the suggestions for improving the service have been really valuable.&lt;/p&gt;

&lt;p&gt;We're also finding value in the feedback we're not getting.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;It's been great to hear from people who have started using &lt;a href="http://www.LiveTimer.com"&gt;LiveTimer.com&lt;/a&gt; since it was launched a few weeks ago. Thankfully, the feedback we've received has been quite positive and the suggestions for improving the service have been really valuable.&lt;/p&gt;

&lt;p&gt;We're also finding value in the feedback we're not getting.&lt;/p&gt;
&lt;p&gt;One anomaly we didn't anticipate when we launched &lt;a href="http://www.LiveTimer.com"&gt;LiveTimer.com&lt;/a&gt; was how many people would sign up for our service but not activate their accounts. We had decided upon an activation process which would require clicking on an activation link sent in a "Welcome" email. This would ensure that we had a valid email address for account-related communication, and seemed like a very small hurdle for new users to clear. However, now that we know the number of people who took the time to sign up for &lt;a href="http://www.LiveTimer.com"&gt;LiveTimer.com&lt;/a&gt; but then never activated their accounts, we think this approach was a mistake. While some people may have just put their "Welcome" emails aside, we also received a couple reports of these emails being marked as spam. Either way, we're sorry that some people who were interested enough to sign up for &lt;a href="http://www.LiveTimer.com"&gt;LiveTimer.com&lt;/a&gt; never got to try the service.&lt;/p&gt;

&lt;h2&gt;Removing the Hurdle&lt;/h2&gt;

&lt;p&gt;Starting today, we've removed the activation step from the sign up process. After signing up for a new &lt;a href="http://www.LiveTimer.com"&gt;LiveTimer.com&lt;/a&gt; account, you'll be taken directly to your new account's login page. We're still sending out a "Welcome" email, but responding to it is no longer critical.&lt;/p&gt;

&lt;p&gt;If you signed up for a LiveTimer.com account in the past week but did not activate your account, please visit &lt;a href="https://www.livetimer.com"&gt;https://livetimer.com&lt;/a&gt; to log in to your now active account. If you signed up for LiveTimer.com over a week ago and never activated your account, please sign up for a new account at &lt;a href="https://www.livetimer.com/signup"&gt;https://www.livetimer.com/signup&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We apologize for any inconvenience this may have caused, and hope that the now streamlined sign up process works better for everyone.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2007-04-14:15</id>
    <published>2007-04-14T00:13:00Z</published>
    <updated>2007-06-09T01:46:39Z</updated>
    <category term="Blog" />
    <category term="development" />
    <category term="rails" />
    <link href="http://www.cerebris.com/2007/4/14/sketch-refine-erase-repeat" rel="alternate" type="text/html" />
    <title>Sketch, Refine, Erase, Repeat</title>
<summary type="html">&lt;p&gt;I enjoy drawing and painting in my spare time (which seems to come up about twice a year now). I'm no &lt;a href="http://www.youtube.com/watch?v=7vgAYTC9bRY"&gt;Picasso&lt;/a&gt; in any sense, and the thought of drawing something exactly as I want the first time I set pencil to paper is out of the question for me.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;I enjoy drawing and painting in my spare time (which seems to come up about twice a year now). I'm no &lt;a href="http://www.youtube.com/watch?v=7vgAYTC9bRY"&gt;Picasso&lt;/a&gt; in any sense, and the thought of drawing something exactly as I want the first time I set pencil to paper is out of the question for me.&lt;/p&gt;
&lt;p&gt;Ever since I was a young boy, I have begun every drawing by sketching many light lines to outline my subject. During this process, I try to shut down the critical part of my mind and simply commit a rough interpretation of the subject I have in mind to paper as quickly as possible. If I become too critical during this phase, I'm likely to lose the original spark that I wanted to capture in the first place.&lt;/p&gt;

&lt;p&gt;After I've committed this rough mess to paper, I can usually figure out if there's any hope at all for it. Sometimes I realize that the drawing is going nowhere, and into the recycle bin it goes. However, more often than not, I will see something, and perhaps just one thing, that I like and will set to work salvaging it. I begin to sketch over it with slightly darker lines, emphasizing what I like and leaving what I don't in the faint lines originally drawn. Inevitably, the eraser comes out when I can no longer ignore the lines I don't like. This usually works out since the light, noncommittal lines are easiest to erase.&lt;/p&gt;

&lt;p&gt;I repeat this process of sketching, refining and erasing iteratively until I'm able to produce something halfway decent on a good day. I find that the end result of this process is always slightly different, and definitely more refined, than the spark of an idea that started the drawing in the first place. Of course, no amount of refinement can salvage an idea that was bad from the start, but hopefully I'm able to nip those bad ideas in the bud before I waste much time on them.&lt;/p&gt;

&lt;h2&gt;Code, Refine, Delete, Repeat&lt;/h2&gt;

&lt;p&gt;I've come to realize that I use a similar iterative process every time I need a creative solution to a problem. Since most software development (enjoyable software development, that is) calls for creative solutions to interesting problems, it often takes quite a few trips around this design spiral to reach a finished product. Furthermore, a successful product is never "finished", especially where web development is concerned, so it's pretty important to enjoy those trips.&lt;/p&gt;

&lt;p&gt;I've used quite a few web development technologies in my career already. Scripting frameworks, such as ASP, PHP and JSP, have always felt too unstructured, and therefore make it difficult to build anything with a foundation of much complexity. On the other hand, Java-based frameworks, such as Struts and JavaServer Faces, provide a solid foundation for complex applications. However, this foundation is so heavy that every walk around the design spiral feels like a forced march through quicksand.&lt;/p&gt;

&lt;p&gt;Early last year I discovered Ruby on Rails and finally found a language and web framework with enough structure to build a solid foundation for complex web applications, yet with enough agility to make refining those apps a joy instead of a chore.&lt;/p&gt;

&lt;p&gt;The Ruby language is remarkably expressive yet concise. It's been said that it works with you instead of against you. It is because of Ruby that the initial spark of an idea can flow into an application so quickly and easily. It's also because of the flexibility of Ruby that a framework like Rails even exists.&lt;/p&gt;

&lt;p&gt;Rails provides the cleanest separation of model, view and controller I've seen in any web framework. This clean separation of roles within an application means that there is little, if any, repetition of code. This lack of repitition means that refinements can be made to an application by working just at the level (or levels) that needs refinement.&lt;/p&gt;

&lt;p&gt;When I'm working in Ruby on Rails, I feel like I'm sketching with well sharpened pencils on quality paper, with a good eraser by my side. I'm able to rough out my idea very quickly to see if it has merit. If not, the application can be tossed without too much grief, because a minimal amount of effort was expended initially. If things are working out, I'm able to refine what I like and delete what I don't, building up the same application from prototype to production with the tightest design spirals I've ever experienced developing software.&lt;/p&gt;

&lt;p&gt;The only downside is that whenever I need to return to using other technologies, I feel like I'm forced to sketch using my trackball in MS Paint.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2007-04-10:14</id>
    <published>2007-04-10T13:00:00Z</published>
    <updated>2008-03-28T02:48:50Z</updated>
    <category term="Blog" />
    <category term="announcements" />
    <category term="livetimer" />
    <link href="http://www.cerebris.com/2007/4/10/livetimer-pricing" rel="alternate" type="text/html" />
    <title>LiveTimer.com Pricing</title>
<summary type="html">&lt;p&gt;Today we're announcing pricing for &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt;: &lt;strong&gt;$5 per active user per month&lt;/strong&gt;.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;Today we're announcing pricing for &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt;: &lt;strong&gt;$5 per active user per month&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt; includes the same features for every account, regardless of size. Every account is protected by SSL, because we believe that a single contractor deserves security as much as a large company. Every account can create as many classifications (i.e. clients, projects, tasks, etc.) as needed. And every new account gets a 30 day free trial to see if &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt; is right for them.&lt;/p&gt;

&lt;p&gt;Please note that &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt; is still in BETA, and will remain completely free during this period. If you sign up during the BETA period, your 30 day free trial will not begin until the BETA period ends.&lt;/p&gt;

&lt;p&gt;We hope that you find this pricing plan to be straightforward and fair.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2007-03-31:13</id>
    <published>2007-03-31T21:00:00Z</published>
    <updated>2008-03-28T02:49:58Z</updated>
    <category term="Blog" />
    <category term="announcements" />
    <category term="livetimer" />
    <link href="http://www.cerebris.com/2007/3/31/livetimer-beta-launch" rel="alternate" type="text/html" />
    <title>LiveTimer.com is Alive and Ticking!</title>
<summary type="html">&lt;p&gt;We are excited to announce the public beta launch of &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt;, our new online time tracking service.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;We are excited to announce the public beta launch of &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt;, our new online time tracking service.&lt;/p&gt;
&lt;p&gt;&lt;img src="/assets/2007/4/4/timer_page_tr.jpg" /&gt;&lt;/p&gt;

&lt;p&gt;As consultants who often bill by the hour for our services, we've wanted a service like &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt; for many years. Anyone who's ever tracked their time knows how frustrating and inaccurate it can be to recall hours worked for the prior week or two. On the other hand, tracking time as you work can leave you with a pile of scribbled notes that are a chore to make sense of at the end of the day.&lt;/p&gt;

&lt;h3&gt;Make the most of your time&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt; makes time tracking accurate and simple, and then gets out of your way so you can keep working. We've included a stopwatch-style Timer to let you track hours as you work on your computer, and a Time Ledger for entering time after the fact.&lt;/p&gt;

&lt;h3&gt;Custom fit for your business&lt;/h3&gt;

&lt;p&gt;Plenty of people need to track their time: accountants, lawyers, engineers, designers, software developers, and consultants of all kinds. However, not everyone thinks of their work in the same way. Lawyers might think of "clients" and "cases", while engineers might think about "projects" and "tasks". Some people may just work on "jobs". &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt; lets you classify your work the way &lt;em&gt;you&lt;/em&gt; want, by allowing you to rename and restructure classifications.&lt;/p&gt;

&lt;h3&gt;Built to grow with your business&lt;/h3&gt;

&lt;p&gt;We know that businesses change constantly. We want  to stay with you through those changes, so we've included features such as user permissions and project assignments in &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt;. These features give you control over who can do what within your account.&lt;/p&gt;

&lt;h3&gt;Try LiveTimer.com for free and see for yourself!&lt;/h3&gt;

&lt;p&gt;Thanks are in order to all of the ALPHA users who have helped us test and refine &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt;. We're now proud to share &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt; with the world as a public BETA that anyone can use for free during the BETA testing period.&lt;/p&gt;

&lt;p&gt;Please &lt;a href="http://www.livetimer.com/tour"&gt;take the tour&lt;/a&gt; or &lt;a href="https://www.livetimer.com/signup"&gt;sign up for a free trial account&lt;/a&gt; now!&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://www.cerebris.com/">
    <author>
      <name>Dan</name>
    </author>
    <id>tag:www.cerebris.com,2007-03-31:12</id>
    <published>2007-03-31T16:48:00Z</published>
    <updated>2008-03-28T02:50:26Z</updated>
    <category term="Blog" />
    <category term="announcements" />
    <link href="http://www.cerebris.com/2007/3/31/ceriously-our-new-blog" rel="alternate" type="text/html" />
    <title>Ceriously... Our New Blog</title>
<summary type="html">&lt;p&gt;It seems fitting to introduce our new blog, &lt;strong&gt;Ceriously...&lt;/strong&gt;, just as Spring is beginning to break here in New Hampshire. In a way, our company is coming out of a long hibernation away from the public eye. For years, we've been steadily working on custom software solutions, thanks to a handful of corporate clients who have kept us busy with as much work as we can handle. We've been fortunate that this has continued despite a complete lack of advertising, save "word of mouth" from our clients.&lt;/p&gt;</summary><content type="html">
            &lt;p&gt;It seems fitting to introduce our new blog, &lt;strong&gt;Ceriously...&lt;/strong&gt;, just as Spring is beginning to break here in New Hampshire. In a way, our company is coming out of a long hibernation away from the public eye. For years, we've been steadily working on custom software solutions, thanks to a handful of corporate clients who have kept us busy with as much work as we can handle. We've been fortunate that this has continued despite a complete lack of advertising, save "word of mouth" from our clients.&lt;/p&gt;
&lt;h3&gt;So what's changed?&lt;/h3&gt;

&lt;p&gt;We still love to design and create software solutions for our clients. However, if given the choice between solving the same problem over and over again vs. solving it once and providing that solution to everyone, we'd prefer the latter.&lt;/p&gt;

&lt;p&gt;We've identified several business problems that seem to come up repeatedly, whether for ourselves or for our clients. We'd like to tackle these problems head-on with commercial web applications. The first of these is &lt;a href="http://www.livetimer.com"&gt;LiveTimer.com&lt;/a&gt;, an online time tracking service that will be launched as a public BETA later today. Please check back soon. [EDIT: You can read the announcement &lt;a href="/2007/3/31/livetimer-beta-launch"&gt;here&lt;/a&gt;]&lt;/p&gt;

&lt;h3&gt;So why write a blog?&lt;/h3&gt;

&lt;p&gt;To post pictures of our cats, of course!&lt;/p&gt; 

&lt;img src="/assets/2007/4/4/dans_cat.jpg" alt="Dan's cat" /&gt;

&lt;p&gt;Well... &lt;em&gt;actually&lt;/em&gt;, we do have something to say that we hope you'll find interesting. We plan to write about our applications, software design and development in general, the business side of web applications, and perhaps a diversion or two, &lt;em&gt;but we'll really try to leave our cats out of this&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The other reason that we've decided to blog is to have an open dialog with our customers and the world at large. We don't want this blog to be a soapbox, but rather a conversation. &lt;strong&gt;So please always feel free to comment on any of our postings&lt;/strong&gt;.&lt;/p&gt;
          </content>  </entry>
</feed>
