This is the design site for the git-annex assistant.

Parts of the design is still being fleshed out, still many ideas and use cases to add. Feel free to chip in with comments! --Joey

roadmap

  • Month 1 "like dropbox": [[!traillink inotify]] [[!traillink syncing]]
  • Month 2 "shiny webapp": [[!traillink webapp]] [[!traillink progressbars]]
  • Month 3 "easy setup": [[!traillink configurators]] [[!traillink pairing]]
  • Month 4 "cloud": [[!traillink cloud]] [[!traillink transfer_control]]
  • Month 5 "cloud continued": [[!traillink xmpp]] [[!traillink more_cloud_providers]]
  • Month 6 "9k bonus round": [[!traillink desymlink]]
  • Month 7: user-driven features and polishing; presentation at LCA2013
  • Month 8: [[!traillink Android]]
  • Month 9: screencasts and polishing

We are, approximately, here:

  • Months 10-11: more user-driven features and polishing
  • Month 12: "Windows purgatory" Windows

porting

  • OSX port is in fairly good shape, but still has some room for improvement
  • android port is just getting started
  • Windows port does not exist yet

not yet on the map:

polls

I post polls occasionally to make decisions. You can vote!

blog

I'm blogging about my progress in the blog on a semi-daily basis. Follow along!

Will statically linked binaries be provided for say Linux, OSX and *BSD? I think having some statically linked binaries will certainly help and appeal to a lot of users.
Comment by Jimmy Sat Jun 2 08:06:37 2012
Jimmy, I hope to make it as easy as possible to install. I've been focusing on getting it directly into popular Linux distributions, rather than shipping my own binary. The OSX binary is static, and while I lack a OSX machine, I would like to get it easier to distribute to OSX users.
Comment by joeyh.name Mon Jun 4 15:45:00 2012
I'd agree getting it into the main distros is the way to go, if you need OSX binaries, I could volunteer to setup an autobuilder to generate binaries for OSX users, however it would rely on users to have macports with the correct ports installed to use it (things like coreutils etc...)
Comment by Jimmy Thu Jun 7 16:22:55 2012

I always appreciate your OSX work Jimmy...

Could it be put into macports?

Comment by joeyh.name Thu Jun 7 21:56:52 2012

In relation to macports, I often found that haskell in macports are often behind other distros, and I'm not willing to put much effort into maintaining or updating those ports. I found that to build git-annex, installing macports manually and then installing haskell-platform from the upstream to be the best way to get the most up to date dependancies for git-annex.

fyi in macports ghc is at version 6.10.4 and haskell platform is at version 2009.2, so there are a significant number of ports to update.

I was thinking about this a bit more and I reckon it might be easier to try and build a self contained .pkg package and have all the needed binaries in a .app styled package, that would work well when the webapp comes along. I will take a look at it in a week or two (currently moving house so I dont have much time)

Comment by Jimmy Fri Jun 8 03:22:34 2012

It's not much for now... but see http://www.sgenomics.org/~jtang/gitbuilder-git-annex-x00-x86_64-apple-darwin10.8.0/ I'm ignoring the debian-stable and pristine-tar branches for now, as I am just building and testing on osx 10.7.

Hope the autobuilder will help you develop the OSX side of things without having direct access to an osx machine! I will try and get gitbuilder to spit out appropriately named tarballs of the compiled binaries in a few days when I have more time.

Comment by Jimmy Fri Jun 8 11:21:18 2012
Thanks, that's already been useful to me. You might as well skip the debian-specific "bpo" tags too.
Comment by joeyh.name Sat Jun 9 14:07:51 2012

The average OSX user has a) no idea what macports is, and b) will not be able to install it. Anything that requires a user to do anything with a commandline (or really anything other than using a GUI installer) is effectively a dealbreaker. For our use cases OSX is definitely a requirement, but it must only use standard OSX installation methods in order to be usable. Being in the appstore would be ideal, but standard dmg/pkg installers are still common enough that they are also acceptable.

FWIW this is the same reason many git GUIs were not usable for our OSX users: they required separate installation of the git commandline tools.

Comment by Wichert Tue Jun 12 09:00:34 2012

Hi,

it seems that you put a lot of efforts in handling race conditions. Thats great. I wonder if the watch can also be used with git (i.e. changes are commited into git and not as annex)? I know that other projects follow this idea but why using different tools if the git-annex assistant could handle both...

Comment by klomp.eu Fri Jun 15 13:25:30 2012

Homebrew is a much better package manager than MacPorts IMO.

Comment by Matt Fri Jun 22 00:26:02 2012

Yeah definately go with homebrew rather than macports if possible. macports and fink, whilst great systems, have a tendency to sort of create their own alternative-dimension of files within the system that just dont always feel particularly well integrated. As a result "brew" has become increasingly more popular to the point its almost ubuquitous now.

Plus its brew-doctor thing is awesome.

The best approach though thats agnostic to distro systems is to simply go for a generic installer.

Comment by Shayne Sun Aug 12 20:37:35 2012

Thank you for this great piece of software which is now becoming even better with the assistant.

Just one question: will one instance of the assistant be able to track multiple git annex repositories each building up their own network of annexes OR would I need to run multiple instances of the assistant?

Thanks, Jörn

Comment by Jörn Thu Sep 20 12:10:29 2012
@Jörn, two days ago I added support in the webapp for multiple independent repositories. So you can create independent repos using it, and switch between them from a menu. Under the hood there are multiple git-annex assistant daemons running, but this is an implementation detail; it's not like these use any more memory or other resources than would a single daemon that managed multiple repositories.
Comment by joeyh.name Thu Sep 20 12:21:11 2012

joey, you rock. I just want to push on that point - it doesn't seem like there's that many tools that do what git-annex is trying to do out there, and you seem to be doing an incredible job at doing it, so this is great, keep going!

i was wondering - i am glad to see the progress, but it is unclear to me where you actually are in the roadmap. are things going according to plan? are we at month 3? 4? or 1-4? :) just little updates on that roadmap section above would be quite useful!

thanks again!

Comment by anarcat [id.koumbit.net] Fri Sep 21 00:25:58 2012

We're on month 4 of work, and most of months 1-3 is done well enough for a first pass. Very little of what's listed in month 4 has happened yet, due to my being maybe 2 weeks behind schedule, but bits of cloud are being planned.

I've made a small adjustment, I think it'll make sense to spend a month on user-driven features before getting into Android.

Comment by joeyh.name Fri Sep 21 01:25:53 2012
Month 3 was all about easy setup, so I kind of expected to download a deb package and just install it, not to download a whole bunch of haskell libraries. Is there a chance that you will release some packages?
Comment by gdr-go2 Thu Sep 27 05:44:14 2012
@gdr A package with the assistant is available in Debian unstable.
Comment by joeyh.name Thu Sep 27 14:44:11 2012
Comments on this page are closed.