Removing icon positioning options

Firefox 4.0 got rid of the status bar and replaced it with a new fully customizable toolbar called the add-on bar. Flagfox 4.1 will have its icon positioned on the right side of the location bar (the current default) and the options to move the icon will be removed as the alternate location is now gone.

The long story: Flagfox 3.3 and 4.0 can be configured via their options dialog to place the Flagfox icon in various positions in the status bar, however for Firefox 4.0 that obviously goes away with the removal of the status bar. There’s currently a shim/hack “status-bar” ID widget in the add-on bar that allows for an odd backwards compatibility attempt but this will eventually be removed at some unknown time and I don’t want to rely on this explicitly transient hack. (I don’t even agree with Mozilla’s reasoning to put this hack in there in the first place) The positioning options I currently have don’t even work with it fully as it’s only in one spot, thus I can only position the flag to the left or right of other things in this shim and not anywhere in the full bottom toolbar. To do that, I’d need to add full add-on bar support. However, it’s hidden by default and now has a built-in close button and will have a keyboard shortcut to show and hide it, so it’s being designed to be a repository of add-on widgets that you don’t need on screen at all times in order to save screen real-estate.

To add add-on bar support things would get a bit complex. I was initially considering a new way to position the icon via drag & drop, but that turned out to be way more problematic that it would be worth. I’d still be supporting Firefox 3.5/3.6 and SeaMonkey, which both still have the status bar and no add-on bar, so I’d have to detect things and handle the new more free-form positioning in any part of the 2 out of 3 possible areas. This would turn the already more complex than necessary dynamic icon positioning code into a more complex endeavor. The size of the flag icon is also not really large enough to be placed in the add-on bar and look decent in comparison to the other icons around it, as the add-on bar is now bigger than the status bar. Adding support is of course possible, however after some thought it all seems rather pointless. I don’t really have the time to write all of what would be needed and it wouldn’t really be worth my time to do so.

The flag icon fundamentally belongs in the location bar. The icon gives the physical location of the address in the location bar and as such belongs next to it. As a result of the changes for Firefox 4.0 I’m dropping all positioning customization in favor of simply having it in the most logical location for everyone.

The positioning options are essentially a vestigial structure. Once upon a time, Flagfox 1 & 2 were simply positioned somewhere on the right of the status bar. Other extensions did this too, and when I took over for Flagfox 3 and rewrote things to bring the performance problems under control I also added a few new features. One of the new features I added right away was the option to move the icon around in the status bar as some users had requested this to be able to move the icon to a position that worked better with their other extensions installed down there. For Flagfox 3.3 I moved the default position up to the address bar which turned out to be a much better location, as stated above. I updated the positioning options to allow people set in their ways to go back and even allowed moving the icon around inside the address bar. That being said, these additional position options were fairly useless, just easy to implement with the existing system. Nobody needs to have the flag on the right of the star button instead of the left, and moving the icon to the far left put it out of place a bit and wasn’t supported by all applications, thus complicating the code that handles all this.

With dropping support for these old position options I greatly simplify the code involved here by getting rid of the already complicated dynamic positioning function that would have to get way more complicated if I were to support the add-on bar. Instead, it’s just a normal overlay icon. This will also greatly reduce the potential for another add-on doing something stupid and breaking things as has happened in the past. Simple == better.

Note that this is not to say that I will never use the new add-on bar, just that the main Flagfox icon doesn’t really need to go into it.

For those few who will actually be affected by this change, please don’t be rude. I had my fair share of rude feedback when I just moved the icon up to the address bar by default even when I still let you move it back. It’s just me doing this extension as a hobby in what little time I make for it so I ask that you please be respectful and not complain about something that’s not all too important like it’s the end of the world. This vast bulk of the now 1.5 million Flagfox users won’t even notice or care. For those few that do, sorry, but please read the above and understand that I’m removing an old minor transitional feature that whilst you might use you don’t really need anymore.

P.S.
To the handful of SeaMonkey users who moved the icon down to the status bar to work around a bug causing the Flagfox menu to usurp the plain history drop-down when clicking the down arrow, this SeaMonkey bug has finally been fixed for SeaMonkey 2.0.12 and 2.1. Once you get the SeaMonkey update the problem should be fixed for all affected Flagfox versions, old and new.

Update 1: What did I say about rude comments? WordPress has approval required on by default for comments so I’m not going to bother showing and arguing with aggressive or passive-aggressive comments.

Update 2: If you don’t like the fact that hovering over a link in Firefox 4 causes the destination URL in the address bar to hide the flag icon, that’s not going to be a problem soon. It seems they’re getting rid of the hover link feature in favor of a popup box in the lower left corner. They already recently implemented this for status text (e.g. connecting to X…, waiting on Y…).

Update 3: There’s been a bunch of comments posted seemingly accepting of the change, just ranting against Mozilla for removing the status bar in the first place. I don’t care if you’re one of the curmudgeons Firefox gets every major version who rants and raves that they’ll never update to the new version because of a few new changes they don’t like. This isn’t a blog post about that and I don’t need your rude comments about that here either.

Advertisements

25 Comments

  1. RobertJ

    I’m VERY HAPPY with this add-on and don’t mind the shift in the icon location; although, it did throw me for a bit of a loop initially.

    Does 4.1B1 have the January IP info from http://www.maxmind.com/app/geolitecountry ?

    Also are you aware of this add-on that adds the status bar back?

    Status-4-Evar

    (https://addons.mozilla.org/en-US/firefox/addon/status-4-evar/)

    • Yes, Flagfox 4.1b1 has the current January 2011 IPDB update. I’ll amend the list in its blog post to mention it.

      In regards to the Status-4-Evar addon, yes, I’m aware of it. However, it is going to be used by a very small number of people, an even smaller number than will eventually stay with Firefox 3.x for a while or use SeaMonkey. Flagfox 4.1 is being written for the main user-base and even for those who will still have a status bar one way or another, the main logic still stands: the Flagfox location indicator icon belongs in the location bar.

      If I had all the time in the world I might’ve considered coding for every possible configuration, but I don’t and decided to make a judgement call to pick the best route that makes the most sense. It simplifies things and I think it makes things better. Plus, it’s also always nice to be able to delete large hunks of code that have spit errors at a few users in the past. 😉

  2. nonW00t

    BOO!!! I need the flag icon on the left, as I hate how links obscure the flag display when moving the mouse around a page! Oh well. 😦

    • Well, once the status bar positioning options are gone, all that’s left is the option to move the flag to the other side of the star, which was utterly useless, and the option to move the flag to the far left side of the address bar. That’s not exactly the most useful of options and I’m not going to leave in the dynamic positioning code and rework the options dialog just for that one rarely used option.

      With respect to your point of the new hover link obscuring the flag, I’m fine with it like that. You can’t click on the flag while you’re hovering somewhere else so the only thing that’s lost is visibility, which you get back when you stop hovering. Personally, I’d rather have more space to see as much of the destination URL as possible so I’d rather have Flagfox out of the way for this.

    • RobertJ

      @nonW00t, You can use this add-on Status-4-Evar

      (https://addons.mozilla.org/en-US/firefox/addon/status-4-evar/)

      to put the status bar back and move the link address back to the left in the restored status bar.

    • It appears that the hover link feature is getting fully scrapped for Firefox 4 and will be replaced with a bubble floating in the lower left corner with the link URL like the new status text bubble that was added very recently. So, it looks like the minor complaint that the hover link can potentially cover up the flag icon is going away.

  3. momus

    Did you mull over button? Like has adblock or noscript. Which would have the flag icon and after click the menu would show up. Positioning problem would disappear, because firefox would deal with it. The button can be placed anywhere (in addon bar, on the left of url bar, etc…).

    PS. Sorry if I wrote something unintelligible, but the 26 hours have not seen my bed

    • Yes, I considered going the toolbar button route. It would allow placement in the addon bar or any toolbar. (not alternate places in the address bar, however; it doesn’t let you, for example, drop the new RSS button back into the address bar) I noted above that this isn’t necessarily a good route as these toolbars are bigger and the flag icon size isn’t really big enough for a full size toolbar with large icon mode on (as is default). And again, the location indicator belongs in the location bar.

  4. SeaMonkey 2.1 beta nightlies (and, presumably, Sm 2.1 “final” when it comes out) still have the “old-style” status bar.

    Alas for people like me, who moved the Flagfox icon to the status bar, and then didn’t find out about the conflict with the history drop-down until it was mentioned to them. Even now that that bug is fixed, I would keep the flag in the bottom-right corner if I could.

    • Flagfox has “fox” right in the name. Even though SeaMonkey is supported, Flagfox’s primary user base is Firefox users and Flagfox 4.1 is designed for Firefox 4.0. Yes, I know I removed something that could be used by some Firefox 3.x and SeaMonkey users who continue to have a full status bar, but I don’t want to special case these user groups which will be a small minority once Firefox 4.0 is fully released and most people have updated. Even within the small group that could use the options, very few will do so, and as a result I would be maintaining code for a very small and dwindling niche. I know people get used to things where they were, but I honestly think it’s better to have the flag always in the most logical location consistently for everyone.

      The two legitimate needs for repositioning are being fixed:
      1) SeaMonkey history drop-down bug
      2) Firefox hover link being replaced with status bubble

      After that, it’s just a matter of prior preference, not need. If I never had alternate positioning options I don’t think many people would have really clamored for them in comparison to the complaints I’m getting now and will continue to get.

      I also get a few extra benefits by removing the options:
      1) Simplified code: I don’t have to run dynamic icon positioning on startup
      2) Simplified options dialog: these options have confused plenty of people
      3) Simplified maintenance and testing: along with dropped Gecko 1.9.0 support, this removes more code that I will no longer have to worry about maintaining or breaking in some future version or in conjunction with some iffy extension or theme

      As time goes on, you also have to admit, the status bar is a dying concept. SeaMonkey might even replace its own with bubbles at some point in the future too.

      By the way, Flagfox 4.0.x isn’t magically going to vanish overnight. In fact, if Mozilla ever fixes the bug that prevents browsers from updating to the latest supported version even if the newest version doesn’t support them, then I may actually continue to release minor updates to Flagfox 4.0.x for the still too large Firefox 3.0 Flagfox user population of around 28 thousand as Flagfox 4.1 dropped support for them.

  5. John Polk

    I have been using Flagfox for several years now. I use the default settings, and find no reason to change them. To me, it is a handy add-on ‘as-is’. For a long time I was reluctant to add new Firefox updates, as each time I did I was told that Flagfox was not compatible with the latest version. Lately, with each update of FF, it seems that Flagfox is ready for it. Thank you, and keep up the good work..

  6. emteec

    A very clear & informative post. Thanks for the update.

  7. Andrew

    Just a quick suggestion for the next release: maybe have it load this post just to avoid the confusion caused. I initially thought one of my other extensions was playing games.

    I also get to explain all of this to my parents after they upgrade and want to know where the “little flag” went… 🙂

    • Already too late for that, though I don’t really disagree with your point. Unfortunately, it’s not as simple a thing as you think because the majority of Flagfox users are not English speaking, at least not natively. I initially wanted to have a first run page like I did for 4.0 that would list major new things, including this change, but it would’ve added a lot of text to be translated into three dozen languages and I barely had the time to get what already needed updating done by everyone in time for the Firefox 4.0 release. Localization is done by busy volunteers and some finish fast, but if I added another short page of text it could’ve added another 2 or 3 or more weeks of waiting before I could release Flagfox 4.1.0. It had to get out before Firefox 4.0 and a first run page wasn’t crucial, so it got cut. The full changelog is viewable before updating from the Addon Manager in Firefox 3.6 and after auto-updating in the Addon Manager in Firefox 4.0, and it does mention this, but sadly nobody seems to read the thing…

  8. DM

    OMG the world is going to End! (sorry couldn’t resist)

    *adds to list of FF4 annoyances

  9. Phred

    Any chance of putting a convenient link to Flagfox 4.0.x somewhere on the front page for those of us old farts who have read all of the above and would still prefer to use the older version as long as Firefox will let us? Or is it there already and I just missed it?

    • At the top of the developer comments on the Mozilla Add-ons Flagfox page I’ve listed both Flagfox 4.1.x and Flagfox 4.0.x with links and their supported applications since I’ve had the alpha versions of 4.1 available. You can also just view the all versions page by clicking the link at the bottom of that page. That’s also linked to from the menu up top here. If you think also having a direct link here on the blog would be helpful for now, sure, I just edited the “Download” section in the upper-right and added 4.0.14 under 4.1.0 for you. I’ll leave that up there for anyone who wants it for at least another month or two. You’ll always be able to download it or any old stable version from the all versions page, as usual.

      • Phred

        Thanks, Dave, and thanks for your work on this extension.

        I hope I’m not pushing my luck too much by asking one more question: will the Flagfox 4.0.x series still receive new IP database updates? What’s actually in those updates, anyway?

        Oops, I guess that’s two questions. Sorry!

        • As I said in my reply to Tony Mechelynck above, maybe. Until recently it was actually impossible to post even an update just for Firefox 3.0 users, but fortunately that AMO bug was fixed. That being the case, I may post a 4.0.15 at some point, however it would only be updateable to from Firefox 3.0 because all other versions would see the newer 4.1.x version as their update. The system doesn’t allow for two separate stable update channels. The only secondary channel that’s possible is for development versions only, thus anyone who wanted to stay on 4.0.x but continue to use Firefox 3.5/3.6 or SeaMonkey 2.0 would have to install the update manually.

          As to what’s in the IPDB updates, it’s the location information Flagfox uses to know what country what site is in based on its IP. The data comes from Maxmind and I compile it into a custom format for use in Flagfox. Seeing as the Internet isn’t exactly a static thing, each month there are updates to this with new IPs and changes to old ones. Eventually after months of not updating the results Flagfox shows will be less likely to be accurate and over time many flags will be wrong. The lookups are done internally this way to make it faster and because doing it via a remote server lookup would make it essentially spyware (which there are a few extensions that do… read all privacy policies before installing addons!).

          • Phred

            I know it would mean extra work, but would it perhaps be worthwhile to fork the project? You could rename the 4.0.x line as “Flagfox Classic” or some such thing, and clone a new project for the 4.1 and newer versions. That way, Mozilla’s update system wouldn’t get the two confused.

  10. isdochegal

    thx for pointing out the wrong address bar behaviour (dropdown) in Seamonkey 2.0.11 has nothing to do with Flagfox 4.1 but is actually a bug in Seamonkey …

    it is good to know I can update Flagfox again in the future 😉

    I don’t complain about the position of the Flagfox Icon, I just like to use the dropdown history the same way as I have used it always since using the Mozilla Suite/Seamonkey …

    Sorry if my former comment sounded rude or unpolite, I didn’t know about the Seamonkey bug 😉

  11. izazueta

    Hello, this is a great addon and I loved the position at left in the adress bar, because at the right I have other icons, but I will survive with the new default position.

    Thanks for this great extension.

  12. RobertJ

    Dave, FWIW I think the effort involved in maintaining two branches is not warranted. If someone wants to stay with older versions of FF they should not be adverse to updating Flagfox manually once a month. I personally use the database from maxmind once a month to generate outbound blocked IP ranges to places in the world that don’t have a good reputation.

    This is a great add-on and you should put what time you have to supporting the current FF version. I’ve seen too many add-on developers drop support because of the effort involved.

    Thank you very much for all your effort.

    • @Phred & RobertJ: Yeah, I’m definitely not going to maintain two separate branches. That’s just not going to happen.

      If I do post a version 4.0.15, it would be next month and I would not be backporting any fixes or locale updates. All it would include would be the updated IPv4 database. Its format hasn’t needed changing since Flagfox 3.1 so I can just dump it in and it’ll work fine. (though it used to be named db.dat, and now there’s an ip4.db & ip6.db for IPv4 & IPv6, respectively) Flagfox 4.0.15 will not have IPv6 support though, as all the code for that is in 4.1.

    • Correction: I’m definitely not going to maintain three separate branches. I already do two at a time when I’m using the beta/development channel as I did with 4.0 and 4.1 and I will again with 4.2 eventually. Though, I generally backport very little between branches.

      Also, please, nobody think it’s a good idea to try and upload a fork just because you want to cling to an old positioning option. It’s not only stupid, but uploading forks to Mozilla Add-ons is explicitly against the Flagfox license. (though I don’t care what you do for personal use) Flagfox is open source and I do encourage people to reuse chunks of code if they want to, with very little restriction, but I did make a point to retain the right to not allow forks on Mozilla’s Addons site. Nobody has tried this yet, though every once in a while someone who is impressed that they can add the about dialog to the context menu for no reason emails me a “mod” and I do see altered version numbers in the stats logs. I just really want to avoid the havoc of letting everyone who thinks they’re a programmer upload junk that would just confuse people.