So You Want to Start a Startup? 5 Places to Start

The world is rife with business opportunity, and nowhere more so than online. I often think of the web as something of a wild west frontier, awaiting anyone intrepid enough to stake out a claim. But to start an online venture you first need to have an idea of what you want to do. For many would-be entrepreneurs ideas are many and easy to come by, but not everyone feels this way.

Some time ago I met a very talented developer who was independent and industrious, more than capable of developing a brilliant web app. Despite wanting to start some sort of online business of his own, he was hamstrung, for he wasn’t sure what exactly to build. I remember being asked how I found so many different business ideas, and my on-the-spot reply went something like “uhm… they like, just pop into my head.” Not exactly a useful reply!

With a bit more thought and contemplation I’ve decided to catalogue some different methodologies for finding a business to get into. The post is split into five parts, each one detailing a different angle. If you know any more, be sure to comment them in.

* Part 1 – Solve a Problem
* Part 2 – Find a Gap in the Market
* Part 3 – Position Yourself for the Future
* Part 4 – Follow the Money
* Part 5 – Imitate and Improve
* What Next?

Part 1 – Solve a Problem

Solving a problem is arguably the underpinning of every successful business. When you a solve a problem people experience you are creating something of value – the solution. If your solution is valuable enough to enough people, you can find a business model and build a business out of it.

So let’s start by breaking down some famous online businesses into Problem / Solution couplings:

YouSendIt.com
Problem: People have trouble sending large files by email.
Solution: Create a service where users upload their file to a server and email a link.

AllRecipes.com
Problem: Using recipe books can be expensive and gives you a very limited number of recipes with no popular opinion.
Solution: Create a website where anyone can add a recipe and others use and review them in a social fashion.

Netvibes.com
Problem: There’s an increasing number of online activities people are involved in, but existing home page services do not provide adequate customization
Solution: Create a completely customizable home page that uses widgets and feeds for total personalization.

You’ll see that you can quite easily express virtually any business in this way. If you have difficulty, think about the typical user and ask yourself why would this person be using the business? What are they trying to accomplish? Why do they not accomplish their task or fill their need in some other way?

It’s also important to realize that it’s possible to solve a problem that does in fact already have a solution, but to do it in a new way. This is in effect reframing the problem to include the drawbacks of the existing solution. So in the example above, one could say the problem for Netvibes was that people need a good homepage, however this doesn’t account for the homepages that were available when they launched and their lack of personalization.

Framing a business idea as a problem and solution coupling is generally a good practice for getting it straight in your head exactly what the business is going to be about. It puts the focus on what matters most and cuts out all the noise and distraction. In a sense the problem/solution pair is a form of elevator pitch, a succinct explanation of what the basic raison d’être of your business is.
Your Own Problems

What problems should you solve? If you aren’t sure, the best place to look is internally, at your own problems. What do you wish could be better? What do you wish you could do that you can’t currently?

Solving your own problems has the great advantage that you will come armed with an in-depth knowledge of the business you want to get into. For the new entrepreneur this is much better than trying to solve someone else’s problem, one you may not fully understand, and consequently may not solve adequately or appropriately.

So let’s say I was setting out to start a new business tomorrow. I would sit down and think about what sorts of problems I have, both offline and on, and how I wish they could be fixed with an online solution. When thinking of solutions, I always ask myself whether I, myself would really use the solution if some other company magically brought it to market right now. It’s important to be honest and realistic with yourself because if you wouldn’t use the thing, chances are neither will others.

For the sake of illustration, I’ve come up with a few examples below of problems I personally feel, and how they might be solved. I haven’t researched them at all, so look at this (and the other examples in this post) solely as an exercise in illustrating the method.
Problems I Have and Related Potential Businesses

Problem: I find it hard to choose new books to read. I know what I’ve enjoyed previously, but not what I will enjoy in the future.
Solution: Build an imdb type site for books where people rate and review them. Use the power of the masses to generate a “If you liked this book then you’ll love … ” recommendation system. Throw in things like the top 100 must read books in every genre, author and character information, movie adaptations and so on. Potentially add in social networking elements like Shelfari, ebook sales like Lulu and referrals on to Amazon.

Problem: The older I get the more I forget events and experiences, what happened and when.
Solution: Build a scrapbooking service that lets you catalog your videos and photos, memories and experiences into a timeline. Create an interface that lets you scroll through years and months and see things in order of when they happened. Build in social features to let friends share events and entries on their timelines to create richer histories to remember. Charge a premium service for longer, richer timelines!

Problem: It’s difficult to find vacation homes without trawling through a lot of rubbish
Solution: Build a professional one-stop service for finding vacation homes around the world that includes good search and directory services and a CMS platform for providers to create new homes.

As you get used to thinking in this way you’ll begin to make mental notes of when you find things annoying or difficult, store them away and dream up solutions. Often they may not be practical, but now and again you’ll stumble on something which could be and should be better and find you’re ideally placed to make it happen!

Part 2 – Find a Gap in the Market

A gap in the market is a potential service or product that existing businesses have missed. The advantage of finding one is that you generally benefit from an existing business model and setup. You can often take the methods and work that has already been done and simply reapply it to the missing application.

So how do you find a gap in the market? Your basic idea is to evaluate an existing business, market and product and look at what might be missing and where the business could have been reused or extended. As is so often the case, an example is the best way to illustrate.

Let’s say you have decided that a good business to get into is project management. You know there are lots of existing tools and products out there, including for example Basecamp, Backpack, ActiveCollab, and GoPlan. So you ask yourself, what have these people missed? What business have they overlooked (purposefully or not)? I’ve written a series of three questions to help you think through the problem:

1. What other possible applications of this type of product or service are there, which aren’t being served?
These current project management tools are pitched squarely at small business. There are also in existence bigger, more traditional tools aimed at the enterprise market (which I’m less familiar with). But what other places could people use project management? How about in education? Students are often working on projects in school and more so in higher education. Project management and collaboration coupled maybe with education and social features could be really popular.
2. What segments of the current target market aren’t being well served?
Not all small businesses are the same, so it’s worth thinking, are there some types who aren’t being accounted for? For example you might look at pricing and ask, is there space for a completely free project management suite, or is there space for a super premium service? You might wonder if there is a market for a product that is paid for just once instead of on a subscription, or that is paid for by the project? Look for ways that the current market might wish to use the products for which there is no current solution.
3. Are there features or functionality that could be added to extend the market somehow?
Is there anything missing from the current products? One example might be in how project management is done in software companies. Tools like Basecamp arguably do not have the support and bug tracking muscle to make them really useful for software projects. As it happens there are other tools out there that do serve this market – Lighthouse, Fogbugz and Trac spring to mind, but they potentially miss some of the aspects of say Basecamp (time tracking and chat for example). Potentially there is a gap for a product that integrates more software tools with general project management.

Finding a gap in the market can mean anything from a slight improvement or twist on an existing product, all the way to massive innovation. Basecamp itself filled what turned out to be a huge gap in the market. As the folk at 37Signals are so fond of saying, before Basecamp, there were only the bloated project management tools that large businesses use. What 37Signals saw was a gap in the market for simpler tools that fit the needs of small to medium business and their success followed.
Counter-Trends: The Opposite of What People Currently Have

A very useful paradigm for finding gaps in the market is to look for the opposite of what people currently have. One of my favourite bloggers is a young Australian named Skellie who writes about blogging. In a recent post Number + Adjective + Contents: What Happens When a Formula Dies?, Skellie puts forward the idea that because blogging is saturated with “Top X” style, list posts, there is a vacuum created for heavier, opinion pieces, she calls this a counter-trend.

When we, at Envato, created Psdtuts+, the leading Photoshop tutorial blog, there was at the time a ton of low-mid quality Photoshop tutorials around. There were (and still are) lots of sites that capitalized on this and displayed huge amounts of aggregated content and gave readers a lot of choice. Sites like GoodTutorials and Pixel2Life provide links to some 10-20 tutorials a day, surely more than anyone could get through no matter how Photoshop-mad they are.

Interestingly this all created a counter-trend for a small volume of very high quality Photoshop tutorials. So when Psdtuts+ launched with just 2-3 great tutorials a week, the response was enormous precisely because people tired of trawling through lower grade content. Today Psdtuts+ is in fact larger than the tutorial aggregators (which aggregate Psdtuts+ content too).

Looking for the opposite of what people currently have is a powerful way of innovating. Remember though it’s still important to question whether it’s a genuine gap in the market, or simply something people don’t want!

Part 3 – Position Yourself for the Future

In one of the Back to the Future movies the bad guy steals an almanac of all sporting results of the previous two decades. He then hijacks the time machine and travels back in time so that he can profit from his knowledge of the future and make life hard for our hero, Marty McFly. While we may not have a Delorean to help us learn what the future holds, we do have our experience and judgment to help make an educated guess.

If you can figure out where things are going in a particular industry or market, then you can build a business that positions yourself there. When the world catches up, you’ll be the expert company ready to dominate that space and profit.

A great example of positioning for the future comes from that giant of the internet, Google. For some years now Google has been making a huge, and increasingly successful looking bet that the world of computing is moving into the browser. They have taken the view that it is the browser that is the platform of the future. They have pretty much ignored desktop applications, banking on hosted services and the technologies needed for them to be where things are headed. WhileGoogle Apps or Google Gears or any of their other browser based plans may not be profitable today, they are positioned so that the transition to this way of doing things leaves them ready to pick up converts from more traditional tools.

Predicting future trends isn’t a tool only for grandiose businesses like Google. Let’s say you want to start a blog and are looking for a topic. That same trend of a move towards browser based computing implies that a blog rounding up and reviewing browser apps would only get more and more useful. In fact at Envato we’re planning on adding a blog to our AppStorm site on that very topic, for that very reason!

Browser based computing is not much of a prediction these days, and consequently there’s a lot of competition and business already based on that premise. The further afield your prediction of where things are going, the more chance for both risk and reward there is. Similarly the further in the future your prediction is, the longer you will need to go before you see the fruition (or demise) of your plan. And that’s why positioning for the future is potentially the riskiest and most strategic of all the methodologies listed in this article, so use it with caution – and make sure you have the cash to get you through.

Part 4 – Follow the Money

A really great place to start a business is to help your users make money. There are lots of ways of doing this too: saving them time, making them more efficient, unlocking new opportunities, educating them and so on. In every case if your service has measurable value in helping users make money it is natural that they will pay you for it so long as the net result is positive. Who wouldn’t pay to make money?

In a talk by David Heinemeier Hansson of 37Signals at Startup School in 2008 I came to learn that their team had had far greater financial success with their products aimed at small business than with those aimed at consumers. In particular Basecamp was far more profitable than Backpack. It’s the same team, same great products, same freemium business model. What’s the difference? In one scenario they are targeting people making money and helping them be better at it, and naturally those small businesses are ready to pay for the privilege.

Following the money trail simply means thinking about how you can improve the money making potential of some group of people. It doesn’t need to be small business, it could just as easily be consumers, so long as it’s oriented towards consumers and money. One of the more successful startups I’ve seen in recent years is a site called Mint who help people organise their finances in a variety of ways. Even before the financial crisis they were successful, now I can only suppose they must be booming.

The great advantage of the follow the money method is that finding a business model is generally much easier and flows almost naturally out of basic business premise.

Part 5 – Imitate and Improve

The easiest methodology for finding a business however is the most obvious of them all, simply copy someone else’s! Find something someone else is already doing and do it slightly better or in a slightly different way. Yes, it’s very difficult to beat the original business using this strategy but that doesn’t mean there aren’t many viable businesses to be made in the shadow of a success story.

If a blog about lifehacking is successful, then probably another blog on the same topic will also attract readers. If a site to get good deals on hotels is profitable, then no doubt another site to get good deals on hotels has a good chance at being profitable. Wherever you look you’ll find plenty of hard to differentiate competitors and in many cases they are all profiting, albeit to different extents.

If you’re going to take this course it’s worth looking for a business that experiences success despite a lot of flaws, as this gives you plenty of space to improve on. You should also spending the time to find ways to differentiate as much as possible. Finally keep in mind that imitation rarely leads to overshadowing success without a strong dose of innovation to mix things up.

What Next?

Once you have a potential idea, or better yet a few of them, what do you do next? It’s time to evaluate the idea to see:

* Is it feasible?Can you actually build and design the solution? Do you have the resources to do it effectively?
* How will you make money?If you are fulfilling a real need there should be a way to monetize. Think carefully about where you could charge and for what?
* Who else is in this area and what are they doing?No matter what business you choose you WILL have competitors. It’s important to identify them early on. Look for obvious competitors but also companies that solve the problem in a different way. It’s useful to analyse competitors and determine how large and established they are, as well as potential strategies for challenging them.

If you find the idea is feasible, have a good plan for making money and even after seeing the competition feel you have a good shot, then the next step to take is to write out a business plan. Writing a plan will help you flesh out the idea more, make sure there aren’t any glaring holes and that you’ve really given it some serious thought.

Not sure how to write a business plan? Try these books and resources:

* PlanHQ – Web Based Business Planning Software
* Amazon’s Catalog of Business Planning Books
* BPlans.com – Samples, articles and a lot of other stuff to do with business plans

After that? Then you take over the world!

7 Steps for Systematizing The Design & Build Process

Systemization is basically what it says on the tin, i.e creating a series of processes or a pre-defined set of steps to speed up and quicken a laborious and or repetitive task.

So how can you systemize the design & build of websites? The day to day nuts and bolts of your business?
Below are 7 steps you will need to create systems to fulfill repetitive and dull tasks so you can save time for creativity to flow.

Snippet Repository

Absolutely everybody should have a code / design repository. You can use a dedicated program, like code collector pro: http://www.mcubedsw.com/software/codecollectorpro or just build a folder filled with text / html & photoshop files containing your code or design elements.

Here’s a few ideas as to what you could store to save you countless hours in re-writing, re-designing and wasting time:

* Contact forms (create one which allows you to quickly customize for different projects
* User Management / login scripts e.t.c (create one that is not heavily integrated into your design with loads of inline code for even more time saving)
* Payment handlers and online store scripts (if you’ve built one before, why not re-use it?)
* Commonly used design elements (buttons, headers, layout’s, footers e.t.c)
* Anything else you’ve built bespoke before that could be of use, store a stripped down, non specific version for a later date
* Designers will find it handy storing away a ready to roll HTML template, complete with doctype and link to stylesheet already inserted. This will save time when starting new projects as opposed to starting from the ground up.

CodeCollectorPro: http://www.mcubedsw.com/software/codecollectorpro
Code of conduct

If you work in a team of any size, you’ll know that once a piece of code or script is passed around, things can start to get messy. Everyone has different styles, and will implement their own unique quirks into code. Because of that, if you come along afterwards, it can be quite hard to get to grips with the way something’s built or why that div was floated to the left – so develop a template or guideline as to how everyone in the team should work.

It might be as simple as saying that CSS properties should be defined in order of:

* width
* height
* color
* position
* misc

You may also wish to request everyone uses self explanatory function and class names, for example if an element is to contain an advert, and is located top left, it should be named "#topleftad".
Pre-made templates

If you find yourself with a spare hour or so, you might decide to create some designs that you can code, and have ready to ship when needed. This will reduce time spent creating sites from scratch. Simply design the template, either with a generic style or target it at a specific industry, such as a landscaping company- whatever suits your business.

You might also build out skeleton sites, that is a site with features you commonly integrate into a site. That might be a wordpress install with a newsletter plugin, contact form & SEO plugin. Systemizing this process can save hours in unneeded extra work!
Canned Email Responses & pre written scripts

Although not technically part of the systemization of developing and building sites, you may as well optimize the way you communicate with clients while your at it. It would be wise to consider frequently asked questions by first time clients, and then write out an answer ahead of time.

Then the next time they ask "I want a website, how much will it cost" – instead of writing out a complex long answer, its pre-written. That can save anywhere between 5 and 20 minutes per emails sometimes.

To save even more time, pop these FAQ’s on your site, and you’ll cut down on these emails in the first place!
Coding Frameworks

Using a coding framework will save you masses of time. Once installed, you have a library of pre-written, validated elements to use.

The great thing is, there are loads of frameworks, to suit developers & designers.
Frameworks for Designers

Designers will benefit from checking out CSS frameworks and Grid / Typography systems. In short, design frameworks will save you time, give you cleaner more structure code and achieve an optimal browser compatability.

Here’s a few worthy of note:

Blueprint CSS – http://www.blueprintcss.org/

Blueprint is a CSS Framework which aims to cut down your development time by giving you a grid system, typographical guidance and even a print stylesheet. Plugins are available for buttons, tabs and sprites.

YAML – Yet Another Multicolumn Layout – http://www.yaml.de/en/home.html

Another HTML / CSS framework designed to be lightweight and based on web standards. Features include modular construction and design for accessibility.

Eric Meyer CSS reset - http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/

Reset browser default CSS properties so you start with a clean slate every-time. Stops bizarre bugs and quirks where your CSS conflicts with the browsers.

YUI Grids CSS – http://developer.yahoo.com/yui/grids/

Yahoo is another major player in the framework sector. YUI offers four preset page widths, preset templates, ability to stack regions and is only 4KB.

960 Grid - http://960.gs/

A css grid system for developing professional, solidly laid out designs.
Coding Frameworks

Using a framework for development work will also great benefit you and your team. You can integrate MVC (Model, View, Controller) architecture into your coding. Basically, that means that the data (model) is separate from the Controller (which grabs data from the model) and combines that with the view (what the user sees.) Quite often, you’ll see components and tools included to help you build complex applications faster.

Using a framework will also mean you can scale your app, lower costs and developers need to write less code.

CodeIgniter - http://codeigniter.com/

CodeIgniter is an open source web application framework. There’s very little configuration required when implementing, you don’t need to use the command line and you don’t need to stick to restrictive coding rules.

You save time, because the framework provides you a rich set of libraries for commonly needed features.

CakePHP - http://cakephp.org/

CakePHP aims to achieve a similar "rapid development framework" to CodeIgnitor. It has an active community meaning there’s lot of opportunity to get support if you need it.

Zend Framework – http://framework.zend.com

Extending the art & spirit of PHP, Zend Framework is based on simplicity, object-oriented best practices, corporate friendly licensing, and a rigorously tested agile codebase. Zend Framework is focused on building more secure, reliable, and modern Web 2.0 applications & web services, and consuming widely available APIs from leading vendors like Google, Amazon, Yahoo!, Flickr, as well as API providers and cataloguers like StrikeIron and ProgrammableWeb.

Zend supports -

* AJAX support through JSON – meet the ease-of-use requirements your users have come to expect
* Search – a native PHP edition of the industry-standard Lucene search engine
* Syndication – the data formats & easy access to them your Web 2.0 applications need
* Web Services – Zend Framework aims to be the premier place to consume & publish web services
* High-quality, object-oriented PHP 5 class library – attention to best practices like design patterns, unit testing, & loose coupling

Javascript Frameworks

What if you could add animation, dynamic page reloads and better user integration, without writing raw javascript from scratch? Well you can. Using a javascript framework. You get pre-made and tested functions to utilise typically for free from the many high quality open source frameworks out there.

Jquery - http://jquery.com/

jQuery simplifies HTML document traversing, event handling, animating and ajax development. Its free, lightweight, cross browser and CSS3 compliant. Its probably the most widely used jQuery framework, and there are 1000’s of tutorials and plugins available around the web.
Build your own

Of course, if you have the time, then you could build your very own design, css or coding framework. This would be a combination of elements, functions or properties you use frequently, and having them stored away will save you countless hours. You can basically re-purpose most of these elements from past projects, ready for future ones. You might even create Photoshop frameworks. Because you build your own, you’ll be able to tailor it perfectly to your workflow.
Accounting, Project Management and Client Management

The 3 fields above are essentially full time jobs for 3 qualified people. So why should you as a freelance designer or developer be struggling to balance the accounts, keep projects running smoothly and actually working on the projects yourself?

Its time to get some help. Using readily available web apps, such as Basecamp, Highrise & LessAccounting you can securely and quickly keep your business running smoothly. This will free up several hours per week for you to focus on what you love doing.
Customer Support sites

Support is very important, because things break, customers get confused and all havoc generally lets loose.

So, set-up a support site, with documentation on how to set-up emails or how to use your CMS and cut down angry phone calls and countless emails. Including screencast videos will ensure that even those who know very little about computers can follow along. You could use a specialized support application like helpserve http://www.kayako.com/solutions/supportsuite/ which handles support tickets to keep everything super-organized.

So, with just a few ideas on how to systemize your business, you’ll be freeing up 5, 10 or maybe even 15 hours a week, and cutting down on boring, repetitive tasks. Systems can take a few hours to set-up, but they will return 100-fold the time you invest in initially setting them up.

What Not to Do When Starting Out as a Freelancer

Lately I feel like I have become an advocate on what not to do as a freelancer. I have been covering either the negatives of freelancing or other dangers that need to be avoided while freelancing. My intention with these articles is not to scare or divert you away from freelancing, but to make sure you understand that with added luxury and freedom comes certain pitfalls that we all need to be aware of.

Before we go any further, I encourage anyone thinking about freelancing to give it a try. It is one of the best move I have ever made, and I can gladly say I enjoy what I do (and there are thousands of other freelancers who will back me up). Of course, there are some pitfalls that come with freelancing, but what fun would it be without any challenges, right? Below I have outlined five things that I think should be avoided while starting out as a freelancer. Hopefully, you guys agree with me and if you have any suggestions please feel free to add more through your comments.

Don’t Make The Switch

Most freelancers start freelancing part-time and stick with it while holding a full-time job. The key reason for this is to make sure there is a regular income you can count on. However, many freelancers get so excited about “being their own boss” and “choosing their own hours” that they end up making the switch without adequately planning their finances. The first and foremost thing that you shouldn’t do while starting out as a freelancer is quit your day job prematurely. This is one of the most repeated points and the reason is simple: you need to make sure your freelance business can support you before you quit your job. If you are new to freelancing and just starting out, hold on to your day job for months, and in some cases years. Do not quit your day job unless you are 100% sure you can earn a living solely on your freelance income. If you find it difficult to manage, take a look at this article for a few tips for freelancing with a full-time job.
Don’t Give Into Temptation

When you start freelancing you’ll see that there are a lot of temptations to deal with. You might want to setup your home office with new computers and furniture just to make it look cool. Heck, you might be doing it just to get yourself seen on Gizmodo. Whether it’s the new gadgets, thousand dollar ergonomic chair or another monitor, make sure there is a legitimate need before diving into these expenses. Keep those temptations in check, it’s better to hold on to that money just in case your freelancing income takes a nose dive next month. That’s the thing about freelancing, sometimes you never know. Hold on to temptations and spend only on things that are a must for you to run your freelance business. Do not give in.
Don’t Be Too Friendly or Personal

This is another one of those things that many new freelancers get sucked into. A new freelancer usually gets excited when landing their first client and may feel that he/she needs to be extra friendly. Friendly is good, but over friendly isn’t. Many new freelancers get a little too comfortable with their clients and may share personal problems among other things. The client might stay while the contract lasts, but a lack of professionalism may eventually drive them away. As a freelancer, you should be friendly but a relationship is always better as a client and freelancer. Do not wreck the client-freelancer relationship by being too personal.
Don’t Forget To Create a Plan

Just because you will be working from home, setting your own hours, and without anyone to answer to doesn’t mean you don’t need a plan for your business. Many freelancers start out great during their early years as freelancers and then fail later on because they didn’t create a plan. Make sure you have a detailed plan that will give you an idea of how you will grow your freelancing business down the road, how you plan to land new clients, and so on. This is one of those critical things that your freelancing business will depend on. Do not forget to create a plan for your freelancing business. Just like any other businesses, a plan for freelancing is a must.
Do Not Procrastinate

Procrastination is a freelancer’s biggest enemy and should be avoided at any cost. As a freelancer you have the luxury of choosing when and where to work, and although this is one of the best outcomes of freelancing, it can also be one of the biggest challenges. Make sure you stay clear from procrastination. I have personally seen many freelancers lose out on some of the biggest gigs simply because they procrastinated and the job was either not completed on time or was not up to what was promised. Do not procrastinate, and make sure to get ahead in the game by doing things when they needs to be done.
What Else Should New Freelancers Avoid?

These are some of the things that I personally think should be given extra attention when starting a career in freelancing. I would love to hear your thoughts on them, as well as anything you might want to add to the list. Everything you add to this list is another chance at helping a new freelancer succeed.

How Google Taught Me to Cache and Cash-In

A user named Apathy in this thread on how Reddit scales some of their features, shares some advice he learned while working at Google and other major companies.

To be fair, I [Apathy] was working at Google at the time, and every job I held between 1995 and 2005 involved at least one of the largest websites on the planet. I didn't come up with any of these ideas, just watched other smart people I worked with who knew what they were doing and found (or wrote) tools that did the same things. But the theme is always the same:
# Cache everything you can and store the rest in some sort of database (not necessarily relational and not necessarily centralized).

How do you go about applying this strategy?
# Cache everything that doesn't change rapidly. Most of the time you don't have to hit the database for anything other than checking whether the users' new message count has transitioned from 0 to (1 or more).
# Cache everything--templates, user message status, the front page components--and hit the database once a minute or so to update the front page, forums, etc. This was sufficient to handle a site with a million hits a day on a couple of servers. The site was sold for $100K.
# Cache the users' subreddits. Blow out the cache on update.
# Cache the top links per subreddit. Blow out cache on update.
# Combine the previous two steps to generate a menu from cached blocks.
# Cache the last links. Blow out the cache on each outlink click.
# Cache the user's friends. Append 3 characters to their name.
# Cache the user's karma. Blow out on up/down vote.
# Filter via conditional formatting, CSS, and an ajax update.
# Decouple selection/ranking algorithm(s) from display.
# Use Google or something like Xapian or Lucene for search.
# Cache "for as long as memcached will stay up." That depends on how many instances you're running, what else is running, how stable the Python memcached hooks are, etc.
# The golden rule of website engineering is that you don't try to enforce partial ordering simultaneously with your updates.
# When running a search engine operate the crawler separately from the indexer.
# Ranking scores are used as necessary from the index, usually cached for popular queries.
# Re-rank popular subreddits or the front page once a minute. Tabulate votes and pump them through the ranker.
# Cache the top 100 per subreddit. Then cache numbers 100-200 when someone bothers to visit the 5th page of a subreddit, etc.
# For less-popular subreddits, you cache the results until an update comes in.
# With enough horsepower and common sense, almost any volume of data can be managed, just not in realtime.
# Never ever mix your reads and writes if you can help it.
# Merge all the normalized rankings and cache the output every minute or so. This avoids thousands of queries per second just for personalization.
# It's a lot cheaper to merge cached lists than build them from scratch. This delays the crushing read/write bottleneck at the database. But you have to write the code.
# Layering caches is a clasisc strategy for milking your servers as much as possilbe. First look for an exact match. If that's not found, look for the components and build an exact match.
# The majority of traffic on almost all websites comes from the default, un-logged-in front page or from random forum/comment/result pages. Make sure those are cached as much as possible.. If one or more of the components aren't found, regenerate those from the DB (now it's cached!) and proceed. Never hit the database unless you have to.
# You (almost) always have to hit the database on writes. The key is to avoid hitting it for reads until you're forced to do so.

10 Essential Skills Every Graphic Designer should have

In order to become a well rounded Graphic Designer, there are a variety of skills that are essential to handling a clients or employers tasks proficiently. Below you’ll find some of the most essential skills that a Graphic Designer will need to have as he/she advances in their career and reaches new height.

In several cases a designer may have excellent artistic abilities and many years of experience, however what separates the “must re-hire” from the rest is the following acquired skills. The following skills will not only make you a more valuable member of a team, but they will also make you much more feasible hire, ergo allowing you to raise your rates in exchange for quality.
Style Compared to No Style

Style can be acknowledged as a designer’s signature. When your design needs to reach a targeted audience, whichever styles the audience has been familiarized with can be a valuable addition to the design tools at hand. It’s key that every designer should be comfortable and drawn to their own style. As every project you approach is unique, your style has to leave an imprint on the minds of the audience.

Most designers, (especially the novice) tend to adopt a wide range of contemporary styles for the sake of being well rounded or familiarized. However, style can be whatever the designer desires as long as it’s unique and brings structure to design. If you wish to fully master a style, designer’s should carry out reasearch on its history.
Project Management

skills02

A lot of designers consider being organized sufficient, but on larger projects it really helps to have a grasp of project management fundamentals. A designer that can actually project manage the design part of a project has an edge over another designer who needs to be told what to do and when to do it and sits there waiting for input.

Leadership is one of the designers strongest points when it comes to managing a project. Taking on a new project/responsibility, means managing the extent of authority you need in order to effectively execute your project. Make sure you have the proper authority at hand before you begin hammering away at a project.

As a leader it’s also important that you are flexible enough to realize when plans need to be changed be or accommodated. Planning shouldn’t stop the moment you think you’ve figured out the direction you wish to steer a project, it should be an ongoing process. Depending on the succession of your plan’s implementation, you would take into account the strategic planning and documentation that placed everything in motion. Bad planning translates to bad implementation and chaotic results.
Typography

skills03

One of the more underrated design skills today is typography, however in truth, typography is one of the key things top advertising firms review in a design portfolio. It is usually the difference between a good and excellent designer. Typography requires a firm understanding of font families, appropriate use of line-height, kerning and tracking. The advertising industry is primarily about communication and therefore needs clean, readable, well designed type.

Seasoned designers can tell you that it’s almost impossible to know the names of all the typefaces available. However, if you can can learn to identify a portion of the main fonts utilized for clarity in readable content, then you should feel confident. Typography is readily classified as the official language of graphic design. If typography seized to exist, most designs would become irrelevant or obsolete.

Fact is letters come in many different shapes, colors, and forms, and this is what gives graphic design its unique and favorable personality. While knowing technology is essential, if a graphic designer does not learn the difference between families and styles of type, or how and when to best use them, they will not be fluent enough to communicate.
Creative Thinking

An important asset skilled to a graphic design artist is their ability to take something that is deficient or incomplete and turn it into something remarkable. A graphic designer should be lucid about discovering and producing the picture that other people are trying to express with words and desire. The picture may not always be clear at first, but this is where creativity stands out.

Skydiving over a sea of wild thoughts, improbable, and unthinkable ideas is just fine. In fact, with every project, it is expected. By permitting yourself to think outside the boundaries of ordinary, normal thought, brilliant new ideas can arise. In creative thinking, a variation of ideas are used for their suggestive qualities, to see what new ones they can break loose. If you can manage to search for several points of similarity between different ideas and your project at hand, new aspects of your design will begin to reveal themselves.
Print Design and Layout

One of the most sought after skills employers seek in designers is an understanding of digital print production. The ability to use a page layout program also sometimes called a desktop publishing program (Adobe®, InDesign®, or Quark®) is vital as well. Print design also requires an understanding of concepts like color separations, grid layout, and master pages.

Every professional graphic designer should possess thorough knowledge of the printing process. One shouldn’t take it as far as knowing how to operated a printing press, however being familiar with the process is key. The most basic printing knowledge involves an understanding of color space.

Quite simply, color space is the combination of types of color and how those colors interact to create other colors. There are two types of color space, light and pigment. Light color space is made up of red, green and blue, or RGB. Pigment color space is made up of cyan, magenta, yellow and black, or CMYK.
Web Design

skills06

Having a clear understanding of web development is more essential than ever in an age where online advertising, and web presence are essential to every marketing campaign. Graphic Designers are usually expected to have some basic understanding of HTML and CSS, as well as web design standards. This skill can become a very lucrative one. Web designers work on anything from complete websites to user-interfaces, to designing blogs. Now graphic designers can take part in this process.

For graphic designers, web design is probably the most valuable skill to have aquired. Countless doors will open up a large new client base for you, allow you to create and update your portfolio site as often as you’d like and much more. Being fluent in web design and multiple coding languages will not only make it easier to keep steady work from home, but will make you much more attractive to potential employers who are looking to cut costs by finding multi-talented designers.
Photography

If you wish to be perceived as a well-rounded graphic designer, sooner or later you will need to take a picture. If you are fortunate enough to work for a company which supplies you with a camera, utilize it. What sort of camera could meet the standards of a designer? A camera that can provide enough light to adequately illuminate the subject. This can be done with a built-in flash or with an add-on flash.

Also, it’s a good idea to use a digital camera that provides enough pixel resolution. A good rule of thumb is anything below 6 megapixel’s probably won’t produce quality shots and will need to be worked on by an image editing software such as Photoshop®.
Networking

skills08

To be successful in any career the guidance and support of others is vital. This is especially true of designers who need to spend most of their time in their offices or studios. Building a network of individuals who have a common interest in your career, through: other Designers, Marketing Experts, Web Designers, Design Blogs, Design Magazines, Photographers, SEO’s, Magazines, and Publishers is one of the most effective ways to strengthen your network.

Since the beginning of the web 2.0 movement many designers have launched their careers by starting a blog. They’ve used this as a way to market their skills and increase awareness to their portfolio. Having sufficient understanding about web design, online marketing and search engine optimization, which we mentioned above will help you turn your blog into a powerful and useful tool as opposed to a waste of time.

You need to research blogging before hand, optimize your blog, post regularly and promote your blog posts in order to achieve maximum results. The more visitors reach your blog, the more chances you have of landing a prospective client.
Communication

Realistically speaking this maybe the most important skill a designer will utilize throughout their career. The ability to communicate is fundamental to everything a designer does (Refer to the Typography section above), but this task does not begin or end with visual communication. Designers have to be able to articulate their ideas and concepts to employers and clients with ease and fluently. In addition graphic designers need to be able to write well organized briefs, proposals and instructions.

90 percent of the time, in order to land a project, this will require good communication skills. Once you have the project, it really helps when you can easily communicate with your clients or other team members. A lot of design requires good communication, from extracting accurate requirements, discussing changes and options, explaining how to utilize a tool or why something just simply won’t work.

Succesful designers in today’s day and age will likely have to write clear emails, hold skype conversations crossing numerous timezones and cultures, and countless other communication tasks, and display effective communicative skills through their art.
Social Media Marketing

skills10

This skill is essential to any individual needing to promote or brand themselves, their products or services in today’s marketplace. A firm understand of the value of social media applications such as: Myspace, Facebook, Twitter, and Digg; and how to properly use them to build relationships with an audience as well as brand recognition, will only become more important and valuable in the future.

If you become fluent in marketing you will get more work or a start, but knowing some of the art and science of marketing will help your designs work for what they are intended. Consider that many of a web designers deliverable will ultimately exist to get attention, build brand, sell products, and bring repetitive business.

Does your website needs a Redesign?

You may have a beautiful website, it may win awards for excellence in design, but unless the designer has taken into account the principles of Search Engine Optimisation (SEO), you may need to consider a redesign. You may have an old website, it does its job, it tells people about your company, but it's slow and the content, it's a bit out of date. In both cases, you definitely need to consider a redesign.

Both websites will struggle to get the volume of traffic that they could receive. The new well-designed site may get traffic for those looking specifically for that site, but anyone using a keyword search for your product or services won't find you.

The older site with out of date content loses out because the Search Engines think (due to the lack of fresh content) that the site is dormant or dead. Both of these websites could receive great traffic and a potentially lucrative increase in business, but without consideration of SEO, they won't get any share of that possible income.

So what should one look for in a site that might need a redesign?

All Flash

Although there have been significant advances in Search Engine technology and they are beginning to read some flash, a site that's all flash is likely to be dreadful for Search Engines. They will be pretty, but the Search Engines won't rank them highly because the content is essentially unreadable. But what about major corporations that rank highly but have flash-only sites? These sites have such a high rate of linkage that their flash content probably doesn't matter, unless you can compete with a major corporation, an all flash sites is a no go.

Frames

Frames in your website make it difficult for search engines to index its pages. What's more, human visitors really struggle with frames, they're difficult to read and it's hard to get an impression of the site. Some browsers don't even support frames, meaning your site is entirely unreadable for those potential customers.

Splash Pages

Web designers using splash pages really make a visual impact on the visitor. Imagine the entire webpage as an animated page, straight out of a cartoon. Very impressive. Unfortunately, from an SEO point of view, they're horrible. Splash pages generally contain little or no text content; have no links and full of flash and other software which the Search Engines still find difficult to assess for a ranking. You may impress with your Splash Pages, but kiss goodbye to many potential customers.

Slow Loading

Very simply, a slow loading page puts off both human visitors and search engine crawlers. Human visitors may not have the patience to wait for the pages to load and search engines almost always rank the faster loading pages above the slower ones. If your site has slow loading pages, they need replacing.

Out of Date Content

First, the Search Engines will simply ignore this site as if it no longer exists. It may have been ok in the past to leave your content for months without updating it, but these days, it will soon slip off the radar without regularly updated content. What's more, nothing puts off a human visitor more than out of date content.

If your site contains any of the above SEO problems, you need to implement a redesign; it's costing you potential income.

Graphic design using colors

Color is everywhere and conveys a message even if we don't realize it. While this message can vary by culture it pays to know what colors "say" in your own corner of the universe, and even what color means to your target market.

If you don't think that color speaks just complete this sentence, "red means ---- and green means ?" even a child will know what red means stop and green means go. If such simple ideas work for all of a given culture or market what could it mean to the graphic design of your website, brochure, or product if you know some of this information.

First let's start with the basics. The color wheel. We've all seen it. The color wheel shows the basic colors, each wheel is different in how many shades of each color is shown, but they are essentially the same.

Color harmony, colors that go together well. These will be colors that are next door to each other on the color wheel. Such as blue and green. In reference to clothes these colors match each other. Instinctively most of us know which colors go together when we dress ourselves every morning.

Color complements, colors that set each other off, they complement each other. These are colors that are opposite on the color wheel. Such as blue and orange.

Color depth, colors can recede or jump forward. Remember that some colors seem to fall back such as blue, black, dark green, and brown. Other colors will seem to step forward such as white, yellow, red, and orange. This is why if you have a bright orange background it may seem to fight with any text or images that you place on it. The orange will always seem to move forward.

Now you have the basics so let's go further. Just because to colors go together or complement each other doesn't mean that yo necessarily want to use them on your project. I opened this article with the meaning of colors now here is an example, keep in mind this is one example from western culture.

Color Survey: what respondents said colors mean to them.

* Happy = Yellow
* Inexpensive = Brown
* Pure = White
* Powerful = Red (tomato)
* Good Luck = Green
* Dependable = Blue
* Good tasting = Red (tomato)
* High Quality = Black
* Dignity = Purple
* Nausea = Green
* Technology = Silver
* Deity = White
* Sexiness = Red (tomato)
* Bad Luck = Black
* Mourning = Black
* Favorite color = Blue
* Expensive = Gold
* Least favorite color = Orange

So in designing your project it's important to know what colors mean. You can now see why a black back ground with green type would be bad, beyond being nearly impossible to read, if your target market thinks that black represents mourning and green makes them sick. There are exceptions to every rule of course.

So you may want to include some research in what colors mean to your target market. Colors that would get the attention of a teen would probably annoy an older person and the colors that appeal to the older person wouldn't get a second look from a young person.

Color may be one of the most overlooked aspects of design.

Story on Recession

This Story is about a man who was selling Hotdogs by the roadside. He was illiterate. His ears & eyes has problem.He sold lots of hotdogs. He was smart enough to offer some attractive schemes to increase his sales. His sales and profit went up. He ordered more a more raw material and buns and use to sale more. He recruited few more supporting staff to serve more customers. He started offering home deliveries. Eventually he got himself a bigger and better stove. The son, who had recently graduated from College, joined his father. Then something strange happened. The son asked, "Dad, aren't you aware of the great recession that is coming our way?" The father replied, "No, but tell me about it." The son said, "The international situation is terrible. The domestic situation is even worse. We should be prepared for the coming bad times." The man thought that since his son had been to college, read the papers, listened to the radio and watched TV. He ought to know and his advice should not be taken lightly. So the next day onwards, the father cut down the his raw material order and buns, took down the colourful signboard, removed all the special schemes he was offering to the customers and was no longer as enthusiastic. He reduced his staff strength by giving layoffs. Very soon, fewer and fewer people bothered to stop at his hotdog stand. And his sales started coming down rapidly, same is the profit.

The father said to his son, "Son, you were right". "We are in the middle of a recession and crisis. I am glad you warned me ahead of time."

How many times we confuse intelligence with good judgment? Choose your advisors carefully but use your own judgment A person or an organization will survive forever, if they have the 5 Cs Character, Commitment, Conviction,Courtesy, Courage
"Reunite together for any small or a big organization, motivate and retain people which are the biggest asset,show commitments to customers, time show values of company& Nation."

If each of us will read this we will be able to understand the situation very well. Slow down is there, but we can't call it a recession.The other day I was speaking to a very experienced HR Manager. He was telling the same thing. It is more of a hype by the media. And some of the employers are taking undue advantage of this. Creating panic. Even the segment least affected by slowdown, using the same excuse to cut down cost. If all of us will start cutting down cost, then from where the demand will be generated. Because my spending is other guy's income.

So before layoff the employer should use their own judgment. Is it the right thing we are going to do? The people who have given me so much of profit in recent past, should I throw them out to reduce my cost/ increase my percentage of profit.

If each of us will start thinking in broader terms, we are sure to overcome this so called recession.

Hello World!


About me:

I’m Chetan Bharadwaj, living in Kolkata, India. I specialize in building modern fresh looking websites.

I also dabble in illustration, photography & designing.



What I do:

- Web Administrator @ Kyakare.com (a web company in event calendering).

- Co-founder of FOURDY SOLUTIONS (an IT consultancy firm).



My hobbies:

I enjoy meeting new people and am fascinated by neat design.

I love to travel, hang out with friends & family, listen to music, take pictures and play video games.



To follow me:

I blog here

microblog here

socialize here



email:

chetan[at]thefourdy[dot]com


contact:

(0091) 983-0291-080