How image search works at Dropbox
dropbox.tech
dropbox.tech
Any chance Dropbox might want to add more DAMS-like features in the future, so that Dropbox can be used as a central image repository not just for photo originals but public websites, etc.? Kinda like Imgix or Cloudinary? I know our org already uses Dropbox to store asset originals, and it would be lovely to be able to hook in to a powerful API to serve it at different responsive sizes, formats, cropping, etc.
I'm actually not sure about our hiring stance right now, but email me (address in profile) if you're interested and I'll look into it.
Logo: a cloud wrapping a file, or something more creative with the words cloud and wrap
- I'm assuming they have the minimal technical skills to make this trivial and accomodate the rough edges that come with it: no easy "signup" flow but creating an ssh key and putting it on the server, for example. Not that it's much harder though
- I'm assuming they don't care about business viability because it's just for them
- I'm assuming they don't need a lot of features: automatic syncing, a simple ui for listing/downloading/uploading
Dropbox has become bloated and has tons of useless features I and most other HN users probably don't care about and find annoying. But the original core functionality still works really well and is a big quality of life improvement over more hacky personal backup implementations, IMO.
So I agree with the criticisms, but I think it's still a useful service at heart and worth the money. It just - very predictably - got way too big for its britches and tried to expand a useful app into a multi-domain conglomerated platform. Steve Jobs's comment that Dropbox is "a feature, not a product" (to which he might now add "and not a company/ecosystem") was pretty much right, I think. It's still a really good and well-executed feature, though.
That said, would I switch to something that was cheaper and gave me all the same core features with the same level of reliability? Probably.
For reference: https://news.ycombinator.com/item?id=9224
I've been very happy selfhosting Nextcloud (and many others, including Vaultwarden). There are very few hits that even land on the login page, and essentially all of them only probe for /wp-admin or similar paths, then promptly leave me alone once all those probes return 404.
And then there's 2FA if any actually targeted attack ever materializes. Since it's entirely unknown what's inside the Nextcloud instance, there's no clear economic benefit (aka potential benefits are entirely uncertain, the instance might be vanilla). So I'm certain there's very little reason for anyone to actually try hard enough to achieve anything at all. Keep your system updated through the normal means and you're golden.
I'm not asking for much but:
- better caching. Their thumbnails slows up badly trying to go back few years ago. - better organization, search is great but I also like basic ability to visually search and organize content myself. - live photos support...
And bugfixing... I've actually had very bad communication with them after they've broke HEIF copy paste on older iPhones... https://www.talaviram.com/uncategorized/when-did-dropbox-cus...
Dropbox will do wonders if they had a Picasa like client that simply looked into the Dropbox folders and created albums based on folders and sub-folders structure.
It really feels like "your scientists were so preoccupied with whether or not they could, they didn't stop to think if they should" situation.
At some point it's just tiring to be a user that is continuously jerked around. I love tech, but everyday I understand the libre hermit POV more.
I'm stating a fact of this tech forum.
> Users don't even know that they are giving up privacy.
lol, Do you think the users care about privacy on Dropbox. The tech boffins might, but not the average user.
How have you been spied on as a Dropbox user? Can you do a better service than them? What alternative do you suggest that is in the same league as Dropbox?
And I'm stating facts about Dropbox. Users are not told that their data will be looked at by others. Having the keys to do it and actually doing it are two very different things.
Why are you asking all of these questions about the current market? Are you just trying to point out how bad the current situation is? If so, then I agree. That's why I and other users here paying attention are doling out criticism.
OK, but so what?
Again the tech boffins would care about this enough to take action on this 'issue'.
You can always move your files away from Dropbox if you don't like it, I'm sure companies who are collecting information on you (name, email, browser, file_id) are doing this to improve the service that you've signed their TOS with.
> I love tech, but everyday I understand the libre hermit POV more.
Then don't use Dropbox or similar services then, it's that simple. There is always an SFTP/Rsync server waiting for you to upload your files on, or better yet for your usecase, an encrypted USB drive.
Yes, it's possible to do such indexing. They can also start running facial recognition software like Facebook does. What's going to happening next with all the data they collect? Doesn't take a pessimistic coder to know, any layperson should be able to figure this out.
A company builds a new feature, it's useful, and even more they write a detailed article about how they built it. Isn't it fair to appreciate that and discuss the approach?
I get it, there are some issues with Dropbox, etc. but must every article about some company feature have a majority of comments talk about how they liked them better in the past, how they wanna stop using it, how environmentally problematic some of the company products are, and the likes? I think there's also a time and place to discuss those (e.g. on comments for an article about the business practices, or some medium opinion piece), but I'd prefer on submissions like this one we focus on the content at hand, and maybe have a single comment thread only dedicated to tangential issues about the company.
EDIT: TBF, I don't actually see that much unrelated negativity in this comment section.
Yes.
Third Party Doctrine says that anyone who stores information with third parties has no legal expectation of privacy. Technically, law enforcement can request the person's data without the person's consent or even knowledge.
Combine that with most people's phones automatically upload the pictures and videos they take.
Combine those with this analysis and law enforcement can start fishing expeditions with little to no effort.
The only thing standing between individuals and law enforcement having deep access to much of our information is the kindness of the tech companies holding the information. Great.
As a technical user, I get why people are concerned. As someone that's seen this movie before, I tend to think that Dropbox has a better handle on what nontechnical users want than HN does.
Try searching your dropbox for "the day I took a bunch of photos on the subway on the way to work", and you'll see none...
Yet dropbox probably has all the info to answer that search - they can parse the natural language query, they can detect when multiple photos were uploaded on the same day, they can look at location and time tags and see which ones might be 'on the way to work'. They can see which photos might visually look like they were taken on a subway.
How about "Me on dress-silly day". Again, no matches. Or "My broken arm". No matches. But I totally have that image.
Dropbox need to take a step back, and consider that for each query there probably is a correct answer. And they need to track what the user types, and which image they eventually view, as training data to refine their algorithm.
Typically rather than an indexing system, it's best to just do as much precomputation as possible so that a linear scan is fast. That scales up to 1M+ images/user.
Normally the approach taken is to preprocess all the images with a neural net (putting as input the image, metadata, some info from other images in the same location, same day, text from the web looked up from location coordinates, any other input that might answer a users query). Output an embedding vector of say 8192 elements.
Then when the query comes in, put it as input to some big pretrained language model with a fine tuned embedding layer to give another vector.
Then, for each image in the users account (1 million plus), run a tiny neural net to see if an image might be relevant. Such a network might only have a few thousand weights, and may only operate on part of the image and query vector. You'll probably want to use a GPU for this step, but it should work on a CPU too just about.
Take the top scoring few thousand images, and run a bigger comparison net for the final ranking.
You might want an extra input to the comparison net to give result diversity - ie. to try to avoid 50 very similar images all being returned at the top of the rankings.
Then all networks should be end-to-end trained on user behaviour - ie. the image users actually found that answered their query.
The tricky part will be scaling it -- not just for speed, but keeping the index size down. Also, you'll need to already have some version of image search to collect the training data.
[1]: https://ente.io
For that reason, I use https://www.photosync-app.com/ and back up my photo's to my webhost and to B2: both the app and the storage locations are interchangeable in case any of them stops working.
> how big is the risk of them calling it quits
In our specific case, the business is setup such that it is self-sustaining. There's no free plan, so for as long as you are paying for your storage, we'll be profitable.
Outside that, I would say trust snowballs in the long run.
Also, I don't know if size of a company is a metric that should warrant additional trust. The mission could be diluted in a larger organization, and hard-pivots could hurt them lesser.
We can also change the fees for our services (other than those you have already contracted and paid for) at any time if we give you notice.
10.2 make you pay, on demand, default interest on any amount you owe us at 10% per annum calculated on a daily basis, from the date when payment was due until the date when payment is actually made by you. You will also need to pay all expenses and costs (including our full legal costs) in connection with us trying to recover any unpaid amount from you.
In circumstances where we cease providing our services for other reasons, we will, if we consider it appropriate, it is reasonably practicable and we are not prevented by law or likely to incur any liability in doing so, give you 30 days' notice to retrieve your data.
Not sure 10.2 is legal in EU?That said, I now realize that this better applies to a B2B SaaS, where in a defaulter could have consumed a large amount resources, resulting in non-trivial financial damage.
Given the context of ente.io, this is not a situation we have to be worried about, and the clause has now been removed.
Thanks again for pointing this out.
The thing about the recovery fees though only works for B2B in France; so maybe it is going against EU regulations.
I'm not sure I agree with you. I would argue that a 1-2 persons shop actually has a much greater incentive to maintain a profitable small-scale business than a great group. For the former, it may be a comfortable addition to their income; for the latter, it might be an nth project that could turn out to not be profitable enough or be too much of a hassle to keep maintaining – the golden standard example being of course the Google Cemetery (https://gcemetery.co/).
An MMR of a few hundreds bucks is quite nice and worth cherishing for a single person, but it's more hassle than it's worth for a big company.
As opposed to something like Google that constantly shuts their services down?
I tlooks quite a bit more expensive than google photos, but I could probably live with that. What I do want to know is where you are storing the photos, and what precautions you have taken to ensure data is not lost (assuming I still have access to my encryption key)
We're currently using B2[1] in Amsterdam for hot-storage, and Scaleway[2] in Paris for cold-storage.
> precautions
Replication to cold-storage is triggered as soon as a file is uploaded, and it will retry until the file hashes match across both providers.
Our production database is backed up once a day, and has a secondary node to which data is replicated synchronously.
[1]: https://backblaze.com [2]: https://scaleway.com
It's totally possible to implement client side indexing and search. If you have the time/budget to do so, I think you would have a much more compelling product.
Thanks!
If they only use the Top10 categories in their feature vector for the documents, why don't they store these categories as tags on each documented and use standard inverted-index searching and scoring. I know the vector will express how much "beach" a certain image is, but your user-supplied query doesn't have a notion of how "much" beach the user expects, so the output can be a simple list ranked using standard term search mechanisms. What am I missing?
- how do I keep the photos separate from the projects (which also includes images)
- how will my photos go from my familys camera phones to the Dropbox?
- how do i go look at photos scrolling through dec 2018 on my phone for the next 2 min?
To me Google photos and drodpbox are conceptually different - photo albums vs files in Directories, and i can’t wrap my head around how albums could work in Dropbox.
Image libraries have done well, yet I feel music management has gone backwards.
Since there is no cross-user information used, I wonder if perhaps the algorithm was specifically designed for implementation client side...
Assuming you are searching just a single account, there are unlikely to be more than 1 million images in a typical account.
A simple linear scan of all of those feature vectors should be a simple matter of milliseconds.
Encoding both word and image embeddings into the same index then doing ANN on that index might also work. See this example of text-to-image retrieval: https://paperswithcode.com/task/texture-image-retrieval
Maybe someone from Dropbox can add more color to this and explain what other options they considered.
As it stands, I still can't find what I need in Dropbox. And never could. From reading this article I'd think searching for a basic keyword like "dog" or "ship" or "runner" would yield some results from my tens of thousands of photos, yet I get nothing (nothing relevant, at least).
Edit: On second reading, this is only available to Dropbox Pro and Business users. I hope they roll this out to other paying users soon.
Encoding words and images into the same space and doing ANN is kind of what the current system is, if you look at it right. The ANN is framed in terms of similarity rather than distance -- and is approximate because of the sparseness approximation. But the big difference from the papers you linked is what we use as the encodings: not the traditional penultimate layer of a network, but classifier scores for images and projected word vectors for text. This gives us a space with semantically meaningful dimensions, which lets us build the system without a large multimodal training set; our text and image models are independently trained on different datasets.
1. Did you look at CLIP? it provides a common (to images & text) embedding.
2. Do your models need specialized training (vs. open models)?
To be fair, they have a neat feature to subscribe for their new posts by email but somehow RSS is harder?
Even those rare sites that DO support RSS quite often only show the first paragraph or even just the title of the page, which I suppose is an acceptable compromise.
* only provide lead text
* use html with image ads
* use html with an ads-js
https://github.com/RSS-Bridge/rss-bridge https://github.com/feediron/ttrss_plugin-feediron https://git.tt-rss.org/fox/tt-rss
Is there something like that in Nextcloud for instance? I am aware of a basic face recognition app (https://github.com/matiasdelellis/facerecognition)