Why Reconciling Your Bank Accounts is Painful

It’s that time of the month for me to reconcile my financials. I’m using MoneyWell as my personal finance application and it has been doing an OK job so far. I’ve been doing this for quite some time now, originally with Quicken for Windows and its companion app for PalmOS.

One of my big complaints that haven’t been solved by these personal finance applications – Quicken or MoneyWell – is reconciling transactions with the banks that I use. These applications are programmed with US banks in mind and rarely makes it easy to use financial institutions outside the US.

The Problem

Almost all personal finance applications that I see expects a QIF import or need to talk to the bank’s Internet Service directly via DirectConnect or OFX protocols. That’s fine if your bank provides these interfaces. What’s bad is that I haven’t seen any bank that offer these. Neither DBS/POSB (Singapore) nor BCA (Indonesia) – the two banks that I use – supports DirectConnect nor provides QIF/OFX export of transaction data. Perhaps I was born in the wrong side of the world?

DBS Bank’s pseudo-CSV format

DBS Bank provides CSV export of transaction history of savings account. They say it’s CSV but it’s not really CSV. The screenshot below shows DBS’ CSV dump when imported to Microsoft Excel. As you can see, it’s not a pure CSV because:

  • There are other headers besides just the column header – range A1:B4.
  • Rows 5 and 7 are empty – CSV aren’t supposed to have empty rows.

DBS Bank's CSV output - shown in Excel

Because of this data format problem, I had to manually clean up all the CSV “errors” of the file that DBS provides before feeding it to MoneyWell. What’s worse is that I had to do it every time I reconcile my savings account.

What’s worse is that DBS doesn’t provide any plain-text export of my credit card transaction history. Thus I had to manually enter every transaction that I made – which is quite a bummer. In this respect, my credit card doesn’t have any value-add than the cash that I have in the bank and I’d rather use NETS debit card instead so that the transaction shows up in my savings account’s CSV dump.

Getting transaction data from BCA

Bank Central Asia (BCA) is even worse such that it doesn’t have any kind of CSV export at all. Because of this I had to save the web page and key-in every transaction in that web page, manually copying each line item from the table. This is a real bummer.

BCA Account Statement

MoneyWell’s CSV Import

MoneyWell provides a CSV import which does help a bit. But a major issue is that it needs to be set-up properly and can’t “remember” the setting that I’ve made. That is since different banks have their own way of representing data MoneyWell should be able to retain such “import profile” for each bank. But currently it does not, which can cause quite a problem as I tend to forget which column in the CSV maps to which field in MoneyWell and cause the fields to be mapped inconsistently.


MoneyWell CSV Import Dialog


Proposed Solution

Rather than regretting the sadness of in the unsupported part of the world, I have a solution in mind. It’s an app that runs on your computer that does four things:

  1. Helps you login to your bank’s Internet Banking site.
  2. Captures the web page (or export file) that contains your transaction history.
  3. Converts that data into a format that your favorite personal finance application can read and launch the app to import your transaction history.

The app sits between your Internet Banking site and manages the data conversion between what your bank provides with what your personal finance app expects. It will even be more useful if you have multiple accounts in different banks since the application will remember each bank’s output format and will convert them appropriately. This will save you about two hours per month for each account since you no longer need to key-in every transaction from the bank’s site or massage the data yourself and fiddle with your financial app’s import settings.

Bank Data Converter

You can see an illustration on how it work in the diagram above. The Bank Data Converter app (name yet to be finalized) have a web browser that you use to login to your bank and capture your transaction data from the bank’s website. Then the app converts the data and writes out a data file specially formatted for your favorite personal finance application. This data file is already pre-configured so that the app can load it directly into its database without requiring much work from you.

Why not a web app? Think of it: do you feel safe to trust your financial records to small indies like us? Not only that, _we_ don’t feel safe of keeping other people’s transaction data. We’re going to have to harden our servers considerably – that amounts to a lot of costs. Not to mention the lawsuits that may happen should – heaven forbid – we accidentally leak your bank records. If this is made a web app, your privacy may be compromised as your financial data is funneled through a 3rd party server (which is the app developer’s server).

Having the app running on your computer solves all these security issues. Your data is safe since it never leaves your computer in the first place. No, we won’t transmit your bank’s data file to us without your consent – we respect your privacy and really don’t want to be entangled in that kind of issues.

Now here’s the million-dollar question: do you have this problem? Is your #1 cause that you slog in balancing your checkbooks is because it’s just pure drudgery to get the data into your finance app? Please let us know in the comments and we’ll work together to solve your problem.

Do Not Use Wi-Fi for Tethering your iPhone

Some of my friends asked whether they should use Wi-Fi, Bluetooth or USB when using their iPhone’s cellular data for Internet access on their computers.  In other words what is the best connection to use for Personal Hotspot. At a glance, Wi-Fi tethering should be faster than Bluetooth because of it’s higher theoretical data transfer rate. But using Wi-Fi for personal hotspot tend to drain your battery faster. Of course USB has the fastest transfer rate of the three but you need to carry the Apple’s 30-pin USB cable everywhere.

I’ve done some tests and concluded that you should prefer Bluetooth over Wi-Fi for personal hotspot. Why? Two reasons:

  • There isn’t any significant drop in real data transfer speed when you use Bluetooth for 3G cellular data access. This is because the typical  3G data plans gives significantly lower real throughput than what Bluetooth normally offers. I’m not talking about theoretical transfers here – I’m talking about the the real kilobytes per second of download and upload to your favorite Internet sites.
  • Bluetooth tethering can be initiated even when the iPhone is in standby with the screen turned off. Unlike Wi-Fi where you need to turn the phone on on when you need to tether. It’s a whole lot more convenient since you can keep the phone in your pocket and just initiate the connection from your laptop or iPad.

Of course it’s better to use USB tethering when your laptop is connected to an AC adapter since you can charge both the phone and your laptop at the same time. I carry a short (5 cm) iPhone-to-USB cable in my laptop bag just for this use.

Speed Tests

I did some tests of the connection speed of M1‘s cellular data connection performance and compare it untethered on the iPhone, tethered to Mac and tethered to an iPad. All tests were done by the SpeedTest application, with SpeedTest.net for iOS for testing on iPhone and iPad and their Flash-based version for testing on the Mac. Each test was done four times on each device which amounts to twenty test cases in total. Test devices were iPhone 4 (the older one), iPad 2, and Macbook Air (2011). It was done on a Thursday night at around 20:00 local time.

Bluetooth tethering has slightly lower response times than Wi-Fi when tethered to the Mac and iPad. However the variance is high and maybe this really need a re-test with more samples (which I don’t have the inclination to do at this point). The graph below shows the average response times in milliseconds and the error bars represent one standard deviation above or below the mean. In other words, the range within the error bars represent 68% probability assuming that the results were normally distributed.

 Tethering Ping Response Times Comparison between Bluetooth and Wi-Fi

However data transfer tests doesn’t show a significant difference between Bluetooth and Wi-Fi tethering. In the graph below you can see the average upload and download speeds between the various devices. The error bars represent one standard deviation or 68% probability of more test results will fall into that range. All values are in Mega-bits per second (there are eight bits to a byte and 1024 Kilobits per Megabit).

Tethering Data Transfer Rates Comparison between Bluetooth and Wi-Fi

You might be curious, what was the data plan that I subscribed to and used in these tests? I used the M1 iPhone Value plan that promises “Up to 14.4 Mbps” data transfer speed. You can see for yourself  that M1’s real data transfer of about 0.15 Mbps is vastly below the speed that they advertised – which is by the way the theoretical maximum of 3G data (that anybody can conveniently quote without testing nor needing to commit to an SLA).

M1 iPhone Plan

You can test these out yourself and see whether your cellular operator’s real data transfer rates are anywhere near Bluetooth 2.1’s theoretical limit of 2.1Mbps. Even if your favorite mobile operator is twice as fast as mine, you’ll come to the same conclusion that Bluetooth is the better choice for wireless tethering.


News Anchor for the Apple TV?

With WWDC starting next Monday, rumors are abound on iOS 6 and Applications for the Apple TV. This will be the first WWDC without a Stevenote and it’ll be quite interesting how his successor can bring that legacy to the next level.

Should Apple wants 3rd party applications on the Apple TV, do you want News Anchor on your Apple TV? Would you like your favorite blogs and news sites be presented on your Apple TV television-style? Then you don’t need to put up with news networks likes of CNN or ABC news and be forced to listen to irrelevant crap news. You determine your own news on your Apple TV – instantly. No need to wait for your iMac to boot and the hassle of logging in.

News Anchor running on an iMac

Think of it: television for blogs on television. This just sounds so meta. Then who’ll need living TV anchors to simply read the news to you? It’ll be yet another job wiped out by technology and will change news networks like CNN to eventually become something like the Galactic News Network (a fictional news agency that has a robot as an anchor, part of the Master of Orion game).

Galactic News Network - Master of Orion - Screenshot

Writing a version of News Anchor for the Apple TV will be a lot of work for us. Perhaps more work than the first two versions of News Anchor for the Mac itself:

  • Defining the interaction model.
    An Apple TV will likely be controlled by a small remote with very minimum number of keys: arrow navigation, select, and cancel. Chances are Apple will still be using the same infrared remote for the Apple TV, even with Apple TV Apps.
  • Writing back-end services to support RSS selection.
    Typing an entire URL to subscribe to a blog just won’t fly on a TV. Thus adding news feeds to a channel will need to be an entirely menu-driven process – with zero typing. This calls for a large collection of blogs and news sites that can be selected and added to your news channel. Which means some kind of server-side web service that provides this curated list just like iTunes Podcasts Directory.
  • Curating the RSS library.
    In addition to coding the back-end services for RSS selection, the directory also need to be maintained and kept up-to-date. As you know, some sites works better with News Anchor whereas others are barely usable. Only sites that have their entire article content in the RSS can be used as sources for News Anchor. On another note, some sites doesn’t provide good resolution images in their news feeds – which shows up badly upscaled as News Anchor tries to show. All these calls for a specially curated RSS directory for News Anchor. On a similar note, both Mac and iPad versions of News Anchor can make use of that same web service.
  • Re-writing the user interface components.
    This depends whether Apple decides to base the Apple TV on OS X or iOS when it becomes programmable by 3rd parties. The latter will be more likely since the current Apple TV is based on iOS. Since News Anchor was written for OS X – which means AppKit – an entire new set of classes are needed to handle the Apple TV’s new graphical API.
  • Porting a text-to-speech engine.
    Apple does not provide OS X’s text-to-speech component to iOS, as of iOS 5.1. What about Siri, you might ask? They don’t let 3rd party apps to use it. If Apple still doesn’t bring this component to whatever OS in the upcoming Apple TV, then we need to bring our own code that speaks text out loud.

Back to the original question: Would you want us to make News Anchor for the Apple TV? Please let us know. You can comment below, contact us via e-mail or use the contact form.

Thanks and we’re looking forward for your opinion!