Who am I?

My name is David A McClain. I like to make things. I am Uh Huh Yeah and I'm also the Lead Architect at Next Play Sports.

David A McClain

Entries filed under #muffin

Tuesday September 15th, 2009

Muffin App Price Cut

Budgeting on a budget

Today I'm happy to announce a big change for Muffin - it's cheaper!

In my ongoing efforts to make Muffin App a useful tool to make and track personal budgets I decided that if I could cut some of the costs and make Muffin more affordable more people could reap the benefits of using it. I was worried that those who could use Muffin App the most might be put off by the $7 a month price. There are a number of apps I'd like to use but even small amounts like that cause me apprehension. Heck, I love Muffin App. I use it all the time but even to me $7/month didn't seem like a lot to pay for Muffin App, but it did seem a lot to pay. There are so many great apps out there that are deserving of what little they charge but I can't afford to signup for every service out there. I found I had to limit myself to just a few of these apps and I imagine most of you out there are doing this as well.

So I asked myself a tough question. “Is Muffin App deserving of $7 a month?” I decided that as a developer, it was a great price for an app that saved me so much time. However I kept coming back to the paradox of thinking that it was worth it's $7/month price tag but that as a user on a budget it was hard to justify spending, well, anything! And that's when I went with my heart and not my head. I decided to cut Muffin App's price to something I was comfortable paying for myself. In the end I found $25 a year to be a comfortable amount to pay without turning my business into a complete charity. If you do the math, it works out at about a 70% discount. Even as I'm writing this I'm having second thoughts but I know that if I wasn't comfortable paying $7/month for my own Kool-Aid how could I ask anyone else to drink it.

$25 a year

I hope this won't be a complete disaster but even if it is, I know that I made the wrong decision for the right reason.

The only bit of Muffin App that has changed is the price, it's a pure price cut. No features have been axed. It's still the same great product it was, it's just that now it's got a price as awesome as itself.

30 day free trial

And of course, Muffin App still comes with it's 30 day, no-restrictions, free trial. Try Muffin App today and give it a chance to show you how easy it can be to make, track and stick to a budget.

Monday June 8th, 2009

Muffin 2 is Launched

After some exhausting button pushing, Muffin App (version 2.0) was launched this morning.

The all-new Muffin App | Budget Tracking Made Simple

It's been a long process but I think the new Muffin far outshines the old one. This post will serve as a brief update to my earlier preview. You'll want to take a look at getmuffin.com for the big picture.

I managed to squeeze in to Muffin App 2.0 all the things I wanted, plus a few features I was hoping to introduce at a later time.

  • Weekly pay-periods

    By much request Muffin users now have the option for weekly pay-periods (in addition to bi-weekly and monthly views). Now for those of you who get paid weekly you can view your budget a week at a time or a month at a time.

  • Recurring spending

    Muffin App is all about making budgeting easy. Easy enough for you to actually not mind putting in the work to make and track a budget. The recurring spending feature is a huge step forward towards that goal. In Muffin you have a list of your "bills". Regular spending like rent and car insurance etc. Now for any of your bills you can have Muffin automagically add them to your spending - every month - with just one click! I've been using this feature for a while in development and I can tell you that recurring spending will make budgeting seem a thousand times easier!

  • Easier to use design

    The idea behind the redesign wasn't (just) to make it prettier to look out. A lot of time and effort went in to making Muffin's controls and features easy and intuitive. And just incase something isn't quite that intuitive you'll find lots of help within the apps, as well as in the help docs.

    One example is categories. You can add a category to you spending so that you can easily see all spending under a certain group. When you add or edit a spending item Muffin gives you three easy ways to add one of your categories.
    1. Muffin shows you a list of all your categories
    2. Clicking on one of these categories adds that to your spending
    3. Just start typing. Muffin will suggest categories based on what you've entered.

  • Full SSL encryption

    SSL encryption is what banks use to keep your data secure when you're logged onto your bank account online. Your personal information deserves to be as safe in Muffin too.

  • Invite a friend

    Muffin App now has an invitation system. Muffin will send a really nice email to your friend explaining briefly what Muffin is all about. The invite includes a link for them to use to get a free trial and some money off their first paid month. But even better than that, if your friend signs up with that link we'll give you a month free after they've paid for their first month! And there's no limit to how many invites you can send. If you invite twelve of your friends and they all love Muffin enough to sign up too - you'll get an entire year free!!! If you want to get started inviting your friends and family (please, no spamming*) login or sign up today and click the huge invite link at the bottom of every page!

What's next?

A lot more has changed "under the hood" which will make Muffin App stronger, securer and easier to add new features to. I think Muffin App is in a really great place now, but I know there's still more I can do to make it even better. I'm guininely interested in hearing your feedback on Muffin. Email me at david [at] uhhuhyeah [dot] com and tell me what's good, bad, ugly or indifferent.

*Please only invite people who you know and who you think might like Muffin. The invite email will have your name on it and we can track who it was sent by. If we get legitimate complaints about a particular user we'll take away their ability to send invites. And remember, you only get a month free after the person you've invited pays for their first month. I don't really think any of you would abuse the system

Sunday April 26th, 2009

Muffin 2.0 Preview

A major update of Muffin is just around the corner. Well, I'm viewing it as more of a re-launch than a mere update. What started out as a simple project to add a couple of features has turned into a five-month, ground up, re-write.

So what's new?

◼ Fundamentally Muffin is still Muffin - a simple web app for making and tracking (household) budgets. While I wouldn't go as far as to call it all a mistake I do feel that while Muffin 1.0 was fine for me, it wasn't of a high enough standard to be released. I've started to think of 1.0 as being a beta, and the imminent launch of 2.0 as it's public debut. A lot of the code in Muffin 1.0 was brittle and prone to annoying bugs and errors so the code in 2.0 has been made stronger and more reliable. This in turn will make it more maintainable and extensible. In other words I've made it easier for my future self to add new features to Muffin and easier for the current you to use and enjoy.

◼ Muffin 2.0 will launch with a new design which I think will make Muffin a little easier to use, as well as a little easier on the eye. The Muffin marketing/signup site (getmuffin.com) will also receive a facelift with updated tour videos.

◼ I try to make every feature as self-explanatory as possible but in Muffin 2.0 you'll find a lot more inline help and guidance.

Bills take a more important role in Muffin 2.0. Bills in Muffin 1.0 started out as a list of, well, bills that I could refer to every month instead of wracking my brain trying to remember what bill was due when. In 2.0 bills also serve as a way to set up automatically recurring spending. This means that (if you want to) you can start off your monthly budget with all your regular spending in place. I think that this is a really exciting feature that'll save you a lot of time.

◼ There's also a bunch of little tweaks and niceties that you probably wouldn't really notice by themselves but together add up to a better experience.

So when's it out?

Truthful answer is that I don't quite know. I'd say that Muffin 2.0 is more than 95% done but I'm taking as much time as I need to be thoroughly satisfied that it's ready before I pull the trigger. Right now I'd say sometime in May-June this year. I'll pick a concrete date a little nearer the time. Check getmuffin.com or uhhuhyeah on twitter for updates.

For the future

  • Some features I hope to have out sometime after launch include
  • - A referral system
  • - An iPhone App - codename Muffin Jr
  • - (Better) support for weekly paychecks

 

I'll talk more about each of these as I get closer to releasing them but I'll just touch on them briefly here.

Muffin will soon have a referral system. The details are still being ironed out but essentially you'll be able to invite your friends and family to signup for Muffin and for each one who does signup, you'll get a month of Muffin for free. Like I said, the details are still being worked on but I'd like to have some way of thanking Muffin users who do my job for me in evangelising Muffin.

Muffin Jr will be the Muffin we all know and love, but with a little twist. Much more on this later.

Weekly paychecks will be the first feature to be added and will basically have Muffin show you your budget a week at a time (current week, last week and next week) instead of a month at a time. I hope to have this feature ready very soon.

I also have a wee mailing list for Muffin which you're welcome to subscribe to if you don't want to miss out on Muffin news or offers.

I'm very excited about Muffin 2.0 and I hope it's as much of a help to you as it has been for me.

Update - May 4th 2009

I am officially calling Muffin 2.0 done. There are some loose ends to tie up and expecting that they'll be done over the next few weeks. I'm hopeful now for a June launch.

Monday November 17th, 2008

Developing Rails applications for the iPhone

This past weekend I rolled out an iPhone optimised version of Muffin. Muffin on the iPhone was useable before but it was always a bit fiddley and it didn't fit on the screen very gracefully. My main goal was to simplify and trim down the UI for iPhone users. I thought that it would be better if I designed a better way to do 80% of what Muffin does rather than try to squeeze an entire desktop UI into a 320px by 480px screen. But of course it isn't really 320px by 480px is it! In the iPhone's Safari you've got the status bar at the top (time, wireless strength, battery icon etc) which is 20px high and the button bar at the bottom (Back, Forward etc) which is 44px high. So that leaves the true visible area at 320px by 356px. Of course I had photoshoped a few mockups at 320px by 480px before I remembered that! These measurements came from Apple's "Safari Web Content Guide for iPhone OS" which has a ton of useful pointers and information about creating content for the iPhone.

(Link. Apple Developer Connection membership is required, but the Online membership is free.)

I started by looking at Muffin and deciding what bits were not essential to an iPhone user and what bits could be abridged in order to reduce "clutter" and increase the amount of free space I could control. I decided that for any non-essential features or functions I would allow the user to use the desktop UI. I didn't want to shoehorn the whole app into a paired down UI and didn't feel that I needed to try.

A couple of the changes I made (in regards to the HTML that's rendered) were removing the separate "Edit" and "Remove" buttons and made the item itself the edit button and moved the "Remove" button into the edit action. I did the same in the Bills screen but instead of "Add to my spending" button I changed it to a simple "+" and to help avoid any confusion I added a javascript confirm "Add to spending?" before calling that method.

How it's done

Rails, as of 2.1 (I think), allows you to specify your own (even arbitrary) MIME types and makes it ridiculously easy to use them!

Go to config/initializers and open mime_types.rb and there just so happens to be one already made for iPhone that you can uncomment! Mime::Type.register_alias "text/html", :iphone will correspond to the iPhone's User Agent string of "iphone". Now apparently (according to that same Apple document listed above) the iPod Touch has a User Agent string of "ipod" but in my own limited tests faking the User Agent of my browser (Cruz) Rails responds to "ipod" just as it does "iphone" but I haven't looked into this thoroughly so use at your own risk!

Now the whole point of registering a new MIME type like this is that when someone with that "iphone" User Agent requests a page we can add to our repsond_to block format.iphone (just like you would format.html or format.xml) and if you have a corresponding view called index.iphone.erb (just like you would have index.html.erb) your app will render something different for an iPhone user as it would just with a regular HTML or XML request.

You can then take that opportunity (as I did) to include a different CSS file in that index.iphone.erb file and have complete freedom designing the iPhone page without in anyway effecting what the app renders to regular HTML requests.

Two possible gotchas.

Gotcha one. Remember you'll need to add the format.iphone to each repsond_to block in each action of each controller in which you want to render something different for the iPhone.

Gotcha two. It will still use that controller's default layout so you'll want to either make a new layout (eg views/layouts/application.iphone.erb) or tell Rails not to issue the layout at all by putting render :layout => false inside of a block inside of the respond_to block. Like this... respond_to do |format| format.html format.iphone do render :layout => false end end (Hat tip to Slash Dot Slash for that.)

To make this work with iPhone users who want to use the original desktop UI (and there's cleaner way of doing this I'm sure, but it hasn't come to mind yet) I enclosed the format.iphone line (in the respond_to block) in a simple if statement and used a session variable to set if this format.iphone is called or skipped. If it's skipped the format.html is called instead.

And that was it really. Rails makes this kind of thing easy - once you know how it's done!

And one quick tip to close on. If you're designing an icon solely for the iPhone, remember that the iPhone has an effective resolution of 160ppi (which has a lot to do with why everything on the iPhone looks to great, even at small scale). Most people (well me at least) tend to design for websites at 72ppi so maybe try it at 160ppi and see if it's worth it for your project.

And another quick tip. If you're on Mac, Cruz is a free browser that allows you to use different User Agents in two clicks which made this whole process a heck of a lot easier for me! Check out Cruz at cruzapp.com.

And just one more tip since I'm in the mood for giving free advice. I was using iPhoney to simulate how my design would render on the iPhone but I'm not convinced it's 100% acurate. So what I did, since I was obviously working on my local machine and your iPhone can't load http://localhost:3000 if the localhost is your Mac not the phone, was I uploaded the CSS to a test domain online. I then took the rendered html from my app (view source, copy and paste) and uploaded a static .html file and loaded that in my real iPhone. Extremely useful when trying to gauge the right space to leave between links so users don't struggle to tap only the link they want, not the three other links next to it!

Was it worth it?

Designing for the iPhone was a lot of fun. The size limitations were extremely liberating for me! Designing a website that you know for sure the browser window size was enough in itself to get me giddy! Plus I love my iPhone but some things are just a thousand times easier to do on your laptop when you get home. I love using Muffin, but sometimes it felt a bit awkward to use on my iPhone. A very happy to say that's all a distant memory now!

Some before and after pictures

I've uploaded some screenshots to flickr - take a looksee here of the UI in normal mode and the UI in iPhone mode.

Muffin on the iPhone