Google Doc Mount

I was bored and made this video and this gtk gui for mounting google docs as a folder on your computer.

Anyway, please watch my video, mute the sound it’s nothing but static.

View Video on Blip

[1] PPA: ppa:doctormo/ppa
[2] Package: gdocs-mount-gtk

Now be warned, if you try this, remember that it’s not a supported piece of software, bugs aren’t likely to be fixed (unless you fix them of course) the code is available and it should work on Lucid. It won’t be ported to any other versions (at least by me) but it should be easy to recompile everything for other versions anyway.

I will answer questions here or by email. Your thoughts?

Tags: , , , , , , ,

55 Responses to “Google Doc Mount”

  1. Azwar says:

    Hi,

    You really did a good thing. Now I have more cloud space integrated to my ubuntu desktop.

    But I’m just wondering, if I put some file in that google folder (nautilus) is it sync together with the my google docs.

  2. doctormo says:

    It should be, but I haven’t tested it.

  3. mariuss says:

    This is really cool. Looking forward to see the gvfs version, do you have a link for that?

    One comment with regards to authentication. From what I could see you are prompted for your Google username and password. I assume that these get saved locally, ideally to the keyring, maybe to a plain text config file.

    A much safer solution is to use OAuth. Only a token is issued to the application and this token has limited access, only to docs. You, as the end user, can track all the tokens that have been issued for you and revoke them if you wish. Much, much better than handing out your main credentials.

  4. John says:

    I copied an odt file into the Nautilus mount – and it copied into my GDocs account just fine.
    This is great! Thanks.

  5. Bruno Girin says:

    Great proof of concept!

  6. doctormo says:

    marluss: The username/password don’t get saved at all, you have to type it in each time.

    I don’t like OAuth, it’s not secure enough. It’s a lovely idea that damaged by the fact that the system assumes the desktop is unsecured and that the server is secure. It’s totally the wrong way round IMO. I also dislike the requirement to launch a browser, bleh!

    Keys I don’t mind though.

  7. jonny says:

    Nice, thanks

  8. [...] you’ve ever needed a way to edit your Google Docs files from your Ubuntu Linux desktop, DoctorMo’s Google Doc Mount is just for you. Once installed, this nifty piece of software will do just that – mount your [...]

  9. [...] Google Doc Mount [via #tips] Tagged:documentsgoogle docslinuxonline storagestorageubuntu [...]

  10. sam says:

    Thanks martin! – this is more than a proof of concept, this is genius.

  11. Ross says:

    Brilliant. Many thanks dude

  12. [...] Pues ahora, desde Ubuntu podremos acceder a nuestros documentos de Google Docs, para visualizar y editar de manera local dichos archivos. Ya había habido un intento de soportar ese tipo de sincronización como producto de un “Google Summer of Code”, pero su desarrollo había sido abandonado desde entonces. Martin Owens, un conocido blogger y miembro de Ubuntu, nos ofrece una nueva versión. [...]

  13. Jef Spaleta says:

    so… fyi.

    Last summer for GSoC there was a project to actually implement this as a gnome gvfs backend making use of libgdata and patch nautilus to understand the synamtics of the new gvfs backend.

    It seems to be lingering in gnome bugzilla and just needs to be championed.

    http://live.gnome.org/thiblahute/Gsoc2009

    What you have going there is a nice hack. but someone needs to finish off the work to expose this via gvfs. You want to be that person?

  14. doctormo says:

    Jef: I’m absolutely aware of the GSoC project, I had a look through it and tried to get it to work. In fact half of my day of making this hack was working with that project, working with gvfs and nautilus code. I really was glad to see the back of that code, it’s so badly thought out that I’m surprised at the level of basic code design patterns that have been ignored. I suspect a raw C programmer was involved. I mentioned in my video that there was a better way to do it and that this was a hack.

    I am not that person to do this, but perhaps the video and the hack will prompt someone else to.

  15. Owen says:

    Super work, thanks for the effort

  16. mariuss says:

    The fact that the username and password are not saved helps a bit, but still problematic:
    - user is bugged every time, if this ends up being widely used I am sure credentials will be saved
    - with username and password the application has access to everything, not only docs, I have to trust that the app will not touch my email, contacts, calendar, etc

    OAuth is not secure? Can you explain.

    Yes, the browser popup is annoying, but at the same time has huge benefits:
    - user most likely has an active session, so no need to type username and password, just click the Approve button
    - on some site users may not authenticate with username and password (maybe they need second factor, or federation with another site), OAuth and browser makes you future proof

  17. doctormo says:

    Hey Mariuss,

    For me OAuth’s requirement on the browser is a deal breaker. If it can’t authenticate on the desktop then I don’t think it’s secure. A web browser is fundermentally displaying and running untrusted code and formatting. At least the app will have had some vetting and peer review before hand.

    Until the OAuth guys figure this problem out and stop trying to make the desktop into a browser window, then I’ll stop my apps asking for usernames and passwords.

  18. cg0191 says:

    Interesting & thx 4 showing.
    I tried it & found
    * its quite slow to traverse nested folders
    * Only some files can be opened eg double clicking a pdf just throws an error message. Doing same on an .odt opens in Open Office just fine.
    * Copy/moving files from GDocs to the desktop just throws an error message.

    Not practical to use this but an interesting starting point for some one to develop into a truly useful software.

    Meanwhile its back to OpenOffice + DropBpx for me.

    Cheers

  19. josh grant says:

    very good start cant wait to see this progress!

  20. Thoth says:

    I had problems trying to install the PPA. I tried to add PPA and it was successful and accepted the rsa key. I did an apt-get update and a sudo apt-get install gdocs-mount-gtk but there wasn’t such a package. The deb files have lots of dependency problems too and would link to some other deb files. I don’t want to go around looking for and installing the files. What apt-get install commands should I use ? How should I resolve this problem ?

  21. doctormo says:

    Thoth: are you using Ubuntu Lucid? You’d get errors with Karmic, Maveric or any other version.

    Otherwise, I’m not the person to ask, try #ubuntu on irc.

  22. silvio1964 says:

    Si tratta di un hack che permette di visualizzare in una cartella locale i file che abbiamo su “Google-Docs”.
    La cartella remota che andiamo a montare utilizza “Fuse”, e ci permette di trasferire documenti direttamente dal Desktop. http://ubuntubond.blogspot.com/2010/07/google-doc-mount.html

  23. mariuss says:

    Regarding OAuth…

    Try to look at the whole problem from the point of view of the end user.

    I install an application that I download from a blog post, when it starts it asks my Google username and password. It is asking a lot. Can I really trust that this app does what it says it does? Is it going to save these credentials? Where?

    I the applications starts a browser and sends me to Google to give permission then most of these problems go away. I never hand out credentials to an unknown app, I give limited permissions for exactly what the app needs, I can track and revoke these permissions later on. In most cases I don’t even have to type in a username and password in the browser because I already have an active session with Google.

    On top of all this:
    - if I use a password manager and random unique passwords for each site then with a browser everything just works, if I have to give credentials to some other app then it is a pain
    - if I happen to use two factor authentication then things again just work, the app does not need to implement all kinds of two factor schemes
    - if I use federation, I login to Google from a 3rd party, so basically I have no password stored at Google, things again just work, a desktop app cannot handle this case at all

    Leaving all this aside, why is it more secure for an app to grab my credentials and then use them with a web service than me going with a browser to Google and handing back to the app an access token? What exactly can go wrong here? In both cases ultimately it is some Google server checking the credentials. If the browser is compromised then all is lost anyhow.

    You said you are OK with keys. Well, that’s what OAuth is all about. Your app gets a key (access token) that can be used instead of username and password. If you don’t like the idea of starting a browser, think of that as just a convenience for the user. You can print out a URL, ask the user to copy into browser and at the end copy a verification code back to your app. The URL you are printing out is nothing but the authorization page with some parameters that say who the application is and what permissions it needs.

    OAuth 2 is coming out pretty soon and it is much simpler to use than OAuth 1, no need to deal with signatures but you must use SSL.

    We can continue this discussion offline if you prefer, just send me an email. I really think that OAuth is a perfect fit for applications like these and if I am wrong then I definitely want to be convinced.

    Cheers

  24. [...] información: DoctorMO Tags: carpetas, gnome, Google Docs Mount, Google-Docs, sincronizar, [...]

  25. Drak says:

    how I unmount??

  26. doctormo says:

    Drak: To unmount you go to the command line and type in `gumount ~/.local/gdocs/*`

    Sorry there ain’t an easier way to do it.

  27. [...] Windows相信不少人有Google帐号。Google的服务的确很不错,比如Google Docs。Docs允许你创建并共享文档。由于大多数人的电脑里都装了office而且不是谷粉,大概会有很少的人用Docs直接创建文档,更多的是用它来作为一个云端来储存文件资料。而著名的云端软件dropbox的网络文件夹采用的是本地文件夹的形式,操作起来很方便,也不用打开额外的浏览器。那么有没有办法使Google Docs映射成本地文件夹呢?显然是有的。Cloud Desktop是Gladinet推出的针对这的问题的解决方案(关于这个公司coasis并不了解,纯粹只是下载软件是瞥了一眼)。这个软件可以把Google Docs,Google Picasa,Windows Live Skydrive以至ftp空间映射成本地文件夹,在电脑里常驻一个云端,备份或共享文件都变得很容易。需要注意的是这款软件有两个版本,一个为免费,而收费版提供的服务更多,比如大文件自动分割(skydrive对单个文件大小有限制)等。还有一点是映射不同的空间是通过不同的插件实现的,软件会自动下载,不过映射时会失去响应一下。软件为英文,它的许多功能我都还没有摸透,大家自己摸索吧。Ubuntu用ubuntu的同学就没有Windows同学幸运了,我们只能映射Google Docs,而且效果不是十分理想……感谢外国网友DoctorMo,制作了一个有GTK GUI的小程序来本地映射docs(之前有个没有用户界面的,这对我们这些一般用户来说是个噩梦)。安装这个小工具很简单,只需要在终端中输入并运行一下代码:$ sudo add-apt-get-repository ppa:dotormo/ppa$ sudo apt-get update$ sudo apt-get install gdocs-mount-gtk接下来只要在应用程序里运行。键入google账户密码就可以了。之所以说这个方法的效果不是很好,是因为不能手动卸载挂载上去的docs文件夹,而且在我的使用过程中会出现失去连接的情况,docs里的图片也无法同步过来,希望只是个例。不过无论怎样至少有了个方法。这是DoctorMo自己对软件的介绍,看视频的注意mute,不然只有嘈杂的电音。via lifehaker(ubuntu版,链接里还有Windows版) google docs, skydrive, ubuntu, windows, 云, 软件 [...]

  28. Montar y acceder a Google Docs desde Nautilus…

    Existe una forma rápida y sencilla de acceder a nuestros documentos en Google Docs a través del navegador de archivos Nautilus, gracias a Google Doc Mount, que permite montar en Nautilus la carpeta donde están nuestros archivos de Google Docs como si d…

  29. Jason says:

    Hi. Great video!!!!!!! I downloaded it, its fantastic! I’ve been trying to find a screen recorder for Ubuntu and I could never find one. What did you use to record that? Software?

  30. Grant says:

    Thanks Martin, this is awesome!

  31. Matti says:

    An interesting idea, but it still has very limited use. Docs created via google fail to open, and once docs have been uploaded they again fail to open. The only thing that works great is drag’n drop uploading of docs.

    ps. My nautilus just crashed :)

  32. Luis says:

    Falhou ao buscar http://ppa.launchpad.net/c-korn/vlc/ubuntu/dists/lucid/main/binary-amd64/Packages.gz 404 Not Found
    Alguns arquivos de índice falharam para baixar, eles foram ignorados ou os antigos foram usados no lugar.

  33. doctormo says:

    Matti: Yes I’m aware of the issues, this functionality needs to be done correctly. But that needs money eh to pay for the programming.

  34. doctormo says:

    You want to use GtkRecordMyDesktop.

  35. mebitek says:

    Hi man, ur work seems really nice ‘n’ cool but do not work for me…

    when I put my credentials I get this error:

    TypeError: destroy() takes exactly 1 argument (2 given)

    how I can solve that?
    thx a lot

  36. Mike says:

    Excellent add on for Nautilus :D but I can’t see the documents shared by others.. Or maybe I’m doing something wrong :(

  37. Anthony says:

    Hi, thanks for your time!!
    It is working fine. The only problem is that the subfolders are appearing as “empty” and i cannot see their contents.

    Thank you

  38. [...] 这是DoctorMo自己对软件的介绍,看视频的注意mute,不然只有嘈杂的电音。 [...]

  39. skrat says:

    You definitely don’t need a browser to use oauth, whatever HTTP client lib + oauth, will do. I have to agree with your opinion on flawed concept assuming trusted server, but it works both ways. You can switch consumer/provider if you have control over server. The only issue is that google is provider in your case, and if you use google docs, you have to assume that it is a trusted server.

  40. Added the repository, refreshed with apt-get update, but
    “E: Unable to locate package gdocs-mount-gtk”
    Did I miss something? Running on Ubuntu 10.10

  41. doctormo says:

    Stephan – I don’t think the experiment will run on 10.10

  42. vmonkey says:

    It runs also on Natty (Alpha, 11.04), so it should run on Maverick Meerkat too. The thing is you have to edit sources and under doctormo’s ppa change the distribution to Lucid.

  43. Stephan:
    “Added the repository, refreshed with apt-get update, but
    “E: Unable to locate package gdocs-mount-gtk””

    Thank you!

  44. Lucas says:

    Does it works on 10.10?
    Thanks!

  45. doctormo says:

    It works, but you have to install the packages available.

  46. Lucas says:

    How can I do that? I was reading about it, but I didn’t found anything. Could U send me a HowTo o something like this?
    Thanks a lot!

  47. Andrey says:

    For 10.10 try this:
    1. sudo gedit /etc/apt/sources.list.d/doctormo-ppa-maverick.list
    2. replace “maverick” with “lucid” (without “”); save changes
    3. sudo apt-get update
    3. sudo apt-get install gdocs-mount-gtk

  48. zyh 94946 says:

    It works

  49. aproposnix says:

    Is this still being maintained? Doesn’t seem to be available in Ubuntu 11.04.