Dear Facebook: You Are Not Reddit. Here Are Three Reasons Why Your Comment Reordering Is Terrible!


Share on Facebook

imageReddit-wannabe” Facebook recently made two changes to how comments are handled on popular Pages and individual profiles with more than 10,000 fans. The reply feature is not bad, but the reordering of comments is terrible.

The two changes are:

1. A “Reply” link has been added to comments. When you reply, your comment is added in a sub-thread under the original comment. When viewing the whole comment thread, these sub-comments are collapsed and not visible until you click to expand them.

2. First-level comments are no longer in chronological order, with the newest comments on the bottom. Instead, they are ranked by some secret algorithm that factors in how many likes the comment has, if it is by your friend, if you’ve replied to the comment, and other measures that we aren’t told. The theory is that the comments you are most interested in will be at the top.

I recently made my first post after enabling this feature, and I actually got to see it in action and use it: https://www.facebook.com/photo.php?fbid=10151421606609342

Here is what I’ve noticed, and why this new system is terrible:

  1. It’s impossible to check for new comments
    As a Page owner, I keep a tab open with my recent post in it, and I refresh it often to see new comments that have been added. This is no longer possible, since comments may appear anywhere in the list. This is the worst problem. Instead of helping me manage the conversation and reply to users, I have now completely lost the ability to do so.
  2. Collapsed comments take too many clicks
    Now with replies, I have to click a lot of places just to see all the comments. This is not convenient at all, compared to before when I could just scroll down to make sure I saw everything.
  3. New replies will go unnoticed
    Before, new replies to previous comments would appear at the bottom. Now they are hidden under an ‘expand’ link, and there is no way for me to know if there are new comments in the reply thread. I have to expand each one and try to remember how many replies it had last time. Totally unmanageable.

Is it me, or does it seem like Facebook has some kind of hatred for all things chronological? It wants to sort our news feed by what it thinks is most important, and now it wants to do the same for comments.

Very bad change, Facebook. Terrible. Please change it back, or give Page owners the option of keeping the threaded comments, but leaving everything in chronological order. Otherwise, you are going to kill a lot of interaction.

-- Matt Kruse, developer of Social Fixer

Posted in Featured | Comments Off

Privacy Check: See What The Public Sees When They View Your Profile!


Share on Facebook

facebook_key[1]Facebook is a great site to share life’s moments with family and friends, but how much of your personal/private information are you exposing to the world? Find out in one click with this official Facebook link:

https://www.facebook.com/me?viewas=100000686899395

This is a link to Facebook’s own feature that shows you what your Timeline looks like to the Public - that is, anyone with a Facebook account. If you don't like what you see, you better dive into your privacy settings!

Also, take a look at the top - you can view your Timeline as anyone.

2998607679[1]

Wondering what your mom, ex-boyfriend, or boss sees when they look at your page? Take a peek as them to make sure you aren't exposing more than you think you are.

Want to learn more about your privacy settings? Here are some links that might help:

How to Lockdown Your Facebook Account For Maximum Privacy and Security | facecrooks.com

How to Check Your Facebook Privacy Settings | TIME.com

5 Facebook privacy settings you need to check now

Now's a really good time to update these Facebook privacy settings | How To – CNET

Hope this helps!

-- Matt Kruse, developer of Social Fixer

Posted in Featured | Comments Off

3 Reasons Why I Would Be Willing To Pay For Facebook


Share on Facebook

facebook-money[1]

Facebook has said that it is “free and always will be.” But nothing is ever free – we’re just paying for Facebook in other ways. Here are three reasons why I would be willing to pay a subscription fee.

First, you must acknowledge that we already pay for Facebook in other ways. We have to view ads, we give up some of our personal information and privacy to them, we spend extra time sorting through a feed filled with sponsored stories and recommended apps. We pay little bits at a time, in the currency of time, privacy, and distraction.

298949_2429773344821_1266220355_2933810_1239581235_n[1]

And that’s fine. That’s one model, and it certainly works. If it’s a fun little service that you use sometimes, balancing that by viewing some ads and telling Facebook about yourself doesn’t seem like that bad of a deal. They have to pay all those developers and run all those servers somehow. An immensely huge and complex site like Facebook doesn’t exist just to be nice. It doesn’t work that way. Ever.

But many of us use Facebook for much more than just an occasional visit. We run businesses, coordinate groups, market our brands, communicate with family, and keep in touch with friends around the globe. I pay for my cell phone, cable tv, stamps to mail letters, Tivo service, and even a few dollars to play the song I want on the digital jukebox. Shouldn’t I be willing to pay for a service I use regularly?

The Three Reasons I’d Be Willing To Pay

1. Goodbye Advertising

If I could get rid of all the ads, all the sponsored stories, all the suggested apps, all the hints of pages I might like, in exchange for a subscription fee to offset the money they would earn from showing me those ads, I would do it. I would appreciate a clean site without distractions. I’m annoyed at always having something trying to be sold to me. (Even though Social Fixer hides these things on my desktop, I still see them on mobile!)

2. User Happiness Would Become Priority #1

Right now, Facebook is focused on creating new features and functionality that maximizes their appeal to advertisers and other markets. Much of what they introduce is marketed to us users and something for our benefit, but in reality it’s because it enables better tracking of data about us to sell to marketers, or it lets them display more ads to us, or it keeps us on the site longer so we see more ads.

If we paid for our service, they would focus primarily on what we want, to keep us here and paying! True, they have an interest in making us happy now, because if we leave they will lose advertising money. But they only care about making us just happy enough so we don’t leave. They don’t really have to cater to us. Just don’t annoy us enough that we quit. Wouldn’t it be great if they were working hard to give users what we really want, to keep us there and paying our subscription fee?

3. Enhanced Features

If a Facebook subscriptions had multiple levels, I could choose the level at which I’m willing to pay for the services I need. If there is a premium package that gives me more ability to customize my experience, and more advanced “power user” features, I would consider paying a higher fee. I run a Page with over 300,000 followers, so I recognize that my needs may be very different than a casual user who logs in once a week. If a higher subscription fee could be used to focus a portion of development on features that a smaller segment of users would find useful, rather than always catering to the masses, that would be worth it to me.

Would You Pay?

So, what do you think? Would you be willing to pay for Facebook? If so, how much? In exchange for what?

What are your thoughts? Share them in comments on the Social Fixer Page on Facebook!

-- Matt Kruse, developer of Social Fixer

Posted in Featured | Comments Off

How To Sync Your Browser, Social Fixer Settings, And Apps Everywhere You Go [Windows]


Share on Facebook

fbsyncI hear this often: Can you make it so my Social Fixer settings and posts marked as read are synchronized between my work computer and my home computer? The answer is YES… but with some caveats. But along the way, you might learn a cool new trick to take your apps with you wherever you go…

Why Doesn’t Social Fixer Sync Automatically?

The short answer is because it’s complicated. Some browsers like Chrome have preference syncing built-in, but I don’t take advantage of it because there are limitations as to how often an extension can sync and how much data it can send. Social Fixer updates its internal configuration with every “Mark Read” you do, or comment you post. I just can’t use the built-in functionality because Social Fixer would be too “chatty” with the sync servers.

I could build syncing into the app itself, and I’ve thought about doing that many times. But it’s very complicated, and starts to involve storing user preferences and settings on my server to sync with, which opens security and privacy concerns, and it’s turtles all the way down. It turns into a much bigger mess than you might imagine. So, although I want to do this at some point, right now I just can’t focus on it.

So How Can I Sync My Stuff?

The short answer: PortableApps + Dropbox

What is PortableApps?

linux-portable-apps[1] PortableApps.com is a site dedicated to providing software that can be run without being installed on a machine. So you put some files in a directory (or on a USB memory stick, for example) and run it directly from there.

You can get PortableApps versions of Firefox and Chrome, among many other apps. I use Firefox and Chrome for my personal use, as well as developing and testing Social Fixer. I use the PortableApps version because if I ever have to run it somewhere else, or if I ever have to entirely change computers (again), I just pick up that directory and move it somewhere else, and I’m back in business. All my settings, history, extensions, etc. all come with me because they all live in the directory where my app lives.

But now that you have your browser and all of its settings running from a single stand-alone directory, how can you easily transfer that from work to home, and home to work? Well, I tried USB drives but they are just too slow for me. So I found… Dropbox.

What Is Dropbox?

dropbox-logo[1]If you’ve never heard of it (really?), Dropbox a storage site that just stores things for you in the cloud. You run a program on your computer (or mobile device) and it watches a directory. Any time files are changed in that directory, it uploads them to your online storage. Any time files are changed in storage from somewhere else, they automatically download to your computer. It’s simple, transparent synchronization of files between multiple locations.

PortableApps + Dropbox

The key here is to run all your PortableApps (including your browsers and other software) from within the Dropbox directory itself. Now, whenever you run Firefox, for example, and run Social Fixer, its settings will all be stored in the Firefox Portable directory, which lives within your Dropbox directory.

Since files have changed, Dropbox automatically detects that and uploads the changes to the server. If you’re at work and your computer at home is on, it will detect this change and automatically download the changed file and update it.

When you get home from work, your home computer will have been automatically updated with every change you made at work. Not just Social Fixer settings, but any tabs you had open, browsing history, etc. It’s as if you never even left work!

Run Everything From Your Dropbox Folder!

I’ve moved to running almost all of my apps from my Dropbox folder. It’s very convenient, and there are a lot of apps available. I even have all of my Social Fixer code and build scripts in there, so I can get access to them from anywhere. I’m still working on making my packaging scripts work from the portable versions of browsers, so I can even do a full build and package process entirely from my Dropbox folders. Very convenient!

I also use Radian, a great circle-dock launcher for Windows. I have all the paths set to my Dropbox folder apps, so I can even start that on any computer and have quick access to all of my portable apps.

Tip: Pause Syncing

One thing I’ve noticed is that while running Firefox from my Dropbox folder, it generates a lot of traffic. Because Firefox changes its internal files so often as you browse (constantly keeping track of your tabs, etc.), Dropbox will constantly being trying to sync the files.

To avoid this, I “pause syncing” from the Dropbox menu when I begin using one computer. When I’m done, I close Firefox and my other portable apps, then “Resume syncing” and all of the changed files get sent up to Dropbox. This works well, and avoids a lot of unnecessary sync traffic.

Conclusion

By using Dropbox + PortableApps, I’m able to take my full browser experience with me wherever I go, including all my Social Fixer settings. Not only that, but I also get all of my personal files, source code, build scripts, etc. And I can even access the files from my phone if I ever need to. It works great!

-- Matt Kruse, author of Social Fixer

Posted in Featured | Comments Off

It’s Okay to Hide Takei! Or: How to filter re-shares on Facebook


Share on Facebook

takei

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…

image

(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.
or
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!

imageKeep 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!

Questions? Comments?

Visit our Support Forum on Facebook! http://SocialFixer.com/support/

-- Matt Kruse, developer of Social Fixer

Posted in Featured | Comments Off

What’s New In Social Fixer 7.5


Share on Facebook

logo_detailed_1286_thumb_thumbThis long-awaited update fixes many bugs (including Chat!), makes a few changes, and adds some new functionality.

Install the 7.501 update by going to SocialFixer.com

What's New

  • imageNew 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

What's Fixed

  • 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

What's Changed

  • 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.

What's Removed

  • Removed a number of options which were obsolete because of Facebook changes

Questions? Problems? Need Support?

The Support Team and the Social Fixer user community can help you out in the Social Fixer Support Group, located here: http://SocialFixer.com/support/

I hope this release works well for you and resolves many of the known problems!

-- Matt Kruse, author of Social Fixer

Posted in Release Notes | Comments Off

Why I Do Not Monetize Social Fixer or: How I Learned to Stop Worrying and Love the Donation


Share on Facebook

m_2012_250

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.
-- Matt

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 believe that a donation-based model allows creative developers to build software that is focused on users and great functionality, while still being rewarded for their effort."

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!)
Flattr this  
Snail Mail:
Matt Kruse
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!

family_2012I'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. Smile

-- Matt Kruse, author of Social Fixer

How To Contribute

 
(Use your existing Amazon account)
(Use any Credit Card - No account required!)
Flattr this  
Snail Mail:
Matt Kruse
PO Box 165
Hampton, IL 61256
 
Posted in Featured | Comments Off

You Can’t Hide Anymore – and other FB Privacy Changes!


Share on Facebook

imageFacebook 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.

In changes that have been written about on Mashable, Reuters, and the New York Times, Facebook is once again tweaking its privacy controls. Here's a summary of changes:

  • 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:
    bits-fbprivacy-tmagArticle[1]
  • 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.

-- Matt Kruse, author of Social Fixer

Posted in Featured | Comments Off

Why Won’t Chrome Update My Social Fixer Extension?!


Share on Facebook

Google_Chrome_Extensions-300x300

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:
image
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:

image

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:

image

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.

In Conclusion…

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!

-- Matt Kruse, author of Social Fixer

Posted in Featured | Comments Off

Update: Social Fixer 7.321 Resolves Browser Errors!


Share on Facebook

logo_detailed_1286_thumb_thumbDue 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.

-- Matt Kruse, author of Social Fixer

Posted in Release Notes | Comments Off