A few months ago, I noticed an area of our application that was performing terribly. It had always been slow, but with increased volumes, the issue was becoming more pronounced.
I wrote it in a rush while getting ready to demo our first prospective customer. It was the feature that got us the sale. It doesn’t have proper test coverage. It’s code is a messy stream of consciousness.
Only a handful of users use this particular feature, but they represent our core power-user group. Unfortunately, they haven’t been complaining about the slowness. They’ve simply become accustomed to it. Their silence gave me the perfect excuse to sweep the problem under the rug.
Every time I was about to dig into the code, I found a shiny new feature to write. Every time I was about to ask a teammate to do it, I remembered how shoddy the work was. I was embarrassed to hand it off.
This morning, while working on another feature that had to be implemented, I realized that I was going to have to dig into the problem code to make the new feature work. I took a deep breath and dove in.
An hour later I was done. Seriously. I had tests written for the old feature. I had tests written for the new feature. I had the performance enhancement in place (which turned out to be 2 lines of code.) I had the new feature in place.
The sad part. Our users, people I have personal relationships with, have had to suffer through the poor performance because I couldn’t muster up the courage to get in there and fix the problem. The effort I put into avoiding it had to be 10 times the effort it took to fix it.
What have you been avoiding?
12/5Change chain integration subfolders on S3Tariff updatedocument quick searchSchedule google guides meetingsPrep for project meetingProject meetingCall Steve about data migrationZoho meeting
12/5You might have noticed that there are more items on the list than there are in the morning. That’s because I add items that I’ve completed, even if they weren’t on the list. The reason I do this is for the emotional payoff. Many times, I get to the end of the day and I feel like I haven’t accomplished much. Seeing all of the DONE items is a huge payoff and that keeps me updating the list. It’s like a little game that I play with myself to see how high a score I can get.
Tariff update
fix repeating lines on quick search
document quick search
Schedule google guides meetings - GRF CHRYSTAL
Clear aspect 9 inbox Prep for project meeting - DONE
Project meeting - DONE
Call Steve about data migration - DONE
Call Ricci back - DONE
Zoho meeting - DONE
Change chain integration subfolders on S3 - DONE
Change attachment extension on alliance parser errors - DONE
change quick search to show more than 10 items warning message - DONE
#BEFOREhas_attached_file :attached,:storage => :s3,:s3_credentials => {:access_key_id=>’MYKEY’,:secret_access_key=>’MYSEC’},:s3_permissions => :private,:path => “:id/:filename”,:bucket => ‘MYBUCKET’
#AFTER
has_attached_file :attached,
:storage => :fog
:fog_credentials => {:aws_access_key_id=>’MYKEY’,:aws_secret_access_key=>’MYSEC’, :provider=>’AWS’}
:fog_public => false,
:url => “:id/:filename”,
:fog_directory => ‘MYBUCKET’
The eBook market is still maturing. Innovation abounds. The latest stories are that Amazon is going to introduce a subscription based book store that is all you can eat.
I’d love to see them go a different way. In my book model, each copy would be tagged with an electronic signature that tragged it to the purchasers account. This would be similar to writing you name on the inside cover. Then you would have the opportunity to virtually lend that book to someone else. When you lent the book, it would leave your library and go into that person’s library. When that person was done with the book, she could give it back or lend it to someone else. This individual copy could be passed around forever.
Yes, I’m aware that I just created the basic utility of a physical book. Here’s where it gets cool. With a physical book, you lose two things as soon as thebook leaves your possession. You lose the ability to read the book, and you lose the potential joy of seeing all the people who benefit from your purchase.
The eBook has the potential to solve both of these problems. First, the system would allow you to “borrow back” your book. At any time, you could pull the book back to your library. The person with the borrowed copy would have the option to purchase their own copy or wait for you to push it back to them.
Next, and this is my favorite part, the entire gifting chain would be visible to everyone involved. You’d get to learn whether your book went to an old college buddy or was gifted to a school in Kenya. How cool would that be?
When I shared this idea with someone, their first reaction was,”but then they’ll sell less copies.” That may be true. However, the publishing business is in a race to the bottom on price, and this incremental volume change isn’t going to make a bit of difference at 99¢ per copy. Publishers need to find ways to create real value for people and use that value to justify a premium price. It would be an interesting experiment to see if people responded to a higher cost, sharable book next to a lower cost single use book on the same virtual shelf.
I know that I’d be willing to pay for the joy of sharing knowledge.
Now for the controversy… Dues. All members should pay dues. The objective here is to weed out the passive, casual member. This modest barrier for entry will lighten the load of having to support a 1000+ member organization when we really probably have a 400 member organization with 600 hangers on.Startup Leader: Any member who is actively participating in a day-to-day role in a company that was legally registered less than 2 years ago and personally owns over 20% of said company.Startup Member: Any member who is actively participating in a day-to-day role in a company that was legally registered less than 2 years ago and does not own over 20% of said company.Sustained Business Leader: Any member who is actively participating in a day-to-day company that is more than 2 years old and personally owns over 20% of said company.Supporting Partner: Any member who intends to solicit members of the community regardless of any other criteria that might put them in another category. The leadership will need to actively address members in other categories that should be Supporting Partners.Student: Individuals actively enrolled in an undergraduate or post-graduate program at a local college / university.General Member: Everyone else.
Finally, the organization’s events and communications should be segmented based on the roles above. Certain events might be open to all, while mentoring events might be just for Startup Leaders and Sustained Business Leaders. Similarly, the mailing list should be replaced by 3 groups (“Everyone”, “Startup Leaders Only”, and “Startup Leaders-Startup Members-Sustained Business Leaders”). Whether we leave the mailing list technology in place or go to a forum or LinkedIn group is merely an implementation detail.Dues:Startup Leaders & Startup Members: $60/yearSustained Business Leaders, Students: $20/yearGeneral Members: $80/yearSupporting Partners: $500/year or $5,000 for an entire company
Shampoo bottles change… a lot. I’m not talking about the liquid product inside. I’m talking about the bottles themselves. It seems like every time I go to the store with instructions from my better half to “get the same thing we have now,” the same thing doesn’t exist anymore. While I’m sure that the “Pantene Pro-V for Medium-Thick Dry Hair” is there somewhere, the slightly-curved-and-tapered-bottle-with-vertical-block-lettering has been replaced by a somewhat-rounded-bottle-with-horizontal-serif-lettering-and-light-blue-gradient-background. This almost makes my head explode (which would eliminate the need for shampoo). Why do these bottles change so much? I suspect that if you asked the people who change them (which I haven’t), they would answer that the frequent changes impart a sense of “improved” or “new” which in turn increases sales. They would probably even sight a study to prove this point. I don’t buy it. (The theory that is… I definitely buy the shampoo.) I think that the bottles change because someone has a full time job to manage the brand for the shampoo. Her name is probably Ashleigh. Every day, Ashleigh stops at Starbucks, admires the updated logo on her cup, then goes to work. She sits down at her desk, reviews the latest policy on recording unpaid leave, and brings up last week’s sales numbers. Sales are great. Ashleigh could let the brand hold steady for 6 months to a year before she’d see a drop in sales. But then a strange feeling sets in. Ashleigh is being paid to manage the shampoo brand. If she doesn’t do anything today then she’s not managing the brand (note the active verb).
Hey everybody!We had a great Startup Therapy session yesterday. From IndyHall, we headed over to the aptly named Revolution House for great conversation and grub.In addition to some really helpful discussions on marketing / media strategies and leveraging each other’s professional networks, we continued to refine the mission and values for the group. An important item came out of that discussion, and the group asked me to share it with this list.Startup Therapy is a group that values in-person participation. There are a lot of groups in the area that allow passive membership on mailing lists, newsgroups, etc. Startup Therapy is evolving into something different. We want to be a smaller group with a high level of engagement. The online presence that evolves, will do so to support of the offline, real world relationships.The weekly lunch meetings are the first step in building a vibrant, close-knit group. The next stage will be to begin hosting focused sessions where we can explore and learn about topics at a deeper level than larger events allow. To paraphrase Brendan McCorkle, there are plenty of places to get Startup 101 classes, but where can we get 201 & 301 classes.Some of the topics that were suggested for sessions included:
- Enterprise Selling
- Raising Capital - Beyond the Basics
- Setting Startup Priorities
Call To Action! (Yes, that means you.)If you have not been to one of our lunches, make the time to join us by September 30th. We gather at Indy Hall (20 N 3rd St, Suite 201) just before noon on Fridays and leave for lunch promptly at twelve.If you have been participating, now’s the time to step it up and organize a learning session. We’re a decentralized group, which means you are the leader who needs to take the initiative and share your expertise with the group. If you’re not sure how to get started, just post a message here and I’m sure everyone will jump in and help.As a final note, if you don’t participate in person, you’re not part of the group. At some point in the near future, we’ll be culling the Google Group to those people who are contributing to the collective. We understand that this is different than the approach that other local groups have taken, and that’s what we think will make us special.Please reply to this message with any constructive comments and criticisms. The goal of this message is to spark a conversation that will help us define who we really are (and want to be).All the best,Brian Glick
As part of the nascent “Startup Therapy” group here in Philly, I participated in a great conversation yesterday about all things startup related. One of the topics we touched on was selling into big companies.
Here’s a great article that covers some of the major things to consider: http://www.successmagazine.com/Selling-to-Big-Companies/PARAMS/article/570/channel/16
One thing that this article overlooks (or maybe assumes) is that you need to build personal relationships based on openness and trust. Big companies are made up of real people. Real people who get their asses kicked (aka fired) when they choose the wrong vendor. If your contacts at the company don’t trust you, they won’t go to bat for you with their boss.
What’s the magic, super-secret trick that instantly creates trust in the corporate environment?
There isn’t one. In my humble experience, the old fashioned approach is the one that works. Spend time with people. Genuinely listen. Help them with things that don’t provide you with an immediate return. Give them open and honest feedback. Really care about them as human beings. (Don’t just pretend to). Build solutions that will help them (not just your bottom line).
What should you do if you’re in a rush, don’t really care about your customers, and have a product that requires “mistruths” to be sold?
Start a business in my industry, because I’d love to compete with you.