SHIP IT
Robert Rouhani
SharpNav
My RCOS project
(with Samuel Yuan, RenJie Xie, Ryan Lin)
Version 1.0 shipping this weekend
Will It Suck?
Yes.
Why Ship It, Then?
Feedback From Users
Why is this important?
It allows us to focus our design on what users want.
Not what we think they want.
There's a difference.
But How Do I Get There?
Try to do all of the things in this presentation
If you don't have time, whatever!
There's always version 1.1
Linting
Document everything
Style your code consistently and enforce it as the project's style
Fix any glaring issues with your public API
Version Numbering
Go with what the language / framework uses
If there's no standard, use Semantic Versioning
Major.Minor.Patch[-PreRelease][+Metadata]
All valid semver:
1.0.0
2.3.139
3.1.5-beta
6.5.1-alpha+a1f2be19
3.6.2+12
GitHub Has It All
Release Tags
git tag v1.0.0
git push origin --tags
Tracked in user/repo/releases
Website
git checkout --orphan gh-pages
git rm -rf .
echo "Hello, World!" > index.html
git commit -a -m "Initial website commit"
git push origin gh-pages
Available as user.github.io/repo
GitHub Wiki
One of the tabs on the side of every repo.
Uses git for versioning.
(what did you expect?)
Great for large projects that need guides, tutorials,
high level overviews, etc.
Can make it editable by anyone or collaborators-only.
Continuous Integration
A full compile for every push
TravisCI integrates well with GitHub,
supports numerous languages,
free for open-source projects
Will run your unit tests and email you
when someone broke the build
Use it to release for multiple targets simultaneously
Example TravisCI Configuration
language: c
compiler:
- gcc
- clang
script:
- ./configure && make && make test
-
Configures the project
- Compiles the project
- Runs the project's test suite
For both GCC and Clang
Every single time you push to GitHub
Package Managers
If your language / framework has a package manager, put your project on it.
The easiest way to get more users.
C# has NuGet
Tell People About It!
Post progress on programming forums
Search through StackOverflow for people with issues your library solves.
Make tutorial videos
Whatever you do, don't be spammy.
Nobody likes that.
Thanks
Dr. G
Professor Moorthy
Sean O' Sullivan
RCOS
Questions?
SHIP IT
By Robert Rouhani
SHIP IT
- 1,453