Promoting D Projects (or Internet Marketing 101)
So you've written a cool project in D, and it's ready for others to use or to get involved with helping develop it further. Just posting a Github link isn't going to work. All your blood, sweat and effort will just go to waste. You'll need to provide a way for people who want to know about your project to be able to find it.
The steps are:
- Create a good starting point for the project
- Let people know about it
Creating a good starting point
For many using a Github README is enough, but rolling out your own website creates a more professional look. (Don't forget that with Github Pages hosting is free.)
- The keywords and phrases that someone who would be interested in your project might type into Google to find it.
- The phrase D programming language and dlang somewhere on the page. This helps build the brand on the internet. If you just use D, nobody will find it via search.
- Screen shots of the program. Even better, for graphics and game demos, make a short video of it.
- List the capabilities of the package and what it's good for.
- Identify who this package is intended for and why they'd want to use it.
- Copyright and license information for any source code. If you intend for it to be public domain, make sure to explicitly mark it so.
Promoting the Project
Submit the page or article to the following:
- newsgroup
- D wiki
- awesome-d - A curated list of awesome D documents, frameworks, libraries and software
- Reddit Programming - User-contributed news platform
- Twitter using the #dlang hashtag.
- Hacker News - Reddit for nerds
- Slashdot - news for nerds
- dzone - Developer news
- gamedev.net - anything game related
- Wikipedia if it genuinely adds to an article on the subject
If your project is a conversion of an existing project to D, email the project leader of that existing project and suggest that he incorporate a link to your project on his page.
For the absolutely most effective results, submit articles to:
Have a look whether there are conferences in your field at which you could present your project.