Archive for development

Work continues

Work is continuing on brew manager, although not at the pace I’d like. I was not able to take the extra week off I had been hoping for, perhaps later in January. I have been able to get recipe creation in good enough shape that I think it can be used. This means I’ll probably launch it in some limited form in the next few weeks. I’ve been working on trying to get the look and feel to not suck. Thus far I’ve been unsuccessful on these fronts, but I’m reading more and working on it so we will see what comes of it. Designing things that look good turns out to be harder than I’d anticipated. I’ve been mucking with CSS positioning and really just trying to learn how to do things with CSS. I’m picking it up, but slowly for sure. Maybe its time to go buy a book.

Even if it looks terrible I’ll put something up so I don’t have to keep using google docs to store my recipes. Keeping them in documents isn’t working out for me. Not enough structure and I lack the self discipline to force myself to do it in a free form document.

I just finished up being able to add steps to a boil and remove them based off the ingredients in the recipe. I’m going to muck with how hops work one more time, and possibly how the database is seeded and then I should be ready to launch something. woo.

In other news I’ve been brewing quite a bit and started doing beer reviews for another blog, beerporn. Lately I’ve been trying to make quicker beers since most of what we have in the fermenters is long term (a lambic and two Flanders reds). We bottled a pale that turned out really well, just bottled a porter and have a breakfast stout in the primary that I’m really excited about. The breakfast stout should end up with a low ABV and taste a bit like maple syrup.

Comments

About that last post

Total bullshit. I’ve have not even checked if brew manager runs on my development system after getting rails happy. I’m planning on taking a week off in December (several actually, but only one related to brew manager) and devote it to working full time on brew manager. Hopefully the ability to focus will be good for it and me. My wife will be working and the kid will be in day care. So I should have at least a week, possibly more to devote full time to brew manager.

I’ve started to poke around with iPhone development as well. One of the things I’ve realized is that we use iPhones a lot when we are brewing to lookup recipies, update / read our wiki etc. This will not be my main focus, especially considering the site doesn’t really work for anyone besides me yet. But I do think it will be a fun and interesting thing to work on in the future.

I’m headed out to Zurich on Saturday for our European Sales Engineering (I think that’s what SE means) rotation. I’ll be talking to them about the thing I do for my day job. So…. at least one more week brew manager will be on hiatus. But I’m at least at the point where I want to do it. Hopefully soon want will turn to need and time will allow.

Comments

Working again

I’ve been out of town again, and when I’m in town I’ve been distracted with a few things that have pushed brewmanager to the back burner again. Tonight I’m back in force and ready to get started on it again. The layout is still pretty ugly, but its serviceable to make sure I’ve got the back end working the way its supposed to. My current plan is to look into why things fail when we are running at dreamhost but they work when I’m running them on my laptop.

So… off to it then.

Comments

Tabbed navigation is starting to happen

I got some time to work on things again tonight. I’ve been busy adding the navigation tabs and figuring out how that all works. I decided to use Tabnav because it seemed like the path of least resistance. So far I think that was a good choice. It took me about 20 min to get oriented and then I was off and running. Once again I’m impressed how easy it is to get a basic skeleton going for things in rails.

So far I’ve got the recipe page with tabs to a users inventory. After writing this I’ll work on getting the tabs fleshed out more, I’m still not sure what elements it makes sense to navigate to. I keep having this internal debate that tabs should take you to content and not actions. For instance it should take you to your recipes but we should not have a tab to start a new recipe. I think I might add tabs for recipes, inventory and brews, and possibly the BJCP guidelines (If I choose to reproduce them here, still up in the air on that too). Each of those tabs will have the list you would expect, as well as action links for deleting, editing and adding / starting a new whatever.

Its funny how little time this took, about an hour but how productive it feels because it changed the way the site looks. In my day job I don’t ever see a user interface change for the work I do…. instant gratification is nice.

One gotcha I don’t particularly understand about Tabnav. Whenever I update what a tab links to, or the text in the tab I have to restart mongrel… what the heck? Not a huge deal but I wasted about 15 min figuring out why my changes wouldn’t take effect.

Comments

Starting to work on CSS

Tonight I started playing with CSS to get the color scheme that Chris came up with onto a web page. No tabs or navigation or anything yet, but I’ve splashed the colors on the page. Kinda like that guy that used to paint on MTV. You can take a peek at what we have started to play with here. I’ve embellished the original scheme slightly and we will see if Chris beats me up for it. It’s easy enough to change back I suppose.

Be warned that that page is in no way functional. Anything posted under the pre alpha site is really just for Chris to take a peak and what I’m doing and is never guaranteed to work (I update things haphazardly and make no effort to ensure that it reflects a consistent image) and it isn’t really for public consumption. I probably should not have named it pre alpha….

Anyway I’ve learned that I don’t know much about CSS. This is not a terribley huge suprise. I am muddling my way through and making decent progress. If anyone’s got a good web page or book on CSS to recommend I’d appreciate it. I’ve read some stuff online and haven’t found any good comprehensive thing I’m supper happy with. I plan to go pickup a book this weekend maybe. Surley O’Reilly has something that can help me out.

Anyway, thats my quick update and now I’m back to it.

Comments

Back from vacation

Starting to think about brew manager again. We had a brew at my house on Friday, 55 gallons of beer, with most of it ending up in my basement for fermenting. Chris has gotten me a logo and a preliminary layout. Both will get revised some more but it’s something to start coding a view to so that is exciting. I hope to get some work done this week and next, then its back to school at the end of August. This will probably take some time away from Brew Manager but not too much hopefully.

Comments

Too hot to work

Not really, but it seems that way. Lately I’ve been researching the best way to get tabbed navigation in a rails app. I’m debating between a plug in and rolling my own sliding doors type solution…. and /or something more AJAXey.. Once I see what Chris has cooked up I’ll make my decision based on what fits that. Other than that I’m starting to think about getting the inventory management stuff going…

Going camping again this weekend and work has picked up so things are on hiatus until next week or so.

Comments

One step forward two steps back

Chris and I met and had some discussions about a visual theme and layouts. We think we’ve got a target layout idea for v1. At the risk of articulating it incorrectly I’ll let Chris talk about it if he wants to comment (Chris if you want to blog stuff here yourself let me know and we can make that happen).

During the demo for Chris and playing with the site myself I have come to the realization that I have gotten the relationship wrong between ingredients and recipes. Currently we have the notion of an ingredient that says what it is, but nothing really specific beyond that. For example you would have a malt extract ingredient. There was another object called recipe ingredient that had more specific information about manufacture, extract percentages (60/40 wheat to malt or whatever) and quantity. Recipes and inventories were both constructed using the recipe ingredient object. After working with that I found it became a pain in the ass to build a recipe because you need to link it to a specific instance of a recipe ingredient. This meant you had to fill out manufacturer and all that for things in your recipe. This is wrong and just made things a bear. Its also what caused me to take so long to get recipe creation working (since it had a bunch of dependencies on inventory functionality).

I’ve decided to ditch that idea and just construct recipes with the base ingredients. So instead of saying Briess Malt Extract you just say Malt Extract as an ingredient in a recipe. This feels better and is how recipes are usually written. I’ve renamed the recipe ingredients class to be inventory ingredients.

A recipe will control how much of each ingredient it has and what not. There will still be an intermedary object that will encapsulate quanty and the ingredient, this will also be used in the inventory and proably be able to perform converesions (cups to oz etc)). This should reduce the coupling between recipes and inventories and save me a few headaches.

Comments

Looking at unit tests

I neglected to read the ruby / rails unit test documentation because it seemed cumbersome at first glance. I rolled my own thing for models and assumed controllers would do what they were supposed to do. That worked well enough to get me up and going but tonight I decided I needed something more reliable and rather than reinvent the wheel…..

So I did some reading. The unit tests aren’t as decoupled as I would like them to be (yes Michael Feathers, you have made an impact in my life (his legacy code book is pretty good. I suggest it). I firmly believe that a unit test should not use a database or network. I think you can do that with the model well enough (by avoiding fixtures), but it looks next to impossible for controllers. From what I’ve read testing a controller makes http requests to the web server. I’m not a purist or anything, but its a bummer it has to do that. And I don’t think I can setup an in memory model object for a controller to work with (I’m probably wrong about that, I’d guess there’s some magic) I’d imagine for a full tests suite it would slow things down considerably. The other thing I’m not immediately seeing is a way to sense through a fixture. While not strictly necessary (and may in fact be more trouble than its worth) it sounds like a neat idea. All that said, it looks like the functional testing you can do with the unit test framework is pretty slick. I’m kicking around the idea of setting up some sort of nightly check out / test run just for kicks.

There has been a vanilla crisis in my house ( I think I get cookies!) I’m out.

Comments

It’s alive

In a clunky Frankensteins sort of way. Recipes can be created and attached to a user. Ingredients can be added to said recipe. At the moment all recipe ingredients are shared between all users… I’m not sure how I feel about that. A recipe ingredient is a more specific ingredient. It adds Manufacture, Quantity and Unit of Measurement… the more I think about it those last two may belong somewhere else. Anyway. An ingredient would be something like DME, while a Recipe Ingredient would be something like 2 cups of Briess DME.

The nav is still incredibly clunky. Hopefully Chris has had some time to think about what navigation should look like. Next tasks is to figure out if the measurement stuff should move out of the recipe class itself and into a helper of some sort. I’ll also make it so recipe ingredients aren’t shared between users (may hap we will have some common pool of them and then you make them your own).

The other task I’ll tackle is the ability to add steps to a recipe. This should get recipe creation all done and I’ll have produced something capable of storing recipes per user that can be searchd by everyone.

One thing I’ve done, that I’m not sure what to do about is allow recipes to be created by an unregistered user. This is cool, and they can create it and add ingredients and all that. The thing is they can’t come back and edit it later. Once they click ‘save’ that’s the ball game. I’m officially soliciting suggestions. One thing I was thinking bout is using gravatar’s. They have the ability to bind a session to an IP which is kinda cool, and it just looks like it would be a neat thing to integrate. I don’t think they provide anything I couldn’t get with a session cookie or the like…. but eh… why not. Other ideas appreciated. Should I just restrict recipe creation to registered users (not wild about that).

Also, wordpress has this autosave feature that turns spell check off (when using the wyswig editor)… anyone know how to disable that?

Comments (1)

« Previous entries Next Page » Next Page »