I am the creator of Social Fixer, a popular RES-like browser extension that customizes Facebook. AMA!
I am Matt Kruse, creator and developer of Social Fixer ( http://SocialFixer.com ), a popular browser extension that customizes Facebook by fixing annoyances and adding new features. (It's like the Reddit Enhancement Suite of Facebook)
This AMA comes at the request of a number of people in this thread and personal mail.
I am open to technical questions about building extensions, or about Facebook's internals and how I make all this work. Personal questions are also allowed, if you wish.
Things that people might be interested in:
- Building extensions for multiple browsers
- Reverse engineering Facebook's code
- Supporting hundreds of thousands of users
- Facebook legal trouble
- "Marketing" an app like this
- Why it's free: Why I Do Not Monetize Social Fixer or: How I Learned to Stop Worrying and Love the Donation
- How I got into this kind of development and what I've done in the past
- What kind of tools I use
- What I think is coming next, or what is possible
- Anything else your crazy minds can dream up
This will NOT be Facebook tech support. Sorry. But feel free to vent, if you wish ;)
I will begin answering around 9am CST.
Well, it's obviously the biggest challenge in the project. Facebook's code is insane. Not just the fact that they change design and layout so frequently, but their underlying code is a mangled, obfuscated mess of callbacks and asynchronous loading. What is perhaps most challenging is that they are constantly testing features and changes, so not everyone sees the same thing. So I may fix something on my account, but find that it fails for 5% of users, and I don't know why. Then it turns out that they are actually seeing a different feature than me. That makes it nearly impossible to create features that work for everyone, consistently, all the time.
I've brainstormed a lot of ways to help ease this pain, but so far not much has worked. I've resorted to giving users the ability to easily scrape their screen and post the HTML for me to examine. It's not perfect, but at least then I can see what they see.
Do you think they deliberately obfuscate it? They obviously hire some pretty talented people, so it can't be sloppy coding, right?
To follow up, do they seem to come out with 'obscured' code, for the sake of making it difficult to do the type of thing you're doing?
I don't know if that's their intent, but yes, it's obfuscated and terribly difficult to understand.
Matt, I just want to ask if you know just how much you're appreciated by those of us who have become enslaved dro..er..ardent Facebook users? Because you are. SocialFixer has saved me SO many headaches and kept me from raging out so many times...thanks so much. Soon as I can get a donation to you I so totally will (I hate being broke :/ )
Thanks! Yes, I do feel appreciated. When people like posts, comment, and share links, I genuinely appreciate it more than you may realize. My goal is not really to have people think I am awesome, but to have others respect and be excited by my ideas, and share a similar passion for what is possible.
I share and link to your site any time a friend complains about some new (or old) facebook feature. I've otherwise forgotten about many of the annoyances until I see a post about it. Good news is more and more of my friends use the program!
I wish I could "Like" posts here. It would be easier than saying "Thanks" repeatedly ;)
You can upvote posts... :)
True. but users can't see that it was me who did it, like "hey dude, I acknowledged what you said! Righteous!"
Just referred a friend to the SF website, did get the comment that it looks complicated so perhaps you could create a clean looking Home page instead of using the Features page ;)
Yup, that's in my short-term plans!
Love your program, Matt! In fact I've posted it on Reddit before to about 1000 upvotes!
My question - are you worried about encountering the problems the other "fixers" have had in terms of being sued and barred from Facebook?
Not really. If it happens, it happens. I won't worry about it, and I'll continue trying to play nicely and not demonize FB.
I appreciate your comment from the other big thread ;)
It just occured to me that I should tag @Social Fixer in these posts as well instead of just socialfixer.com, to send them to the facebook site as well. Would Matt see those posts as well? (not totally clear on facebook privacy settings as usual)
If they are public, I can see them, but I won't get notified. Every so often I do a scan of public posts mentioning Social Fixer, just to see what people are saying. http://www.facebook.com/search.php?q=%22social%20fixer%22&type=eposts
Well you could always make Google report to you about this: https://www.google.com/settings/me?ref=home
Yes, I already get alerts from Google as well. But they can't see into Facebook.
How confident are you that Facebook will not attempt, at some point in the future, to restrict the use of third party apps such as Social Fixer?
Well, they can try, but they will fail. There is nothing they can do to prevent me from running a script in MY browser when using THEIR site. It's just outside the scope of their influence. They can't even detect that it's running.
It does seem like they do their best to lock it down as tight as possible. There are a number of hoops I have to jump through. They send custom headers that can break extensions, prevent any of their pages from being loaded in an iframe, etc. They throw new things at me every few months.
Why do you suppose they're so opposed to Social Fixer? Reddit's admins haven't demonstrated the same opposition to RES.
I'm not sure they are opposed to Social Fixer. Why do you think they are?
I think the Facebook culture is a little arrogant, perhaps influenced by Zuck himself.
What are your favorite and least favorite features of Facebook?
Favorite: Maybe photo sharing. It's incredibly convenient, and we've never really seen anything like it. It's so easy to see pics from family and friends, and I love that.
Least Favorite: Too many to list! :) I don't like how locked down they are, providing very little customization. I also don't like their security and privacy options. I want more control. For example, I want to be able to turn off comments on posts. I don't want my "Likes" to be broadcast to all my friends in the ticker. I don't want Facebook hiding posts from me. All that. I wish they had a more open API and I could build a custom client that avoided all that mess.
This . Can we disable that broadcast of my "likes"
Nope, there is no way to do it. Which IMO is a terrible privacy violation.
No question, just thanks for an amazeballs tool that makes one aspect of my social media life palatable. You are awesome.
I can't tell you how much more enjoyable FB is for me when I don't have to read about the NRA, the Superbowl, and the myriad of other nonsense I was subjected to before. My question: Are you in need of someone to have your baby????
lol. Not currently, no. My wife has done a great job of that 3 times already ;)
My god man, three kids, a job and an awesome app? Can I borrow some of your stamina?
I wish I had more stamina! I do the best I can. And actually 2 kids now, my middle son died 5 years ago. :(
Couple of questions - thanks for the AMA.
- How many hours a week do you spend working on Social Fixer?
- What's your full time job?
- I would say at least an hour a day when I'm just doing normal maintenance mode. When I'm working hard on a new release, I'll probably spend 10-15 hours a week.
- Java developer and project manager, building software for a client in the financial industry.
Developer and a PM? Is that common?
Not typically, afaik. I am a "technical PM", along with another co-PM. It works well in our specific situation.
I'm surprised that no one is asking me what TV shows I watch or if I've ever been to Comi-con or if I have any tattoos. Etc. Interesting.
What TV shows do you watch? Have you ever been to Comicon? Do you have any tattoos? Etc.?
Those are kind of personal questions, aren't they?
I don't watch TV at all. Well, except for SNL when I actually catch it.
I have never been to any kind of *con
I have one tattoo on my shoulder.
Now we know why reditors didn't bother asking those questions.
heh. Do you want more details? :)
I don't watch either, except when I'm visiting my family for the holidays and they have the TV on. Even then, it's not really active-watching.
You're not missing much. I went to the NY Comicon this year, and while it was a little exciting, I was ready to go home after approximately 2 hours. :P
What is it of?
By the way, thank you for creating Social Fixer. :)
My tattoo says "Kevin" in Kanji script, the name of my little boy who died of congenital heart disease at age 2.5. http://KevinMatthewKruse.com
I'm surprised most of the questions I've read so far are actually about your work and not some random nonsense ( I find it fun most of the times, don't get me wrong ).
I guess it's a sign you're doing something right! =)
Since I don't know your work I'll give it a shot: If you had to recommend a book and an album to a stranger what would they be ?
Ooh, fun! It would be hard to recommend something without context, but I'll tell you what has meaning to me, and therefore what I might recommend.
Godel, Escher, Bach: This book is still very relevant, IMO, and it's really a challenge to the way many people thing. I love how it blends music, art, and math into a beautiful philosophy about how the universe works. For me, this book put into words many of the random thoughts I had swirling around in my head already, and helped me take a step beyond that state of mental chaos into an understanding of the world that is fundamental to me now. It's one of the few books I've kept after reading it.
Album: Hmm, music is so personal, isn't it? I love so many different kinds of music and could recommend so many varied albums, but I will always love Enya: Watermark. Some may call it cheesy, but I find it relaxing and very enjoyable even after many listenings.
First of all, I love your extension.
Second, I'd like to say that your Friend Tracker (showing people that unfriend me) sometimes depresses me. But I still leave it on.
And third my question:
How are you?
- Don't let it get you down. Sometimes it's for the best.
- I'm good. A little overwhelmed. But good :)
Hi Matt, thanks for your hard work on Social Fixer! I am curious about what you think of Diaspora [ https://joindiaspora.com/ ] and whether it, or any other Open Source effort can catch on, so to speak.
I think it is an early model of the future of Social Networks.
Think back to AOL, Compuserve, etc. They were isolated networks where you could only email and exchange with people on the same network. That's how Social is today. Eventually, that model has to break down. Just like those networks did. Eventually, they hooked up to the internet, and people had the freedom to choose how they connected and what services they values.
This will be the future of social networks. At some point you will be able to choose your "Social Provider" site, create an account with them, and be able to share things back and forth with friends on other social providers. Just like email - you pick the service you like best for features and convenience, but you can email anyone you want.
This is kind of the model of Diaspora. I think it's a good start, but it is surely just the first version of a long evolution of ideas to come, and Diaspora itself will not be "it" in 10 years.
Wow. Is Diaspora still a thing?
I thought those kids took the money and moved to Tijuana.
No, they moved to SF and worked their asses off trying to compete with the biggest and fastest growing companies ever, then one of the founders killed himself.
Very sad indeed.
Matt, Why does Facebook HIDE posts? I get that we are the commodity and all, but if Joe is posting about his widget collection, what is FB's gain in hiding it from me?
thanks btw for the cool add on.
They gain because by limiting exposure, they can then get people to PAY to reach all their friends and fans.
Classic strategy: Artificially limit supply, then provide the "solution" at a price. When you control the whole thing, you can do that.
I really, really, really don't like it.
How can I pay to reach all posts? I haven't seen that feature yet, that's why I ask. I wouldn't pay though.
You can't pay to see all posts made. You can only pay when posting, to reach more people. Most Pages can do this now, but it's still an experiment for users. Not everyone has that capability yet, AFAIK.
So you're suggesting Facebook is hoping people will pay money to share their vacation pictures with more of their friends?
Yes, that's exactly what they are hoping. I don't think it will work, but apparently the idea of Pages paying to promote posts has been working well. That's where the real money is.
I do want to know what kind of tools you use, and which ones you don't recommend for this kind of extensions. Also, assuming you are a full time developer, what are your main prog languages?
I wrote a blog post about this topic a while ago: http://socialfixer.com/blog/2012/06/08/6-awesome-tools-i-use-to-develop-social-fixer/ One tool I forgot to include is Directory Monitor, an awesome utility that listens for file changes in a directory and executes a script. I use it to auto-build my extension when I make changes.
For what reason do you prefer JS? Doesn't the scope piss you off?
The scope doesn't piss me off at all. It makes total sense when you understand it, and I can look at code and easily see the scope chain (usually). I've been coding js since it came out, so my mind kind of thinks that way. More traditional languages like Java annoy me.
Yes, I would sell it for a price. I don't know how much. $500,000? Or more? Less? It would have to be enough to make a huge difference for my family. That's not my goal, actually, because I think there is a 0.00% chance of that happening. My goal is to make a great product, have my name be associated with good software and integrity, so that I can launch future projects with greater success. It's not a get-rich-quick model, but I'm not a get-rich-quick kind of guy.
Sorry if this has been mentioned. What else have you written? What other projects can we look forward to on the future?
Future projects are all tightly under wraps, of course. But they will definitely involve time travel, neon lights, and rabbits. Obviously.
(I'm actually far too busy to be planning much else right now, but I do have ideas I want to explore. Maybe when I get free time...)
Why don't you just work for fb? ;)
I had previously applied at Google and they made me several offers to try to get me to move to Mountain View. It didn't work out, but if I were really considering working for a tech giant, I would rather work for Google than Facebook. I think.
Hi Matt- I love Social Fixer. Can't even imagine what a pain in the ass it must be to keep up with.
I split my 'facebooking' time between my phone and home laptop (well, and work laptop too). But just have social fixer installed on the home one. This discourages me from reading at work and on the phone (probably a good thing!) because I know I'll just be 'double-reading' it when I look at it at home (to clear it, just to make sure I haven't missed anything).
Is there any possibility of having a solution which would allow me to 'clear' from multiple browsers, using a common database? (in the cloud?) Obviously, for this to also work for the phone, an Android app would be necessary. Any plans for something like that as well?
Thanks again for your hard work! I need to contribute to help you out!
Yes! This has been in my head for a long time, but as of now I don't have the time or resources to implement it. There are a lot of security concerns as well, and I am really cautious about providing a service that could potentially risk user data being stolen off my server.
I solve this problem by using DropBox. I run Firefox Portable from my Dropbox directory, so if I mark things as read from work, I go home and start up firefox from the dropbox directory and everything is just as I left it. It works great!
I had a thought about this:
What if you use a Base64 encoded JSON data in a private Note? Assuming it is possible for SF to write/edit a note.
I went down that road, not practical. I can't use the API to read/write a note, so I would need to screen-scrape, which leaves a vital functional being very fragile to their UI redesigns. Also, I would need to wait for the response from FB to get the prefs, which would delay loading.
Isn't it possible to create an entry in the library which the extension uses, no matter which browser is run?
What do you mean by "library"?
Were you a nerd, growing up? Would your wife agree with your answer? [btw: In my book, nerd is not a pejorative term].
Nerd? Yes, pretty much. I think. I was pretty shy, and got interested in computers in 2nd grade and kind of stuck with it. I was never the kind of nerd that played D&D or read comic books or watched Star Trek or read lots of books (I hated reading). I mostly loved to build things, and the computer was my outlet. My wife would agree with me, and still thinks I am a nerd, of course ;)
Hi Matt! Thanks for all you do! Do you ever get any responces or push-back from facebook for making it possible to hide features they want to make money from (sponsored posts, various other frames)
Nope, I haven't heard a peep from them about this. Yet.
Will this make me able to block pages like "only 90's kids will understand" and "1 000 000 likes and my dad will stop using drugs"?!
Well, you can block by keyword, so if you can came up with a phrase to block those things, then YES!
Upvote if you like this reply. Downvote if you want kittens to die.
I turned off all my extensions on chrome the other day to make sure they weren't interfering in a page I couldn't load and, while I was waiting for it to load, I checked facebook.
It's a fucking mess.
Thanks for cleaning it up for me!
your title was enough to install it. It's awesome. thank you for making it :P
Can you make it so I can keep using Social Fixer but not use your changes to the chat. Or can I already?
Basically I really don't like how since I installed Social Fixer that pane has huge thumbnails for everyone. They are unnecessary and make it harder to see who is on and offline at a glance.
I just fixed this a couple days ago in the most recent release. Did you not see it? Check out http://SocialFixer.com for the download.
- Do you have any plans to make a "social fixer" for Google+?
- What tool(s) do you use for versioning?
- How big is your current code base?
- How do you test your application and all of its functionality? Unit tests? Different browsers versions?
How do you deal with the faster release schedule of Firefox?
Thanks for making this awesome plugin!
- I registered BetterGooglePlus.com, with that intent. Not enough time.
- Right now, none. When I build, my script makes a backup copy. Someday I hope to understand Git. maybe.
- File size? 456kb. Pretty big, actually. I've considered minimizing it.
- I manually test, and I have a great group of beta testers and support team. I have no formalized testing. Not enough time.
- It annoys me! But things are pretty stable. I just have to increment the compatibility level regularly. You're welcome!
In regards to Facebook, I value Social Fixer and Facecrooks the most in making it a pleasant experience. Have you ever thought about adding a "BS detector" feature to do things like block people's brainless reposting or warn about possible scams? Also, you should know that you have truly arrived: your "hover over photo to enlarge" feature has made me expect that to work everywhere! Thank you for a lifesaver of a product! Great work!
I wish I could warn of BS, but that would be far beyond the scope of what I can do with a browser extension! You may want to check out HoverZoom, another great extension that adds image previews on lots of sites!
Hi Matt, thanks for doing this AMA. I've not previously heard of your extension, and currently use one called "SocialReviver," primarily to make that my chat partners cannot see when I have read their messages. Does your extension offer this? If so, why should I switch to yours? Thanks!
SocialReviver is very good, and the developer is great! I've emailed him a number of times to discuss tech details. Social Fixer does not do that, but I hope to add it at some point. The two should actually work together just fine, as long as you turn off the chat options in SFX.
- Yes, see other responses here
- It does work, as long as the expectation is not to get rich. It takes a different set of life priorities to make it work.
- I hope so, but nothing on the horizon. I want it too.
If you could create your own social networking website, what would it be like? How would it differ from facebook?
It would be more open and customizable. See my answer about Diaspora. It would be like that :)
Do you feel that Facebook makes changes deliberately to try to stop the extension from working? Why might that be?
Nice idea to have an AMA, by the way. This is probably the most-used extension I've ever had in my ten years or so of computing.
I think it would be a bit of hubris for me to think they intentionally target me. I'm an ant to them. I think they intentionally try to stop dangerous apps and extensions from working. They try to make it difficult for someone to accidentally install a browser extension that hijacks their facebook and steals their info. That is a GOOD thing, but it makes my life more difficult, too.
Yeah, you're probably right. I still feel like SF contains stuff FB should have implemented themselves a long time ago, though. Then again, we're able to hide things that make them money, so I guess it makes sense.
Aside from the hiding, I agree. They would be smart to copy some of the features, IMO. Easy wins. In some cases, it seems they have (reply to comments, etc)
When did you come up with the idea for Social Fixer, were you like screw this crappy layout I am going to make my own better Facebook?
It started in late 2009, and my primary motivation to begin with was that I was annoyed that the same posts I've already read came up each time I opened the page. I wanted to clear out the things I've already seen so I could more easily pay attention to the new stuff. That was feature #1, and it grew from there...
Thanks for doing AMA, I use social fixer after you talked about it in another thread. Is there any way you can fix the settings which now make all the posts I "liked" not show up on my timeline? I hate that shit. There is currently no way to change setting.
I'm not sure I understand? You want your timeline to show the pages you like? Or you don't want it to?
Just wanted to say super thank you, the extension is the only way i can use Facebook!
Plan on adding any more new themes? Maybe something more clean/professional looking? Would love it, something a little dark
I just added the "Dark Facebook" theme. Have you tried it?
Is the title of your blog post "Why I Do Not Monetize Social Fixer or: How I Learned to Stop Worrying and Love the Donation" a reference to the 1964 movie "Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb" the titles seem quite similar :)
YES! I was hoping the not-so-subtle reference wasn't lost on everyone. Thanks for noticing ;)
If facebook makes maintaining Social Fixer impossible, do you have a dream project you'd like to do instead?
I actually have a number of ideas, but I won't list them here. My to-do list is always much longer than I ever have time to do. Coming up with ideas is never the problem. Finding time to do them always is :)
I just want to thank you for what you do. I have enjoyed your extension, the only problem I have, it seems to slow down the entire experience.
I do have a FAQ about slowness - usually it's caused by something else interfering with my code. I execute code every time something is added to the page, to see if it's something I need to modify.
Other apps like AVG LinkScanner, for example, insert their own content and scan the page for changes. So the two together into a little pissing contest about inserting content and reacting to the others' inserted content. This can cause loops, and it doesn't work so well. In general, any apps that inspects the page or modifies it may conflict with Social Fixer, and there's unfortunately not much I can do about that.
Also remember that themes, especially heavy ones (with backgrounds), can slow down the browse experience as well.
Three times now I have felt inspired to PayPal you some money. Do you make enough to make sure you never get too discouraged and drop this project? God forbid if you ever do. I would seriously think about quitting FB.
I make enough to pay the bills and to help me do extra things with my family that I maybe wouldn't otherwise. I'm currently trying to save up enough money to finish my basement, and this side income helps.
Is it worth it? Well, I couldn't live on it, for sure. It's not a job replacement (yet). Sometimes it does get so overwhelming that I wonder if it's worth it, but I carry on because in the end, it's a pretty cool project.
Matt, you've made Facebook a much more usable, less frustrating experience for me. I can't thank you enough for that. ...I could certainly still express my appreciation more in terms of donations. I have not yet, but I will.
What is features do you most desire to implement but are unable to for whatever reason?
There are a lot of things I can't implement because I can't interact with the Facebook API itself. I would love to be able to better track comments and flag when there is new content to be followed up on. I would like a better comment management system, allowing pages to interact better with their audience. I'd like to be able to get an unfiltered feed, and ever do server-side sorting and filtering, rather than all in the browser. So much potential...
Hi Matt. First of all thank you for the awesome extension. I've been using it for a while now. Recently I started having the problem that I can't resize the chat window. The ticker and the chat take half of the right bar and I'm unable to move the horizontal bar up or down. It stays like this with and without social fixer (social fixer is not causing this). Any idea how to fix this? Regards!
Nope, sorry, I haven't seen this happening. Definitely a FB bug.
Well, this is a pleasant surprise. Thank you very much, Matt, for your hard work!
Despite the fact that the work you do is essentially free, I have no doubt you've had your fair share of oddball messages coming your way from the entitled masses, especially during recent versions when the Tab-Enter requirement was introduced. Would you care to quote some of the more memorable tweets, messages or comments with us?
Oh, you might be surprised how much "hate mail" I get! I used to keep a page dedicated to the worst of the bunch, but these days I just delete them and ignore them. This one is pretty awesome:
Please GET OFF my facebook page with your greedy,money grubbing requests for your assine, unsolicted advertisements for your help. If you are on my facebook page in any shape or form I will contact the Wisconsin Attorney General with your bullshit. Please Fxxx OFF and GO AWAY. Thanks, AxxxOLE. Your exactly wrong about communicating using the internet.
I'm not asking for support, but maybe with your insight into how the FB code works you can answer this question...
Why is it so difficult for FB to remember I want to view "most recent" posts? Correcting this is the primary reason I installed your extension. I've dabbled in web development and this seems like such a straightforward thing. Are they intentionally switching me back to "Most popular" 2-3 times a day?
Yes, they are intentionally switching you, because they think they know better. They are catering to the below-average user who might have switched on accident, and they assume you want to go back to the filtered feed that they think will be most interesting to you.
Yes, it's annoying ;)
I'm unable to download it, the WebStore keeps telling me it's not a CRX.
That's a Chrome bug. Google it! :)
First off let me say, I love your addon.
There is only one thing that bothers me about it and maybe I just can't find the option to fix it. Since I have installed your addon, the ticker will randomly jump up to previous posts when I try to highlight something in it. It is extremely annoying and I was wondering if you were aware of this or if there is an option to fix it. I use Firefox and would love a fix! Can you help me out?
Also: Is there anyway to block out peoples stupid picture posts? I don't mind seeing pictures that they have uploaded through their camera, but the memes and sayings have got to stop! Is there a way to filter these out?
1) I've never seen that. Does it stop when you disable Social Fixer? 2) If I could create a "stupid filter" I would be rich! :)
Isn't making Facebook better basically just polishing a turd really hard?
Yes. But a lot of people really, really seem to want that turd.
To be fair, I tend to think of Facebook a lot like taking a good look at my shit before flushing. Also, props to you for responding in spite of my being a novelty. You're a pretty cool guy.
People still use facebook? When is this coming out for Myspace?
Zuckerberg beat me to it. He created Better MySpace.
Any plans to allow people to hide Suggested Events on the event listing page? Those things are annoying; I'm just trying to see MY upcoming events, not all of this bullshit across the country that a friend I barely know is attending and you think I'd enjoy. Fuck off, Facebook.
You already can! Click the gear in the upper right and choose to hide suggested events. This is a built-in feature of FB.
Don't feel dumb if you didn't know it was there, I just found it after looking at the page :)
Awww man! Had this for 2 minutes and have 2 people in my friend tracker who have removed me already, not even strangers either, I know those people. This app has hurt my feelings already, but overall seems pretty awesome. Thanks!
Be sure to read the note that comes with it. Sometimes accounts become inactive, and Social Fixer cannot differentiate that state from unfriending. Your fragile feelings might remain unshattered...
Nope, definitely removed.
I'm so alone.
Do you think there will ever be a way to filter "shares" from particular pages? I can filter app specific posts from showing up, but I can't filter pictures that my farmville playing friends post from the "friends of farmville" pages. Hiding them all individually is workable, but a filter would be better.
Yes, I hope to greatly enhance filtering and make it much easier in the next few months.
Would it be possible to make Social Fixer for iOS or Android? The only thing I don't like about SF is that it's not on my phone.
See other responses - I'd love to do this, but right now I lack time and resources.
What kind of weird results have you seen as a result of Facebok A/B testing? Obviously you are at their mercy of their design, and sometimes they decide to give 1% of people something random to test.
This is one of the most frustrating parts of development. I will get a report from a user that feature X is broken, but I can't reproduce it in any browser or in any account. Often they have a test version, and it breaks something temporarily, and I can't put in code to fix it. Or maybe I am in a test group and I assume that everyone has the same code as me, so I write code to fix it and it doesn't work for anyone else.
It's like programming with my eyes closed. I have to make the best guesses I can, and try to write robust code that will work in the most generic way possible. And when it does fail, try not to fail in a way that breaks things.
It's a considerable challenge. If Facebook were a stable site with code that wasn't so insane, I could have done much with this by now.
Ever thought about going open source?
Yes, but: 1) The source is already visible, of course 2) I don't want to open up the code to changes from other developers who may not share my values. Someone could insert code that hijacks the browser or steals user info, for example. I cannot let that happen. That is probably the main reason why I cannot open up the code for contributions from others. I will always respect my users' privacy and security concerns above all else. 3) Besides, I can't find too many people who know enough about this stuff to actually do it ;)
In regards to 1):
The source is visible for any browser extension but I assume minification and comment stripping would be part of the process before you release anything, so that's less useful and harder to get to than the code being developed. It's essentially impossible to learn from if you're not already a JS master.
I agree that you'll want to guard against people with bad intentions, but open source doesn't mean your code turns into a free-for-all. You still maintain control and accepts or deny code as you wish, and additionally can license it as you wish (GPL, Apache, LGPL, etc). This means you have the final say of what goes in and what does not, and can avoid people stealing and selling your work.
The reason I suggested open source is you said you don't have much time (or a computer) to work on this project and I was looking for a project to work on in my free time. I would've liked to contribute to this project (as it was messing up my fb chatbox at the time) but instead decided to learn Python instead (I'm a java during the day kinda guy as well)
3) Open source is how you find these people ;)
I'm keeping my options open, hoping to explore the idea of expanding the development team this year. I have to do something to grow and improve, because it's taxing my limits at the moment. :)
PS - I don't minimize of obfuscate the code right now. I might soon because it's getting big. But I want it to be mostly readable in case anyone wants to tweak it for their own use or verify that nothing bad is included in it.
Hi Matt - Mostly just want to say thanks for your awesome work. One "fix" I wonder if you've considered is the ability to edit the text of a wall post made by a 3rd party app like twitter or instagram. I'm guessing it's not possible at this time, though I'm curious and wanted to support the AMA. Keep killin' it. Thanks again!
Nope, can't do that, sorry. Facebook itself has no API to do it, so there is no way I can hit their servers and do something that they don't allow.
How did you get into this profession? Is it a good career to go into?
I started on computers in 2nd grade, with Apple IIe's at my grade school. I was doing "hi-res" graphics patterns a few years later, and programming simple graphical games by early high school. Computer Science was the natural direction for me, so I didn't really question. Went to college, and they happened to get the internet in 1993 - pretty early by most standards. So I got involved in internet stuff right away. I've always had a normal "stable" job, but I've also always had side projects.
Yes, it's a good career! Computers won't be going away any time soon ;)
happened to get the internet in 1993
Matt Krause, fingering people since 1993.
Its a joke only old people get and I don't get to tell it anymore.
lol! Yes, I did my share of fingering.
Wait, is this public?
Finger was the original Twitter. I miss changing my finger plan every couple of days.
You said finger plan.
Just wanted to say how I love your app. It has solved most of my problems with Facebook.
Thank you so much for this. As soon as I have some extra cash I'll be sure to donate as well :)
Thanks, glad you like it! :)
Have you ever been contacted by the people at Facebook to work for them and maybe help sort out their infamously poor coding? If so, would you accept?
See my other answer about my experience with the Facebook recruiting process :)
No question here, just wanted to say thank you for the awesome extension. I can't imagine using FB without it!
Glad you like it!
What would have to happen for a project like Diaspora to gain traction, and supplant Facebook, altogether?
I wish I knew. I think it will be a very slow process. The best thing that could happen would be for Facebook to allow sharing of user data with an API. But it knows that would open the door to its undoing, so I don't think that will happen any time soon. And hey, if Google can't put a dent in Facebook, I'm not sure who can!
Have you had any legal problems with facebook? Thanks for such a great tool =)
Yes, but minor. The extension used to be called Better Facebook, and they didn't like the name. I got a cease and desist letter from them, talked to their lawyers, and went through a big name change. See: http://betterfacebook.net/blog/blog/2011/10/03/better-facebook-is-getting-a-name-change-soon/
Other than that, no issues with them at all. They know I exist, but have remained largely silent.
What is upcoming in the next couple of month ? Even if I like Social Fixer and I use it, I do not see a lot of people using it, any plans on advertising it ?
Two priorities: 1. Modify the code so Mozilla accepts it into their add-on directory again 2. Improve the capability and user-friendliness of filtering.
I try to promote Social Fixer as much as possible, but I don't know about real advertising, since it's a free product. I tried to put an ad on Facebook itself to see what it could do, but they rejected it, saying I could no advertise on their site. Bummer.
Has facebook approached you at all concerning your application?
Have they offered to hire you?
If they were to offer, would you accept?
How do you make a living?
Thanks for the great app!
These are all already answered, but I'll summarize ;) 1) Yes 2) Almost 3) Probably Not 4) Creating Java webapps
Dude, I love you.
Spread the love, man. Like butter.
Thanks! Yes, those guys are awesome. I try to show them my appreciation regularly. :)
Hey Matt. I just wanted to say thanks, thanks, a hundred thanks; your work has helped make my life a lot easier. I have deactivated my Facebook account for some months now but I still hold Social Fixer in high regard as I know you worked your butt off and never asked for anything in return other than donations!
Thank you :)
...welll I guess this is a question: Are the donations a good enough source of income for your family?
They are a nice supplemental income, after expenses. We couldn't live on them, no. Not yet, at least ;)
Edit: Comment Removed
Thank you! I think the laptop plans will materialize soon :)
In another comment I talk a little bit about how I started in computers, but that was a long time ago. I'm not sure my path is the right one to follow anymore. Times have changed.
What I think hasn't changed are some core values that you want to have to get into doing projects like this:
- Have a love of building things. When you have free time, you should want to create something. I always say you're either Creating, Consuming, or Standing Still. Most people are consumers. Be a creator instead.
- Nurture problem-solving skills. Not just computers, but everything. Puzzles, mysteries, etc. Foster your curiosity. Read about people who thought differently and challenged the status quo. Explore things that are not yet known.
- Tinker. Take software apart and learn how it works. Don't assume it's more complex and awesome than anything you could create, because it's probably not. Most software is hacked together by people with good ideas and a strong enough desire to see them come to life.
- Learn the core skills about programming - languages, loops, design patterns, different approaches to development. But then realize that the cool stuff is done when you go beyond the status quo and wonder what could be done if you don't follow the conventions.
I don't know, that seems kind of lame, but I'm probably not good at the whole advice thing. I really think that attitude is what matters. You have to be curious, think differently, challenge the norms, love problem-solving, be creative, have a desire to build.
If you have that, then formal computer training will just be one of many tools you can use to create something.
In the end, for me this is a creative outlet. I also happen to love art and music, etc. I once considered getting into making movies as my career. I think that people who do interesting things with technology are the creatives ones, and they would do it in another area even if computers weren't in front of them.
Be creative. Solve problems. Build things.
I'll be testing Social Fixer today, seems worth it.
It's not a bad value for $0.00 ;)
Shit...I'm gonna buy two now!
There is currently a buy 2 get 1 free special, with a $0.00 rebate. I mean, I'm not trying to push you into it, but it seems like a good time to invest in the purchase.
I just want to thank you for creating Social Fixer. It's helped me cure my biggest pet peeve of Facebook: the dreaded daily reset of my sort by option. I like to keep my feed sorted by recent entries instead of top/hot/most popular.
Glad you like it! :)
You know, Firefox Mobile for Android is working well with addons now. Only certain addons are available, like Adblock Plus, so they have to be customized somehow I suppose. But this might be an easy way to get Social Fixer working for many mobile users.
Ooh, I did not know that. I'll check into it. Thanks!
No question, just "Thank you for Social Fixer." :)
You're welcome. No question at all? Not even "What's your favorite planet?"
Well, it's the sun. Always has been. I like it because it's like the king of planets.
MOBILE VERSION? WHEN?!?! - lol, thanks for the effort making FB usable.
I'd love to, but I just don't have time. I've considered a Kickstarter campaign to raise enough money to hire someone to build it on my behalf. But right now, I just don't have enough bandwidth.
How have you avoided the troubles of getting banned/reported dangerous, like FBPurity has to deal with?
It seems to me that FBPurity is confrontational and wants to challenge FB by barely complying with their rules. Instead, I try not to badger FB or talk badly about them. They are great people, building something truly amazing. And Social Fixer wouldn't exist without their great work. They're not perfect, but neither am I. I don't want to demonize them.
I also know that some Facebook employees use Social Fixer. So maybe that helps ;)
I would just like to say I love you! Social Fixer kept me from leaving FB. Being able to customize and minimize the annoying ads and games and apps nonsense was a lifesaver. I've donated once and will be continuing to do so annually. Thanks and keep up the great work!
Hey man, thanks for what you do!
Has doing this killed your enjoyment of using Facebook personally/recreationally?
Not much, but that's happened naturally anyway. I've lost a lot of my interest in it because of all the idiocy I see here. Also, the way it broadcasts every move to your friends in the ticker. If I Like a public post or comment on a George Takei picture, all my friends might see it. I think that's obnoxious, so I don't interact nearly as much as I used to.
In general, I've lost all desire to make people think I'm cool by posting witty remarks or pretending to make myself look awesome. And that seems to be 90% of what Facebook is these days. It makes me vomit.
If a person can overdose on awesomeness, then I'm already on my way...
Please go away, man.
So, exactly how much of a pain in the ass is it to keep up with Facebook's constant changes?
View HistoryShare Link