Last weeks post looked at how to market your open source project or package looking into the question what marketing is anyway, finding out who your audience is and understanding your own and your audiences needs. This is necessary groundwork that helps you understand where you are, what you may be able to achieve and will influence choices you make further down the line.
However none of the groundwork matters, if the world does not know you exist. I use the term advertising in the widest sense, to tell the world that you do exist. The first thing to realize is that advertising is not a one-off thing: in a world of information overload, you need to constantly remind people that you exist. If you don’t, the world assumes you don’t exist any more. It’s that simple.
Defining your project or package
The first question somebody will ask themselves if they see information about your project/package is: what is it about? Remember, that your goal is to get your audience to invests their time, passion, code and feedback by contributing to your project/package.
To achieve this a brief and concise description of your project/package is essential. If you can’t summarize your project/package in a paragraph or even better a single sentence, you probably have not thought through what you are about. The more crunchy your description is, the easier it will be to catch somebody’s eye. The more accurate it is, the less you are in danger wasting anybody’s time.
A good approach to create your project/package description is to:
- Describe the project one one page of A4 paper
- Reduce it to one paragraph
- And then to one sentence
This will help you create a focussed description and material that you can use over and over when you start advertising.
If you cannot do this, it is worth getting more clarity on your audience, market, what you need and what you think your audience needs. If you are part of a bigger community, e.g. a Symbian package, the same principles still apply. Huge open source communities or foundations use the same techniques too: look at Eclipse which defines itself by Eclipse is an open source community, whose projects are focused on building an open development platform comprised of extensible frameworks, tools and runtimes for building, deploying and managing software across the lifecycle.
The Symbian build package states that “the Build package provides everything you need to build the Symbian platform” and then goes into the extended version: “the tools can be used to build existing releases of the Symbian platform, but the package also supplies the (deprecated) tools for building earlier releases (it consolidates the former Build, Build Tools and Host Environment packages).” The visitor can at a glance determine if they should investigate further or move on. Which means neither your, nor the visitors time will be wasted.
This screenshot is from the Flying Saucer project. One paragraph tells the new reader everything they need to know: the library renders XML and XHTML content with CSS, and it is 100% Java. Again, immediately clear what the project is about.
Other good examples are:
- The summary of the Symbian kernel package
- The summary of the wild ducks project: “prove that it is possible for an individual or a small group of people to build a device running the Symbian platform“. A more eyecatching tagline of the summary has evolved over time: “Use the Symbian code and some off the shelf hardware to make a phone!”
- Or the summary of the homescreen package: “Provides the Homescreen and Menu applications, that enable the user to manage and use widgets and launch other applications“
Landing Pages, Google Code, etc.
For people to find you in today’s world you need a website: that site is the single place where people go to learn about your project or package. You are essentially competing with the world to get attention.
If you are part of a larger open source community such as Symbian or Eclipse you need an appealing and easy-to-find portal within the community website. You may not compete with the world to get attention, but you are competing with other projects within your community.
The first thing to note is that a project landing page or Google Code site is not a website. Landing pages can at most provide a short description of your package or project and otherwise link to lots of useful resources, tools and information. They are typically used by people who have a pretty good idea what they are looking for, but may for example not know how your project or package is called. This means that the text on such pages should be short (the 1 paragraph version) but have enough keywords in them to ensure that the page can be found through a keyword search. E.g. if your project/package implements “GPS” functionality on a mobile device, a search for “GPS” should find your project/package.
That does not mean these pages are not important: because they provide links to tools and other resources, people who have an interest in your project/package will keep on coming back to the landing page. Although I can’t talk for other communities, at least at Symbian the web stats clearly show that this is the case. This means that the information on the landing page has to be up-to-date, concise and is also a good place to publish news (e.g. via an embedded twitter or blog feed).
As I work within a larger community, I will not cover how to create your own independent website. What is worth mentioning though is that the primary function of the website is to
- help generate initial interest in your project/package
- create a foculpoint that is used to sustain interest
In a larger community the function of your website is fulfilled by a portal to your project/package which is hosted within the community website. In the Symbian community, as well as in many other communties, such portals are implemented using a Wiki.
To generate initial interest, it is important that the portal is visually interesting, gives the users a taste of what you are about and is picked up by google when searching for relevant keywords.
To retain interest, it is important to demonstrate substance and provide really useful information. This is something that often needs to grow and be cultivated over time. Understanding your audience (or audiences) and what they want is key to achieving that.
So what can or should the front-page of the portal contain?
- Re-use the one sentence or one paragraph version of what you are about and link to a longer version
- A mascot makes an immediate impact
- A news section (which is up-to-date)
- A statement of where you need help and how you can get involved
- Screenshots or videos of your software (if you have any)
- And links to other resources (i.e. your landing page)
- A calendar if you have meetings
- The portal should also link to documentation, areas of collaboration, plans, etc.
Rather than performing an analysis, I picked a few examples: check them out and let me and others know what you think by commenting to this post. The homescreen package, the wild ducks project and the persistent data package are all part of the Symbian community. I also picked out a few examples from other open source communities: the Eclipse e4 project, Apache Cocoon and Apache Mave.
If you are part of a large open source community, there are typically community managers or mentors that can help you with advice, contacts, good examples, etc. Make use of them! It will make your life easier.
Launching: initial advertising
At this point in time you understand your market, your audience, you probably have some code (or at least a project with some goals), a landing page and a website. Now you need some real users and a community.
Step 1: Prepare!
One of the key lessons I have learned in the last two years is that preparation is everything!
Don’t go fully public until you are ready! If you do and you are not ready, people may come have a look, try something, see that you are not ready and disengage. Of course you can start a project before the code is ready, but you need to set expectations.
Getting some developer friends or team members to look over the landing page, the website portal and content and any other material you may have is a good idea. Take their feedback into account and fix what they find. Make use of community managers and mentors if you can!
Step 2: Communication
Remember that one paragraph description of your project/package that I suggested you create? That is the core of your communication. There are a fundamentally two ways how you can launch within an existing community: a press release or a story on a blog. There are a few things to consider: If you publish a story on a blog, not many others will pick it up (because it is not news any more). If you put together a press release, it goes to many bloggers and news outlets and a few of them will pick the story up. The purpose of the press release is that anybody with a newsblog has a concise description of what you have created and are about, spelled out so clearly that the author of the blog cannot get it wrong. In a nutshell, that is all a press release is.
If you have a mentor or community manager, get their help to launch. This person can help you with advice, contacts to the right blogs/news outlets, can help review, etc. Most of the time, all you need to do is ask.
Step 3: Build a bit of buzz
After getting a little coverage start submitting links to aggregators like Digg and Reddit. You could submit your own press release or blog, but press coverage of your project/package is considered more authentic than a link to your own blog or website and is thus likely to get rated higher.
You should also link to your project/package from Twitter, Facebook, LinkedIn and other social media. Your friends and connections are probably willing to spread the word just because they like you.
Keeping up the momentum
At this stage you will have some word about your project/package in the world and hopefully will have made connections with a few interested people. You will need to do this again and again and again … Remember: in today’s world you need to constantly remind people that you exist!
As this is yet another long blog post, I will cover how to keep yourself talked about and how to keep yourself motivated in another instalment.