Ronin Blog

How we’re making invoicing and time tracking better for everyone

Archive for the ‘Ronin Product’ Category

Authorize.Net Invoicing

with 2 comments

We’ve recently added integration with Authorize.Net, one of the more popular payment gateways. For the impatient, there’s no need to read further - just log in to your account and the option will be waiting for you under the “PayPal/Auth.Net Integration” link.

Integrating with Authorize.Net is fairly straightforward - with one caveat - Authorize.Net only handles USD (United States Dollars) as the currency for every transaction. We’ve held back on the integration until now simply for the reason that we wanted solutions that would appeal to every Ronin user, of whom lots are international, particularly in the UK and rest of Europe. One of Ronin’s strengths is the ability to handle multiple currencies, even within one account and we wanted to make sure we “do it right, or don’t do it at all.” However, there were simply too many requests for Authorize.Net integration to ignore.

With that, we’ve decided to integrate Authorize.Net with the option to still fallback on PayPal (which handles more currencies). So, if you enable both, your USD invoices will simply accept credit cards via Authorize.Net and your other non-USD (CAD, EUR, GBP, etc) invoices will still go through PayPal. You’ll get paid sooner, your clients will be offered the convenience of paying online when applicable, and everyone ends up happier!

Start sending out those invoices! Enjoy!

Written by Ronin

July 7th, 2009 at 1:23 am

Recurring Invoices - Back to Basics.

without comments

We’ve been asked many times whether or not recurring invoices was possible with Ronin. For a while, we’ve had to say “No” or “This feature is under development.” We always planned to build in this feature, but we wanted to make sure it felt right - that it felt no less intuitive than creating a single invoice.

We eventually built the feature, but decided to hold off on releasing it until we did enough user testing before releasing the feature. As it turns out, the first iteration of it, indeed, wasn’t ideal. What we had designed was a “schedule” that you could assign to many clients. The idea was that freelancers and firms would have standard packages (say a retainer for $x/month) and that you could then put clients into that schedule. Furthermore, it was thought that this would allow the most effecient way of managing the schedules - you would never have to create too many, there would only be a few that you assigned to clients.

After some testing, we realized being technically neat didn’t necessarily make a product more intuitive. In fact, it often works in reverse. The end result just didn’t fit a typical workflow. There were a whole host of issues, but chief among them were that:

  1. It made recurring schedules feel like too much of a “first-class” feature. We want Ronin to revolve around clients, but the initial design made it feel like schedules owned clients, not the other way around.
  2. Maintenance of schedules was actually harder, not easier. Once we started considering the ability to “pause” and “resume” schedules, it became a nightmare to display the status of the combination of a schedule and its clients in an intuitive way.
  3. It was overkill. We realized that it wasn’t very common to have two clients share the exact same schedule (including date, item naming, price, etc.)

Instead, we eventually went back to basics. Creating a recurring schedule is as easy as creating a normal invoice and it’s tracked just like one as well.

Finally, you can now create recurring invoices with Ronin. Enjoy.

Written by Lu Wang

March 28th, 2009 at 3:18 am

Posted in Ronin Product

Usability Study Pitfalls

with 2 comments

The best way to improve an application’s usability is to run extensive studies - they allow you to get an idea of what it’s like to walk a mile in your users’ shoes. Sometimes, just the practice of sitting down with another human being and verbally walking through your application’s features brings out certain perspectives you may not have considered before. This is especially true if you wear many hats during the development cycle.

At Ronin, we run a usability study every few weeks, focusing on new features. We’re usually very considerate of our users throughout our application design process, but you’d be surprised how much slips through when you’ve looked at the source code of your application longer than you’ve looked at the actual interface. Running a usability study is an exercise that usually brings in a large list of low hanging fruit and a moderate list of long term application improvements.

That said, from our experience running these studies, there are a few things we realized you can never fully understand from just the studies themselves.

User patience

When a study participant sits down next to you to walk through your application, they’re in no hurry. They’ve committed the next 30 minutes to 1 hour of their lives to the purpose of completing the study. Compared to the average 9 second attention span you’re likely to get from a real world user, this is too distant from reality to simulate.

Unfortunately, there isn’t much you can do to recreate a frantic in-the-wild scenario. This negatively affects the ability to learn about edge-cases and error handling the most. A usability study user is likely to run into some errors that they are patient enough to figure out during a study, but would otherwise cause them to throw their hands up in disgust. To counteract this, its best to read between the lines when it comes to negative reactions. Multiply observed frustration during studies by many magnitudes to really understand how a user may react.

Also, try to develop an understanding of how user patience can be a big factor. Spend time testing your home, promo, and marketing pages with an emphasis on asking for a stream of consciousness verbal description of what they see with a time limit. After all, if they stick around long enough to try your application, you’ve won half the battle when it comes to user patience.

User attentiveness

Another problem is that study participants are usually more alert and attentive than their real-world counterparts. They’re willing to take their time and figure out a problem. They’re willing to devote their undivided attention to the task at hand. Compare this to the more likely scenario of an actual user trying out your application at 2 a.m. with the TV running in the background and after surfing to your promo page by coincidence. It’s night and day.

To counteract this, make sure you get immediate verbal feedback after each action they take, to get a sense for what they’re thinking before the interface has had time to soak in their consciousness.

User skepticism

Most deceiving of all is the mindset of a usability user. Depending on what your relationship is with the user (stranger, guest, friend, acquaintance, co-worker from another department, spouse, child) you need to realize they’re walking into the study with some intentions. Sometimes they’re participating because you’ve promised to pay them; other times they’re participating because they want to help you out. Whatever the case, nothing simulates user skepticism.

When a random user hits your site or application (say from Google), they’re coming with a guarded mindset. They’re cautious more than curious and they’ll immediately look for warning signs. A poorly designed interface with no obvious indications that there is active support or lack of no-obligation demos or screenshots are an immediate turn off. If they eventually try your application or dig deeper into your site, they’ll probably be less willing to try anything but the most obvious of features.

When a user hits your site or application from a referral or other more qualified method, they’re coming with a curious mindset. They want to dive right in and see what all the fuss is about. They’re also likely to be the ones who have heard of alternatives or are currently using an alternative and now they’re using your application to do some feature comparisons.

When a user participates in your user study, you get none of this. They’re neither overly guarded nor overly cautious. It is more likely that they feel you are working together in unison towards a common experimental cause. You really don’t get the stinging skepticism that a real world user carries.

It helps to keep these things in mind when conducting usability studies. Sometimes it’s too easy to pretend that you’ve aggregated all the feedback you can by running a well-designed series of studies. Even armed with that data, keep in mind that the best feedback is silent feedback. Make sure to analyze your logs. Don’t dismiss your analytics tools. Look over real user data from real users in the wild. Couple that data with usability studies and only then do you have a good macro- and micro- level understanding of your own application.

Written by Lu Wang

January 16th, 2009 at 2:13 am

Support for more currencies

without comments

We’ve recently added support for four more currencies: JPY (Japanese Yen), INR (Indian Rupees), CHF (Swiss Francs) and NZD (New Zealand Dollars). You can now send those invoices in 10 different currencies.

In adding support for more currencies, we wanted to make sure we included currencies that are “the most popular” (whatever that means). Surprisingly, there was no definitive resource that lists out the most popular currencies by any decent metric, unlike say, languages, where the list is easy to find. We did run across this discussion which seems to indicate that this is a question that people want answered.

Eventually, we ran into the list of the top 8 most traded currencies in the foreign exchange. Not surprisingly, that list looks very similar to the list of supported currencies in Ronin. Oddly enough, the Russian Ruble and the Brazilian Real were not present, despite being high up on the top economies list.

Written by Ronin

December 23rd, 2008 at 2:47 am

Posted in Ronin Product

New Product Feature: Estimates

without comments

We’re always looking to improve our offering here at Ronin, and one feature we’ve received several requests for was the ability to send estimates. Unfortunately, everyone’s daily workflow is different - drafting and sending estimates is no exception. We’ve tried to incorporate as much feedback as possible, and while we’d love to including every feature detail from numerous email threads about this feature with our customers, sometimes we have to call the shots that make sense.

So log in to your Ronin account and you’ll notice a new estimates tab. Hit the “New Estimate” button and you’re on your way. After drafting the estimate, hit “Send Estimate” and your client will receive the estimate in his or her email. The client can then respond by leaving comments, accepting or declining your estimate.

Estimates can easily be accessed from the main interface

Estimates can easily be accessed from the main interface

Send estimates to clients

Send estimates to clients via email

Clients can accept or decline estimates right in the web interface.

Clients can accept or decline estimates right in the web interface.

It’s all very simple (we hope) and there isn’t too much different about drafting an estimate and an invoice. We hope we’ve nailed it, but we’d love to hear any feedback.

Written by Ronin

December 8th, 2008 at 4:38 am

Posted in Ronin Product

Tagged with ,

Usability: Improving the mental model

without comments

In his book “The Design of Everyday Things” Don Norman talks about mental models as a way to describe how a system is perceived from a designer’s perspective vs. a user’s perspective. The trick in having an application that feels natural for users is to have those two perspectives be as aligned as possible.

A few weekends ago, when I was conducting usability testing for Ronin, I noticed that the subjects were often clicking the upper-left logo to go home. This is a common paradigm on the web, and it’s often very acceptable to have the upper-left logo act as a “reset”, but I was disappointed in the inefficiency of navigation. For example, for a particular user to navigate to a certain invoice, he would click home, click on the client’s name in the “Recent Clients” section and then navigate into invoices from there. He would also frequently click from one client to another using “home” as a bridge while scanning for open projects. While this didn’t seem like much work (and he pointed to me that he didn’t mind it at all), I felt that the mental model he has established for the application didn’t quite match the mental model I had in mind as the designer of the application.

One problem I identified was that he used home as an entry point because it was the only thing common to all pages - the fact that they were tied to the home page somehow. The lack of consistently available top-level navigation made it impossible for users to develop a deeper, more accessible mode of traversing through the app.

Enter tabs.

Tabs help to establish a clear mental model

Tabs help to establish a clear mental model.

What you’ll notice if you study most applications is that there is always a highly visible interface component that helps users establish a mental model of how to interact with the application. Media players typically have play/pause/stop commands, browsers have back/forward/address-bar, and web applications typically have tabs, or some high-level navigation element.

After adding the tabs in, I found that it helps reassure users of exactly what Ronin is designed to do. It helps scope the application so there is less learning time when a user first jumps into the application. It clearly maps out the high level concepts of “Clients”, “Projects”, and “Invoices” and gives users a consistent anchor to use apart from “home”. You’ll find that these tabs have been implemented into Ronin.

We as humans continually evaluate and reason about the things we perceive. Unfortunately, being subject to so many new ideas and applications means we can only commit a large part of our learnings to standard interface elements and practices. It’s up to the application designer to keep in mind that helping nudge this process along is often means obeying age-old rules of thumb. In this case, it’s “always have visible, clear, top-level navigation.”

Written by Ronin

September 29th, 2008 at 6:15 am

Posted in Design, Ronin Product

Gathering user feedback

without comments

The mantra of the web 2.0 app is to release early, iterate often, and repeat. A big part of the “iterate often” though, can be confused for rolling on your own intuition. Even a great dog-food eating developer won’t be able to guess exactly what his or her customers want. After all, every individual is different.

This past week, the buzz in the developer world was/is Jeff Atwood and Joel Spolsky’s stackoverflow.com. One particular off-topic item that immediately caught my eye was the floating “Feedback” tab on the left side of the screen. I thought this was brilliant. It was an personal invitation for users of the site to express their opinions and cast their vote on suggestions for improvement. 

After clicking on this Feedback tab, I realized that this was a service provided by UserVoice. The folks at UserVoice have come up with a simple, easy-to-install widget that every web service out there can take of advantage of to quickly gather valuable user feedback. Brilliant.

Being a big fan of gathering feedback for product direction, I decided to look into it for Ronin. By the time I hit publish on this blog entry, you’ll be able to find the Feedback tab in your Ronin account. Use freely.

Written by Lu Wang

September 19th, 2008 at 3:14 am

About Ronin

with 2 comments

Ronin was built with the idea that small firms and independent contractors should have an easy to use and super-affordable invoicing and client management app in one simple service.

Before we started Ronin, we took a look at existing products out there (and there are plenty) for our own freelance use. After reviewing the options, we decided that people deserve an alternative that doesn’t cost more than the monthly cable bill. Even better, for small businesses with a small number of clients, Ronin should be free. We also wanted something that fits our work flow.

To make all of this feasible, we applied the philosophy from Getting Real into the product that we built - everything you need, nothing you don’t. We built in all the features we feel that we needed in our experience doing freelance work, but we’re always open to more ideas and welcome suggestions to improve our application to what suits our users.

We also believe that companies don’t have to aim to be the next Big Thing. Instead we want to do something small, something important, and something really well. By not trying to be everything for everyone, we can be something useful for you. We hope you enjoy our product.

Written by Ronin

September 16th, 2008 at 3:13 am