I have worked on a project for a while now, I call it ForkCan and can be found on the following URL www.forkcan.com. ForkCan is all about sharing code in a social way. I have notice that several developers on twitter paste pointers to sites like paste-it.net to share some code with others, and to get feedback on the code. I moved this a little bit further and created a similar site BUT! I also want to make sure developers can learn from each other, discuss the code with each other and much more. There are so many great code examples shared and distributed on the web, but to find them we need to search for it and it’s spread around different blog posts, forums etc. I wanted to create one place where developers can add the code, make a repository of codes where everyone can find great code to be used in a project. I also created ForkCan to save my own “good to have” code snippets, so I can find it easy and and copy and paste it into my projects. You may wonder why I call it ForkCan? It’s because it can be used as a can of forks ;) Fork in Software development is about taking an existing code and make development on it. So with ForkCan you can share your code, someone else can make it even better by making a Fork of it. The idea of ForkCan is to help each other to be better developers. The site also is a great tool for the Copy & Pasters.. ;)
The feature ForkCan supports today are:
1) Share Code (Anonymous or as a registered user)
2) Add tags
3) Give feedback (Positive, neutral and Negative) – feedback adds rating to the code.
4) Rate the code (Is not yet implemented, but the rating is displayed)
5) Make a Fork of the code and see the Fork in a tree form
6) Discuss the code (will give points to the user that wrote the comment), in the future comments can be rated (the model is in place but not the code).
7) User Titles (User can get different titles based on contributions)
8) User Scoring
9) Search for code
10) Use OpenId
11) Markdown for the content of the shared code
I have much more features on my list to do, like Achievements, some sort of badges and advanced search etc. I will also work more with the User Interface, add more tips and helps to the site, a way to easily post Feedback about how to improve ForkCan and also report bugs etc.
The rest part of this post is how ForkCan looks like today and about some of the features that are added at the moment.
First page will show a list of all the shared codes, it will by default be listed in a order where the most used code will be at the top.
Note: At the moment the sorting is not yet implemented.
The list shows the title of the code a developer have shared, a short description of the code, tags (there is not a predefined list of tags, just create your own tags), information about the code, such as when it was created, created by and the current points the user who created the code has. The smalls icons above the creator of the code shows the number of views, number of devs who have used the code, number of positive, neutral and negative feedback and also number of discussions (Should I add number of forks?)
To Share a code, you simply press the big Share Code button at the right top corner under the search textbox.
Anyone can share codes, ForkCan uses OpenID for users that want to register them self on the site (gives of course a lot of benefits, such as making a fork, give feedback to other users etc.) You can share code by just mark the code with a name. Here is how the Share Code form looks like today:
ForkCan use the WMD RichTextArea control. The WMD control uses Markdown. I will later add a better help for how to you use Markdown, if you are familiar to StackOverflow you will know hot to use it. When you add a code block remember that you need to indent the code with 4 spaces. You can use some HTML tags and also add links.
You can share code and login at the same time by specifying an OpenId, if you aren’t a registered user you will come to a Edit profile form to enter some information about your self:
ForCan uses Gavatar for handling avatars. If you have earned one or more titles, you can select a title that will be displayed together with your user information when user are watching your code. The 20 first registered users will get three titles “No. 1” , “I was first here” and “1337”.
When you select a code to view from the list of code from the start page, you can as a registered and authenticated user post feedback to the user who has created the code (You will earn points if you post feedback, and the user who shared the code will also earn points as long as it’s positive feedback), you can also create a Fork or write comments about the code.
The following is a view where feedback, forks and comments are added:
I hope you will like ForkCan.com and I also hope this site will bring value to you as a developer and also to other developers. A Beta will be out later this day (the time from when this post was created) or tomorrow. I hope some of you are interested to do some contribution and also be a beta user.
Hope to see you all at ForkCan.com
If you want to know when I have published a new blog post, then follow me on twitter: @fredrikn