Author Archives: Matt Kruse
I love George Takei (seriously, George, call me, let's talk Facebook). But not everyone does, and those people often don't want to see what their friends re-share from him. Luckily, Social Fixer gives you powerful filters to customize what you see in your feed!
This post will first show you how to hide re-shares of Takei's posts, as an example (sorry, George). I'll then broaden that to a more general filter for re-shares. Along the way, you'll hopefully learn some things about the powerful news feed filters in Social Fixer.
How To Filter George Takei Post Re-Shares
This one is pretty simple. Open up the Social Fixer options panel using the "wrench" menu in the blue header bar, and (1) choose the "Filtering" tab on the left. Then do the following…
(2) Click the "Add New Filter at the Top" button. This adds a new filter control row at the top of the list, if you have any others. Here's how it works: as each post is found in your news feed, Social Fixer evaluates the filters from the top to the bottom to see which ones match, and then what it should do. Adding a new filter at the top lets it have top priority in filtering posts, so no other filter can touch it. In other filtering situations, you may want to create one at the bottom, as a "catch all" filter when nothing else matches.
(3) Enter the following text in the "Matching text" box of the filter, exactly like this:
shared George Takei's
All re-shares of his posts have this text in them, so this is what tells Social Fixer to match this post.
(4) Next, we tell it what to do with the post. The most common two actions are to either "Hide" the post entirely, or to move it to a news feed tab. In this case, click the "Hide" checkbox to just hide the post altogether. If instead you wanted all the re-shares to appear in a tab, which would let you browse them if and when you wanted to, you could just enter the name of the tab to send them to, like "Takei". The tab will automatically be created if there are matching posts.
(4)a – I've checked another action in this screenshot above: "Stop processing rules". This tells Social Fixer that if a post matches this filter and something has been done to it, don't evaluate the rest of the filters. Just stop right there. The reason is, you may have another filter setup on a keyword like "football", and if we don't stop processing, a post from George Takei about football would get matched by this new filter, and by the filter later in the list. We don't want that to happen.
(5) Click Save in the options popup, then reload your feed. If you saw re-shares before, they should be gone now!
How To Filter All Re-Shares
Okay, let's stop picking on George, since he's pretty cool. Let's say we want to filter all re-shares of anyone's post, and move them to a tab where they can be either ignored or browsed through later. Simple!
(1) Same as above to open options, go to the filtering tab, and add a new filter on top.
(2) Now, in the "Matching Text" input, use this text:
/ shared [^.]+'s/
Here I've stepped up the complexity a bit and used a Regular Expression. This is basically a more advanced pattern-matching syntax that lets us use wildcards to match a variety of different text strings.
The / at the beginning and end of the text tell Social Fixer that it is to be treated as a Regular Expression. Then , the special [^.]+ syntax is a special instruction that basically means [one or more characters(+) that are not(^) a period]. By using this syntax, this filter rule will match anyone's name, like:
Matt shared Bob's post.
Bob shared Matt's photo.
A period is always at the end of these sentences, so matching only characters that are not a period makes sure we don't accidentally match text that is in the post itself or in comments.
(3) Let's move these re-shares to a tab. Under "Actions", type in a tab name like "Shares". Then check the "Stop processing rules" box as before.
(4) Save and reload, and now all your shares will be in a tab! Nice, eh?
How To Filter Re-Shares From Specific Friends
Maybe you have a few friends who are prolific re-sharers, and you just want posts from them to be hidden. Can you do that? Yes!
This is a simple modification to the previous filter. Open up the filtering options and find the filter row you added above. Now, in the "Author" column, just select one or more friends. Now when the filter runs, it will only filter posts from authors that match the selected group. Easy!
Keep Calm And Filter On!
I hope these simple examples give you some ideas, and enough confidence to go try out some post filtering. It never hurts to try – enter in some text filters and a tab name and see what happens. You can always go in and remove them if you don't like it.
News feed filtering is one of the most powerful features of Social Fixer, yet many people are too intimidated to use it. Don't be! Go forth and filter!
Visit our Support Forum on Facebook! http://SocialFixer.com/support/
-- Matt Kruse, developer of Social Fixer
Install the 7.501 update by going to SocialFixer.com
- New Theme: Dark Facebook
- Added the ability to hide many things in the left column and elsewhere by hovering over and clicking the "x". If you previously hid sections using the old options, you can re-hide them using the "x" that appears in the upper right when you hover. (Note: Sometimes the "x" displays incorrectly in Chrome 24. This appears to be a Chrome bug which is fixed in Chrome 25. The functionality still works in Chrome 24.)
- New option (Layout tab): Show all available sections in the left navigation bar (on by default)
- Added more known apps/games to be auto-tabbed
- Chat display was messed up! If you entered a temporary fix in the CSS tab to fix chat, it should be removed.
- Message times were not shown on inbox messages when the "fix timestamps" option was enabled.
- The Social Fixer options button (wrench) was not visible on accounts with the new Graph Search enabled. If you entered a temporary fix in the CSS tab to fix this, it should be removed.
- When names in the chat list contained an apostrophe (') they could not be clicked on to initiate a chat
- Long names in the chat list wrapped incorrectly.
- Control panel didn't float down the page when scrolling in Chrome when that option was enabled.
- Using the mouse wheel to scroll Notifications didn't always scroll directly
- In some cases, hovering over a profile picture only showed the upper left corner of the picture in the image preview
- The color-selector theme wasn't working in Chrome
- When clicking a link in an application post, the "automatically mark story as read" feature didn't work if the link was https: instead of http:
- Floating comment reply box didn't work correctly. It now works, but you must press "ESC" to re-hide it.
- When selecting the default theme or canceling options, the default theme was not restored
- Hide profile pictures in notification list stopped working
- Tab count incorrectly included hidden sponsored stories
- The Help popup icons in the Popular tab of options did not appear
- When quoting text in a comment reply, it will now be prefixed with "User Name wrote:", adding the word "wrote".
- Notification previews will now only display after a short delay
- Improvements to the Anonymize Screen function
- Improved filtering of sponsored stories
- Improved identification of unique posts, keyed by time posted. This will prevent posts about new photos being posted to existing albums being incorrectly marked as read, for example.
- Removed a number of options which were obsolete because of Facebook changes
Questions? Problems? Need Support?
I hope this release works well for you and resolves many of the known problems!
Dear Users of Social Fixer,
Thank you for supporting this project and my work, and for your generous donations to keep it (and me) going. I want to talk for a moment about why the app is free, why I ask for donations, and how well all this is working.
It costs over $300/month to host SocialFixer.com and keep it running, and I've easily spent thousands of hours building and supporting the app – and yet I haven't really "monetized" it to mke money. So who pays the bills? You do, via donations! And it's an awesome software model!
Any company distributing software like Social Fixer would primarily be trying to figure out how to make money from it. But that shifts the focus from creating great software to being profitable and making money, often at the expense of the users and developer creativity.
I've actually received a number of offers from companies/individuals to buy Social Fixer and/or monetize it. They tell me how I could make lots of money if I were to just attach a browser toolbar to the installer, or insert ads into Facebook, or bundle additional software along with it, or spam my users with "sponsored" links and messages. I've thought about it, but obviously declined all of these offers because:
How to Contribute
|(Use your existing Amazon account)|
|(Credit Card - No account required!)|
PO Box 165
Hampton, IL 61256
- I will not make changes to Social Fixer to increase my profit at the expense of my users.
- My goal is to make the user experience better, so inserting anything that will be distracting or not enhance the experience is directly against my goal
- My goal in life is not to get rich (though I wouldn't object to that!). My goal is to create cool software that users love.
So why doesn't everyone do this? Well, it's certainly not easy.
- I probably put in at least 100 hours of work into this app before I ever even released it to the public.
- I put in at least another 500 hours of work before I ever even asked for donations, because I wanted it to be a solid app first.
- All this up-front effort came without any guarantee or even hint that I would get compensated for my time and effort. I had the belief that if I built something great, the reward might follow. It's a risk.
- As I continue to develop and maintain the app, I have no guarantee that I will get compensated for my time, or even get enough to cover expenses.
And yet, it works! I have been very fortunate that I have a lot of amazing users who are willing to donate to support the work. Not because you have to, not because you are nagged to death, not because there are crippled features that you want to enable, but because you love the app and want it to continue.
"A small contribution from many users ends up making a big difference."
I think that this model is awesome for both the developer and the users. Why? Because it allows creative developers to follow their passion and create software that users love, without being part of a profit-focused company. There are countless developers out there with incredible ideas and potential, and if we reward their work with financial support, they will be motivated to create things that will amaze you. Users will get better software without all the junk that is polluting so much of what we use today. And by supporting these kind of developers, you'll be advancing the user-focused mindset of those people who work in this model.
I've been fortunate that I've built up a large user base over the three years I've been working on this. Typically, only a small fraction of users ever donate, but because of the number of users, this works out okay for me. I don't expect everyone to donate – but those who have the means to do so support those who are less fortunate and maybe don't have a few dollars to contribute. So the app stays free and clear of any monetization (ads, toolbars, offers), which works great for everyone!
I'm incredibly thankful for everyone who has contributed to the project and to me personally. Donations not only support the site and related expenses (even after Paypal fees and taxes!) but give me some extra income that compensates for all of my time spent. I'm not in any position to quit my day job (yet), but donations allow me to provide additional things for my family and to enjoy my free time a little bit more. And when I'm sitting at the computer at 1am, long after my wife and kids have gone to bed, trying to sort through a hundred posts on the support forum to figure out what issue I need to fix next, I'm motivated by the fact that generous users are supporting me and my work. I, in turn, feel compelled to help you back!
As a developer, this keeps me going. It keeps me motivated to work late, answer all the emails, and deal with all the issues involved in developing a popular software app. And as a user, I am grateful to other developers whose tools I use – I have donated to or bought a license of almost every project or person whose apps I use, sometimes more than once. I believe in rewarding people for what they do, not just as a recipient, but as a giver as well.
So, thank you. For supporting this project, my work, and this kind of software model. When enough people support good things in small ways, big things can happen. I'm honored to be part of that, and I'm excited to see what we can accomplish in 2013.
Merry Christmas, happy holidays, happy new year, and all the best to you and your families.
How To Contribute
|(Use your existing Amazon account)|
|(Use any Credit Card - No account required!)|
PO Box 165
Hampton, IL 61256
Facebook is making more changes to their privacy settings, which is sure to confuse users even more. The biggest change? You can't hide anymore. Everyone will be searchable. If you want to stay private, you're out of luck.
- You can no longer make yourself unsearchable. This is bad news for the millions of people who wanted to keep their social activity invisible to the world, and even worse for parents who wanted to keep their kids' accounts visible only to people that know they are there!
- A new Privacy icon will be added to the upper right, allowing quick access to some frequently-used controls:
- More control in your Activity Log
- Easier ability to request pictures of you to be removed
- Apps must now ask separately for the ability to use your private information and to post to your Timeline. Previously these two privileges were lumped together.
Users had the ability to vote and reject the changes, but almost no one did. And along with that came the new rule that users would no longer have the ability to vote on changes like these.
So, to sum up:
- You lost your ability to be unfindable
- You gained some minor privacy controls
- You lost your ability to have any input on future changes
Overall a loss for users, in my opinion. Unfortunate.
Whenever I release an update to Social Fixer, many Google Chrome users are frustrated or confused about the update process. So I thought I would explain some of the details…
1. Extensions [should] update automatically
Chrome is all about simplicity for the user, which means that it updates itself in the background and it also updates all your extensions. That's how it should work, at least. I've heard some people complain that Chrome doesn't do this, and I don't know why. It could be that they've messed with the registry or configured Chrome in some custom way. But there isn't even an option to disable extension auto-updates, so it should work seamlessly. In theory.
2. The Web Store doesn't update everyone at once
This is a big annoyance for me. When I post an update to the web store, it is not immediately visible to everyone. Google slowly syncs the update to its whole content distribution network, which can take many hours. So User A sees the new version instantly, but User B doesn't see it until tomorrow. When I post a message saying a new version is available, I often get many replies saying they can't see it. This is why, and I have no control over it. I've even told Google how annoying it is: [Staggered Web Store Updates causes continued confusion!]
If a new version is out there but it's not visible to you yet, you will just see this when you view Social Fixer in the web store:
This just means you have to check back later.
3. Extensions can only be installed from the Web Store
I used to distribute the Chrome extension from my web site, which worked well. But then Google changed Chrome's security model for extensions. They said that extensions must be installed from their Web Store, to maintain security. So I can no longer provide a simple link to the install file to update – I can only link to the extension page in their Web Store. It's not quite as simple as it used to be, but unfortunately there is no easy work-around for now. (Extensions can be installed from other sites, but that is beyond the ability of most casual users, and experienced users will figure it out on their own!)
4. Beta versions have a different internal ID
Before I release updates, I test them in beta form to a smaller group of early testers (in the Social Fixer Development group). But for Chrome, this extension is hosted locally, not in the web store, which means it has a different internal extension ID. So to Chrome, this is an entirely different extension, and installing it can leave two copies in place – the old version and the new beta version. Further, they won't share settings because they are different ID's, so if you disable the old one and use the beta, you lose your settings. And when you switch back to the official one when it's released, you lose them again! This is a pain, but so far I haven't found a work-around for this.
5. You can force your extensions to update now
Fortunately, there is a way to force your extensions to update right now. In Chrome, if you navigate to chrome://chrome/extensions/ (or open Options → Tools → Extensions) and enable Developer Mode, an "Update extensions now" button appears:
Unfortunately, if the Web Store update hasn't rolled out to you yet (see #2), then it still won't find the new version. There's no way around that. But at least you can try to update manually.
6. Sometimes extensions become disabled
For whatever reason, sometimes users find that extensions have become disabled. Luckily, re-enabling is simple. As with #5, first open your extension list, then find Social Fixer, and click the Enabled checkbox:
7. Sometimes Chrome needs to be restarted
Other users have reported that even after they have updated Social Fixer, the update doesn't appear in their browser. In many cases, restarting Chrome makes the update appear. Again, I don't know why this is the case, or why only a small percentage of users see this behavior.
8. Re-install Chrome?
In extreme cases, users have reported that re-installing Chrome can cause the extensions to update correctly. This should definitely not be the case, but it's something to try as a last resort. There have been issues with Chrome user profiles becoming corrupt, which might prevent extensions from updating correctly. So if all else fails, try re-installing Chrome, and see if that helps.
This can be tricky, and I try hard to simplify it for everyone. Chrome is just one of 6 different browser extension formats that Social Fixer supports, so having to deal with their extension update problems can be a pain. Hopefully this post will clear up some confusion for some people now and in the future!
Due to recent Facebook changes, many Google Chrome users were seeing an error when using Social Fixer. This release resolves that problem and includes a couple other tweaks.
Install the 7.321 update by going to SocialFixer.com
Fixes In This Release
- The "SECURITY_ERR: DOM Exception 18" error that Chrome users were seeing has been resolved. See below for details.
- Changed an image reference in the code from http to https to avoid security warnings.
- Fixed the background color when hovering over items in the wrench dropdown menu.
About The SECURITY_ERR: DOM Exception 18 Error
The details about why this error popped up are complex, but I will attempt to explain some of it here for those who are interested, and in an attempt to help other extension authors who are googling this error. As it turns out, other extension developers are having similar problems.
In an attempt to make extensions more secure, Chrome has adopted the W3C Content Security Policy recommendations. This helps limit what resources can be loaded from remote sites, to avoid XSS and other attacks.
Chrome is also adding experimental support for sites that define their own security policies by sending a header that tells the browser how it should behave with regards to external resources. This lets a site tell the browser to not load anything from a remote site except for resources on facebook.com or spotilocal.com, for example. If someone were to compromise the security of their site or if your browser had malware installed which tried to load up scripts or ads from another site, the browser would prevent this because the original site explicitly disallowed it. In theory, this increases user security.
Facebook recently decided to implement their own Content Security Policy, and began sending this header back with their pages:
X-WebKit-CSP: default-src *;script-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* chrome-extension://lifbcibllhkdhoafpjfnlhfpfgnpldfl 'unsafe-inline' 'unsafe-eval' https://*.akamaihd.net http://*.akamaihd.net;style-src * 'unsafe-inline';connect-src https://*.facebook.com http://*.facebook.com https://*.fbcdn.net http://*.fbcdn.net *.facebook.net *.spotilocal.com:* https://*.akamaihd.net ws://*.facebook.com:* http://*.akamaihd.net;
This X-WebKit-CSP header is one that Chrome has added experimental support for, so it reads the rules and enforces them. It won't let any content be loaded into the page except from the sites listed. Social Fixer connects back to SocialFixer.com to load some resources, such as:
- Setup Wizard
- Check for updates
- Tips of the Day
- Important Messages
- Theme list
- Theme content (in some cases)
So any time Social Fixer tried to connect back to my site to load those things, Chrome would throw up this very cryptic error. Only by inspecting the console could I tell that the root cause was actually a violation of the Content Security Policy. After some confusion and some inspecting, I discovered that Facebook was sending the X-WebKit-CSP header, which was causing the problem. Apparently they only send it if you are using Chrome 21-23, so users of Chrome 24 (beta) aren't affected!
Although Chrome correctly supports the Content Security Policy standard, these rules should not apply to Chrome Extensions. So, this behavior is actually a bug in Chrome. Fortunately, a bug report has already been filed and a fix is coming.
Since I can't wait for a new release of Chrome, I needed to find a fix. Fortunately, it wasn't complicated – by moving the cross-domain ajax requests into the background script (a feature of Chrome Extensions) they were no longer executed under the policy of the Page from Facebook. No functionality is lost, though a little bit of complexity is introduced. I had actually moved away from the background page model a while ago because that is the preferred way to create extensions. So this is a bit of a regression, but hopefully I can undo it once Chrome 24 is widely used.
Whew! So, to summarize:
- Google Chrome implemented an improved security model
- But they kind of messed it up for extensions
- Facebook locked down their resource security by adding headers that affect Chrome
- Social Fixer's attempt to connect back to my site caused an error because of Facebook's new header, and Chrome's improper handling of it.
This was not an easy nut to crack, and the error has been around a while for some users. It wasn't until it became widespread that it became a serious problem, and I had to dedicate a number of hours to figuring out the cause and the fix. Luckily, a work-around was possible.
I hope that helps you understand what this was all about, and I hope it reassures some people that the error was not due to a problem in Social Fixer, but rather a Chrome problem made visible by a Facebook code change.
Install the 7.301 update by going to SocialFixer.com
Fixes In This Release
- Photos in the new album layout didn't show previews when hovering over them.
- The control panel didn't float correctly in cases.
- The detection and counting of new comments to posts which have been marked as read has been fixed and improved
- Auto-expand comments (to avoid the 'see more' link) was broken, causing the page to jerk to the top randomly. This feature has been temporarily disabled until it can be fixed.
Facebook recently decided that it would be cute to automatically convert some text in comments to emoticon images. If you don't like them, here's how to hide them using Social Fixer.
First, make sure that you have the Social Fixer browser add-on installed from http://SocialFixer.com
Once installed, click the wrench icon that appears in the blue header bar, choose "Social Fixer Options", then click on the "Styles (CSS)" tab on the left.
In the big text box on the right, enter this text (or add it at the bottom of existing text if you already have some):
Click Save, then reload your browser. You should see that all the emoticon images have been replaced by their original text version! Easy!
Hope this helps, and please 'Share' this if you think others might like to know this trick!
Install the 7.201 update by going to SocialFixer.com
Fixes In This Release
- Restored the "Select All" button when inviting friends to events. It is now placed at the bottom, near the Save button.
- Fixed the hiding and collapsing of sections in the right column.
- The Tab>Enter fix failed to work correctly when commenting on items from the Ticker pop-out.
- The control panel appeared on top of some drop-down menus.
- Removed the option to hide old (read) comments on posts in the news feed when new ones are found. There is no reliable way to do this anymore.