Programs like Photoshop and Illustrator or their free alternatives like Gimp and Inkscape work fine for t-shirts. If it can use layers and work with 300dpi, you’re good. For interesting effects, you can try using Corel Painter. Flash is useful for line-work if you don't have a tablet but want to have the effect of pen pressure.
Getting ready to design
Setting up the file
Different t-shirt sites handle different sizes - Shirt.Woot is up to 16"x20", Threadless is 15"x20”, Design by Humans goes up to 20"x24" - so it's important to check what size your file needs to be, and work at 300dpi.
Keep colors separate
Keep each individual color on separate layers. When t-shirts are screen-printed, each color is assigned to a different screen - so everything has to stay apart in the end. There are some sites that require you to keep colors separate, like shirt.woot, so it's a good habit to get into.
Sometimes, sites limit the total number of individual colors that you can use. Design by Humans and Threadless have a limit of 8, Shirt.woot is 6, and so on. The background color - or, the color representing the t-shirt - doesn't count towards the total.
What to do with a finished designWhen you have your design in hand, there are a number of things you can do with it. You can submit it to a daily/weekly t-shirt site, like the following:
Designbyhumans.com Shirt.woot.com Teefury.com Uneetee.com Threadless.com
Each has their own audience with particular preferences, so before you decide to submit, look around to see which place your design fits in best with.
---If you decide to go the self-publishing way, you can use an ‘on-demand’ type service, like the following:
Spreadshirt.com cafepress.com bountee.com redbubble.com printfection.com zazzle.com
There are tradeoffs with each route. On-demand services usually use digital printing, which can be limited compared to screen-printing (quality, techniques available, etc). With the exception of teefury, going the daily/weekly t-shirt site route often means losing control of your design.
You can also get a design screenprinted from a shop, and sell it via your own website, or using a service like etsy.
Getting the design ready to submit
Each site has a different template that they want you to use so it can be displayed on their site. Here's an example from a few different sites:
Shirt.woot derby - 580x580 image, showing the shirt placement and a detail image; 240x240 preview image. Everything is converted to a jpg.
Threadless - 640x800 image, showing the shirt placement and a detail image; 100x70 GIF preview image. You have the option to use flash with the larger image.
Design by Humans - 900 x 500 image, original artwork only and a 500x400 image, showing placement on a t-shirt.
What happens to the design after submission
Usually, when you submit a design to a t-shirt contest - or a t-shirt site that ISN'T self-publishing like cafepress - a 'hold' will be placed on your design. This is so a designer won't take a design to many sites at once. If your shirt isn't printed, this hold lasts anywhere from 60 to 90 days.
If the shirt is printed, the site generally holds the rights to printing it permanently - so once it's printed, you can't take it to other sites as you've been paid for it. ALWAYS read the terms and conditions. If you don't like the compensation you'd receive, you can always take it elsewhere.