Stepping Down as CEO of Sweet Tooth

Sweet Tooth was my first company to make a significant impact in the world: used by 4,000 businesses across 15 different countries, rewarded millions of people, oversaw billions $$ in transactions, raised 2.3m in venture financing, built an all-star team and much more – all in less than 4 years. This made it an extremely difficult decision to step down as CEO of the company, but I believe it was the right one.

I will remain on the board of directors of the company and shareholder, and I will always be happy to connect to any merchants and partners any time to help. I will be spending my time in Toronto for the time being, but I’ll be in Waterloo every so often. None of my contact info has changed.

Sweet Tooth is Still Growing and Doing Well

The first thing you should know is that Sweet Tooth is still growing profitably. The #1 priority is still helping Sweet Tooth merchants succeed. Sweet Tooth will continue to grow and innovate, improve and adapt. Not much will change in the short term.

Sweet Tooth Logo

Why I Stepped Down

I love bringing in the energy, launching new products, helping people succeed and leading a team to the top. I’m a risk-taker, anyone who has worked with me will know that, but at this stage of growth Sweet Tooth needs someone who will carefully observe the fine details and build insightful conclusions out of the data over time. Mike is better suited to take over those responsibilities.

When I recruited Mike it was because I knew he was extremely intelligent, would/could learn any new skill in any field, he loved solving problems and was a fantastic leader. We were classmates and he was the first friend I made in the Engineering program I attended at UW. I’m glad I’ve been able to leave the company in the hands of someone so capable.

What’s Next for Me?

I’m still working with Sweet Tooth and I may continue doing so, but I recently launched websites for my two new projects: Coincart and Share To Give.

Coincart is an anonymous bitcoin eCommerce platform.

Coincart Logo

Share To Give is a social rewards app that helps merchants gain social referrals and sales by giving to charity. 

Share To Give logo

Feel free to reach out if you have any questions or just want to chat! I can usually be found at the new Google office building at 111 Richmond St West in Toronto.

Advertisements

Magento CMS Tutorial/Reference

I was helping someone learn how to use Magento CMS static blocks and pages and I couldn’t find a great reference. I’ve decided to write my own. 

Pages – Pages are what shows up in the front-end. The URL key is what you use to access the page (yoursite.com/urlkey) and the content is what appears in the page. Title shows up in the title bar. Simple.

Static Blocks – These can be inserted into any page and repeated. For example, if you had a page that had a block of text that you want to appear on another page but you didn’t want to rewrite it and have to sync between both pages then you would want to create a static block and include that static block in each page’s content. The static block si referenced by the Identifier field. Here’s an example of how this would be used. Static blocks and contain other static blocks too. 

Page Content Codes

When working in the Magento CMS you can enter any HTML into the content box, but you can also put in these special things:

  1. Store URLs: {{store url=”path_to_your_media_file_goes_here”}}
  2. Skin Image URLs: {{skin url=”path_to_your_media_file_goes_here”}} 
  3. Media Image URLs: {{media url=”path_to_your_media_file_goes_here”}}
  4. Static Block Content: {{block type=”cms/block” block_id=”page_identifier_goes_here”}}
  5. Other Data Blocks (advanced): {{block type=”module/blockclass” block_id=”choose_a_name” template=”template_file_path”}}

Now I’ll go into a bit more detail:

1. Store URLs
{{store url=”path_to_your_media_file_goes_here“}}

If you want to link to a CMS page or some other page on your site you should use this code.

Example: Click here for customer service

2. Skin Image URLs
{{skin url=”path_to_your_media_file_goes_here“}} 

Skin image urls can be inserted into a page as paths to a skin image or file. These are relative to the skin/frontend/*package*/*theme*/ directory in your website.

Example: Here is a picture of our company logo: <img src=”{{skin url=’images/logo.png’}}” />

3. Media Image URLs
{{media url=”path_to_your_media_file_goes_here“}}

Skin image urls can be inserted into a page path to point to an uploaded image or file. These are relative to the media/ directory of your website.

Example: Here is a picture of a duck: <img src=”{{media url=’ducks/duckpicture.png’}}” /> and click here for a PDF that we created for you.

What’s the difference between skin images and media images?

Great question! Skin images are store layout/theme dependent and may change depending on the store view, but media images are static and don’t care about what theme is currently being displayed to the user. Media images are typically files that are very likely to change over time where skin images 

4. Static Block Content
{{block type=”cms/block” block_id=”page_identifier_goes_here“}}

Static block content can be inserted into the content of one or more pages. This allows you to have repeated content in your pages without having to manage multiple content page coppies every time you make an update.

Example: Here is your navigation menu: {{block type=’cms/block’ block_id=’my_navigation_menu’}}

5. Other Data Blocks (advanced)
{{block type=”module/blockclass” block_id=”choose_a_name” template=”template_file_path}}

If you are coding template files nad custom block classes, you can include any block class as a singleton using this method .The type attribute is the code to create the block class and the block ID is a custom name you can choose for the block. This block name is used in caching sometimes. Finally, the template file path is a reference to the template file from the app/design/frontend/*package*/*theme*/template directory.

TIP: You can also set the the blcok type to core/template to create a simple block that does not have a specific block class.

Example: Here is my footer block content: {{block type=’core/template’ block_id=’footer_block’ template=’page/html/footer.phtml’}}

 

Static_block_within_static_block

 

How to give requirements to a designer without pissing them off

Skeptical_dog_design_meme

Getting a website designed is pretty important for your business-everyone knows that, but if you can’t provide a proper specification for your designers then you’re going to get a shitty design.

It doesn’t matter what designer you’re working with. Even if your designer is an all-star they are going to have a hard time making something awesome for you when your requirements are tucked away in your brain. Here’s how to do it the right way:

1. Outline your goals.

For every page you want designed, state your goals. What is the purpose of this page? Are you trying to attract customers with a value proposition or are you trying to showcase functionality? Are you trying to direct new traffic to your pricing page or are you trying to inform your existing customers?

2. Show examples of sites you like.

Don’t try to reinvent the wheel and don’t expect your designer to do that either. Instead, your designer is going to look for inspiration from other designs. If you provide several examples of pages that you like and explain why you like their design and what about it you like, then it guides your designer to choose the right inspiration for your own design.

3. Provide minor details

Every page has its own caveats. You’re going to want a particular image somewhere, or some text to be more emphasized. Here’s where you write all that out. Do it in bullet form-don’t write your designer an essay. Also, don’t be too specific.

Following this process lets your designer stay creative and use their own judgement for everything around the content and still meet your goals and expectations. It’s a win-win – nobody gets pissed off you get a much better design 🙂

Taking it from good to great is what will make you a amazing leader.

Every growing company will have problems along the way. It’s a consequence of being distruptive to the market.

Do you think Apple was always so great? Microsoft did not veer from their constant upswing from time to time? Even Google and Facebook consistently receive a flood of love-hate.

Being part of a growing company can be a party one week and a death spiral the next week. 

Recognizing that every company in the world has its ups and downs is tough. 
Getting it back on track when it goes down is what will make you a great leader.

As a leader, you need to identify the problem, invent a solution, let go of your emotions, trust your team and move on – quickly. 

Kik is a great example. 2 years ago RIM hit them with a patent lawsuite in the wake of their exploading success. What Ted Livingston, their CEO, and the Kik team did to revive the messenger’s success up to it’s now 19-million userbase is simply extraordinary. Kik even returned to Blackberry despite the harsh feelings.

Seems hard, right? IT IS HARD! That’s why when you hit the skids with your project and bring it back successfully you’ll be a far better leader than you have ever been.

I’d rather have good talent than money to find good talent.

I feel like good talent is going to start getting harder to find than sufficient investment capital for new companies. 

The top talent that we’ve attracted has been the result of those people seeing us from an outside view and seeing our team grow and succeed. We don’t poach employees ever our of principle, but the ideal employees I’ve been finding are the ones don’t need the job but are always thinking “man that seems like an awesome place to work”.

Sweet Tooth HR is all about culture. We push the fact that you’re joining an all-star team of Canada’s smartest and enlisting to change an industry. It’s just like recruiting a sports team or an elite squad set out to fight terrorists in a foreign nation. Totally badass.

Group-uses-black-hatted-meme-378

The amount of money in your offer could have nothing to do with quality of the talent you attract. For start-ups, this is great to know but you still need to understand what the person really wants:

  • What will make you happy?
  • Where do you see yourself in 3 years?
  • What kind of company/culture do you want to be a part of?

 

Then, before even pitching an offer, accommodate to these requests and provide a reasonable pay or sufficient stock options on the side. If you’re looking for engineers, have them try some coding and see if they like it (and see if you like their code).

 

 

Respond promptly, respond always.

Tumblr_lxejqgnu5z1r9fqgho1_400

Quick responses say you care. They move the business along faster. They show you are serious and they can mean the difference between winning or losing. 

Bob Schwartz, President of Magento (recently acquired by PayPal), Dave Fedy from McCarter Grespan and John Jessup at Cloud Conversion are all awesome leaders that were partially my inspiration to think this way. 

If you can’t give an answer back to the person who messaged you, just reply “I’m sorry, I can’t give you the answer you’re looking for” or direct them to the right person, but at least you responded promptly and you are not ignoring them. We are always connected to the internet and it takes no commitment to say that you received someone’s e-mail. 

I go through about 100+ quick-question e-mails per day (+ many more other emails) and it only takes 1-5 min of my time to answer most of them. And if you ever get to a point whereyou’re too busy to answer everything, just get an assistant to help out.