Tower Prints

Payment Processors and Database Design


June 24th, 2008 by bracken

Despite the lack of updates I have been working on the site. Lately I’ve been struggling with the database design for the products. We eventually plan to sell items other than shirts that will also have different attributes than shirts. I’m trying to decide how flexible the database needs to be right now. I can make it possible to add anything we want, but that makes the database and programming more complicated and we will probably be sticking within the clothing-item realm. I’m thinking about making it more t-shirt oriented and just tweaking it as needed later since I can’t really foresee everything we would need anyway.

We’ve also been going over payment processors. We’re going to use the rails Active Merchant plugin, so it shouldn’t be too difficult to switch between processors if necessary. We’ve narrowed it down to the two that we think will work out best for us. Paypal and Braintree.

We plan keep the checkout/payment process on our site, but Paypal is good because we can allow people who want to to pay with paypal. My main concern with Paypal is that I’ve heard quite a bit of fuss about their service and down time.

I’ve heard a lot of great things about Braintree, and so far I’ve found their customer service to be excellent. Their monthly fee is only $20 compared to Paypal’s $30. We plan on having people re-enter their credit card numbers for each purchase so that we don’t have to concern ourselves with storing them. Ever checked out at The Pragmatic Bookshelf? They do it that way and it’s really not bad at all! But if we did decide to save credit card numbers, Braintree has a great feature where they store the numbers for you and you just save a token for the user. That saves a lot of trouble.

Have you had any good/bad experiences with these payment processors? Are there some good ones that we’ve overlooked? You’re help would be appreciated. ;)

We hope to open the store on the 1st of July with a small stock of shirts. If there is interest we could design and print a ‘30 day sprint’ shirt of some kind. Let us know if that is something you’d like and we’ll try to post a potential design sometime this week.

This may be pushing it a little for us, but we think it is possible. The main problem would be the payment processing. Since this would be more of a ’soft’ opening (no marketing beyond this blog, and probably only open for a few days), we could just set up payments though paypal standard and go with that as we get that area worked out. I think it’ll be very motivating to actually have a functioning site up, even if people have to go off-site to pay for the short-term.

Getting Real and working hard


June 12th, 2008 by bracken

I’ve had a dry spell for blog posts this week, but I’ve been busy working on the site and learning Ruby on Rails. I’m really loving the Rails framework. It makes so many things easy, and it encourages and helps you to write great code. I know I’ve already said this a few times, but I just can’t get over it. ;)

I tend to have some pretty funny/annoying moments though. At my current job I’ve been learning Python because that’s what they use in house. There are a lot of similarities between Ruby and Python, and since I’m learning both of them I sometimes get confused about what I’m doing. It can take little while sometimes to see what my problem is. Like I’ll be getting syntax errors when I run a script and I’ll just sit there staring at the code not seeing what is wrong. Usually it’ll turn out that I’ve written the block of code in the other language’s syntax but since my brain can parse it I just can’t see anything wrong.

Anyway, I’m hoping to have the basic framework of the site up in a week or so, including navigation between pages. Once that is up I think it’ll be a lot easier to tweak it to look and function how we want it. Drawings and mock-ups just don’t compare to the real thing.

I just finished the book Getting Real - The smarter, faster, easier way to build a successful web application by the guys at 37 signals. It’s amazing how motivating and informative this book is. Every time I read a few articles I get all fired up to do some good work (and the key is that I actually do it too). I think this book applies to any small business whether they’re running a web application or not, I highly recommend it. (oh, and the entire book is online, so that’s great too. Though I prefer the printed copy.)

One bit of advice I’m trying to follow right now is to Ignore Details Early On. It’s really easy for me to get caught up in little details when I’m programming something. I’ll waste hours on one thing and at the end I’m not really any further along than I was at the beginning. So I’m trying to train myself to take a step back and figure out what is really necessary right now. I notice my productivity go way up when I consistently practice that.

I’ve been capped


June 7th, 2008 by bracken

I was right about Capistrano being a little difficult for me to get up and running. I finally got it going, but I still have a few thing to configure before it’s working perfectly. My main problem was getting the server to run the repository export command successfully. It kept asking for my username/password, which would be fine except that it would still fail anyways. I found about 4 different things from blogs, and the Dreamhost wiki, that were supposed to fix it, but nothing worked. I was trying to set it up using web-dav and it finally occurred to me that I should just use svn+ssh instead. I changed my config file and it worked right away!

So now it’s deploying just fine but I still have to work out the frozen Rails version issue. I don’t want to keep a copy of rails in my repository, so I need to make the ‘vender/rails/’ directory symlink to a shared directory. I also need to set up the other folders that need to be symlinked. There are so many different examples and opinions about what the best way to deploy an app is that I think I’m going to have to spend a little more time figuring out what will be best for my situation. I’m also trying to set up a test and production deployment setting, so that may take a while to figure out too. So once I make a few more tweaks to my deployment file I should have the development server ready to go.

It took me probably around 4 hours to get it all up and running (plus some other things). That’s a little long for what is supposed to be a not-too-hard task, but I learned a lot and I can’t even imagine the potential for how many hours this will save me in the future compared to my old bad habits for web deployment.

Side note: The European Soccer Championship starts today! That means one more thing to distract me over the next couple weeks. ;)

Side note from the wife: I think what he meant to say is that our three year anniversary (today), would be distracting, not the soccer games…

An update on our progress


June 5th, 2008 by bracken

I just wanted to give a quick update on our progress over the last day or so. I’ve been taking care of some administrative tasks. Things like setting up the test/production databases and the version control repository (svn). I’ve also set up a domain for testing the app as it progresses. Ruby on Rails is known for being quite difficult to deploy, but the new Passenger (mod_rails) Apache module is truly amazing.

Our web host, DreamHost, is using it and they made it extremely easy to set up a Rails app. It is literally upload and go. Being fairly new to RoR I was a little worried about the deployment part, but I’ve already got an app up and running and it was no problem at all. Well, that’s not entirely true. DreamHost currently has Rails 2.02 installed and I had my app in Rails 2.1. I thought that was going to be a big problem, but Rails has this great ‘freeze’ feature that allows your app to use whatever version you want regardless of what is installed on the system. It’s little things (or not so little actually) like this that keep me excited to use Rails.

I hope to get my deployment process set up over the next day or so. I’m going to be using Capistrano for this. For those who don’t know, this is a utility to help deploy and update already existing and running rails applications. Once it’s set up, all you have to do is run one command and your app is updated. I am so excited for this! I have a php web page that I wrote a few years ago that my family uses to keep in touch. It’s not too large, but I never used version control with it, and I have no idea where the most up-to-date code is. For some files the newest version is on my home computer, but others I updated right on the server they’re running from. I know I could figure it out, but it’s so scary that I have no motivation to work on it. I have a feeling that a lot of php projects digress in a similar way. That’s why Capistrano is such a great tool. It keeps you in sync and has other great features as well like being able to roll back changes.

I’ve looked over a few blogs and the Capistrano site and it seems like it can be a little tricky to get set up. So we’ll see how it goes and I’ll keep you updated. Hopefully it’ll go as smoothly as installing my rails app. ;)

On another note, Mike has compiled a list of everyone participating in the 30 day challenge. And I think Richie Hindle has a really great idea for his challenge. The idea of his application is basically to make it safe for children to click around on your computer. Not to keep them away from bad things on the internet or things like that, but to stop them from deleting files and changing settings etc. Here is his explanation about his product: Click Stop.

On design and boxes


June 4th, 2008 by bracken

We were working on some general designs and ideas for the site today. One thing we worked on was all the different sections of the site and how our basic navigation would work. Nothing with too much detail, just some kind of general ideas. For example, these wonderful boxes represent the possible destinations from the home page of the store. (we could have used paper/pen, but I can never understand it afterwards.)

Possible destinations from the hope page

A graphical representation of the ordered list to the right.

  1. Store
  2. Specific Shirt Page
  3. Save the world
  4. Login/userinfo
  5. forum
  6. blog

The sizes of the boxes are supposed to represent the importance of the destination from the current location. For example, it is much more important that someone be led to a page for a specific shirt than to go to our blog. (The ‘Save the World’ link is quite interesting, and we’ll post about our goals with that some time later.)

These boxes are so simple that it doesn’t seem like they would be very helpful in actually designing the look and feel of a site. I think it’s useful however because it symbolizes what my goals are for a specific page. Lets say for example that I’m having a tough time making my main menu look good and function perfectly because I have too many things in there. I might think it’s really important for the blog link to be there and just not want to get rid of it. But if I understand the priority of people being able to browse for shirts super easily, it should be easy to see that the blog link isn’t really necessary in such a prominent place if it can’t be made to work well.

Just listing those same pages in order of importance wouldn’t help me understand my real feelings when comparing two items, but looking at the size of the boxes next to each other makes it quite clear how I feel about the two pages. So doing something like this really helps me to understand what I already think is important and to apply that as I design something.

I really enjoy seeing how others work and think because there is always something I can pick up from them that will help me be a better designer and thinker. So what are some of the things that you do when working on a design?

30 Day Highlight

One of the other 30 day projects has piqued my interest. The idea is to help people to go running by making it a little competitive. Kind of an online running community. Being a currently quite lax runner myself I like the idea of something to give me a little push to get out the door. Here is the Runimal Blog.

They also posted about doing a project as they learn Ruby on Rails. I am in the same situation in regards to learning RoR, and was considering posting my own similar views on the topic but they seemed to voice the topic quite well so I’ll just point you to them.

Widget Marketing


June 1st, 2008 by bracken

Mr. Shoestring, Patrick McKenzie, revealed today what his little 30 day project is. He is going to make a web service for creating marketing widgets. And I understand that these widgets will also be able to keep statistics and have generally nifty functionality. His Post has a slightly better explanation of what his product will do.

Cool T-Shirt Widget

I thought of some applications for something similar in our little site-to-be. Our target customers will generally be people in their teens through their twenties (students). This is mostly because the designs on the shirts we’ll sell will probably appeal to that age group more than to others. What does this have to do with a marketing widget? Everything!

We plan to sell really cool t-shirts. (Doesn’t every t-shirt company?) Now, I’m a twenty-something student and I have some pretty cool t-shirts. Although I generally won’t admit it, I like it when people comment on my shirts and say they like them or think they’re funny. So I like to share my sense of good T-shirt taste. (though my wife may not always approve of my constant stupid cool t-shirt wearing…) My widget idea is based off of my enjoyment of people knowing I have cool t-shirts.

Here are a couple images that should give the general idea of what I’m thinking about: (stealing Patrick’s borrowed image)

These would be customized to any shirt we have in our store, and maybe the text can be customized as well. If it were a return customer, it could show a different shirt that they’ve bought each time it loads.

The widgets would have to look a lot better, but luckily my business partner is a graphic designer, and he’s good at stuff like that. I’m also sure that we could think of some better one-liners to put on there. ;)

Getting people to use the widgets

The big question is how to get our customers to use the widgets. The first way I thought of is to display a potential widget to a customer after checkout. It would be something similar to the examples above, but it would have the image of the shirt they just bought. It would be under a title like “Share your shirt with others” or something like that. And It might have the option to change the text on the top part of the widget for customized cheekiness.

Another idea which may not work quite as well as my first idea is to have a “Support Tower Prints” section on the web site with some smaller widgets for people to put on their sites. They would have simple logos or graphics on them like “My t-shirts are cooler than yours” or “My t-shirt can beat up your t-shirt” and other equally dumb things us silly students like to joke about.

Why this just might work

I see things similar to this all the time on twitter, myspace, facebook, and forums. You know, the things that show what songs someone is listening to, or what blogs they’re subscribed to. Why not something that shows off the cool t-shirt they’re wearing? If they like the shirt enough to buy it, they might just like it enough to tell others about it.

Joining in on the fun (30 day sprint)


May 30th, 2008 by bracken

About a week ago Patrick McKenzie over at MicroISV on a Shoestring decided he wants to have an extra enjoyable June and plans to develop an entire application in one month in what he has dubbed a “30 day sprint.” As misery loves company, he invited all who wanted to join him in his month-long effort. I see it as a kind of support group with everyone developing and getting/giving feedback at the same time.

The trick to all of this is that most of the participants work full-time and are planning this development in their “spare time.” So it should be an exciting process to watch. If you’d like to keep track of everyone’s progress, you can subscribe to a unified feed of all the participants.

I have also decided to participate in this sprint. I am creating an e-commerce site focused on selling T-shirts. My business partner is a full-time graphics designer and prints T-shirts on the side in bulk orders. He wants to start selling his own (and others’) designs on T-shirts, and the web is a perfect medium for a small business like that. He will also post on this blog about graphic/web design and small business issues.

As you can see, the name of the store is “Tower Prints.” As we are designing the site, our emphasis will be a clean look and simplicity in shopping/browsing. This is a tall order and we’re excited to try and do what so many sites have failed at. We hope your feedback will be helpful to us in this process.

I will be developing the site with Ruby on Rails. I am fairly new to this language/framework, so I will be posting about interesting things as I learn them and asking for advice on clean ways to implement things. I plan on discussing good code design/practices since that is an area that I like to focus on when programming.

I’m excited to get started on this and wish all the participants good luck. Happy coding!

Powered by WordPress. Theme developed with help of WordPress Theme Generator.
Copyright © Tower Prints. All rights reserved.