The people at clevercactus
have been busy the last few months and have just recently let the public get a peek at what they have been working on. A beta version of clevercactus share
(ccshare) has been announced on their website
with an enticing login box and a single screenshot-filled teaser page -- but no way to register. During the initial testing period, access to use the application is by invitation only.
I'm good friends with a founder of clevercactus and so was able to acquire a coveted invitation. I've since played around with it a bit and thought I'd share my initial findings. The following comments were based on version 1.0 beta 9 of clevercactus share
is essentially a P2P
file sharing application where you only share with your Instant Messaging
(IM) buddies rather than the whole Internet. You have control over which files are visible and which friends can see and download each file. It has a web-component where you login to clevercactus.com to add and remove people from your contact list, and a desktop-component where the actual sharing, downloading and uploading takes place.
, if you had a large selection of files that you wanted to make accessible to a person or group of people, it involved running an FTP server
on your local computer, a daunting task for most people, or transferring all of your files to a website with an FTP client
or (horrors) one at a time through a web-upload interface. Email is another alternative, but ISPs
often puts limits on the size and number of attachments one can send and receive. Also, email forces the recipients to accept whatever is sent to them. They cannot choose which files to download or when they want to download them. Yet another alternative is Instant Messaging clients like MSN Messenger
and Yahoo Messenger
. IM seems to be the most approachable solution so far but still requires synchronized interaction from both parties for each file transferred and from my experience has a clunky interface and is prone to problems with aborted downloads when transferring large files.
attempts to combine the easy setup of an IM client with the powerful file sharing of an FTP server and have it all work over a P2P network of friends that you control.
When I first received my invite, I clicked the link, created my account and then got dropped on the main ccshare web
page. I'll admit I didn't read much of the intro text and so was somewhat confused as to what I was expected to do next.
share web main page
I scanned the navigation on the left a few times looking for a download button without success before realizing I needed to click the 'launch' link under the 'share desktop' heading. I'm now aware that the web-component of ccshare
is called 'share web', and the downloaded component is called 'share desktop', but I overlooked this distinction since these both read like actions rather than proper names. It is possible my own expectations and knowledge around file transfers, sharing, P2P and web applications prevented me from immediately understanding ccshare's
novel naming, but I have a hunch that others will be confused by this as well.
After clicking the 'launch' link, I am taken to a page describing what to expect during the launch process. Displayed prominently at the top is a 'Get Java' button apparently informing me that my installed version of Java is not recent enough. I click through to the Java website, find the appropriate link, jump through some installation hoops, thankfully do *not* have to restart either my browser or my computer, and then return to share web
. A screen refresh now presents a 'Launch clevercactus share desktop' button in place of the 'Get Java' button. I click it.
makes use of Java Web Start
, of which, I'll admit, I don't fully understand the implications. It seems to auto-update itself and download new components as it sees fit. Upon first launch it proceeds to automatically download a handful of files then prompt me with a dialog box requesting unrestricted access to my local machine and network. On the initial launch page it had prepared me for such a scary dialog box with a screenshot and so I was ready for it and let it proceed.
then presented itself and asked for same the email address and password I used to login to the website. A small hangup presented itself on first run when the email/password dialog box popped up along with a Java Web Start 'Desktop Integration' request dialog box. They fought for control and Java Web Start won visual rights, but the login box won interaction rights. A minor quirk. I brought the login box to the foreground, typed in my email and password, and watched it verify my information over the Internet with the clevercactus server. I was apparently good to go and got my first glimpse of the share desktop
share desktop main screen
If you've used iTunes you will likely be comfortable with the share desktop
interface. It uses a very similar view-selection interface using three selection panes and a results pane. In iTunes it is Genre/Artist/Album and in share desktop
it is Group/People/Show. It proves to be a fairly effective way of slicing and dicing a larger set of data based on a few different parameters.
Although already ranted on at length in this review by Russell Beattie
, I want to comment briefly on Swing
and its usage to construct the share desktop
interface. Based on a my own limited Swing-programming experiences, I am definitely impressed with what clevercactus
has managed to tease out of the API. That being said, I can't help notice that the UI still has a distinctive Swing clunky feel: slow refreshes that flash dark gray rectangles, minor alignment issues that remind me of LayoutManager-hell. I don't want to dwell on this, but Swing definitely holds an interface back from blending seamlessly into the rest of the operating system.
example of delayed refresh showing a gray box
Configuring clevercactus share
to share a folder with a contact is done by selecting 'People & Files' from the list on the left, then selecting 'All Groups', then right-clicking on the name of the person you want to share with and selecting 'Share folder with contact'. A standard file selection dialog is opened, you select the folder to share, click 'OK' and you're done. This will share all files and folders contained within that folder with that contact. If you want to share at the granularity of individual files it works a little differently. Instead of choosing a folder you select the desired files to share, but instead of sharing them, it effectively queues them for sending the next time the contact connects to the share
To view folders a contact has made available to you, right-click on the contact and select 'View folders shared by this contact'. You are then presented with a list of the folders and files available for download from that contact. Select the file, click the 'request file' button, and it gets added to the queue of files to be transferred.
The application had done a good job of allowing the creation of per-folder access control lists with a fairly intuitive point and click interface. They held back on many of the more traditional (and obscure) FTP access control features and so avoided the need for a more complex interface
- The interface is simple and fairly intuitive while still packing in many nice features like: chat, push and pull file sharing, per-folder access control lists, and an event log documenting relevant activity.
- Nice re-use of the iTunes 3-pane selection UI.
- Finally a suitable application to fill the long-empty niche of simple asynchronous file transfers between friends.
- Guilt free sharing of music. Or perhaps I should say risk-free -- unless the RIAA is on your buddy list.
- Application auto-updates at load time to ensure you have the latest and greatest code.
- I think the action-oriented naming of share web and share desktop is confusing and makes their use in a sentence hard to parse.
- I'm sure there are strong reasons for the separation of share web and share desktop, but I really don't like how I need to change context to a website to add a new contact, then switch back to the desktop app and have it 'synchronize with share web'. Options from a menu that popup a website in a browser is not what I call integration.
- share web interface doesn't make it obvious enough how to approve pending contact requests or how to launch share desktop. Perhaps integrating it into the main landing page (or even better, into share desktop) as a prominent 'todo' item.
- Swing-induced-flickering-UI-refreshes. Whether actually the case or not, this just makes the UI seem unfinished and fragile.
- Irritating that I need to have yet-another-IM-account. I wonder how long until Trillian supports it?
- Every single time I minimize the window it beeps at me letting me know it is still running in the system tray. A 'Never show me this again' checkbox would be grand.
- Image Thumbnails :: A great use of clevercactus share would be to make your digital photos available to friends and family. Without thumbnails though, the process of randomly downloading images and viewing them becomes tedious and unsatisfying.
- Music Samples :: It would be awesome if you could quickly listen to a piece of a music file before committing to downloading the whole thing. A music sample interface like Apple's iTunes would be ideal.
- Per-Contact Stats :: I think it would be very useful in the main 'People & Files' screen if you could get per-contact stats like the number of files shared and the quantity of bytes. Having to right-click to see what they've got will get irritating.
- System-Tray Stats :: Nice to see current number of uploads / downloads as well as speeds in the system tray icon tooltip.
- Native File View :: The 'folders shared by this contact' view should closer resemble an actual native folder view.
Although still in beta, the application is already very usable and feature rich. It adequately fills the role of an asynchronous private-network file-sharing tool, and does so in a nice clean interface. Although the current division of share web
and share desktop
seems arbitrary, such a division does leave the clevercactus team a lot of flexibility to incorporate the online-community features like that of Orkut
. I definitely see ccshare
as a useful addition to my installed applications, and perhaps when it moves out of beta it will be promoted to my
menu to be loaded at computer bootup time. I look forward to watching clevercactus share