Sunday, July 31, 2011

We are live! Mostly.

Wow, what a week. Very intense. I am tired, but happy!

The site is now live, but Heroku is failing to install proper ssl, so if you try to do anything secure (like log in) you will get an error page. That's fine, because I decided this weekend to turn off log-ins except for testers, since so much code changed in the last few days. Hopefully the next few days things will be properly tested and sorted out. I have come to terms in the last two weeks that the "launch" will be pretty "soft", and that I will be doing a fair bit of stuff behind the scenes in the next week or so to make sure that all functionality is properly in place.

Any errors or concerns or questions, please send them my way! I will be sending out the "tell your friends" email when things are a bit more locked down ... probably within 48 hours.

So how did we get here from one week ago? A LOT of work by me and Capacitr. Here's what was accomplished this week:

- nearly every page design was approved by me and turned into CSS, images, javascript, and HTML by Capacitr, then integrated into the site Rails code by me.
- turned on real live credit cards and user default payment method and shipping address. They are currently off on the live site so that we can test. This went much better than expected, though I ended up refactoring a big chunk of the order processing workflow.
- implemented recurring payments with secure credit card information storage with authorize.net
- created content for pretty much the whole site ... if it's human readable and on the site it was probably written by me in the past week
- created invoice processing
- implemented emails to users
- implemented customer tag management
- implemented and finalized all legal language for the site, including tracking user agreement to the rental agreement
- implemented an account summary that frankly looks pretty lame ... need to pretty that up, but it's functional
- started the process of label certification with Fedex. Was much more difficult than expected. Currently labels are still in test mode, but they look real.
- met with Dan Kamerling, who is now back from Ireland and ready to help. He is working on marketing stuff
- finalized orders for boxes, rubber stamps, bubble wrap, and tape. Going to rent a truck tomorrow to pick all of those up
- made equipment purchases, including scale, label printer, photography equipment, a sign for the outside of the processing location, and business cards (since the logo was finished at the very end of last week)
- got the keys to the processing location, the drywalling of which
- met with a charity-focused company to partner on donations (not live yet)
- met with a consignment store to partner on sales (not live yet)
- oh yeah, also attended Tech Week for a full day in downtown Chicago

Sunday, July 24, 2011

Hard-fought victories, but the war is not yet won

I told myself I was not going to blog until I had accomplished a major task today. I just got Fedex label service to start printing multiple customized messages on the label. That doesn't sound like much, but it was actually incredibly difficult to figure out, and in the process I learned a lot about debugging in Ruby. I should really create a few highly technical posts out there about some of the challenges I've faced with soap4r, Ruby 1.9, and the Fedex w9 interface. Man, who'd have thought that would be that difficult?

Lots of progress has been made, but the list of things remaining before the big launch date is still long. Here's what has to happen by a week from today in order for me to launch:


  1. Get insurance that provides liability for me for people's stuff. Granted, my rental agreement will say that anything placed in storage is at the risk of the user, the user should make sure that they have homeowner's insurance that covers items in storage, etc, but at the end of the day I need this. I have found an insurance broker that specializes in internet firms and consignment companies, which is great. He is working on this for me. I have also found an insurance company that is willing to provide liability insurance that won't cover goods under storage, so that's not worth all that much. I'll be calling this broker tomorrow. Very nervous about this.
  2. Get the legal paperwork back from my lawyer. He has it; I will call him tomorrow. Not too nervous about this.
  3. Figure out pricing based (in part) on survey responses. I do not have as many survey responses as I need. Take the survey! http://bit.ly/qQ7goz.
  4. Integrate all of the wonderful designs I have received from my designer into the site. This requires that he deliver them to me in CSS and HTML, right quick. Hopefully that will happen tomorrow. Somewhat nervous about this.
  5. Upgrade to Fedex "production" shipping. This should be straightforward; we shall see. I will call them Monday. Somewhat nervous about this.
  6. Get a label printer. Fedex said that they should be able to help me with this and said they'd call me this past week, but they never did. I will call them tomorrow, and if they do not help right quick I will buy one from a third party. Pretty nervous about this, but as a back-up I can use a regular printer, so not the end of the world.
  7. Get my boxes and shipping materials. This is mostly done, just waiting on the box design from Capacitr. They said it would be "no problem". Also, I found out that it's going to rather difficult to ship these shipping supplies to me (meta!), so I will rent a truck and drive out to Lombard to get this stuff. Should be fun. Yay Chicago being a major shipping destination.
  8. Upgrade to "real" credit card processing. The app is in, and this should be relatively easy, just waiting on Chase to handle this. Quite nervous about that one - banks are not to be trusted.
  9. Finish a bunch of "clean up" site functionality. This stuff is supposed to be easy, but the 15 hours I just spent on Fedex integration is a warning that surprises happen. Rather nervous about this.
  10. Turn on real SSL for the live site. This will probably eat up a disproportionately large amount of my time, but it's gotta be done.
That's it! Yikes.

But wait! I did in fact accomplish a lot this week. Here's a breakdown:

- attended Tech Week! Well, one day of it, so far. I plan to attend one more day tomorrow. It was fun, but tiring to pitch literally all day. I did make some fantastic connections, though.
- found the aforementioned insurance broker. That was a win.
- set up an appointment to talk to an upscale consignment store about partnering
- secured (mostly) my brother to come out to help me out with running the warehouse if necessary when I will be in Mexico at the beginning of September.
- GOT THE LOGO! It took a while, but this was a major coup. 
- Got a whole bunch of page designs from Capacitr. These are still in eps format, but it's good that we finalized how things are going to look. I think they look good!
- I cannot stress enough how much the fedex integration was a win. Getting that to work was incredibly difficult, but I managed to pull it off. I realized by talking to Fedex on Monday that just linking to their webpage to get the label wasn't going to cut it, because then I would lose the tracking number, which pretty well sucks. So on Monday I found an alternative soap4r that is compatible with Ruby 1.9 and is hosted on rubygems (score!) so it would work on Heroku, then last night and this morning figured out (a) how to save it to Amazon S3 (thought I would use Paperclip, a Rails plug-in, but that turned out to be a bad idea), and (b) how to print out custom information (like "Check here to inventory") on the label. Now it just works. Hallelujah! Amazon S3 is awesome, btw.
- Got off of Northwestern email and calendar completely. This was a surprisingly large pain in the butt with godaddy.com, but it's done, and now I can check email on my iphone, which I was not able to do up until that point. Plus Northwestern had stopped allowing me to create new calendar entries, so this was pretty much a must-have.
- built role-based security into the site so that people can't see one another's information. That was a bit time-consuming but not too difficult.
- built ssl into the site so that all transactions that need to be secure are secure (surprisingly difficult, and will be annoying when I go live)
- wrote a whole bunch of content for the site, including most of the legal and basic instructions. Still need to do faq.
- Integrated a perty new side navigation for account maintenance (designed and delivered by Capacitr)

One more item of craziness this week: I use a Belkin router on Comcast internet, so naturally I lose internet about a dozen times a day. Fine, whatever, rebooting the Belkin usually does the trick.

But this week, instead of showing "page not found" messages, my Mac started loading up localhost:3000 whenever I hit any page and that page was not available! What the? I don't even....

Happens in Chrome and Safari, and after system reboot. Other computers of course don't see this, but can't connect to internet until I reboot the router. Sometimes the reboot doesn't break my mac of its habit, and I have to just wait. Freaking bizarre. Macintoshes -- usually don't break, but when they do, watch out.

Wednesday, July 20, 2011

Survey launched!

I've been working on a survey to help me understand more about people's thoughts re: the business, and have received some great assistance from Kelly Goldsmith and some volunteer survey takers. The survey is now launched -- please help me out by taking 10 minutes to provide your thoughts! Everyone who takes the survey is entered in a raffle for a $100 Amazon Gift Certificate. Refer someone, and you get 2 more chances in the raffle!

Here's the link: http://bit.ly/qQ7goz

Sunday, July 17, 2011

Ugh.

I find that the process of starting a company is a combination of mad dashes and frustrating slow-downs. This week featured a lot of the latter.

My main concern at this point is insurance -- as it turns out, virtually no insurance company is willing to insure this kind of business. The problems are multiple: they don't like the fact that I am taking possession of other people's stuff (unlike a normal, you-lease-the-space storage company); they don't like the fact that I am providing services that require me to actually open those boxes; they don't like the fact that I have never been in the storage industry before; and they don't like the fact that the company is a start-up. I had assumed up until now that, since my company is a mishmash of services provided by other companies, I would be able to take care of this insurance thing (there really is very little new here; it's the combination that is new). I also assumed that the multiple insurance brokers I had working on the problem were correct when they said that they should be able to find something. Now they are all coming up empty-handed, and I have taken more ownership of the problem, and have called many companies this week that advertise that they insure in the storage, consignment, or warehousing space. So far no luck. Need some Felix Felicis. HP reference! I am a nerd.

To add to that, this week I took on one of the few remaining technical challenges of the business: making it so that people can print out Fedex shipping labels so they can easily ship their own boxes and just schedule a pick-up with Fedex. As it turns out, this is surprisingly difficult, and each option includes annoying little challenges. My first inclination was to use Fedex's XML interface, but they change this interface so frequently that at this time there are no rails interfaces off-the-shelf anywhere that I can use. I am loathe to build my own WSDL processor myself, as the Fedex spec is rather long and complex, so I tried to modify one off-the-shelf that works (supposedly) with Fedex's spec a few versions back. I got it to work ... then discovered that with that tool installed, the entire site stops working! Fun. Traced that problem back to a one-line bug deep within the SOAP code (damn you Ruby for allowing dynamic extension of core classes! This seems like a terrible idea to me), and discovered that the code was improperly packaged so it won't work on Heroku without yet more debugging and customizing. Sigh. So I think I'm going to try to use a different interface and hope for the best. Call scheduled with Fedex on Monday to work through the details of this.

On top of all that, the designs are coming along, and some of them look really nice, but I wish they were moving a lot faster. Come on Capacitr, you can do it!

I suppose these are the things that separate the entrepreneurs from the wannabe's -- or at least, the entrepreneurs who actually have a launch from those who give up when the going gets tough. Looking back on the week, I do have other successes to report, most of which happened before the Fedex / insurance things got painful on Thursday.

Weekly Accomplishments

  • Completed a survey for gathering more market research and delivered it to some friends / mentors for review on Monday. They have yet to get back to me.
  • Met with the folks at Campus Solutions to talk about potentially using their space. They are just about out of space, so they were not able to help, but the person I spoke with gave good guidance on the kinds of things they did to get going several years ago.
  • Met with a VC I know to talk about the business. His reaction was: it's all about SEO. This might have something to do with the fact that he and his partner specialize in SEO, but I agree with him that SEO is very important. We agreed that the site really needs to get up, though I am of the opinion that it has to be functionally complete for at least a few workflows before I can really show it to the world.
  • Met with a potential partner in Urban Bound, a start-up in the HR outsourcing space. Michael, one of the founders, is excited about the prospect of offering his corporate customers the option of having employees store their things with the company while they are going through the moving process.
  • Met with a representative of Chase Bank to talk about the work I will have to do if I am to hire someone. Overal a very pleasant meeting. Technically I think both the people I spoke with are employed by ADP.
  • Met with my friends at Suggenda to work out how we are going to handle ownership of that company (not really important to the company, but important that I am not distracted by that!)
  • Committed (mostly) to the space in Evanston as a processing and shipping location. Reviewed a lease and applied for a background check.
  • Received my official credit card for the company. I have $15,000 in credit. Woo hoo!
  • Called a bunch of consignment places to talk about partnership. Talked with one at length, and scheduled meetings with a few more for next week. The one I talked with was positive about the prospect of forming a partnership, and wants to talk more once the site is up and running and I turn on the "sell" option.
  • Implemented the image browsing functionality in the site. I am now able to inventory and tag someone's stuff, and they are able to see that information in a very nice and sexy layout. This was surprisingly difficult, but ultimately successful, and I learned a lot about CSS along the way.
  • Saw the last Harry Potter. This was a major downside to the business, as it depressed me that there are no more Harry Potters coming, and reminded me how much fun film-making is. Then I realized that I need a good source of income that will allow me to fund my film-making habit, and that I need to get the company off the ground for that reason alone, and that TVC is better than working for another company because it allows me to work for myself and organize things, something I love to do. Tom Cox is probably going to message me now saying "yeah, Z, keep telling yourself that". :)

Sunday, July 10, 2011

Movement on all fronts

This week was a successful week on many fronts. Here's what went down:

Design
As mentioned previously, I checked out themes from the likes of themeforest.com, and integrated one of them with the site. My goal was to do a full integration over last weekend, and I succeeded in that goal. When I reviewed the results with my chosen design firm they liked what they saw and understood my desire to shorten development time and reduce costs. They therefore trimmed site design from the budget, and are now focusing on logo design and the design of each individual page as it fits into the overall site design. Money saved: $2500. Booya. That's called lean development, folks.

The designers then turned around a series of logo designs. I was hoping that these would be spot on, but that was an unrealistic hope, and the plan next week is to work closely with the design team to narrow in on the design that will work best for the three principles I want to convey: secure, organized, accessible.

Development
When I started this week it was possible for people to sign up for the site and order boxes. As of today, when they order boxes the boxes immediately show up in their accounts (as "in transit" if the boxes are coming from us, and as "being prepared" if they are coming from the customer); administrators can see a list of all orders of any type; administrators can send boxes to customers and mark orders as complete; they can receive boxes from customers and update customer records; and -- and this is mosti important -- they can mass-upload images taken of items when boxes need to be inventoried. I cannot stress enough how much of a pain that last bit was -- it seems that when HTTP was designed, the idea of "mass file upload" was not included, and I know that operationally that is something I simply must have. The solution: Flash and Jquery, two things I know very little about! Fortunately, there are a lot of open source free solutions out there, and though they are complex and tricky to get working (and usually rely on versions of rails / whatever that I'm not using or which conflict with what I am doing), I managed to get a pretty sweet one fully integrated. That was a pain -- but it now works! Back end development is reaching the finish line! Beta testers, you will soon get an email from me asking to start testing!

Business
I have set up meetings with two potential partners next week -- an HR outsourcer (who can help me connect with people doing temporary moves for work) and a college-oriented storage company (for whom I can be a channel, and whose space I'd love to share).

The State of Illinois finally processed my "doing business in Illinois" paperwork. They haven't returned it yet, but the Secretary of State now shows the company as a bonafide business in Illinois. About time!

As a result of the above, I set up a corporate bank account and credit card, and lent the company a bunch of operating capital. Wrote my first business check this week!

While working at The Farley Incubator this week I met Ian, a founder of Big Red Shipping and Storage. Our conversation was most interesting, and I look forward to talking with him more in the future.

While doing all this work this week it really hit me that I need to start the search for a COO. Let it be known that I am looking for a business partner!

I also met with a former professor of mine, Kelly Goldsmith. She was immensely helpful in giving me ideas about potential other partners, ways of segmenting the market, and ways of collecting information about the market (long story short -- she doesn't think there's a ton of secondary information out there, and we agreed that a survey would be a good way of learning more about the market).

I checked out some potential warehouse space. It's not bad, but I need to talk to my insurance company about liability insurance in that place.

Speaking of which, I have asked several insurance brokers to get me quotes from several companies on both liability coverage and supplemental coverage for clients if they want it. Hopefully more on that soon!

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.