Conventional Wisdom Will Kill You

I heard this phrase at a creativity seminar, and it caught my eye. Conventional wisdom exists to help mitigate risks. In business, we often use conventional wisdom to reject ideas quickly, but this can be a critical mistake. Some high profile examples of successes which bucked conventional wisdom include the iPad and Nintendo Wii. Most analysts thought tablet computers were non-starters. Steve Jobs had to fight Apple internally to get the iPad out the door, but it has sold several million units and is considered a big success. Video games were headed towards heavy graphics and hard core gamers, but Nintendo showed that millions of people would pay up to play fun and relaxing family games given the right incentives.

Conventional wisdom also lulls you into a false sense of security. If you apply it to your competitors ideas, you might miss the next big thing. If you apply it to your employees, you might miss good ideas and crush their creativity, while missing out on their best input.

Ignoring conventional wisdom is a great business strategy if you get it right. If you have a great idea which conventional wisdom says is bad for business, or won’t work, that is a good opportunity to start asking the “why” questions. In some cases, you’ll find conventional wisdom is correct (but you’ll be a lot wiser for investigating it rather than taking it on faith). Elsewhere, you’ll see un-tapped business opportunity others have ignored out of habit.

The key is to look at everything which has come before, and ended up reinforcing the conventional wisdom, then throwing it all out and starting from scratch. What I am saying is: you have to do something never before seen to find success where conventional wisdom says you will fail. And conventional wisdom is usually a good indicator of an idea which hasn’t yet found its perfect incarnation. After all, the very fact that conventional wisdom exists on a topic is because other people have had similar ideas.

So start training yourself to ignore conventional wisdom. Don’t dismiss ideas as good or bad out of hand, but start asking why and seeing the problem in a new light. Ask yourself, what opportunities have I missed while I was on auto-pilot?

Posted in Bootstrapping as Method | Tagged , , , | Leave a comment

Going Solo: How Much Income Do You Really Need?

If you are like me, and dream of starting a successful small online business one day so you can truly be self employed, it helps to know ahead of time what constitutes success. If you read my about page, one of my metrics for success is being able to completely replace my day job income with small business income. Recently, I have been talking with a variety of people about what that actually means, and it became apparent to me that many people only think of their income as their paycheck, instead of the total cost to the employer.

There is a significant gap between what our paycheck is, and the total amount we cost our employers. When you cut the cord, most of those costs fall onto the entrepreneurs shoulders, so it’s good to understand what they are well ahead of time. I call this your actual pay level, since employers hire or fire based on total employee cost, not just paycheck, and it represents the amount you would have to earn to completely replace your day job income without taking a pay cut (net business expense).

In order to find out what your actual pay level is, you need to do some light math. Here is a rough calculation I made for my actual pay, based on my current job. I changed my salary to a base of $100k/year to make the math easier. The numbers for each person will differ based on their circumstances, as the tax rules change depending on many factors, so take this as a back of the envelope analysis.

So, the net result is a whopping 40% more than I see in my paycheck! This does not include some of the other costs which increase with self employment such as increased insurance premiums and plan cost by not buying group insurance, or tax planning, or any of the other business expenses. People running their own businesses or those starting them already have a good idea about business expenses related to self employment, but to those who have only worked for others, it can be eye opening.

Posted in Bootstrapping as Method | Tagged , , , | 2 Comments

Personal Strategic Planning

If you want to accomplish something, it helps to set down your goals in writing. I have never been a fan of New Years Resolutions, but I do find the end of year to be a good breaking point to begin strategic planning for my business and my life. Many people separate their business planning from their personal planning, but to me this makes no sense. After all, business and work are a very significant part of our lives, so it only makes sense to plan all of it together.

Ever since I was 14, I have created one year strategic plans for myself, detailing what I would do in the following year. The first step in writing a new plan is to review the previous year and learn from it. In this post, I will assume that you have no previous plan, and will walk you through how I create my own plan from scratch. So take out a piece of paper if you like to write by hand, or open a text editor in a new window!

I always write my plans in the tone and format of a journal entry or letter writing to my future self about what I have accomplished, and congratulating myself on how great it must feel to be where I wish I was today. I break out my life into 6 distinct areas which hold the most importance to me – Family, Significant other, work, business, self, and social life. Your categories may be different, but I find this is a good general starting point for everyone, even (especially) if one of these areas is not going so well for you. In the past, I consolidated work and business into one category. Since I work for a large company and am also starting a business, my goals are very different in these two areas, so they have different categories. You should combine them if it makes sense.

Family

I use the family category to describe what is going well with those in my family – parents, siblings, children – and what could use some improvement. I usually start by describing the greatest successes of the past year – times of joy with those close to me, and then go on to describe how I will continue this trend of being closer to my family and how to improve relationships with them. This might be as simple as committing to writing a letter once a month, or calling once a week. I purposefully leave out wife/significant other, as she gets her own category!

Significant Other

Similar to family, this section has varied widely over the years, from the time I started at age 14, describing all the ways I would win over my crush at the time, to today where I look for ways to deepen and advance my relationships as an adult. If you are single, describe what is important for you to find in another person, how you will go about finding this person, and what it will be like when you do. If you are already in a committed relationship, commit to making it better and more fulfilling, and describing what it is like when you have accomplished it.

Work

Work for me consists of the daily grind in a big corporation. For those of you who have chosen to work for someone else, this section is all about career goals. This also varies widely for me depending on where I am in my career. It can be a section talking about how I will search for and find the job I want, or a discussion of how I will excel in my current role – the skills I will learn, the relationships I will build, the improvements I will make in my corner of the company. Sometimes, I will strategize how to get myself promoted, or a raise.

Business

I am starting a business in January. This section becomes my one year strategic plan for my business. Since I am just starting out, I have outlined goals and strategies for finding customers, how much monthly revenue I will attain this year, which markets I will enter, and how I will grow my customer base and company presence. I have strategies detailing where and how to outsource work, which networks I need to join or build, and how to go about doing each of these things. Every business is in a different cycle and should have a different strategic plan. Don’t worry if you miss the mark at the end of the year. What’s important is that you write down your business goals and then actively work to accomplish them. Last year, my goal was to find an idea for my business, and to build it. I almost made it!

Self

We have a tendency to neglect our personal growth. But I believe that if we stop growing personally, every other area of life will suffer. You can’t neglect anything on this list if you hope to find true fulfillment in life. The Self category revolves around personal happiness, health, and well being. My personal plan focuses on learning new skills of importance to me, reducing wasted time, and improving health through healthy eating, exercise, and meditation. In the past, I have committed to working out 6 days a week, being vegetarian, learning a new language, and understanding women better. I am not always successful, but just the continued effort will have a profound impact in other areas of your life. Many of these goals end up spanning multiple years, and may (should) become a staple of each plan going forward.

Social Life

I get very wrapped up in my work and relationship, and tend to forget the important aspects of a social life. I feel it is important to have friends, network, and meet people that matter to me. Social life encompasses all the people outside of family and business who you can relax with. I have had goals detailing how many friends I would make when moving to a new city, deepening connections with existing friends, or reconnecting with old friends. This can also include going out more/less, trying new activities like backpacking or rock climbing, or joining networking groups for shared interests like reading clubs.

Conclusion

I would recommend you take everything you write lightly. Make it into a letter to your future self detailing your accomplishments and how you did it, and have fun with it. Your plan should be a pleasure for you to write and a pleasure for you to read. I use mine to review every few months throughout the year. I have found that I will generally accomplish 80% of everything I put in my plan. Some goals will never make it off the ground, while others will develop into something more than I imagined and will consume more time than I had planned. That’s what you want, so roll with it. Next year you can make a new plan and put in what is truly important all over again.

This kind of planning also helps me keep sight of what is important in life, so work, business, or personal life doesn’t take over other important areas of my life, leaving me unfulfilled. You don’t have to show your plan to anyone (I never do), but making it just for yourself is key to achieving your dreams.

What about you? Do you make personal plans? I would love to hear about what kinds of planning have worked for you in the past, and how you put together your thoughts for the future. Share your tips in the comment section!

Posted in Personal | Tagged , , , , | Leave a comment

Modern Day Careerism

A lot of people talk about starting their own business. A small percentage of those people actually work towards it, and an even smaller percentage actually manage to start something. Why is this?

I was recently in a meeting for my company (Fortune 10) where another group within the company was working to recruit new members to their auditing team. The pitch went something like this: Work for 2 years and have an opportunity to be promoted. During this 2 years, 95% of people will quit (average week is 100 hours, travel near 100%) or be forced out (the work is demanding and boring – it’s auditing!). Pay is slightly more than the group being pitched to makes today (less than 10% by my guess). When the Q&A period came up, I pulled out a pen and jotted down the questions people were asking, as a social experiment. A few of my favorites:

Q: “What about this job is interesting?”
A: “You’ll have an opportunity to view business processes. You’ll get to know the business product lines. And you can see the business work from the inside”

Q: “If a family member dies, do I get time off?”
A: “Yes, you can take a leave of absence”

Q: “How much time do you usually take off every year for vacation?”
A: “Me? Well, I usually don’t take any. I take about one weekend a month off to visit my family.”

This seems to explain why so many people want to start their own business – a personal business frees you from having to make a decision about such a job, and gives you the power to decide the direction of your success. For many of us in large companies, turning down a job like this is not a good career move.

So how come so few people actually go out and start something? Humans are by nature risk averse. We don’t want to take leaps of faith into the unknown, scared that we might not come to a safe landing. Consider this: The average American is in debt, has house payments and car payments. They may have kids to support, they have retirement to save for, and health care tied to a job. Leaving a job which allows them to float along for the unknown is an incredibly risky proposition.  How many people could survive without any additional income for a single month? For the year it takes to start a business?

Thankfully, with the massive opportunity being created every day by the internet and the global economy, we no longer have to choose between a full time start up, and a full time career. For instance, I work nights and weekends on my own startup, an internet site which will be going live in January. A friend of my brother started a highly successful business buying very old suitcases for pennies on the dollar, and customizing them for customers, selling for $80+ a box. He made so much money that he dropped out of college and is entering into manufacturing deals with foreign manufacturers. A woman I worked with taught for the company I work for, then used her training skills to teach night classes and weekend workshops. She then started a consulting business and now consults with my company for 10 times her previous salary.

The point is, modern corporations will demand much of you, and try to force you to take jobs which don’t make personal sense building products you may not care about. You can choose to do well in this environment and also start a business on the side, then watch it grow to success before deciding to leave that security.

All you need is willpower, and time.

Posted in Career Satisfaction | Tagged , , , , , | 2 Comments

Web Programming Best Practices

Recently, Patrick had a great post on web coding best practices. I wanted to echo some of his points, and enhance it with a few of my own.  As products have moved to the web, I think some of the best practices have been loosened since many web languages are less formal than the desktop varieties, and creating a new build is often as easy as moving a file around.

Key takeaways from Patrick:

1.       Have a staging server. Every change should have a dedicated test environment setup as identical to production as possible. Patrick recommends using a hosted server. I personally have a dedicated desktop which works fine. One risk area I see for myself is problems with MX entries, networking setups, etc. which are hard to replicate.
2.       Use source control. I personally use CVS. I am not as advanced as Patrick here. I still prefer to SFTP or SSH my files across from the staging server rather than deploy. This is an area I could use some improvement.
3.       Repeatable Deployments. I have a nightly script which backs up all my configurations, database, and latest web files into several tar files. To re-create the server, I just have to drop these where required. On my to-do list is to generate a script to do all of this for me.

My Additional Best Practices

There are a few more lifesaving activities I have learned from my day job a big company leading teams and in my night life as a lone coder.
1.       Unit Testing
2.       Automated Regression Testing
3.       Statistical Analysis of program and user behavior

Unit testing

When programming in a language like Java, unit testing is built into the process with frameworks like JUnit. Less so for web languages. I personally code using PHP, and I don’t currently have a good unit testing framework. Rather, I have a dedicated page in my web application for admins which performs all unit tests I have written for the site. Simply loading this page will bring up (hopefully) a field of green “Pass” metrics along with the test case and function tested.

If you are new to unit testing, it is pretty easy to get started. Look at every function your application uses, then think about all the different types of things that might be passed to it. Each one should have a well-defined result expected. Before writing a function, I make sure to write a long comment detailing expected inputs and outputs. From this, I add some new entries on my unit test page for each test case I can think of, including bad data. Every time the function breaks due to something unexpected, I am sure to add a test case. This helps future-proof the function against changes which break existing requirements and will catch most logic errors not found at compile time.

Automated Regression Testing

Unit testing helps, but it is only part of the way to a full test solution. There will be a lot of functionality which can’t be easily tested with a unit test, or full transaction flows which have to work through multiple steps. For this, I recommend developing a full regression test, with well-defined inputs and success criteria. I personally use a series of Chickenfoot scripts in Firefox to test business flows. Every potential action of a user should have its own test script.

A common user process to test might be: user lands on home page->user searches for product X -> user reads 2 reviews ->user clicks purchase -> user logs in -> user enters payment details -> user submits order -> user reviews order.

I have automated scripts for many of these kinds of business flows. Whenever I conduct usability testing, I watch what the user does, and write down their actions to create a flow test from. I also create multiple variations of each flow based on what real users do, or what I think they would do. Every time I am working on a new release, I can run this suite of tests and quickly determine that everything is working as expected. Generally, I run this test suite after completing all unit testing and basic sanity checks using my own browser.

Statistical Analysis

Sometimes, errors are very hard to spot, or changes result in unexpected consequences. This is one area I plan to implement, but currently don’t have in production. To create statistical analysis dashboards, you first have to collect data over time. This can be using an analytics package like Google Analytics, or other server based data collection methods.
Once you have some data, you can create spec limits, generally 1.5 sigma levels around the mean. (If “sigma levels” sounds like gibberish to you, it is the same as 1.5 standard deviations, but in six sigma terminology.). Imagine the scenario that your application always uses up 30-50% CPU. After a release, you see it jump to 75%. Since this is more than 1.5 sigma levels, your dashboard would pop up a warning that CPU is out of spec, and may need investigation.

CPU is a simple way to illustrate the concept, however this could be more effectively used in the same way as A/B tests are used – analyze visitors behavior, conversion rates, click throughs, and other metrics for variance. If you see a shift after a change, then you probably have something that needs to be dealt with.

What else?

Are there other key things you do to manage your business or project cycles which should be considered coding best practices?

Posted in Technology | Tagged , , | Leave a comment

A Social Media Strategy for Business

Last week, I wrote a blog post about my launch strategy and initial marketing efforts. One of the commenters, Robby Grossman, suggested I also use a social media strategy, which admittedly is something I have not done much planning for. Initially, I had planned to focus more on traditional media and marketing since my target customer is small business and individual site owners. After doing some more research, I have decided to revise my strategy somewhat for the first months after go-live.

Blogging

Blogging has always been a key part of my launch plan. Not only do I maintain this blog on starting a MicroISV and small software business, but I will also be maintaining a blog on my product site, focused on internet security and other related topics my customers would find of interest. This serves the purpose of improving my search engine ranking for a wider range of keywords my target customers might search for, and adds life to the site. Over time, the blog posts can help me build authority by gaining back links from other respected sites whereas product pages might not.

Twitter

I have never been a fan of twitter, preferring full length conversation to micro-bursts. However, I have learned that social sites such as twitter factor in to search engine rankings more than I previously thought. Additionally, monitoring twitter for potential customers, and maintaining an active account can help reach people in a more personal way. As a result, I plan to watch relevant twitter feeds, and make more use of twitter to reach customers and media. I’m not certain I will become an avid tweeter, but I will at least make the effort to be part of the conversation.

LinkedIn

LinkedIn, as a professional site, already has numerous places to reach small business owners and other site owners. The best sections, groups and Q&A, offer immediate access to people looking for solutions. My goal isn’t just to insert marketing speak whenever a potential customer comes looking for a solution which my product happens to fit, but to proactively offer as much help as possible for free, via my own responses and links to my site blog posts and articles related to their problem. Additionally, this is a great way to get feedback from customers directly. If I think my product solves their problem, but they disagree, we already have dialog where I can extract more customer needs and requirements for future product pivots and iterations.

Facebook

The jury is still out on Facebook. The latest I have heard is that Facebook users are less likely to purchase than other traffic sources, and that very few people use it for professional reasons. As a result, I do plan on creating a Facebook page, but I plan to focus more on the other sites listed here, where I believe customers will be more open to my message and more likely to be looking for answers to their problems.

Yahoo Answers and Other Q&A Communities

There are many other places around the internet where small business owners go for advice. I am currently active on a few of these, but plan to find a few more key places where people congregate to solve their problems. Even answering a couple of questions every week with an informative answer and a link to my site can help drive a few customers. Since I use a SAAS business model with recurring revenue, each customer lifetime value is high, so a few customers gained this way can pay off over the long term.

Other Social sites

There are many other sites which can be leveraged to help get the word out. Like my startup strategy, they key is making sure everything I do or submit is relevant to the readers. I don’t have time personally to participate fully in every community, but providing strong value can often overcome that inertia. The SEOmoz Social site guide is a good list of sites. I plan on leveraging a number of them to improve community participation, build back links, and submit articles from my site where they apply to the base.

Other Ideas?

I am not a social media maven by any means, and this post only represents what I have been able to learn recently. I conclude that social media marketing is a key marketing channel, both to build back links, reach media, and reach customers. I would love those of you more experienced in social media to offer other ideas, corrections, or key strategy areas I missed.

Posted in Startup Challenges | Tagged , , , | Leave a comment

Product Launch and My Pre-Launch Checklist

I am preparing to launch a new web service in the next few weeks. I don’t have an exact date yet, but I have been putting together my pre-launch checklist of things to do, as well as a detailed launch plan. When looking for resources about the best way to launch a software business, I found many useful articles, but not very many consolidated resources which laid everything out in an easy to digest manner. I wanted to document the entire process to help structure my own thinking, as well as giving those who come after a roadmap to follow. After I launch, I will be reporting on the success of each segment of my plan.

Background Reading

First, there are several useful resources out there already, which had a lot of useful tips. They give some great insight into some of the strategies I am considering for getting good PR on the day of launch.
Product Launch Promotion by Marshalk
Balsamiq preparing for launch
How not to get PR from top sites (Video)
How Jason pitched to TechCrunch

There are many more, and each of those contain some great links as well, but I find myself repeatedly returning to these articles to re-read them to glean some additional wisdom from their words.

Optimize the site for the media

After reading the above links, I put together a media kit with logos and screen shots, and included a pre-launch FAQ for the media answering some common questions. I also updated my about page to be less generic, and to tell a more interesting story. I’ll come back and update this with links to those pages once my site is live. (*UPDATE 2/23* Site is now live)

Find a compelling story

In business, the best way to engage people is by telling a good story. I spent some time thinking about my unique compelling story, and then wrote about it – on my company about page. This story will become an important part of my media pitch as I launch, and will help make my company interesting and unique, even though my product is not consumer focused.

I restricted my story to a small paragraph, relatable in 5-10 sentences. I asked myself these questions to get a good feel for my own story, even though it isn‘t finalized:

  • Why should <insert target audience> care about my business?
  • How does my product or service substantially differ from the competition?
  • If a customer was in love with my product, how would they describe it to their friends?
  • What is my over-arching vision to make the world a better place with this business?
  • What personal challenges did I have to face in starting this business?
  • What was my breakthrough or ah-ha moment?

I’m working on a few versions for different audiences, and not everything applies every time I write such a story. I find wrapping up a few answers in a concise and clear narrative helps me convey my vision, and structure my thinking around what is truly important. I think Jason covered this well recently in his article on startup marketing ideas.

Finalize the site and product

Just before launching, at least a week after all final development fixes and design tweaks, I need to complete a final once over of the site (I have fewer then 10 final tweaks and bug fixes). Currently on my list:

  • Install proper SSL certificate
  • Run through all user test cases
  • Re-check the design in all the major browsers (Firefox, Chrome, Safari, IE6-8, Opera)
  • Complete a final security audit
  • Send out a survey to the dedicated test users (even if they are only family and friends!) and include a few new users who haven’t seen the product yet.
  • Install Analytics
  • Setup RSS feeds for mentions of my site, or target keywords on blogs, twitter, and other social sites.

Segmenting the marketing channels

I don‘t want to just submit to a variety of startup sites, but also sites which my customers actually read, or other places where I might have a unique value proposition. Thinking like this, my target “markets” are news sites as well as other sites which might link to me or talk about me. I segmented this large group into various areas where the audience might find something interesting about my site or business model, even if they were not potential customers. For my site, I brainstormed the following segments:

  • Startup sites – sites that cover new website launches
  • Small business sites – sites for tools for small business (my target market)
  • Design sites – sites which cover well designed websites (My site was designed by a professional designer)
  • Security sites – sites which cover internet security (My product is an internet security product)
  • Atlanta business news sites – My business is based in Atlanta
  • Cloud based sites – My site is a cloud SaaS service
  • Drupal related sites – My site is based on Drupal and utilizes multiple Drupal modules

Once I segmented this into a few categories, I started looking for places to submit my site. For startups, there are already some good lists. I found about 75 to look through using this list of startup related sites and this list of where to submit your startup. I couldn’t use every site on the list (not every one was a good fit) but it is a good starting place.

To find blogs and sites for other niches, I used technorati for blogs , google for the various target markets, and competitor link profiles where we met the same criteria (using Yahoo site explorer)

I plan to build a list of about 100 outlets, more than half related to sites my target customers are likely to read. I am expecting a response rate, with a compelling pitch, of about 10%-25%, which leaves me hoping for 10-25 write ups. The criteria I use to evaluate whether to pitch to a site is how highly relevant my product would be to their readers or users. I generally spend at least 20 minutes browsing the site, reading articles, and making sure I have something to add to their content before adding the site to my list. This is time consuming, but I think it will improve my response rate and the quality of any traffic generated from any press I might receive, as well as prevent wasting my time or the editors time.

Refining the pitch

Each market segment I defined will need its own unique compelling story, and each site submission will need a unique pitch customized to the site/person I am responding to.

I am writing one compelling story for each market segment I listed. For instance, my compelling story to a design focused site will be very different from the story I tell a security focused site. I judge a pitch highly when it doesn’t sound generic or fake, but is something I would like to receive myself. I want to be honest, vulnerable, and open with the publications, to set up a potentially long term relationship rather than a quick win.

My final pitch is not yet complete, but I will be sure to post a few samples after launch, along with my success rates.

As a way to quality check myself, I created a high level outline of what each pitch should contain.

  1. A personalized sentence or two, related to the specific site I am submitting to. If they have related material, how my site adds to the overall conversation or context of the market
  2. 5-10 sentence compelling story of why my product is great for their audience
  3. Link to my homepage
  4. Offer for interview or other details in the future
  5. Contact details

What am I missing?

Am I missing anything? Are there good resources I should read before finalizing my launch plan? If you have good ideas, post them in the comments and I will happily link to anything I end up using in my planning.

Posted in Startup Challenges | Tagged , , , , | 12 Comments

Updated Posting Schedule – What’s the Best Day to Post a Blog?

Normally, I schedule my posts to come out on Friday mornings, EST. Lately, I have been wondering if this is really the best time to post new material – when I look at my stats, I generally see most visits coming during the week, and beginning to drop off on Friday and staying lowest over the weekend. Even new posts don’t seem to bump the numbers too much.

As a result, I started doing some research into the best times to post new articles. I haven’t found a definitive and satisfactory answer. For instance, one post claims Tuesday and Wednesday are the best times to post, while another claims the weekend is the best time to post.

The second post is better – it contains some data and details of it’s methodology. However, I remain unconvinced. First, most of my readers don’t share me on facebook, and second, my own stats point to midweek as the high time for traffic. Personally, I also tend to read fewer posts over the weekend, as I try to focus on relaxing more and working less those days.

As a result, I have decided to start posting on Wednesday Morning around 9AM EST instead of Friday Mornings. Generally, I start thinking about posts a couple weeks in advance. Then I write them on Monday or Tuesday, and refine them the remainder of the week. I’ll have to revise my schedule, and either plan to do some writing over the weekends, or start writing earlier. Either way, if I see an improvement based on the changed posting schedule, I’ll be sure to share the results.

Posted in writing | Tagged | Leave a comment

How to Get Stuff Done by Setting Aside Time

I was recently in a discussion on the business of software forums where a user was asking for advice on how to complete the project he had set out for himself. He was having trouble finding time to focus on his product with the demands of daily life. His predicament reminded me of a story I once heard which motivated me to focus on work, and shows how time blocking can work as a strategy to achieve your goals.

A woman with a family of four was working as a consultant, and wanted to bring her career to the next level, but wasn’t sure how. After doing some research, she thought that the best way to advance her consulting business was to literally write the book in her specialized topic, then use that as a sales driver with customers. Her biggest obstacle was finding the time – Her daily work typically kept her busy from 8 in the morning until 6 at night. Her two young children needed time and care in the afternoon, and she wanted to spend time with her husband. Looking over her schedule, she decided that the best time to write the book would be after the rest of the family had gone to bed for the night, but she was still energetic enough to work. She blocked off 2 hours every day, from 10PM until midnight, to write. This allowed her to commit to 4 hours with her family and to maintain her normal work schedule. She set a goal of completing the book in one year, and set about writing it. At the end of the year, she had a fully formed and polished book, and was shopping it around to publishers. She used this inspirational story of the book creation process in her pitch to publishers and the marketing of the book (which, coincidentally, is how I heard about it). One year after deciding to write a book, she had a book published in her niche, and was using that to improve her business and drive sales.

This story was reprinted in another post, where additional success stories were discussed, including the story of Jessica Watson, a girl who sailed around the world solo at age 16, blogging about it and later publishing a book, as well as Rudy Ruettiger and his heroic effort to join his college athletic team.

The point behind all these stories is that people had a dream which many others stated was impossible, impractical, or foolish, yet each of them overcame numerous personal obstacles to achieve their goals. Many people talk about the reasons why they can’t start a business or achieve their dreams, but perhaps they have just not been willing to figure out a system which works for them, and will put them on the path to achieving their dreams.

I was once talking with a friend of mine about a business idea I had. He asked a simple yet hard question. “What did you do today to make it a reality?” I didn’t have a good answer – it was only an idea I’d been having for a couple of weeks. If you have a dream, what did you do today to make it a reality? What could you do tomorrow?

Rudy Ruettiger

Posted in Bootstrapping as Method | Tagged , , | Leave a comment

WordPress vs. Joomla vs. Drupal – Picking a CMS for your Business

Joomla vs. Drupal vs. WordPress

Joomla vs. Drupal vs. WordPress

Last week I wrote about why every business should build their site on a CMS. This week I will help you select which CMS is the right choice for your business website.

The three I highlight here are all highly used, professional, extensible systems for site building. Each has a large community of developers, themers, users, and deployed sites, with ongoing improvements. Best of all, each is completely free. So how do they differ? The number one question I get from people is “How do I know which I should build my site on?” This article will help you answer that question.

Ease of Use vs. Technical Power

Each of these three have many strengths, but they each excel in a specific area. WordPress is incredibly easy to use and maintain, extensible, and powerful, but lacks many advanced administrative features required by high end websites. Joomla is geared towards corporate websites, or common systems such as online magazines, calendar systems, or inventory tracking. Drupal is the most technically powerful and extensible, but the hardest to learn, extend, and customize.

CMS simplicity vs. power and extensibility

CMS simplicity vs. power and extensibility

WordPress

WordpressWordPress is primarily a blogging tool, and since many sites can be set up *like* a blog, it is great for simple sites or blogs. WordPress’s greatest strength is it’s ease of use, even for non-technical users. Sites which will be static (not use a lot of server side scripting), be heavily dependent on a blog, or require basic customer interaction such as shopping carts, newsletters, calendars, etc have a great choice in WordPress. Where it is lacking is the fully dynamic functionality some advanced sites require. If each page on a site may react differently to users, or the site will have social networking features, WordPress is probably not the best choice. It has the highest market share of any CMS, with a greater number of free themes and add on modules than the other two CMS’s, as well as a large market of premium themes and bolt ons.

WordPress has a huge community built up around it, so finding developers or solving issues you are facing is usually easy when asking the community. It pulls ahead of both Joomla and Drupal for ease of use. Installing modules, upgrading the system, or taking a back up are all one click activities.

Pros:

  • Best tool for blogging
  • Easy to use for non-technical site owners
  • Setup, install, and maintenance are quick and painless
  • One click upgrades and site changes
  • largest community of theme and module developers of any CMS

Cons:

  • Extending standard functionality requires custom modules
  • Difficult to add lots of dynamic content to pages
  • Social features outside of blogging are limited

What WordPress excels at:

  • Blogs
  • Simple sites which are mainly static content (text and images) such as small brick and mortar businesses, restaurants, or personal pages.

Joomla

Joomla falls between WordPress and Drupal for both ease of use and extensibility. It uses a standard model-view-controller framework, which is very powerful for building sites using standard Joomla functionality. Joomla is more functional than a simple wordpress install, focusing on systems such as inventory trackers, or multiple contributor online magazines.

In recent years they have greatly simplified the install and upgrade processes, but this will still take some technical know how. Joomla has a large community of professional themers and extension developers, however many of these are sold for extra cost. This is perhaps the geatest downside of Joomla, as both Drupal and WordPress foster completely open source add ons to develop functionality needed by a subset of customers. Add on’s which you will find freely available and open source in Drupal and WordPress are often sold at premium prices for Joomla.

Pros

  • Nearly as easy to setup and use as WordPress
  • Includes caching by default to improve site performance
  • Flexible control panel
  • More extensible than WordPress for developers

Cons

  • Joomla falls in the middle, so except for some specialized applications, it is not the “best” system on either front.
  • Not XHTML compliant
  • No built in SEO – URLs are not search engine friendly
  • Many of the best modules cost money

What Joomla excels at

  • Sites that need more power than WordPress provides, but don’t want to learn a complex system
  • Sites that are willing to pay for premium modules and support

Drupal

drupalDrupal has more complexity in terms of setup and administration than either Joomla or WordPress, but offers easy ways to setup key functionality, such as defining dynamic pages inside the CMS which will execute custom PHP scripts. Additionally, Drupal provides a powerful API which covers many common web problems, decreasing development time considerably. I found Drupal to be great from the perspective of a developer, but I would be hesitant to build a client site in Drupal unless they had dedicated administrators who could learn the system. Drupal includes social networking functionality out of the box, allowing users to create their own content, setup a profile, and interact with other users.

The drupal community and site has many resources to help when issues are hit, but the overall administration pages and menus are incredibly numerous, not intuitive, and complex. This is the biggest drawback of using Drupal: the complexity. For instance, by default, all content is entered as HTML only, and additional modules must be installed to get What You See is What You Get editors, which come standard in WordPress and Joomla. Additionally, some functionality you might expect requires multiple interacting modules, and learning to setup and administer them. To help with this, Drupal has many out of the box reports and automated checks to help maintain the site.

Pros:

  • Great for developers
  • powerful PHP functionality for in-system customization (no need to develop modules)
  • The best system for integrating social networking with business processes
  • Powerful API for custom development

Cons

  • Challenging for non-technical users to setup and maintain
  • Standard interaction is more clunky than other systems (significant time went into theming my site)
  • The smallest number of free themes available
  • Many modules will need to be installed to get a functional site

What Drupal excels at

  • Creating complex websites on top of a CMS
  • Developers building sites
  • Social networks

Conclusion

There are many advocates for each of these systems, but it really comes down to web site requirements. If you don’t need the extra functionality of the more complex CMS systems, then it is wise to select a simpler system which will fit your needs rather then a more complex one. Hopefully I have helped lay out some of the most common factors in deciding which CMS you should consider for your site.

Posted in Technology | Tagged , , , , , , | 3 Comments