News for hackers. Stuff that matters.
Re:Dropbox Project Infinite by jorangreef on Tuesday April 26, 2016 @08:13AM (#11571147)
How is this implemented on Windows vs OS X?
Re:Dropbox Project Infinite by _razvan on Tuesday April 26, 2016 @09:52AM (#11571813)
From a first look on Windows, this is implemented with NTFS sparse files [1] and a file system minifilter. The sparse files act as placeholders so that you can browse your entire Dropbox structure. When you access a file, the minifilter sees that and starts fetching the data from Dropbox servers in the background. You can think of it as HSM [2]

[1] https://msdn.microsoft.com/en-us/library/windows/desktop/aa3...

[2] https://en.wikipedia.org/wiki/Hierarchical_storage_managemen...

Re:Dropbox Project Infinite by gkya on Tuesday April 26, 2016 @08:33AM (#11571270)
My first guess is decoupled drivers with an abstraction that the actual dropbox client service uses. One driver for windows, one for mac. Though I don't know if you can do user mode filesystems on those, but there is this: https://dokan-dev.github.io/ Or else they may have used some fs event notification library to intercept access to files, but I think that would be harder (impossible? IDK win32/mac) to do than a filesystem.
Re:Dropbox Project Infinite by dkopi on Tuesday April 26, 2016 @08:31AM (#11571257)
It can't. This is the type of features that have to be developed for each OS separately.
Re:Dropbox Project Infinite by jorangreef on Tuesday April 26, 2016 @08:35AM (#11571285)
Yes, that's what's I meant, how would you develop it on Windows vs OS X etc? What options are available on those platforms?
Re:Dropbox Project Infinite by dkopi on Tuesday April 26, 2016 @08:54AM (#11571388)
I don't know how dropbox has actually implemented this, and I'm not sure about OSX, But on windows you might use a kernel file system filter driver or a shell namespace extension: https://msdn.microsoft.com/en-us/library/windows/desktop/cc1...

This looks like an open source project that provides something similar for google drive: https://github.com/google/google-drive-shell-extension

On linux this could probably be even easier, just mounting a directory to a remote NFS server.

Re:Dropbox Project Infinite by hemancuso on Tuesday April 26, 2016 @09:14AM (#11571532)
If you look in the Dropbox install the driver is already being distributed on Mac and Windows. It's a filter driver.