Saturday, July 2, 2011

Odd week

This was an interesting week of work on The Visible Closet. I spent about 60 hours figuring out technical things, not something I really wanted to do, but I feel much more knowledgeable about building the site, HTML, CSS, and especially Rails than I did before. I wish I could say that this means I'm almost done, but I feel like I'm at the halfway point of the back-end development. Fortunately, I have picked up a lot of speed lately.

Anyway, for those who are most interested in progress, here's what happened this week. I have some musings I will add towards the end.

  • Brought on another beta tester (yay Josh Engel!)
  • Did some good competitive research by signing up as a user for my friend Murali and carefully documenting my closest competitor's process.
  • Completed basic back-end development work on ordering boxes properly and on account workflow.
  • Selected a design firm! This took a while, since the last place I contacted took a full 4 days to provide me with an estimate, but that was the best estimate and the one I ended up going with.
  • Rejected the idea of working with a design firm! Well, sort of. Had a great conversation with another entrepreneur this week (yay Austin), in which he pointed out that there are a lot of tools out there for website development that allow people to develop far faster than even rails will allow -- and that these tools mostly have to do with site design. We started talking about Wordpress, which I always thought of as a souped-up blogging tool, but he introduced me to http://www.wix.com and http://www.drupal.com. After spending a few hours going through those sites I realized that there are an ENORMOUS number of design templates out there for sale (or free), so many that we've passed the "uniqueness" threshold I think (that is, the point where you can actually use a standard template and not look like an amateur or copycat). I'm not doing an ecommerce site or content management system, so I had always thought that these "standard" designs were not at all worth it -- I would need so many skills to get them to work the way I wanted that I might as well hire a designer to do it right up front. Not so. I have a decent design working pretty well at this point, based on a template I downloaded for $14. Is it perfect for the site? No. Is it good enough for the pilot? I think so. So that means I need to have a tough conversation with the design folks that I told I was going to work with on Tuesday. Should be interesting, especially as I definitely still need their services -- I just don't think I need them nearly as much.
  • Met with a marketing / graphic design contractor and talked a lot about messaging. Great creative conversation!
  • Had my first really negative conversation with a professor about the project. To be fair, it really wasn't all that negative -- he thinks the business is a great idea, and can tell that I have the passion and drive to make it happen. His comment was: too little time to execute, and too risky given that I have such a golden opportunity to work for a few years in the consulting industry and get my personal finances back in order. While I remain completely committed to making The Visible Closet work, his perspective is helping me think better about the process and what my exit criteria should be.
Those are the big things. Now for some musings...

It can suck to be an experienced engineer
Most of the time I think it rocks to have the technical skills I do, but this week I cursed my engineering experience. The last time I did a lot of work building a website was in 2005, and the world is SO DIFFERENT now. It's INCREDIBLY easier, because tool diversity and maturity in the space has advanced so much. So what's not to like? As someone who is used to building sites from scratch, I don't ask the right questions. If I were a total n00b I'd look for tools for everything, and learn by using the tools. Instead, I jump straight to frameworks and programming languages, which sometimes means that I waste a lot of time.

Classic case: I want to build a data model for the site that is fairly normalized, and design screen flow separately. This makes sense for MVC architecture, but in rails, tables map fairly tightly to everything else, including forms, pages, controllers, and objects. As such, it's a fairly good idea to think about your work flow and your data model together, and fudge things a bit elegance-wise in order to get done faster. As an engineer, this goes against my instincts -- but sometimes it's SO MUCH faster. Too often I find the perfect the enemy of the good, and myself on the side of the perfect. I have to be careful not to do that.

2 comments:

  1. Almost forgot to mention one thing -- based on comments from my friends Brian Wood and Austin Asamoa-Tutu, it's clear to me that I need to get off of blogspot and onto wordpress. Not on the top of my priority list, but now it's pretty clearly on there!

    ReplyDelete
  2. From the reading and (limited) experimenting I've done with Rails this week, it seems very well-adapted to Agile. Coming at it from a database design perspective, I've determined that the focus needs to be on workflow and object model, at least during the early experimental phase.

    You're not trying to build a massive ERP system, you don't need to integrate with legacy systems, and I don't imagine you would end up with thousands of users working on the same data records anyhow.

    So... let your object model (and by extension your data model) adapt to your rapidly-changing requirements. I've become a big proponent of "document first, write tests second, code third" - it is very effective at focusing the coding effort on the immediate requirements rather than trying to speculate and handle various hypothetical use cases.

    (And this coming from your resident Oracle guru!)

    ReplyDelete