7 Great Bootstrapping Podcasts to Jumpstart Your Business Today

Bootstrapping2

I love podcasts.  I listen to them in the car, walking or sometimes even when working.  I can’t get enough of the good ones and you probably can’t either.

Since attending MicroConf last week I can’t stop thinking about creating products, recurring revenue and talking about all the facets of running a product business.

I thought I would pull together my short list of the podcasts for boots trappers, entrepreneurs, startups or whatever you might call yourself, that I listen to and gain value. Some of these I have just recently discovered, while others, I have been a fan since their inception.  

If there are some podcasts that should be on this list, please feel free to point them out in the comments.

I hope you find as much value in these as I do:

Startups for the Rest of Us

Rob Walling and Mike Taber, creators of MicroConf have been producing this podcast for a long time.  Startups for the Rest of Us is exactly what it sounds like, a podcast for regular people trying to startup a business.  

The format of the show begins with Rob and Mike talking about what’s going on with their own businesses and related products.  Each show follows a theme where the duo discusses the focused topic.   

Bootstrapped.fm

Ian Landsman of HelpSpot fame and Andrey Butov recently started Bootstrapped.fm and after listening to a few episodes I find myself looking for new episodes in iTunes.  

The format of each episode is similar to Startups for the Rest of Us, where Ian and Andrey discuss their bootstrapping adventures.  It’s nice to hear different aspects of different types of bootstrapped software businesses, Ian with his SaaS application and Andrey with mobile applications.  

Lots of topics crossover, whether doing SaaS or mobile applications but there’s always valuable lessons to learn.

Bootstrapped with Kids

Bootstrapped with Kids  is also a recent addition to my podcast collection.  Brecht Palombo is the host and who also gave a great attendee talk at MicroConf. 

The topics are dear to the hearts of boostrappers and include product ideas and other aspects of the trade.

Product People

Kyle Fox and Justin Jackson are the hosts of Product People, a podcast I only recently discovered.  It is quickly becoming one of my favorites.  

The interviews are with, you guessed it, people who are successful product builders.  The interview style is very dynamic and doesn’t follow a script as you might have heard in other interview format podcasts.  I continually find myself thinking of the questions I would ask the guests and as it happens, these guys are asking those questions.  I’m sure the people who see me walking each day and nodding my head in agreement think I’m crazy.

Some recent interviewees include:

  • Amy Hoy
  • Nathan Barry (two parts and fantastic)
  • Hiten Shah
  • Jason Fried
  • Brennan Dunn
  • Rob Walling
  • Patrick McKenzie

Mixergy

Mixergy is actually an old favorite I have mentioned here before.  Andrew Warner does a fantastic job of interviewing entrepreneurs from all different industries and all different stories.  

Andrew is the marathon man of podcasting with tons of episodes and counting.  Plenty of backlog to go through and enjoy.

If you prefer the episodes are online and can watch the videos of Andrew interviewing his guests.  The benefit is see the guests facial expressions, small but nice sometimes.

Kalzumeus Podcast

Patrick McKenzie is a highly respected bootstrapped entrepreneur in the software industry who speaks at a few conferences and draws a crowd.  Patrick has discussions with various entrepreneurs ranging from angel investing to sales and marketing.  The episodes are not very frequent but they are solid and very much worth the wait.  Patrick includes transcripts in the podcast page so if you would rather digest the great material at a slower pace, it’s there.

Entrepreneur on Fire

This is another relatively new discovery for me.  The format is a series of interviews with entrepreneurs who have a wide range of skills, backgrounds and business types.  Entrepreneur on Fire is a very active podcast and publishing episodes at a feverish pace (5 days a  week), not sure I can keep up.

Dead Simple Model Diagrams for Your Rails Project

While working on Rails project I often find myself wanting a visual representation of my model classes.  I usually grab a notebook and manually write them out. Depending on the project, it can take time.

I started searching for a diagramming tool that might be easier and faster than writing out by hand, there are a bunch of them out there.  Most have a steep learning curve and are expensive.

A bit of searching around the web for a Ruby-specific tool lead me to a gem named rails-erd.  Maybe you have heard of it, maybe I’m the last to know, but regardless it is a nice find.

Installing

The gem relies on GraphViz to do it’s drawing magic.  There are a multitude of ways to install it, I used Homebrew:

brew install graphviz

Add the gem to your development group in your Gemfile:

group :development do
 gem 'rails-erd'
end

Don’t forget to run the bundle command.

When everything is install, from the root of your Rails project simple run:

rake erd

When the rake task runs, watch the output from the tool. It tells you items you won’t find on the diagram either because it’s not used or a relationship isn’t right.

The Output

The result will be a PDF file in the root of your project that looks something like this: 

Erd

As you can see, it gives a very nice model diagram with all the relations and properties. Just what I was looking for.

The tool is very customizable and the web site outlines everything that can be changed.  I haven’t looked very much at this aspect since it produced everything I needed the first time.

MicroConf 2013 was Freakin’ Awesome

250px Welcome to fabulous las vegas sign

I had the opportunity to attend this years rendition of MicroConf in Las Vegas, NV, run by Rob Walling and Mike Tabor and attended by many great people. All I can say, I will be back next year.

MicroConf is a conference not for startups who took venture funding but rather those of us shoestring it and bootstrapping everything we do.

There is an overwhelming theme I noticed after talking to attendees; virtually everyone is doing some form of freelance consulting and wants to get out of it and move on to a product business. One speaker asked how many were on this path I would say 90% raised their hands. I think that says a lot.

Much of the move to a product based business from consulting almost always raises the question of how to begin the transition and how to replace the lucrative consulting work with paid products. Some demonstrated success with writing ebooks and using that revenue to replace consulting or as a launchpad for their SaaS offering.

Brennan Dunn exemplifies taking this path.

For those who have never written a book it can be hard to imagine you have enough knowledge and experience to produce something of value. Patrick McKenzie was asked about this and his reply was “you know more than you think you know”. Solid advice for sure and provides encouragement for developers to consider this avenue of starting the product business.

Rob Walling started the first day with a challenge, where he asked attendees to create 3 actionable items from the event. I think I can boldly share mine:

  1. Stop consulting and be 100% products by MicroConf 2014
  2. Create and market and ebook…topic to come.
  3. Finish and launch SimpleMailr.

As part of these goals I plan to generally improve my business skills in several areas:

  • Marketing – this such a broad area but includes driving traffic to my business, by SEO understanding and implementation as well as better use of advertising (Google, Facebook and LinkedIn).
  • Copywriting – honing skills of creating eye popping copy to pull people in.
  • Design – this has always seemed like a black art to me. I plan to not become a designer but rather be more aware of design and the process to effectively create good design. It’s important to have enough skills to communicate the business needs to a qualified designer. It would be helpful to better understand design to take what a designer has to say to then relate to the business.
There are a good number of other accounts of the event from attendees so I won’t rehash everyone else’s thoughts.  One site in particular by Christoph Engelhardt is worth reviewing.  He took great notes on every talk:

Notes on the talks

  1. Jason Cohen’s Opening Talk: “Designing the perfect bootstrapped startup”
  2. Josh Kaufman: “Shut up and take my money” (still needs a lot of editing)
  3. Joanna Wiebe: “Copywriting that converts”
  4. Ben Yoskovitz: “Measuring What Matters”
  5. Guest Speaker – Patrick Thompson: “Bootstraping an App Business”
  6. Guest Speaker – Sherry Walling: “Don’t Burn up in the Launch”
  7. Guest Speaker – Jody Burgess: “Dude. Marketing is not your thing.”
  8. Guest Speaker – Josh Ledgard: “Getting your first 989 Customers”
  9. Rob Walling: “How to 10x in 15 months”
  10. Erica Douglass: “How to Measurably Move the Needle With Your Software Company”
  11. Dave Collins: “SEO Demystified”
  12. Hiten Shah: “Killer Content Marketing”
  13. Mike Taber: “Enterprise Sales Tactics”
  14. Guest Speaker – Nathan Barry: “Zero to $5,000 / month”
  15. Guest Speaker – Brennan Dunn: “The Long-Tail Sale”
  16. Guest Speaker – Brecht Palomo: “How a Non-Technical Founder Built a 6 Figure SaaS App Using Only Free Public Data Sources”
  17. Guest Speaker – Cameron Keng: “Taxes for SaaS”
  18. Patrick McKenzie – “Building Things To Help Sell The Things You Build”

Christoph followed up with What You Can Learn From MicroConf 2013 – Even If You Did Not Attend (great use of copy hack from Joanna Wiebe‘s talk)

Some attendees wrote up their take or takeaways from the conference as well: 

I’m sure this list is far from exhaustive, but you get the idea.   

The bottom line for me is this was a great conference that I will be back for next year.  I walked away from this event with more excitement and to-dos for my business than ever before.  If you didn’t attend this year, you should next year…*after* I have my ticket in hand.

Free Ultimately Always Has a Price

Gr logo

I bet by now you have heard the news Google Reader will be shutting down on July 1, 2013:

We have just announced on the Official Google Blog that we will soon retire Google Reader (the actual date is July 1, 2013). We know Reader has a devoted following who will be very sad to see it go. We’re sad too.

There are two simple reasons for this: usage of Google Reader has declined, and as a company we’re pouring all of our energy into fewer products. We think that kind of focus will make for a better user experience.

To ensure a smooth transition, we’re providing a three-month sunset period so you have sufficient time to find an alternative feed-reading solution. If you want to retain your Reader data, including subscriptions, you can do so through Google Takeout.

Thank you again for using Reader as your RSS platform.

That’s it..thank all of you for signing up for our service, relying on it but we have to go now.  Virtually everyone I know jumped at the chance to use Google Reader to keep track of their RSS feeds and synchronize them with a supporting client application on your Mac, Windows PC and any iOS and Android device. The ease of use and integration with the platform almost eliminated the market for desktop (Mac and Windows) RSS reader clients.  

What happens now when Google Reader has its plugged pulled this summer?  We lose all of the conveniences afforded to us by Google Reader and we have no where to turn to at this point.

Marco Arment points out this may not be a bad thing:

Now, we’ll be forced to fill the hole that Reader will leave behind, and there’s no immediately obvious alternative. We’re finally likely to see substantial innovation and competition in RSS desktop apps and sync platforms for the first time in almost a decade. 

I think he’s right but at a cost.  All the RSS reader applications who use Google Reader will now need to scramble and retool with their own sync platform or work with others to create one that many can use.  It won’t be free to build, support and maintain.

Possible solutions do exist today but not really 100% replacements for Reader; both NewsBlur and Feedly have been mentioned but they seem to be having some scaling issues at the moment. 

It seems others, such as David Smith, envisioned something should be available that is not run by Google.  David announced last night that he is working on such a platform and has for months:

Feed Wrangler will be a paid, subscription based service. I believe the reason that Google turned its back on Reader and left its users hanging is that they were users not customers. I’m not interested in building a platform designed to attract as many users as possible and then work out how to sustain it later. I want to instead build something that is sustainable from Day 1. I want my customers to feel confident that they can expect this to be around long into the future. I want to build a relationship with them and make something they really, really love. 

I agree and this sums up my thoughts on free.  Free services are not good for its users in the long run, they’re not sustainable and the company operating the services has no real obligation to keep it going.  I like to give money to the services I use, it makes me feel good that the service I rely on will be there tomorrow.  I would have gladly given Google money for my Reader account, but they never asked.  It gives them an out.

I don’t trust Google will not shutdown other free services, such as Feedburner.  Those of you consuming free services probably should take this opportunity to take a look and reflect on what would happen if they went away.  How would you replace them?  Are there comparable services you could pay for that may be a more sustainable business model?  Entrepreneurs creating free services…do you think that’s the best way to go?  Me either.

33 Great Resources to Get Started with Ember.js

EmberJS logo

I mentioned yesterday that I have been exploring various JavaScript MVC frameworks for both client and internal projects.  Ember.js is one of those frameworks.

As part of my exploration, I have collected various resources on Ember.js and thought I’d share.  This list is by no means exhaustive and I’m sure there are loads of other resources that I haven’t discovered, add them to the comments and I will update this post.

Getting Started with Ember.js

Blogs with Ember.js Focus

Presentations

Twitter Users to Follow

Books

Miscellaneous

I hope these resources are valuable to those exploring Ember.js or just want to find out what it’s all about.  Please add any resources you might also find valuable in the comments and I will update this post.

And the Winner is…Ember.js

Logo

It seems the ability to escape the use of rich client-side JavaScript is virtually impossible because users expect desktop-like application experiences.  JavaScript began as a much different language with much different uses as it is today.

I have been spending a lot of time investigating various JavaScript frameworks over the past few weeks in the hopes to choose one for client work and for a couple company projects.  There are quite a few really good choices.

The frameworks differ in various ways, some are opinionated while others give a few key parts that you have to spend more time architecting and piecing together.  

It came to my attention that Jeff Atwood recently announced the project he’s been working on over the past few months after leaving StackOverflow; Discourse, which is a new approach to forum software.

It turns out Discourse is based on a Ruby on Rails backend (API) and an Ember.js front end.  Ember.js happens to be one of the client frameworks on my radar for our company products.  One of the Discourse co-founders, Robin Ward, recently wrote about why Ember.js was chosen over other JavaScript MVC frameworks.  

I love to see articles released like this from Robin where the aspects of the decision are compared and contrasted with other frameworks.   One aspect of using a MVC framework in particular which was eye-opening is comparing a task in jQuery with the Ember.js way of doing things:

For example, on the bottom of every discourse post there is a button a user can click to like a post. When clicked, it vanishes and adds a footer below the post saying you liked it.

If you implementing this in jQuery, you might add a data-post-id to the post. Then you’d bind a click event on your button element to a function that would make the AJAX call to the server. However, the click function passes a reference to the button, not the post. So you then have to traverse the DOM upwards to find the post the button belongs to and grab the id from there. Once you have it, you can make your XHR request. If the XHR succeeds, you then have to traverse the DOM downward from the post to the footer, and add in the text.

At this point it works, but you’ve tied your implementation of the button click to a particular DOM structure. If you ever want to change your HTML around, you might have to adjust all the jQuery methods that accessed it.

If this example seems simple – consider that in the footer we offer you a link to undo your like. When clicked, the footer text vanishes and the button appears again. Now you’re implementing the opposite operation against the DOM, only in reverse of what you did before.

Discourse even takes it a step further – we know that 99% of the time when you click the like button the request is going to work, so we hide the button and show the footer text right away, even before waiting for the server to reply. In the infrequent event that request fails, we’ll show an error message and pop the UI back to the state it was in before. If we were doing that in jQuery, we’d have to have a callback on our AJAX request that knew how to put the UI back into the state it was in before.

A prudent programmer might say, okay, well I’ll have a render function that can rebuild the DOM to the current UI state of whether the post is liked or not. Then both ‘undo’ and ‘like’ can call it. If ‘like’ fails it can call it again. Oh, and we have to store the current state of whether the post is liked somewhere. So maybe we add another data-liked=”true” attribute. ACK! Just typing this all out is giving me a headache!.

Congratulations, your code is now spaghetti, your data is strewn out in the DOM and your logic is tied to a particular layout of HTML elements.

One of advantage of a rich client interface like this is the API you create is a separate entity from your user interface and well-tested, as pointed out in the article:  

One amazing side effect of a rich client side app is you end up with a battle tested API. Our app has consumed our own API since day one, so we know it works.

Note: We haven’t documented it yet because we plan on major changes over the next few months, but after things stabilize we certainly will provide a more rigid interface.

If we want to create a native client for Android or iOS, it would be a lot easier because we already speak JSON fluently. If people want to build services that use Discourse, they won’t have to result to screen scraping. It’s a huge win for us and the developers that use our platform.

 I cannot agree more.

The article goes on and talks about why Ember.js was chosen over other MVC frameworks.  I won’t bother to explain those here but feel free to give the article a read and see for yourself.  Some very good reasoning.

Sometimes making choices like this are the result of subtle differences in frameworks that favor the taste of the developer.  Ember.js is definitely a framework of opinions, not surprising since one of its creators is Yehuda Katz.  Yehuda was the lead architect on the Rails 3 rewrite and Rails is a very opinionated framework.

This is definitely worth a read if you are considering Ember.js.  Also, there are some gems in the comments worth taking a look.

JavaScript Has Its Place, But Not Every Place

No javascript

JavaScript is everywhere these days; more-so because legions of developers play follow technology leaders like the Pied Piper playing his flute. 

I’ve worked on many Rails projects over the years and the inevitable pain points usually turn out to be JavaScript. Whether it be mounds of jQuery selects, poor attempts at AJAX everywhere or lately, Backbone.js and some other MVC frameworks which virtually mirror much of the backend in the UI. Unless these technologies are implemented to perfection, it leaves evidence of attempts at “playing” with a new framework with artifacts left behind that last a lifetime.

Some issues I have with using large amounts JavaScript in your Rails (or any web framework for that matter):

  • Leads to lots of code in the browser – with tons of JavaScript, applications start to get slower. There’s only so much client-side code a brewer can expect to handle.
  • Leads to lots of code inherited that is hard to debug, hard to support and the client ultimately pays – this is probably my biggest pet peeve. It seems like every Rails project, there’s a different JavaScript framework used and it’s the first time the developer is using it. 
  • The examples of bad code are numerous and hard to fix. It is really hard to understand the intent and really hard to both support and enhance. In the end, the client pays the price from both a monetary perspective and a maintenance one.
  • Developers like to “play” with the new hotness leaving breadcrumbs of learning something new of a framework that gets dropped or at least minimally maintained.

I came across a great article published recently from the developers of Charm. One of the developers, Thomas Fuchs, who is previous Rails core member and a well-known member of the JavaScript community gives his thoughts on the heavy use of JavaScript in a web project.

Hi Sasmito, as for technical issues, we where plagued by various problems that are not related.

The app as it is, is using Backbone.js, Underscore.js and Zepto on the front-end, and Rails 2.3, Postgres, memcached, redis, resque, and for websockets Sinatra, and a few other things. The front-end is communicating with the back-end via a JSON API.

I’ve come to the realization that this much client-side processing and decoupling is detrimental to both the speed of development, and application performance (a ton of JavaScript has to be loaded and evaluated each time you fire up the app). It’s better to let the server handle HTML rendering and minimize the use of JavaScript on the client. You can still have fast and highly interactive applications, as the new Basecamp shows—letting the server handle most stuff doesn’t mean that you have to cut back on cool front-end features and user friendliness.

I’d argue that all these newfangled libraries are actually detrimental to the user experience in some ways, as they lock you into certain patterns (it’s hard do to things the authors didn’t anticipate) and if you use something like Ember (which we didn’t), it’s even worse as all applications using it practically look the same.

We’ve spend a lot of time getting Backbone to work properly, as the easy-of-use quickly deteriorates when your models get more complex. It’s a great choice for simple stuff, but email is far from simple. We also had to add yet an other extra layer of processing to generate “ViewModels” on the server because the normal Rails serialization of objects wouldn’t cut it.

What you end up with is building a layer cake that doesn’t add any value and slows down development. Especially when you’re starting out and need to stay flexible you don’t want to have too much code around—and Rails is great for that. But… adding a JSON API layer and basically a second application that runs on the client is annihilating this advantage for you.

All in all, my current recommendation for SaaS-type web apps is: Rails 2.3 (or Rails 3.2 if you prefer), a Postgres database, as much HTML generation on the server as possible and augment that with RJS (Rails’ mechanism to push JavaScript snippets to the client that get eval’d). This allows for direct re-use of server-side templates, and it’s simple, and works well. As an added bonus, keeping things on the server allow for much better error and performance monitoring and thus quicker turnaround for fixes. There’s also a lot of great stuff in this direction coming up in Rails 4 (like Turbolinks).

Alas, keep it simple and don’t repeat yourself.

This is some of the most common sense advice I have read in a very long time.  Please read the comment and consider the advice before harsh comments here.  I know there are a lot of JavaScript developers out there but I ask those to use it with care.

A wise man once said, “Just because you can, doesn’t mean you should”.  No idea who said it but words to live by.  This applies to so many things, especially JavaScript.

There are so many new frameworks popping up each day. We don’t need more frameworks, we need better ways to use them; such as standard and proven usage patterns, well-known interfaces and published best-practices.  It’s like the wild-west out there in JavaScript land and things are not better because of it.  

You are not doing anyone any favors using all of this JavaScript.  Use it sparingly, use it right and remember that JavaScript is not a silver bullet.

More Great iOS Developer Podcasts

Podcast RSS

I subscribe and listen to a lot of podcasts.  I wrote about some of my favorites before, 7 Great iOS and Mac Developer Podcasts to Learn from Today, and I wanted to share some more today.

CMD+Space

Hosted by Myke Hurley, CMD+Space is a show with interviews various independent Mac and iOS developers from the perspective of running their businesses and how they got to where they are today.

So many developers go independent all the time and could use some solid guidance.

CMD+Space is on then 70decibels network which hosts many other shows that you might find interesting.

Debug

Hosts Guy English and Rene Ritchie have been running this podcast for the past few weeks but it quickly became one to get sync’d to my iPhone for listening while driving or daily walks.

Debug is also an interview show with well-known Mac and iOS developers.  As often happens while I listen to interviews various questions come to mind that go unanswered, not the case here.  These guys seem to ask the questions I want answered.  Coincidence?  Most likely but the great questions result in solid advice.

Identical Cousins

Hosted by Michael and Brent Simmons, they discuss various topics important to Mac and iOS developers who are mainly independent but also those gainfully employed at companies large and small.

I stumbled across Identical Cousins while listening to another podcast, which is often the case.

Iterate

This podcast is a bit different with a focus on the design side of mobile development for Mac, iOS and Android applications.

Iterate is hosted by Rene Ritchie and others.  Rene seems to be a repeat name here and other podcasts including MacBreak Weekly.

Introducing Note-It

Screenshot 1afaa9c247a71c1346fa2d51bf413fae

I’m happy to introduce my latest application for iOS devices, Note-It, is now available in the Apple App Store. This is a productivity utility I wrote for myself with the hopes others might find it useful as well.

The idea for Note-It was born as a solution to the way I research on the web on my iPad. I read articles in Google Reader, visit links from tweets on Twitter and copy URLs from the sites I visit in Safari. I often take these links and paste them in an email which I send to myself to be viewed later.

Note-It helps me be a bit more productive by cutting out some steps.

  • I can only send to one email address maintained in the Settings part of the app. When Note-It sends an email, it only uses this address. No more typing my email address.
  • My main use case is finding a URL or some block of text I want to save for later, copying and pasting in an email.

Note-It monitors the clipboard and when active, will ask if I want to use what’s in the clipboard and paste it into the current note.

There is only one note active at a time, put as much as you want to save and send it off.

A complete archive of sent notes is available in case you forgot what you sent previously.

The user interface is simple by design to compliment how simple the application actually is.

31 Great Days of iOS

It’s been a while since I had the time to post anything but I wanted to share this great summary post by Chris Risner of the Microsoft Azure team where he is focused on mobile.

Chris blogs each day in January about a specific topic iOS developers may face in their applications.  The post is titled 31 Days of iOS and each post is a detailed tutorial on a specific topic that day.  

Day 1: Getting set up for developing for iOS
Day 2: An inro to Objective-C
Day 3: Creating your first iOS App
Day 4: Working with Multiple View Controllers and Storyboards
Day 5: Programmatically showing View Controllers
Day 6: The Delegate Pattern
Day 7: Making Network Requests
Day 8: Performing Posts and Setting Request Type
Day 9: Handling Text Input
Day 10: Singletons and the AppDelegate
Day 11: Saving Data using NSUserDefaults
Day 12: CoreData
Day 13: The TableView
Day 14: The UIWebView
Day 15: Connecting to Built-In Apps
Day 16: Handling Device Orientation
Day 17: Using the Debug Console
Day 18: Opening your App from a Link
Day 19: Showing the User’s Location with Maps
Day 20: Displaying Info with Maps
Day 21: Using the Camera
Day 22: Using the Gallery
Day 23: Using Background Threads
Day 24: The View Life Cycle
Day 25: The Application Life Cycle
Day 26: Setting up Push Notifications
Day 27: Sending and Receiving Push Notifications
Day 28: Activity Indicators
Day 29: Advertising with iAd
Day 30: Adding Analytics to your Apps
Day 31: Submitting your App to Apple

Chris is speaking at CocoaConf DC in March, in case readers are planning on attending.  I will be there.