I’m starting to feel like applications for the Mac never surprise me anymore. It seems that in a few minutes you can figure them out because they all work pretty much the same. Once in a blue moon, you find an app that has a completely new approach and a unique interface that is delightful. I have found just such an app.
The app is called Soulver from soulver.app. The tag line for Soulver is that it’s a smart notepad with a built-in calculator. That is a technically correct description of the app but it sure doesn’t capture the beauty and uniqueness of the app. I’ll see if I can capture it in my own words as I go through Soulver for you.
Soulver 3 for Mac is $19.95 US from now till June 30th, at which point the price will go up to $29.95. There’s also an iOS version of Soulver 2 for $2.99 in the App Store, but I didn’t test out that version.
Soulver opens with a left sidebar which you can collapse, where you’ll keep all of your notes. You can name them, create folders using a little plus button in the bottom left, and drag your note sheets around to organize them in those folders.
The center panel is where the real beauty comes into play. Imagine you’ve gone on a business trip and you want to capture your expenses. You drove to the airport and expect to be reimbursed for your mileage. You went to dinner with colleagues on the trip so you need to split the cost including tip. And you had to pay for the conference you attended on a per-day basis. In order to do these calculations, you could pull out the glorious program that is Excel, or use the pretend spreadsheet program Numbers. But what if you could write in human terms instead of complex equations and create a beautiful expense report?
In Soulver you write in human language. For example, to calculate your mileage reimbursement at the US government’s standard of 54¢ per mile, in Soulver you would simply write:
Drove to the airport 17 miles x $0.54/mile
And in the right column, you’ll see printed $9.18. All done in human language. But wait, you drove home too. Instead of going in and editing numbers in a tiny cell, just write * 2
at the end of the line and you’ll see a new total in the right column of $18.36. Soulver also converts *2
into x 2
.
But later you’ll look at that line and wonder, “Why did I write x 2
?” Soulver allows comments, so you simply use two forward slashes and write whatever you want. You can even use numbers in your comments and Solver will ignore them. You can also define variables. In our driving example, if I write Govt Reimbursement = $0.54/mile, I can now use that as a variable in my calculation on mileage costs.
I want to take a break from the concepts of using Soulver and talk about how pretty it is. When you define a variable (simply by writing a word or words and writing = after them), the variable name turns bright green. Everywhere you use that variable it will also be bright green. All numbers turn bright blue showing Soulver has identified them as numbers. Any numbers in your comments will not turn bright blue. All units, such as /mile or $ turn bright pink. These changes of color have two effects. Most importantly it allows you to see at a glance how your calculations are being interpreted. But almost as important, it makes the app visually very pleasing. It’s not boring, it’s colorful!
Back to math! When I was working on the example of a meal split three ways with a tip added, I wasn’t able to come up with a natural-language way of writing it all in one line. In Soulver’s great help files, they say that you can simply write + 20%
and it should calculate that as though you’ve said x 1.2
. But in my sentences, I couldn’t get that to work if I put it all together on one line. I tried:
Dinner at the Ritz $326 + 20% tip / 3
and a few other methods but I couldn’t get it to work. I ended up putting in each line separately which disappointed me.
I mentioned early on that you can see the running total in the right-hand column. If you hover over any of the numbers, you’ll see three little icons. The first allows you to copy the number. The second is more interesting; it allows you to create a subtotal of the numbers above it. At the bottom right you’ll see a grand total, and it respects these subtotals. You can also create a subtotal by using ⌘-T. Soulver makes this pretty too by drawing a thin underline and then making the subtotal bold.
If you’ve got a mixture of units in the numbers in your right column, you can’t use the subtotal function and the grand total stays blank. In our travel example, I created the first line to be a variable whose value is $0.54/mile, but the numbers following it are all pure dollars, so Soulver can’t combine those numbers. A pity really. I thought maybe I could drag the variable down to the bottom, but that caused Soulver to crash. So I’ll not do that again. Logically it makes no sense anyway. Variables have to be declared before they can be used. Everybody knows that!
The third little pop-up icon when you hover over a number in the right column is to round the value. The popup shows a slider with the default value of 10 dp, for the number of decimal points. When I moved the slider on my $0.54/mile down to 1 dp, it changed to $0.5/mile and at 0 dp it showed $1/mile which makes sense. Going above the number of significant digits I’d entered did not increase the number of shown digits, which is a good thing. Don’t want to ever imply that a measured value is more accurate than it really is.
Rounding works on both entered values and calculated values, but oddly it does not work on pure monetary values. I ended dollars and cents and tried to round to just dollars but it had no effect on the shown value. It would be nice to work on money since your accountant (especially your tax accountant) does not want to deal with those pennies!
As you’re creating your expense report, you’ll notice that things are getting all jumbled together. You can add headings using standard Markdown syntax. For example, put a single # in front of some text and it becomes a bold heading.
One of the great delights of Soulver is that it can do math on dates. I suggested up front that the conference charges by how many days you attend. We know we were there from May 29th to June 2nd. Do you want to try to figure out how many days are in May and add the days between two months? That’s far too tedious.
In Soulver simply write “May 29 to June 2” and Soulver shows you that’s 4 days in the right column. Note that it’s not counting the days on both ends. We can define a cost-per-day variable for the conference, and now we can multiply the two values by just dragging the 4 days down to the next row, and then writing x our cost-per-day variable.
In my example at the end of each section, I created variables such as Mileage Total, Meal Total and Conference Fee Total. That allowed me at the end to create a Grand Total and use the addition of the three variables. It would be cleaner if Soulver allowed me to keep some values out of the subtotals and let Soulver do all of this math for me without variables, but it does work and it sure looks pretty.
When you’re done with your work, you can export to a CSV file, a simple txt file, or a Soulver file. I started with the comma-separated value file so that I could look at it in my beloved Excel. It did work but it wasn’t more interesting and didn’t add more value than the original Soulver file. If you have to send in an Excel file, it’s fine but it will look a little funny because numerical values are in what looks like a description field, and you’ll have to spend some time formatting to show where the subtotals are and such.
The txt file was not at all useful because anywhere a number was dragged from one calculation into the next turned into a little square with a question mark in it. The totals were all there but this file format would blow the top of your accountant’s head off.
I think the best way to export is to Print to PDF because it maintains the colorful and informative beauty of the document. That final total I was so fond of and wished was available even with mixed number formats doesn’t show on the PDF so I guess I’m not that attached to it after all. Sadly you lose the pretty formatting of the subtotals such as bold and the little underlines in the printed PDF. Not sure why that is either.
While you’re working in Soulver you can have multiple windows open so you can work on more than one file at the same time. That could be really handy.
If you have to work in multiple currencies, Soulver has you covered here too. You can take a value in USD (or a variable) and write in Euro
after it and the value in the right column will immediately be converted to Euro. That’s very cool and could not have been easier and more intuitive.
Bottom Line
I’m really torn on the bottom line. As I said up front, Soulver is a really beautiful way to combine taking notes with doing math. Its use of natural language will help people who don’t like to do calculations in a spreadsheet (I hear those people are out there). It is inventive and stands alone in its capabilities. I was a little frustrated with Soulver at first, but the more I worked with Soulver, the more I understood how it works. I did find two consistent crash scenarios, but I was able to very easily work around them.
I’m going to go with an A- for Soulver, especially because the developer has been very responsive to my questions and to little problems I found. Soulver has a free trial over at soulver.app, so give it a try and see if it’s for you. And don’t forget the iOS version too!
Sounds good.
What am I not understanding with “Drove to the airport 17 miles at $0.54/mile = $31.48” ?
Thanks for catching that, David! I spent some time narrowing the bug and you can’t use “at” for “x”. I fixed the post, and wrote to the dev about it. He said that by design he removed “at” from version because he said it was too ambiguous.