| jaq ( @ 2006-06-18 12:21:00 |
| Entry tags: | geekery, rails, rails day |
rails day, the aftermath
Rails Day is done. I worked from about 5am through to about 1.45am. So I could have had a couple more hours ;-) But I was pretty sleepy by then.
Here are a few unsorted thoughts about what I learned.
- I was a bit thrown off when it came to writing user authentication, since I've used User Engine for my existing projects, and Engines were not allowed for this competition. So I used Acts as Authenticated instead, but it took a bit of learning, and there was an awkward bug that turned out to be caused by a hardcoded controller name in the templates (I think!).
- I am pleased with the core function of my application: entering a shopping list quickly. It's the most heavily "Web 2.0/AJAX" application that I've written, with auto-completion and a dynamically updating page.
- I had to learn how to use the autocomplete text field in Rails, but Amy Hoy's article was very helpful. I was more confused when I tried putting in autocomplete for the tag entry fields - there were lots of extra requests going on. I decided this was probably due to there being lots of the same field appearing in the window (although most of them are hidden at any time), so I hacked out the javascript into a single place rather than using the Rails generated script, and it seemed to work.
- But there's still a bug in trying to update tags in Internet Explorer: I couldn't figure out what was wrong, since it works fine in Firefox, and I didn't notice the problem until it was late and I was falling asleep. I hope that doesn't ruin my chances too much.
- The time seemed to pass very quickly! I had RSI Breakreminder running, and between about 9pm and when I finished, hardly any time seemed to pass between the reminders.
- I was disappointed that I didn't manage to implement some of the functions that I had planned, but at the same time I was glad that I'd done a design where I could add on functions as I had time, rather than having to get a huge thing finished. I wonder if I should have picked my 'recipes' and 'meal planning' rather than 'store sorting', but I think I've done the more interesting bits.
- I had to do some swift redesign of the Store sorting functionality from what I had designed on paper. I realised that not only was it complicated for me to implement, it would be too complicated for users to understand. I scaled it back to a simpler model which won't produce perfect results but which is usable.
- The actual 'sort List by Store' function is horribly inefficient. I had hoped to reduce it to a single SQL call, but I couldn't figure out all the joins involved (7 tables are used). On the other hand it isn't called very often, so it might not matter.
theora helped me put some effort into the styling and layout, which I don't tend to do that much usually.- I did wish I'd found an artist/designer for my team though. I spent a while trying to draw the cartoon pig I could see in my mind, but it didn't come out very well.
- When trying to sort out colors, I found that the visual_effect :highlight command didn't seem to quote color codes properly when used from RJS. I had to double quote the color code, e.g. "'#CCFF99'".
- I am tired and my arms/wrists ache.
That'll do. If you're interested I have updated my deployed version of the application at http://happypig.ethelred.org/ to my final version of the day.