Sunday, December 12, 2010

Chrome OS - Saving items to the Download directory

For those of you lucky enough to be part of the cr-48 pilot program, you may have run into an issue with figuring out how to save items from a cloud-app to your Downloads directory. I ran into this problem when trying to email a friend via gmail something I'd created in Aviary. If you're not familiar with the Chrome OS filesystem or filesystems in general, it's easy to get confused.

The Problem: Attempting to attach a file to an email in Gmail/Apps Email via Chrome OS, Gmail only allows the user the option to attach files from the "Downloads" directory. Unless you've save a file in this directory, you cannot send it as an attachment in Gmail on your Chrome OS enabled device.

The Reason: Application developers who have created browser/cloud based applications have done so assuming users would be using their apps on traditional operating systems where the user has full access to the filesystem. For this reason, when prompting the user to save something, it brings up a file browser that dumps users into some "default" file path. In the case of Aviary, it dumps the user into /. In an effort to make things "easier" for users, Google has decided that if users are going to send files to people, they will either exist in the cloud (and have the option of being sent to users from the cloud based app) or the user will have downloaded the files to the only place native ChromeOS apps have access to, the "downloads" directory. Now to be fair, some of this is speculation on my part, so feel free to weigh-in with your own opinions (even though they're wrong!). And to be fair to Aviary, they allow everything you produce in their apps to be shared via public urls.

The Solution: When prompted with a save file dialog or a browse dialog, navigate to - /home/chronos/user/Downloads/ - and save your files there. From this spot, users will be able to access files via the "Downloads" shortcut (control+o) or from within Gmail when attempting to attach files.