One of the topics Garrett made sure to bring up at the GNOME London UX Hackfest was how us designers could continue to collaborate after the hackfest was over. This has been a recurring issue, as us designers meet every year or so, at GUADEC, at UX hackfests, or at GNOME Boston Summits (or even other FLOSS events like LinuxTag) and we get some great collaborate work done during the events – but it peters off after we get settled in back home after the events.
On Friday morning Hylke, Garrett, jimmac, and myself had a discussion with the developers in the room to explain the kinds of FLOSS tools we felt we’d need to be able to collaborate on designs more effectively when we’re remote from each other. This broke down into two main sets of needs:
Challenge A: Designer <=> Designer collaboration tools
Jimmac, Garrett, and Hylke have been using DropBox as a method of sharing design work (SVGs, PNGs for icons and UI mockups) for a whlie now. It’s been a quite effective tool for them to use, but as they pointed out, it is not open source and they would prefer to use a FLOSS tool.
Here’s a little bit on how the Dropbox workflow works:
- A designer gets an invite to Dropbox.com from another designer, granting both of them an extra 250MB on top of the standard 2GB allowance.
- The designer signs up for a Dropbox account at Dropbox.com .
- The designer installs the Dropbox client for Linux. It functions as a sort of plug-in to Nautilus – it puts a folder called ‘Dropbox’ in your home directory (you have to option to place it anywhere you like under your home) and it also has a little applet that sits in your notification area – when other folks upload files to a shared folder it lets you know there are updates.
- Say the designer is working on a totally awesome GNOME mockup in Inkscape – if they save it out to one of the folders in their Dropbox folder, anyone subscribed to that folder will instantly get a copy of it! No extra work needed on the designer’s part – no need to upload it, get a link, send out the link, wait for other designers to comment on it – it automatically gives a copy to any subscribed designers and notifies them that it’s available.
- Dropbox lets you view a log of all the changes in your shared folders and who is doing what – so it’s easy to follow along on what your fellow designers are up to, and to strike up a conversation on what another designer is working on. Without this kind of event logging system, it’s hard for designers to know what the other designers are working on which leads to less opportunity to strike up a conversation or give/receive quick design feedback.
- Dropbox also lets you manage who can read/write files in your shared folders.
- Shared folders take away from your 2GB+ limit. You can earn more space in your dropbox by sending invitations and if you join via invitation, but there is an upper bound to the amount of space you can be awarded.
- You do not have to accept invitations. You can reject them, which you might want to do to make sure you still have space left for your projects.
- Dropbox has built-in version control, and (if we understand correctly) the backed-up / previous versions do not deduct from your Dropbox account space usage.
- We’re not sure if, when you unsubscribe from a folder, if you can ever unsubscribe?
- Dropbox doesn’t resolve conflicts. Instead, it makes copies of folders. This gets a little annoying when you have a file system involved that doesn’t understand the difference between UPPERCASE and uppercase. 🙂
- Dropbox is smart in that if you delete all of the contents of a folder you are subscribed to, it does not delete the contents but instead treats your action as an unsubscribe action. So you won’t erase the whole folder for everyone else when it was clear you meant to unsubscribe.
- If you copy a file to a specific folder under your Dropbox folder, you can generate a URL to give to people who do not have Dropbox accounts so you are able to share it with them.
It goes without saying – we would love such a system to be available under a free and open source license! Bastien Nocera and Rob Taylor had a discussion about how this might be achieved in FLOSS and seemed to have some feasible ideas. I’m not sure whether they settled on git or wizbit, or even something else – although those were a couple of possibilities that came up during the discussion, and the codename ‘sparkle-pony’ was mentioned…
Anyhow, such a tool would make it much easier for us designers to collaborate in terms of being aware of what the other designers are working on, easily obtaining source files for mockups, and being able to share our own work without any extra time and effort stacked on top of our usual workflow.
So that’s where our discussion went with regards to designer-designer collaboration.
Challenge B: Designer <=> Developer collaboration tools
We also talked pretty briefly on a potential web application that these mockups/files could automagically (remember, we’re talking ponies here) be posted to it with an inline comment-system for providing mockup feedback. One cool idea – if I send a link to my mockup’s page in IRC, a bot sitting in a GNOME IRC channel will see the link and associate any comments about it automatically with that mockup and post the feedback from the IRC user right into the mockup’s page in the web app! 🙂
Anyone would be able to view these mockup pages in the application, meaning it’s easy to send a link to a developer to get his feedback (which he could provide in the comments field) and and you post revisions to the mockups it would maintain the ‘family tree’ of the mockup so you can go back and refer to previous versions if needed, but it’s also clear to the developer which mockup is the latest.
I had posted a very rough idea of such a webapp to my blog a few days ago, and Robby & Josh from Isotope 11 have been working on a prototype of it.
On top of this, of course, it would be awesome if Canonical open-source the Use-case mapper John Lea presented last Tuesday so then individual mockups could be linked together in a chronological path so you can get a good feel for how the user’s path through the interface would look.
Other ideas that came up:
- Flickr-style ‘notes’ on top of mockups so people can give feedback on specific areas within the mockup image.
- Similar to the flickr-style ‘notes’, allow for areas within the flat mockup image to be drawn out so you can click them to visit the next mockup. (E.g., so I can draw a box over the ‘next’ button in the mockup and make it go to the page for the mockup of the next screen.)
Here are the raw notes I took down from some brainstorming Garrett and I did on the topic throughout the hackfest. Also below find the whiteboard from the designers-ask-for-a-pony session on Friday morning:
- We should share IM usernames – Jabber or AIM
- IRC channel – #gnome-design
- file dumps (dropbox?)
- synching (would be nice nautilus feature, to web space hosted anywhere)
- version-control (could be built-in with client-side git, even if you don’t have access to sersion control server-side)
- sharing / publishing
- sharing work with developers
- share mockups
- talk about mockups
- threaded discussions?
- mailing lists / email == fail, too difficult to keep up with
- chat – too ephemeral
- blogs – too much time/effort to post – don’t end up doing as often as you want. Better if stuff is built-in / automatic so it’s not extra work
- Remote whiteboarding == would be a total win. Coccinella – kind of buggy though
- Need to manage sources – eg SVGs – alongside exported mocks
- notification of what the other designers have been up to
- need a nice on-boarding process for folks less familiar with FLOSS / less-willing to deal with quirks
- shared designer complaint list / shared workarounds. If we back each others’ complaints about our tools up, we’re a louder voice and maybe can have more influence over bug fixes that would support a designer workflow (e.g. we would all support each other’s bugs against say Inkscape if we ran into them as well, and share the workarounds/solutions to get the job donein the meantime.)
- sanity-check my design tool – quick feedback tool – operate based on broadcast – eg. ‘anybody have time to give me a quick sanity check on http://url?’
- maybe an identi.ca / twitter group would help serve this purpose?
- website like pleasecritiqueme.com?
- UI path tracing through mockups (e.g. like Canonical use-case mapping tool)
- Maybe setup a photoblog using zenphoto and/or word press for quick critique mockup feedback?
- Sharing with other FLOSS designers – KDE designers or designers who work on particular apps…
P.S. You can now view all my GNOME UX Hackfest posts at my GNOME UX Hackfest blog category page.
What about Google wave? For all the discussion of how or why it will be used in the future, the one user case everyone agrees on is that it makes a killer app for collaborative endeavours. Don’t some Gnome developers already use Wave anyway, or am I thinking about the developers of another open source project?
We tried, it didn’t scale 😦
http://sourceforge.net/projects/ifolder/ enables you to do most of things Dropbox does. It is FOSS, but Mono (which RH don’t likes) and it is not as usable as Dropbox (which designers don’t like)
But it seems to be still maintained and fairly mature.
Hmm, 4 macbooks and 2 thinkpads.
..isn’t Ubuntu One intended in part for that kind of dropbox stuff you mentioned?
The next person to mention the macbooks is going to be moderated. Please get over it. Most of the macbooks there were running Linux.
Except for that front one… which appears to be running *gasp* OpenSolaris 😉
Hmm, wonder whose that was 😛
Dropbox is realy a great tool. But why not using ifolder¹ ? It’s open source and free, by Novell. I never tested it (you need a server) but it looks like it work just like dropbox.
In your Challenge A scenario, was Ubuntu One considered? I think Ubuntu One covers some of the use cases you were looking for like sharing.
I know it’s not a completely open source (i.e. the server code is Canonical proprietary), but it’s more open than Dropbox to my knowledge. I also don’t know the availability of U1 packages for different distros which would obviously be an issue for you since you’re clearly a Fedora user.
It’s just a suggestion because I saw no mention of it and folks were considering implementing other ideas which seems like some wasted effort to me knowing how much effort Canonical has already invested into making U1 useful for people.
Ubuntu One is very similar to DropBox. Though the client side has been released as free software, the server part keeps as private.
But do you also have the same discount when you invite someone ?
And for people not running linux ( ie os/x, or windows ) ?
And last, even if U1 is using couchdb internally, I do not see anything on the documentation speaking of the various advanced capability that are explained in this article.
Of course, if Canonical had created U1 as free software for the whole stack, maybe more people would have worked on it.
You can find a ppa for ifolder here : https://launchpad.net/~marceloshima/+archive/ppa
Searching the net, ifolder is a stange project : long time living but not so much news. It seems that there were some improvements last year. It seem’s that ifolder offer a p2p service too (on the top of the server one).
Othe problem with ubuntu one : no mac/windows client.
Use Ubuntu One is really great. Coming from Dropbox, I dont miss any features, and I’m fine with server being closed for the time being.
The problem with Ubuntu One though that Dropbox gets around is that it’s not distro-agnostic.
Hmm, I see ubuntu one as a service from Canonical. The code for the client is out there. You can make a rpm for fedora.
Anyway, a free software alternative is, of course, better 🙂
From my humble view, if desginers need this kind of tool, it is sensible ask the GNOME community for a solution. We need that our designers be happy 😉
PS: I wish gnome had a solution for this, a sort-of snowy for files
I don’t think I’m alone in not wanting my files to be hosted by Canonical within a closed system. That the client is open source (if it is) matters little to me – partially closed is still closed. Dropbox is at least a neutral / dis-interested party.
The need for neutrality is why projects like freedesktop.org exist and why some upstreams try to be distro-neutral too, running debian and not fedora or suse or ubuntu – because debian isn’t backed by any single entity.
I’d also suggest iFolder. I tried to get it running on Fedora a couple of years ago. But it seems quite dead or at least developed quietly. A pitty. 🙂
There is nautilus integration, a server and some kind of access-control.
Huge thanks for a great write up, Mo. It would take me a week to write a blog entry of this magnitude. 🙂
We haven’t discussed iFolder much, which is a bit of shame. I haven’t had luck in the past with the simple server and I actually wasn’t aware of the P2P addition. One thing that is missing from ifolder I believe is the useful simple version control, but it sure should have been mentioned.
This semester I’ll be beginning my graduation project and was in the process of choosing an application to hack on. Maybe I could develop some of these ideas into a real web application.
Of course I’d need some help on identifying features and use cases for the app. (I’m a web developer on my daily work, not a designer).
What do you guys think?
That would be awesome! I think Bastien Nocera and Rob Taylor had some ideas on how to implement this – can you email me at mairin at linuxgrrl dot com and I can send you an email intro to them?
Sent an e-mail your way to discuss this further. Glad you got interested. 😉
the way we do it in kde is more simple and works as most oss projects work, designer meets developer and toguether we try to solve any issue propose solutions etc. there is some coordenation of the designer team so there is no overlaping work and everything fits the coerent experience but apart from that its realy simple, but maybe we have way less designers so that makes it simple.
love your blog btw cheers
I can’t help but wonder whether any of these fall into the scope of a summer coding project. Hire a couple bright students (or do Google Summer of Code or otherwise let someone else hire them for you), coders who want to learn how to work with designers, and let them loose – you’ve got your mockups and your design documents, so their target would be clear.
Can’t we use something built on git or another VCS instead of Dropbox? But probably you folks already thought about that 🙂 Its good to see the great work going on.
Though I’m an Ubuntu user, I agree, Ubuntu One is useful only for people *on* Ubuntu and would be a huge -1 for something like this.
Yes, the topic of using git or some other VCS as the back end came up… but people wanted to focus more on the required experience (which, as it happened, was mostly based on their experiences with Dropbox) than the eventual implementation.
Ah, but it would be the way to go I guess 🙂
i think a very basic dropbox replacement (poor man’s dropbox) can be a shared folder with ssh access (fedorapeople.org) and rsync from cron jobs
Anyone working on these pony requests? Start a mailing list or something? I’ve been interested on developing a space to share designer mockups and get the OSS community excited. Let me know!
Frank Karlitschek from KDE works on something in that direction: http://owncloud.org/
Why to use some brain-damaged dropbox or ifolder? WebDAV is standard and everyone can run his own server (so that no privacy concerns)!
I’ve used Unison now quite a bit. I was scared away from it several times, because it’s not easy to see how good it is. It also seems there doesn’t exist any sexy documentation for it, just A and B, nothing saying how good it truly is.
So I have my own unlimited dropbox now. I don’t have easy sharing yet, but all it needs is a whole lot of polish; but the unison syncing client itself is SUPERB.
Combine unison with incron (which triggers a command when you e.g. save a file) plus normal cron, and your files are always synced to the server and between your 3-4 computers.
I don’t have anyone else using unison just now, so no syncing; but I guess it’ll be easy to set up. It also keeps 2 older backup files of all my changed files. In case I mess up a file. You can make that revision history longer of course, but I don’t need it.
What’s missing is a well designed front end.