About this project
100% funded in the first day! Additional funding will give me more time to obsess over making this perfect and add more and better features. Thanks to my backers for funding me $20k -- now I'm working on this for a full year!
I wrote git-annex to make git usable with large files. And for archivists, scientists, and regular geeky folks with many photos, music, and videos, a git that can handle big files is perfect. Now I'm going to make it easy to use too.
You'll be able to drop large files into a folder and have them automatically checked into git, and synced out to your personal cloud of other computers, sevices like Amazon S3 and rsync.net, and removable hard drives.
Building git-annex was the hard part. I holed up in a cabin, learned Haskell, and coded for a year, blazing new trails. It's done, and it works.It's been reviewed by publications like Linux Weekly News (http://lwn.net/Articles/419241/). Now I need your help to fund three months more work that will turn it from a geek power tool into an app everyone can use.
The first step will be to make git-annex watch for changes to your files, check them into git, and automatically sync them to your other repositories. I have a prototype of this using Linux's inotify. It will be extended to also support Mac OS X.
Then I will build a web app that can be used to control and configure things. Watch files as they upload and download, set priorities, etc. No command line needed. I plan to use Haskell's amazing Yesod web framework.
Finally, I will add configuration assistants to help you get the most out of the system. Easily set up syncing to remote computers, store encrypted copies of your data in Amazon S3 or other cloud services, automate moving old files to archival drives. There are many possibilities like these, and I will prioritize the ones my backers need.
I'll spend around one month on each of these steps. Then I'll spend another month or two on an Android port, and additional time I'm funded for to add more features. At the end of the year, I'll spend a month porting it to Windows, too. I'll be blogging about my progress all along the way, and each new feature will immediately be available in git-annex's own git repository.
- Project wiki, roadmap, and design: http://git-annex.branchable.com/design/assistant/
- Development blog: http://git-annex.branchable.com/design/assistant/blog
Now that my work is funded for a full year, I'm setting aside any further funding received, and using it to pay for things that will make the git-annex assistant even better:
- Get a professional web designer to polish the web app, so it looks and feels great!
- Access to a wider variety of Android gadgets to ensure that port works well.
- Necessary Windows license (seems I don't have one anymore!)
- Usability testing.
GPL version 3. I may license the web app frontend separately, under the AGPL 3.
The interface is a web app on purpose, so that this can be run on a phone or tablet. But, the web interface is only the tip of the iceberg when it comes to Android. Making an Android app is gonna take quite a while.. happily, I am funded to the $9000 level I needed to have time to work on Android, buy Android gadgets to develop on,. etc.
Porting to Windows is feasable, but there are some big stumbling blocks in the way, and it's far, far down my fun and priority lists.
But, you can back this project to rearrange my priority list to some extent, and help fund the many resources I would need (licences, access to Windows experts, etc) to do such a port.
If I'm funded for a year ($20k), I will spend at least one month of it in Windows purgatory, making the port happen. No guarantees of success on this one!
Everyone who pledges $5 or more gets their name in the credits, unless they don't want it.
The USB keychain comes with stickers too.
The USB keychain is a limited and rather expensive item for me, so it will only be given to higher award levels if I have ones left over. However, reward levels of $100+ are going to get some interesting physical extra of some sort, to be determined later, if not the keychain.
Yes, some reward bundles are available:
T-shirt + 16 gb USB key: Pledge $100 and select the T-shirt reward
T-shirt + two 16 gb USB keys: Pledge $130 and select the T-shirt reward
"set my priorities" + 16 gb USB key: Pledge $125 and select the $100 reward
"set my priorities" + two 16 gb USB keys: Pledge $160 and select the $100 reward
"beta tester" + 16 gb USB key: Pledge $275 and select the $250 reward
"beta tester" + two 16 gb USB keys: Pledge $310 and select the $250 reward
Your files can be automatically encrypted before they are sent to cloud providers like Amazon S3 or rsync.net.. They'll be decrypted when they're downloaded onto other devices. GNU privacy guard is used for encryption, this is as secure as it gets.
You can also encrypt files that are stored on local drives. Want to avoid exposing your files if you lose your keychain? Turn on encryption for it, and it works the same as described above.
git-annex already has the encryption fully implemented. Curious about the details? The design document for it is here: http://git-annex.branchable.com/design/encryption/
In short, none of them quite do what I'm setting out to do. They're all trying to solve this problem, but all fall short in one way or another.
SparkleShare is a nice GUI frontend to git. But it does not support large files any better than git does (not well at all). They considered using git-annex to solve this, but didn't -- I think because git-annex doesn't support Windows. SparkelShare is also GUI-only. I think people want a simple folder like DropBox, not a separate GUI.
ShareBox is close to what I'm going to build in my first phase. It uses git-annex under the hood, even. But it uses FUSE. This makes it very slow to read any of the files in it. ShareBox has a rewrite in progress from python to C, still using FUSE, which will be faster, but not as fast as the git-annex assistant can be. It doesn't have anything like the webapp or simple configuration assistants I'm going to build.
dvcs-autosync uses inotify, like I'm going to, so it's fast. But it's never been adapted to use git-annex, so it has the same problems with large files in git. And again it lacks a web app for control and easy setup.
If you'd like further info about these programs, see this Linux Weekly News article. http://lwn.net/Articles/442841/
The existence of all these attempts at this same problem, each of which falls short in its own way, told me that you'd be interested in this Kickstarter!
Support this project
- (20 days)