25steps.asp -- http://shrinkster.com/l8y
- Register Domain
- until you've secured a domain name, don't commit to a product name
- don't expect to secure the perfect name
- register the product name, not the company name
- Reliable hosting
- don't host it yourself -- pay for hosting
- check that the host will allow hosting of executables and zips
- allowed to have a professional site
- more or less claims 'unlimited downloads'
- website design
- Quick and Clean
- in an instant: should be able to find download and screenshots
- for professional Look and feel: templates save a lot of time
- even if you start with static html, work out what server-side
techonology you'll use later and use the right file extension for
that from the start (e.g. php, aspx) to avoid 404 errors later
- Basic Website content
- Plan all the pages you might want -- then cross some out
- Write a shitty first draft -- get friends to help polish it
- If you use a CMS then use a free one: but the simpler the
better, less configuration
- install traffic monitoring on your site
- free package from your webhost -- or use google analystics,
or install another one
- How much traffic?
- where from?
- what search terms?
- how many downloads?
- ratio of free to professional?
- conversion ratio: purchases from professional downloads
- create forums, encourage feedback
- free and high quality options like google groups or yahoo groups
- downside: their branding, and advertisements, possibly from
- host a forum on your site -- e.g. community server, phpBB
- You want it as open as possible, but without spam
- Keep it alive
- maintain a FAQ
- no trick to it
- avoid marketing faq
- in the early days it is okay to put questions that haven't
yet been asked 'frequently'
- get the best screenshots you can
- on windows, use the best theme you can, and the latest OS.
- don't make people hunt for screenshots
- put a thumbnail or two on the front page
- have those thumbnails lead to more pictures
- Configure email for domain
- setup some email accounts -- e.g. support, sales, admin, webmaster
- forward them to your regular email
- get payment account
- we use paypal -- it works for us.
- allow payment from your website
- don't build a shopping cart
- don't read all of the developer documentation -- most of it
is for more complicated situations
- start by working out how to implement a donation button
- for a single product -- it's only a few lines more
complicated than that
- create a PAD file -- portable application description
- register at download sites
- download.com etc.
- tell them where your PAD file is.
- strategy: separate "free" from "professional" products
- Free version: compelling, worth downloading and using
- Not nagware, not so feature starved as to be useless
- Not adware, not lower quality just because it's free
- Professional version: builds upon the free
version -- a major
- Product must be based on a deep enough idea.
- get a suitable end user license agreement (EULA) -- infact get two!
- Final check is with a lawyer -- but build the first drafts
- People buy a license to use the software -- not the software
- Be specific! is it per user? per processor? per connection?
- Talk about risks
- Disclaim to the fullest extent
- Consult web sources
- Compare to others
- Trial period versus post-payment -- explain this
in your EULA
- auto update strategy
- simplest solution: a button that sends the user to a page that tell them the last version.
- next step up -- a webservice that tells the application what version is the latest
- next step up -- a shim that lets you download, unzip and run the new version
- license activation webservice/website
- enter a license key -- check it against a webservice
- webservice looks in a database to ensure license is legitimate. marks it as used.
- plus some secret magic stuff
- get a license management database
- a place to view, create, renew cancel and send licenses
- we built a custom asp.net application for timesnapper -- can handle many more products
- build a proper installer
- this is a common difference between free and professional
software: ease of install/uninstall
- don't install into program files\company name\product name --
just go program files\product name
- inno setup l8o, wix (l8p) and nullsoft scriptable install system NSIS -- l8n
- LUA: any updated files go into
Environment.SpecialFolder.ApplicationData --(which maps to
C:\Documents and Settings\[userName]\Application Data\[Product Name] )
*NOT* just into program files\[Product Name]
- obfuscate your assemblies
- feel like a real bastard obfuscating the code. but .net has
no protection on its own -- so without this it's just too easy to
crack the licensing. lutz roeder's reflector
- dotfuscator -- community or professional editions
- salamander, xenocode,
- http://shrinkster.com/l8v "How to
select an obfusctor" -- guide from Mike Gunderloy and Xtras.com
- automate your build+release strategy
- procedure includes:
- updating the online version check
- uploading to the website
- putting out release notes
- complex task -- yet you want it as automatic as possible
- SO start with a check list.
- free up enough time/resources for dealing with support/feedback
- treat customers of the free software as full cstomers
- watch for recurrent problems: fix bugs asap, identify usability opportunities
- and keep the FAQ updated
- Shiny, Usable, Helpful
- Aestethics -- purely to make it more pleasing to the eye -- is worthwhile
- avoid visual clutter
- choose the right control
- the basics: consistency, repetition, alignment, proximity -- http://shrinkster.com/l8l
- Usability: dogfood isn't enough
- follow standards
- Watch and listen to users/people
- Units of delight
- plan and enact your promotional strategy
- better to be an article than an advertisement
- featured on blogs, in magazines
- strategic alignment -- what existing business do you complement?
- Do it all again
- don't stop at one product... you've got more ideas
- revise and improve
- share what you've learnt
- work/life balance
- choose a price
- private beta testing
- bug reporting
- platform choice
- future release plans [vision]
- choose your competitors
- globalize and localize
- do you need a partner?
- what idea do you choose?
- anxiety, procrastination, self-doubt
Be Careful Where You Build
"the non designers design book"
wix installer system
Portable Application Description
Rules to Better Google Rankings
Rules to Better Websites
Rules to Better Windows Forms