Coming up with a component idea
Not sure yet what you want to publish on Binpress? here are a few ways to get the ball rolling:
Creating a new product
If you are not sure what you should build, you should go over our library of proposals for new components created by our community, that should spark some inspiration. You should also read our article on coming up with ideas that don't suck.
Binpress is a marketplace for quality code for developers, and as such, snippets and simple scripts are not a good fit for our audience. This include URL shorteners, social widgets, basic caching and simple database abstractions. You should also check our existing inventory first, and try to avoid submitting duplicates of existing products. Read our guidelines for more information on types of components that are typically not a good fit on binpress.
Did you know? Even if you have code that is not a good fit as products on Binpress, you can still publish tutorials based on it, if you're interested.
Repackaging existing code
Code that had been used in multiple launched products already is a great starting point for a new component - it is typically more stable and mature, and solves an actual real-world need.
Probably your code would need a bit of cleaning up before it's ready for public consumption. To help you get started, you should read our guide on extracting code from old projects.
Preparing your code for submission
After you have identified the problem you want to solve and developed the solution that solves it, it is time to prepare your code for a public release. If you haven't already, you should check out our publication guidelines mentioned above. Going through the following steps will make it easy for you to comply with it:
Decide on your coding standards
Coding standards are very important for readability and maintability of code - this is true when working independently or in a small team, but doubly so when releasing code publicly. Code that follows a consistent and common coding standard is much easier for other developers to pick up and use.
Coding standards vary for different platforms and languages but all follow some common guidelines. If you are not familiar with the coding standards for your particular environment, you should go over the list we provide in our publication guidelines. If you find an ommisions or mistakes, send it over and we'll update it.
Provide inline and external documentation
Published components are required to have documentation. Typical documentation includes header, method and inline comments in the code and an overview of setup and configuration detailed in the component profile. The documentation you provide makes your code better for others.
If possible and / or relevant, you could generate documentation files from your header / method comments and link to it separately. This allows potential users of your code to review the structure of your code and documentation before purchasing or downloading your component, resulting in better conversion rates.
Remember, any effort you put into your documentation would pay off later by reducing the amount of support you have to provide and questions you need to answer about your code. Even if the code appears completely obvious to you, it might not be to someone who is just getting started using it and does not have your domain expertise with the problem it solves.
Testing your component in a fresh installation
Before you submit your component, run it once in a new, fresh environment / project, and try to follow your own installation instructions. Is there something you missed? did everything work as intended? we will be running the same test when we review the component, and it would be a shame to get stuck at that point.
Read our 7 steps to open-sourcing existing code article on our blog for more specific details on everything covered above.
Publishing your component
The first step to publishing a component is signing up for a publisher account. You can do so through the publisher page, or if you have an account already, visit your account settings and activate it from there.
Pick a name
Naming your component correctly will go a long towards getting noticed. We provide some tips in the popup below the name field, but if you need more information regarding it, we wrote an entire post about it on our blog.
Fill out the component profile
Building up the component profile correctly will decide whether it will become popular or left alone. If you want people to use, you should make sure that the following details come through the text:
- What does the component do?
- How does it do that?
- Why is that important?
- When should it be used? (i.e, use-cases)
- List of features and benefits - so users can determine if it provides a complete solution for them
You should read our 6 tips to improving the profile on our blog. In addition, if the component has UI elements, those should be demonstrated in the profile:
- High-res screenshots - more than a couple but not too many. 6-9 images is a good number.
- If relevant, a video of the UI in action. If possible - capture it directly in the software, instead of shooting it with an external camera.
- Upload any supporting materials you have such as graphs and charts.
Additional content sections
Below the main description, you can add additional content sections covering different aspects of your component. The default sections include documentation, setup and usage examples. Remove those that are not relevant for your specific product, but in general all 3 are recommended.
If you have additional content you think would be relevant - add it there.
Pricing and licensing
Through Binpress you can create a licensing structure that fits your business and client needs, using a combination of traditional free open-source and commercial open-source licenses.
We provide a wizard for creating a licensing scheme based on the type of product you want to publish (hosted / compiled) and estimated development time. You can always modify the licenses after they are created, but if you would like to start from scratch, click on the "Create a license manually" button at the bottom.
Want to learn more about pricing? we write extensively on the topic on our blog, including the popular "Science of software pricing" and some additional pricing advice via Quora.
Submitting and review
Once all the details are filled out and you fill ready to publish, submit the component to start the review process. It will enter our queue, and it typically takes 2-3 days to get a component reviewed - so please be patient, especially if you submit it during the weekend or on holidays. Our reviewers will be in touch with you once it reaches its turn in the queue.
Marketing and promoting your component
Publishing your component is only half the battle. Like with any software product, getting people's attention and make sure they understand the benefit is just as critical as making the actual product.
Through Binpress, we provide you with a distribution network which we work hard to grow every day. We'll help you with the marketing copy, add your product to the ads we run on other sites, promote it in our newsletter and try to get as much attention to it via our product listing and through organic search results.
Where you come in
There are some things that only only you can do, and those things can make a huge difference. Those include:
Answering questions on Q&A and community sites
Q&A sites such as StackOverflow and Quora, and community forums such as gamedev.net and the Apple developer forum, have a large amount of people asking technical questions that might relate to your project.
Providing a good, technical answers to those questions helps you in two ways -
First, you build authority on the subject and you can usually link to your project(s) in your community profile (don't forget to sign up as an affiliate for additional revenue)
Second, if it makes sense within the context of your answer - link directly to your project as a part of the solution. Make sure to do it only when it makes sense, as people normally frown on blatant self promotion on those sites.
This approach was used very effectively by several of our top publishers - answers on those community sites generate very targeted traffic over time, and also help to get better ranking on search results. For example, see this answer one of our publishers provided on StackOverflow. It is very relevant, helps the perons who asked the question, and the mention of his project feels very natural.
If you do post on sites that have a voting mechanism, let our administrators know and we'll suggest improvements if needed.
Add our product widget on your site / blog
Showcase your projects with our product widget on your online properties such as a portfolio site or personal blog.
If you sign-up as an affiliate, you can also generate an additional 10% on every purchase (of your projects or other products in our inventory).
Promote your project on development and technology news sites
Relevant news sites and link aggregators, such as Hacker News and DZone, which allow user submissions are great for getting a boost every once in a while. Check out this submission by one of our publishers that netted him over $2k in sales in one day.
If you find such a site you would like to share with our community, let us know as well.
Answering comments and solving issues on your product page
As people start showing interest and some purchase a license, comments, issues and feature suggestion will start appearing on your project. Try to be prompt and helpful when answering questions and solving issues - not only does it help the person you are helping with his buying decision, those answers can influence the less active visitors make a decision as well.
Happy customers also leave good reviews - A small effort in support can pay large dividends over time in your bottom line.
Getting listed on the homepage
We get asked those two questions all the time - "How do I get featured on the homepage?", and "What affects the placement on the popular sorting in the listing?"
The formula for determining the placement for "popular" projects is as follows -
Weighted average review rating x 70% + Revenue in the last month x 30% = Score
Better reviews (bigger weight) and more revenue (smaller weight) will get your component shown in the "popular" sorting.
Listen to feedback and improve your product
Your product is doing well and you are generating revenue and getting users. But don't stop there! listen to feedback from your users in the form of feature suggestions and support tickets. Is there anything you can do that will make this product better? is it cost / time effective to put more development work in the product? (also considering the time you spend providing support for some of the common issues).
More features equal higher pricing or new products
As your component evolves and become a more complete and attractive product, pricing should increase to reflect it. In addition, the product might change so much you could even considering releasing the changes as a new separate product.
Those are organic ways for building a sustainable and profitable business from working on your own products. Which is why we built Binpress in the first place.