← Back to the PearBudget app

PearBudget Development Blog

Have a feature request? We’d love to hear it: help@pearbudget.com

July 11, 2019

taps mic

Hello?

feedback screech

Hey, sorry about that! Gosh, it's been a minute, as the kids say.

So let's catch up. First off — and this is Charlie here — I want to apologize for how quiet we've been here on the blog. There are a few reasons, but they all end up being lightly-dressed-up excuses. The bottom line is that we should be posting more regularly here, with updates on things that are going on. We're going to do more of that.

But what's happened since we've last talked? A few things!

On the engineering side, we've fixed a few bugs, including one that was creating some unevenness in recurring receipts. Those are all resolved now, so if you saw your recurring receipts showing up at odd times, that's a thing of the past.

We've also rolled out some small UI improvements around editing and deleting receipts, so you can do that more easily on mobile devices and from within category pop-ups.

We're working on split receipts, which we know a number of you have been eagerly anticipating. You'll have them back soon, we hope!

Key to that split receipts progress has been our new hire, Lindsey! She's a front-end engineer here in the Bay Area, and she's been key to some of the forward momentum we've had lately. We're stoked to have her on board.

We also happened to get a new puppy, Fern! She's been no help at all with the code, but she's a sweetie.

I'll stop there, but with the promise of some more regular posting coming up! More soon!

July 11, 2019

A couple of quick notes!

You had been able to see a list of all receipts from a month in your category popups, in the "month" tab. We've added in a list of all receipts for the year now, at the bottom of the "year" tab on the category (and tag) popups. For categories and tags where you aren't spending as often, and want to get all of your receipts visible in a glance, that might be the better option for you! (The monthly receipt view is still there!)

Accessibility is really important to us, and we've been working to make the app more usable for everyone, but especially for people with issues with their vision. This is a work in progress, and we won't ever be "done", but I wanted to mention a few things that we've rolled out lately, and to put out a request for input.

First, we designed PearBudget to smoothly zoom in or out based on your personal browser settings. If you have your browser set to zoom everything in to 120%, the app can handle that (or just about any setting) effortlessly.

Second, we added in a setting to allow you to permanently set your font size in PearBudget to be larger (or smaller). Just visit your settings page and look for the "font size / zoom level" setting.

Third, we've added in a "dark mode" to PearBudget. If you're photosensitive (or otherwise just prefer a darker screen), you can opt-in to that mode, also from the settings page. There are a few elements we're still sorting out (like the logo in the top left of the page, which we need to update desperately), but we wanted to get that feature out the door in beta. If you have any feedback on it, we'd love to hear it! If it's not your cup of tea, no worries!

Fourth, we've been working on adding better keyboard-only flows. There are a few pieces to this that we're still working on. So here's part one of the request for input: If you have any suggestions on things that could be smoother, please let us know. That goes for people who are using a regular keyboard and tabbing from field to field, and for people using VoiceOver or other assistive technologies. We'd love to know how things go for you and what we can improve! (Keyboard shortcuts sound pretty interesting; would you actually use them?)

Fifth, we've added in some better ARIA labels and other enhancements that will hopefully make PearBudget easier on the ears for those of you using screenreaders. This is honestly a fascinating process, and it's really interesting to think through what a good user experience is like when a website is read out loud. Some examples of the kinds of things we've been thinking about:

Like I said, really interesting stuff.

There's a little more going on behind the scenes on accessibility enhancements, and there's more to come. If you have any input, or — especially — if you use a screenreader as you use the internet, we'd sincerely love to know what would make PearBudget better for you. Thanks!

July 11, 2019

Tag popups! They're back and better than ever!

If you use tags to add details and notes to your receipts, you now have better information at your disposal. Monthly totals, lists of receipts across categories, and yearly comparisons of month-by-month usage. All can be found in your friendly neighborhood tag popup. Hopefully they're pretty intuitive, but if not: clicking on the tag pill in a receipt row will let you drill down into that tag.

You can also rename or delete a tag from the "settings" tab on the tag popup. (Keep in mind, deleting the entire tag is different from just removing it from a single receipt! Deleting a tag will remove it from all receipts where you've used it. If you want to edit an individual receipt, just edit the receipt and remove the tag from that receipt's list of tags.)

We've tested a wide variety of tag use-cases, layouts, and other scenarios, and think you'll love them. As always, though, if you're seeing anything odd, reach out and let us know, and we'll take a look!

July 11, 2019

Hey there! A few quick updates we wanted to mention. Sorry for the lack of updates the last few days. (We've been pretty heads-down!)

"Irregular" categories (remember, those are the ones that carry a balance from one month to the next) have the option each year of "starting over" (at $0.00), or of carrying over the balance from the previous year. It can sometimes be useful to have a "re-start button".

(This isn't a new feature, but it was hidden post-rebuild until now.)

If you want to adjust that "carry my 2018 balance into 2019" value, just open up the pop-up box for the irregular category in question (by clicking on its name) and then navigating to the "Year" tab. It'll be at the top of that tab. You'll see your numbers in that Year tab update immediately, so if you decide you want to change it back, you can do that right there.

We also made some improvements to the way you enter your dates for receipts. 📅

For one thing, we built a better calendar interface so you can more easily pick the dates of your receipts. It's a lot nicer than the default date selector that browsers come with (and that we had been using). And for those of you on Safari (which doesn't come with a default date selector!), you'll find this a lot more useful than what you had before this.

We also improved the logic of the date input field, so you can just type in the day and it'll default to the current month. (So if I highlighted the date entry field and just entered "3" right now, it would know I meant 5/3/2019. Or, for those of you with the "international" date formatting option selected, it'd know you meant 3/5/2019.) It's just smarter all around.

We're pretty happy with that calendar. As with everything in PearBudget, its power comes from its simplicity.

As always, let us know if anything is looking off / weird for you, reach out and we'll take a look!

July 11, 2019

All reports indicate that the database migration from last night went really well! We'll keep an eye on it, but we're hopeful that your initial loading times will be better.

We also made a slight adjustment to the way the "Recent Receipts" table renders your data.

Before this, the rows would update to reflect the current "what's available" number every time you added a new receipt. While technically accurate (it was what was available, after all), it could be a little disorienting to have numbers update on the fly. You'd end up with something looking like this:

(first)

Recent Receipts
DATE AMOUNT CATEGORY AMOUNT
REMAINING
05/01/2019 $10.00 groceries $790.00

(then)

DATE AMOUNT CATEGORY AMOUNT
REMAINING
05/03/2019 $20.00 groceries $770.00
05/01/2019 $10.00 groceries $770.00

(and then)

DATE AMOUNT CATEGORY AMOUNT
REMAINING
05/02/2019 $30.00 groceries $740.00
05/03/2019 $20.00 groceries $740.00
05/01/2019 $10.00 groceries $740.00

With today's change, the numbers stick to whatever they were when you added them, like this:

DATE AMOUNT CATEGORY AMOUNT
REMAINING
05/02/2019 $30.00 groceries $740.00
05/03/2019 $20.00 groceries $770.00
05/01/2019 $10.00 groceries $790.00

Hopefully that'll help that all make sense. You can always click on a category name to get the popup to see the actual currently-available amount, if you're at all unsure where you stand!

Last bit about the loading speed of the site: Please do keep us posted with how things are going for you! Field reports from you are so incredibly useful!

We hope you have a lovely weekend!

July 11, 2019

We've heard a few more reports of slowness, especially for people with lots and lots of receipts / categories. We've done a little bit of database cleanup today, clearing out some old backups. I don't expect that to have a big impact, but there's a chance it made things a little better.

We have a database upgrade happening tonight at midnight (Pacific), though, and we hope that makes things better for everyone. We expect the changeover to be pretty quick this time, as it's just increasing the RAM for the server hosting the database.

If you've been having issues with your data loading slowly, we'd love to hear from you, to know if you see any difference between today (the 2nd) and tomorrow (the 3rd).

And if anything else comes up, know that we're standing by to assist!

We also fixed a small bug with our front-end code that was leading to a lot of error reports from our automatic error reporting tool. It wasn't a bug that actually affected your use of the site, but it created a lot of noise on our end. Now, with fewer unnecessary reports coming in, we'll be able to more quickly tackle actual bugs in the code. 🐛

July 11, 2019

Have a category that just isn’t sparking joy any longer? You can thank it for its service and then delete it!

To delete a category, click on its name, and when you get its popup box, click on the “Settings” tab.

Know, though, that deleting a category will also delete all of the receipts (and planned amounts, and recurring receipts) associated with that category. So be sure that’s what you really want!

You also have the option of just marking the category as “inactive” (which won’t delete any receipts), which you can also do right there on the Settings tab.

July 11, 2019

A few new things for today!

For those of you who print your budget, you'll be happy to know that negative numbers will print in red ink again! (Not that you're happy about negative numbers! But you'll be able to spot them more easily!)

For everyone, you'll be happy to know that the site's loading faster. We were looking at a few approaches to speeding things up. Two that we'll revisit down the road are a caching layer on the database (to cut down on the number of times your data has to be re-calculated) and a caching layer on your computer (to cut down on the amount of data that you have to download).

Both of those will be great, but might also take a bit of time to get right. (Caches can be fussy.) But! We were able to roll out an improvement today that will help right now.

Before today, all of your data had to load before we started rendering it on the screen. That's no longer the case! We now start displaying the parts of the app as soon as the necessary data's been loaded.

We ran some tests to see what the difference in load times was. We loaded the main "Enter Your Receipts" page ten times, threw out the fastest and slowest times, and averaged the rest. Then we did the same on the new page.

Old Approach New Approach
16.38 3.15
4.75 2.62
4.66 2.72
3.95 2.70
3.66 2.43
5.32 2.65
4.46 5.02
5.69 2.72
4.75 2.25
5.30 2.26
4.86 seconds 2.66 seconds

The average dropped the time-to-render from 4.86 seconds to 2.66 seconds. Awesome! What's even cooler, though, is that (after discarding the slowest time in the right-hand column) every single timing with the new approach was faster than the fastest time from the old approach (the one we had discarded!).

As I said above, there's some more work to do, and it'll be neat to see what benefits we get from caching data down the line. But for now, this is an improvement that we hope makes things better for everyone.

As always, please let us know if you're seeing anything looking off, or if things are slow for you!

July 11, 2019

A new day!

Happy Monday. We're looking into a new caching approach that should, in theory, speed up the initial page load on most pages. If we end up building that out, I'll write up some more thoughts on the whys and hows of it.

But it has the feeling of something that'll take a bit of dedicated time, so we're going to roll out a few quick features and smaller tweaks first.

Are you seeing issues? Please reach out!

We've heard from a few folks that they're having issues submitting new receipts. If that sounds like you, please reach out and let us know! The more datapoints we have, the easier it is to triangulate on the core issue.

If you write in, please first swing by whatsmybrowser.org and copy the link it'll give you, and send that in with your question. It'll help us know what browser / operating system you're using.

July 11, 2019

This week we wrapped up recurring receipts, ran the backfill to get all past recurring receipts caught up, and rolled out a cron job to make sure that all future recurring receipts get entered.

Because recurring receipts were "turned off" for a while while we rebuilt the feature, we knew some people would have manually added receipts. We didn't want those to be double-counted, so we made the logic smarter, and only created a new receipt for you if there wasn't already a receipt from you for the same amount, on the same day. So if you had a recurring receipt set to run on the 10th of the month, for your "mobile phone" category, for $80, and you had already entered that in for April 10th, we didn't then create a duplicate.

We also rolled out another improvement to recurring receipts: In the past, if you created a recurring receipt for the current day, we wouldn't run it until next month (we ran the cron job once each day). It now runs throughout the day, meaning that — in almost every case — you'll see a new recurring receipt within a minute of creating it (if it's for the current day).

Fun fact: 52% of recurring receipts are set to run on the 1st of the month.

July 11, 2019

Yesterday we got recurring receipts working in the popups, though they don't yet have the relevant tags loading in, so they aren't quite ready to ship.

Today's aim is to get the tags that go with recurring receipts to properly save, both when you create a recurring receipt and when the system uses your template to actually create a receipt.

And to deploy it!

Update: Deployed! You should now be able to see all of your recurring receipts (and for those that have tags, the relevant tags for those recurring receipts). Just click on a category to get the popup box, then click on "Settings", and look for the "Recurring Receipts" section. Keep us posted if you have any issues!


Next up is to finalize the script that runs each day to turn the recurring receipt templates into actual receipts. I'm going to see what I can get in before the end of the day.

July 11, 2019

Today we're working on Recurring Receipts, trying to get them out the door.

There are a few pieces to Recurring Receipts. There's the part that runs on your computer (that you interact with) and there's the part that runs on our server (the API). The API is working, so "all we have left" is the interface you'll use to view your Recurring Receipts, to add to them, and to delete from the list.

I'm hoping we'll have them out the door by the end of the day.

July 11, 2019

Hi there! Welcome to the PearBudget Development Blog!

Ever since the relaunch, we've been working really hard — both to restore functionality and to help resolve access issues that many of you have run into when loading your data. We know, though, that a lot of that activity isn't visible.

The goal of this blog is to add some operational transparency, to help you know what we're building for you. We're really excited about the future of PearBudget, and want to use this space as a place where we can talk about it — the good, the bad, and the ugly.

Some of the content here might get a little technical, but we'll do our best to explain everything clearly.

If you have any questions, don't hesitate to send us an email. help@pearbudget.com. We'd love to hear from you.