It’s been over a month now since launching Roommate App, and for not advertising and not having any kind of marketing website, it’s doing pretty well. I’ve been getting a lot of good feedback/requests as well. I kind of burnt myself out a little on the project getting it launched, so I took some time off, but I will get to everything eventually. Before I get too deep into new features though, I need to develop the test suite.
Coming from a PHP background, testing is new ground for me (not that testing isn’t done in PHP, but it’s not nearly as prevalent as in the Rails community). When I say “test” in this context, I don’t mean clicking around through the app in your web browser and making sure all the links work, etc. I mean writing more code that makes sure the code you’ve written works (sounds like an endless cycle doesn’t it?). The benefit of doing this is that you can make changes to your application, then run all your tests to make sure what you just changed didn’t break something somewhere else. I’m probably not explaining it very well. Judging by the Wikipedia article, I guess you would call this “Regression Testing”.
Anyway, at this point Roommate App has very low test coverage. The goal would be to reach 100% test coverage, and it’s probably under 5% right now. So I’ve got some work to do. The testing guide at rubyonrails.org was a good starting place for me. It gave me a good overview of the basics and the reasoning behind it. If anyone knows additional resources feel free to suggest them.
While the guide was a good start, Sevenwire (my company) actually uses a lot of modifications to the default Rails app test suite. These include:
So I have a lot of different elements to learn, but that’s half the fun of this project.
3 Responses
keith
02|Jul|2009 1Hey Man,
I just wanted to say good job. I was about to develop my own application like this but I am impressed by what you got going on here. I am a PHP developer but also interested in Rails. I will be paying close attention to the app and this blog. If I had more time I would donate any help I could. Good luck and I appriciate the blog postiing.
-Keith
Mark Clifton
20|Sep|2009 2I really like your concept, but I have some concerns. I don’t think any of these ideas are foreign to you or your blog readers; however since the documentation is limited and I have not seen a succinct reference to these concerns I will try to lay them out nicely, as this is exactly what I am looking for when using your site:
1. Offline availability.. I’m thinking I would take much more advantage of an app like this if I could serve it without needing to be online. Since my roommates all live in the same place, why depend on connectivity? Can I serve a local copy of the app, then simply sync up to an online location later?
2. Privacy: although nothing I would bill roommates for / vice versa would be that interesting to an outsider, this should be a point of concern. From an outside point of view, the easiest way the data can be compromised is by guessing or finding out the password to get to the data, but still, what safeguards are in place if someone who DOESN’T have access to the password(s) hacks into your database? At the very least, someone can use the data for data mining purposes? Do we have assurances that this can’t happen? Also, this is kind of a tangent but people may be worried if they have their data somewhere that can be seized for evidence in an investigation, or for other reasons by the government, etc. when it doesn’t really need to be anywhere but in their own personal storage.
3. Data reliability: Can I download a backup of the account data online? Even if I can’t VIEW or work with the account data, it would be a nice peace of mind in case this project is terminated or the server is corrupted / etc to download a list of all transactions in xml/csv form or whatever, with current balances. Even as a weekly scheduled email option would be nice (even if it’s just the last 3 months / 300 transactions).
4. List of sources / competition: although this may not be in your best interest, it would be nice to see what inspired you to add certain features and make design decisions, as well as point out flaws or features that you’ve chosen not to implement as it is not part of your overall goal for this site. It seems like this project was started partially for the purpose of determining how easy and clean it would be to write an app such as this in Rails. That’s all fine and dandy but I want something that I can rely on that will manage my complex roommate billing scenarios.
Heff
20|Sep|2009 3@Keith. Thanks for the feedback. If you do ever get more time, I might have some stuff you can help with.
@Mark. Thanks for your comment. You obviously have some very specific demands for you bill management solution, and I can appreciate that. Before getting to each of your questions, I’d love to know how much you’d be willing to pay monthly for an app that at minimum included the features you mention above. As much as I LOVE this project, between a full time job and a girlfriend, the amount of time I have to spend on it is limited. If I thought there was more income potential that would be a different story, but we as roommates tend to be a thrifty bunch.
So to quickly answer your questions:
1. I can pretty much guarantee there will never be an offline version. I’m a web developer, and with the ubiquitousness of the internetz, I don’t feel there’s a strong need. iPhone however, definitely.
2. Your data is as safe as any other web app you trust out there. And probably even more so considering I’m using updated versions of Rails along with community accepted best practices. Besides that, while many apps collect addresses and phone numbers, I don’t require any info beyond name and email. I’m not really sure what investigations would require roommate bill splitting info. I can tell you that I will never reveal any personal data to an outside source, though if mandated by law, I guess I would have to? Not sure how that works, but I’ll do everything in my power to protect your data.
3. I’ll put data exporting on the list of new features. That’s one I think most people could get behind.
4. Sorry, not gonna list out my competitors for you. Google a few terms and you’re there. They do exist, but I can tell you that as far as I know, Roommate App is the only one that focuses only on roommates, and that allows for both roommate specific features and simplified interfaces that aren’t possible in other apps because it wouldn’t serve all of their audiences. Feel free to look around and let me know how we measure up.
Leave a reply