Hacker News new | comments | show | ask | jobs | submit login
Show HN: Textile – Return Facebook photo exports back to nicely-named galleries (textile.photos)
272 points by andrewxhill 3 months ago | hide | past | web | favorite | 77 comments



Things like this are what might actually turn the trending #deletefacebook statements into actions. Maybe.

While it's nice that 'alternative Facebooks' are gaining visibility, those I don't think will really get people out. Simple tools on the other hand, to give people their data in a usable format, will.

Next, perhaps a nice 'export registered groups with Admin and user list,' or 'list of sites I've used Facebook login for,' or, 'export Facebook pack: Facebook, Instagram and WhatsApp...


Indeed, but for this kind of thing to make a serious dent in Facebook, it would need to include a photo hosting and sharing service. Which, unfortunately, cost money to hold the data, so you either need to charge for hosting, or collect revenue through ads or selling data (self-hosting would be nice, but difficult to get your grandma to do it)

But, maybe even a simple photo sharing service _that lets you share those photos back to facebook users_ might be the first crack in the dam wall


While it is going to cost money of course, this is exactly what we are building into our product. But instead of using centralized servers that know your private keys, we are building it on decentralized hosting (IPFS) and we never know your private keys. Take a look, https://www.textile.photos/


That's pretty cool. Can I suggest though, that sharing easily on other platforms will be important (at least as a stepping stone)? So that might involve building a facebook app that shows shared photos as well as the default one. Even though this might seem counter to #deletefacebook, I think you need to let people take small steps to taking their data back.


Totally, I'm into that. One of the big motivators here is how painful it is currently to move _your_ photos (or any personal data) across services. We want to build an open system where you control where your data goes and how. It seems like a great idea to have outbound integration like that for sure.


I thought IPFS required someone to pin/host the content in order for it to stay alive. So if it's private how many people are likely to host it?

Or am I missing a detail?


Until filecoin is live we are spinning up ifps nodes to ensure your content is available. Alternatively, we are building both a mobile and desktop client and you'll be able to just choose to have your desktop automatically pin your content. Finally we provide you a private wallet that will contain your personal hash list, making it so you could move your data to other services or tools however you like.


I wonder if something useful here is a service like what some NASes (Synology) provide, where you 'self-host' on your PC/NAS, but also replicate to someone you know's PC/NAS. Basically, install the app on both PCs, swap keys (or authentication details) and start synching.

Cloud backup without needing cloud and it would be bi-directional so you get off-site redundancy for your data/photos. Further leveraging the SAN capability is that you could share the photos online by providing public URL's. Maybe too difficult to manage for Grandma, but if either end can share (with only authorisation provided by the other party) it might work?


This is in line with what we are building right now at https://www.textile.photos/. See andrewxhill's response above re: mobile and desktop apps that automagically sync with one another. Getting grandma on board is always difficult, but with super simple (and super secure) inter-device linking, we're hoping to lower that barrier to entry big time!


> alternative Facebooks

I signed up for Mastodon a few minutes ago and... it's not Facebook. It's Twitter. My mother of 80 isn't interested in sending Tweets or Toots. Marketing and recommending these things correctly might be a good first step.


And speaking of marketing... Toot? Seriously?


"Watch this space" for some of those other tools ;)


heck yeah! thanks for the comment. we're down to do nice exports of some of the other data types. we'll look into it for sure.


Always felt a set of “content viewers” for Dropbox might also undo Facebook and “social media”

Something for 1:1 or 1:ppl-I-trust type sharing.

Couldn’t reason around a way to share comments such that they couldn’t be mucked with or adding a bunch of extra files to the Dropbox. Maybe an encrypted Sqllite file that each client signs on write so if it’s tampered with you’d know?

Keybase and their builtin git and filesystem features might be useful for that too

But Keybase is not as adopted as Dropbox be.

Personally I find little value from social media that enables connecting everyone. And I don’t think I’m alone — last Xmas, got to talking to my nieces who are leaving home for college. They have zero interest or trust in Google and Facebook

Twitter is useful for headline and current events updates but that could just as easily be RSS. Can’t IPO based on an open standard, I guess. Not enough sizzle


This is an open-source project, in case you don't feel like dropping your zip file in to your browser (even though it does run _in_ your browser):

https://github.com/textileio/textile-facebook


Keep in mind that, just because it's open source, and possibly hosted on github pages doesn't mean that the hosted copy is the same as the open-source. Referring to the IOTA seed generator hack that happened earlier this year. (https://thatoddmailbox.github.io/2018/01/28/iotaseed.html) (not my site).


Yup, take a look at the page source to be as sure as you can :)


We made sure it wasn't uglyfied or minified, so folks who want can see what's up


For those wanting to run this locally:

git clone https://github.com/textileio/textile-facebook

cd textile-facebook/

python -m http.server # Python 3.x, or

python -m SimpleHTTPServer # Python 2.x


Just to clarify: the python bit is to run a local webserver. You do not need python to run this project. If you're on the node/npm bandwagon, you may find it easier to use this:

https://www.npmjs.com/package/http-server


Yes good point, I should have been more clear! Thanks for the clarification :)


Alternative if you feel extra paranoid:

- Load the page

- Disconnect from the internet

- Drop your zip

- Get your files

- Clear all page info


Yup this will work. You can also check out the actual JS code to make sure we're not doing anything sneaky with your data: https://developer.mozilla.org/en-US/docs/Learn/Common_questi...


That was the first thing I looked for. Cool that it runs in browser instead of uploading all of my data to their server.


If you're into that, check out our core project, https://www.textile.photos/. The idea is to give you control of all your data (starting with photos) doing backup not on our servers but on a decentralized service called IPFS, so you can maintain control and ownership of your data, always.


Please also check your waitlist signup form processing -- I've tried it multiple times, but haven't received an email yet.

(Yes, I've checked I've typed it correctly, and it's not in my junk folder.)


Were you able to register timb07? If not, let me know and we'll tweak things on our end.


I just tried again, but still no email. Don't your metrics on sign-up rate show a problem? Or is it just isolated to me somehow?


That link doesn't work for me, but this one does https://www.textile.photos/ :)


thanks! updated in comment too


Oh! Glad you commented about that, happy you found it though. Thanks.


If a social network wants to take over for Facebook, an “import your data from your Facebook export” tool would be a killer growth hack.

Also, there’s really no reason Facebook couldn’t organize photos this already. I feel like they make that data dump as obfuscated as possible to discourage you from doing anything useful with it.


Absolutely. One of the big issues with GDPR is going to be how to practically use the right to port your data. Export functionality is one thing. It's the import bit that's often not there or isn't practical. Some standards would help.


I was expecting someone to mention GPDR, but as an obstacle more than a benefit. It seems importing your Facebook data, which includes messages and connections with other people, into a new service, may run afoul of GPDR. That’s not even to mention the legal hellstorm Facebook would rain down on any startup using such a tool successfully.

It’s interesring that GPDR forces Facebook to allow export, but may cause problems with importing that data elsewhere. The hand giveth, the hand taketh away.


I actually thought that they went much further then they were required with the exports. I know of services that dump RAW JSON archives.


About six years ago I wrote about the perils of using Facebook as your primary photo store (among other things) - http://greenash.net.au/thoughts/2011/10/dont-trust-facebook-... . Sad to see that so few people have followed my advice, that a tool such as this is necessary.


Name conflict warning: There is already a software project named Textile. Here's the homepage: https://txstyle.org/


Also github's textile: https://github.com/textile


After hearing people talk about finding very personal things in their archive like audio recordings, I tried downloading mine. I was almost disappointed to find that it essentially just outputted my public facebook profile. Nothing remotely unusual about the data, but i'm sure there's much more that they wont admit to or hand over.


I wondered about that.

Facebook know what I visit a site with an embedded tracker. This isn't in my data dump, but things like "interest in X" are. Do they really use the tracking to influence those scores, then throw away the data?


I'd assume they keep every ping from the tracker but simply class it as "their" data instead of "your" data.


If that were the case, then they are not complying with the existing European rules giving "data subjects" (me) the right to see data about them.

They would be allowed to remove all identifying information from the ping, e.g. retain a date, approximate location and so on, but not an identifier than links to my account.

https://ico.org.uk/for-organisations/guide-to-data-protectio...


Based on my archive and the fact that its the most strategic move, this seems to be the case.


We also put it on ProductHunt in case any of you want to share with others over there, https://www.producthunt.com/posts/facebook-gallery-recovery


Does it fix Facebook's removal of exif/metadata from images?


Oh no! I saw that FB put the metadata into the html but didn't realize they ALSO removed them from the images. I'll look into what's possible!


You can scrape it from the original photo page. I made an extension that does that:

https://github.com/tantalor/fb-photo-meta


There's also https://www.fbexporter.com/, which uses the Facebook API to get the metadata and put it back in the EXIF data, but unfortunately it will only export photos you are tagged in, not all photos you've uploaded.



I made one a few years ago that support EXIF and correct dates

https://github.com/mohsen1/fb-photo-fetch


I hacked together something similar (not CLI) at https://www.fbexporter.com/


This is awesome, it makes me wish I had my Facebook data. I deleted my account without downloading it :/


Bummer. There is a grace period, I forget how many days, where you can undo it before it's gone forever. You could sign back in, undo, export, and then redo. Unless you did it too long ago.


It would be so funny if Textile gathered all the data. So much irony.


Haha, that would be pretty hypocritical of us! Check out the source to be sure we aren't: https://github.com/textileio/textile-facebook, and if you really want to be sure that's what we're deploying, use your browser's dev tools to inspect the code (https://developer.mozilla.org/en-US/docs/Learn/Common_questi...).


Not working for me. The output is the same as the input. Any ideas?


Very odd. If you drag the zip onto your laptop and the drop event listener doesn't pick up on it, your browser would likely just "download" the zip you dropped. Which explains what you see I'm guessing. What I'm not sure about is why the JS doesn't pick up on the drop event and process the file. Do you have any settings that would block JS? What browser are you using?


I tried in latest versions of FF and CH and it does not work (on Windows10). When I drag the ZIP archive to the area it does not do anything. Do all people just try on MAC or why it does not work for me?


Hi forcer, when you drag it over the 'drop zone' does the little zip image/icon disappear?


Ok, this looks like this issue: https://github.com/textileio/textile-facebook/issues/4 We'll try to update this soon!


Fixed on github, should be live soon(ish)


Should have a fix in the latest code on github, should be live soon(ish)


Still not working for me. The drag+drop area shows a "Click to Download" button so it's registering the dropped folder, but when I download it there's nothing different about the folder.


My export from Facebook is 5.5GB - for large zipfiles like mine, the UI doesn't do anything when you drop the file onto the event listener.


Yes this is a known 'issue': https://github.com/textileio/textile-facebook/issues/2. Unfortunately, some browsers don't like large files being dragged-and-dropped like this. The 'solution' for now seems to be to unzip on your computer, remove the messages folder, re-zip, and try again. This should reduce your zip file significantly. Let me know if that helps at all. We're working on a more permanent fix for this in the mean time.


I'm getting all my zip archives with x-zip-compressed MIME type. Any way to convert it to application/zip or make it work with x-zip-compressed?


We just pushed some changes to fix this. If you want quick access, take a look at the code over at: https://github.com/textileio/textile-facebook. Those fixes will go 'live' later. To get it running on your own system right away, you download the zip (click clone or download) and run it locally.


thanks ;)


This is just a small issue (if it is an issue at all) -- maybe do something with the name to distinguish it from Textile the markup language?


you could integrate with people's existing dropbox (i.e. copy the photos into it) and provide a super simple web viewer


cool idea, though for this small project, we're trying to keep everything self-contained... so no data leaks possible...


Does anyone know other offline or online tools that allow you to visualise data better from the FB export?


I am currently doing a CS101 course and was thinking about building exactly that as my final exam. What type of visualization were you imagining to fit your needs? What feature would be the most important of your dream tool to achieve the purpose?


Wow... So people who have issues with how facebook handles privacy should dump their data in some other third party service? And probably some people will because well... "dumb f*s".

Well it might actually be all good intentions (probably just read below is all client side readable code) but if non coders use this service it just means they learned nothing.


> All the data processing happens right in your browser. Your photos will be reorganized without ever being sent off of your device, your data remains yours :)

Don't know how exactly that works, though.


Yes that's right. Also, the code can be inspected here: https://github.com/textileio/textile-facebook. For non-coders, if you are concerned about us using your data (we won't!) you can a) trust us, b) ask someone to check for you, or c) go to the page, turn off your wifi (so you aren't connected to the internet), generate your archive and download, close the page, and then click back on wifi... easy peasy :)


The way it works, is that all the Javascript code runs in your browser, that way, there's need for any data to leave your computer... safe and spy-free!




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: