SyncFriends is an addon which can synchronize friend list among characters of a given account, server and faction.
Configuration: there are both slash-commands (/sf, /syncfriends), and Ace-ish integration to regular "Interface" configuration window.
This addon will tell in the default chat window when it does something (either touching the synchronization pool or the friend list.
As of writing, this addon is still in experimental & beta state.
I would like to get feedback on it (from functionality, usability and technical points of view), and maybe to see it translated.
Note: Don't forget to enable this addon when you want to test it. You can enable independently automated export (friend list -> sync pool) and automated import (sync pool -> friend list). When it gets out of beta, both options will be enabled by default (ie, if they were never configured).
Searching in wowace, I found none (maybe I didn't search properly).
Asking for existing addons on #wowace someone told me about an existing addon which was IIRC not maintained and he could not get it to work for sync (I can't recall the name right now... composed of 4 non-english words I believe).
So I gave up searching quite early and started coding.
Please enlighten me by giving a list of such addons.
A quick read of FriendsWithBenefits shows SyncFriends
- lacks support for syncing notes
- lets user "pollute" the synchronization data if he removes non-friends or adds invalid friends (non-existent or not of same faction)
- depends on Ace3
- has more lines (so potentially more bugs, more memory and cpu need, although what triggers my code is different so it is hard to really compare)
- lets user see and modify the content of synchronization data (lowers the importance of the "pollution" point above)
- lets the user specify friends *not* to synchronize on all his alts
- is more verbose (each sync action emits a chat message)
- is GPLed (I believe FWB is ARR-licensed)
I believe I'll add the note sync feature soon, by taking great care not to copy code from that addon because of the licence.
Also I think will lower the verbosity in cases where the sync actions are done via config panel (config panel interface is a user feedback itself).
About bugs caused by using more lines: there is no free meal.
I'm opened to ways to reduce code length.
Of course, my statement about bugs directly comes from the approach to bugs & programming languages stating that the more a programming language is verbose to describe a task, the more it will have bugs.
About the rest, I believe that:
- cpu time is cheaper than human time
- ram is cheapest
Update: now it supports note synchronization, with the ability to disable/enable
- per alt
- per alt and friend
so you keep the freedom to have different notes on the same friend.
This introduced incompatible changes in pool layout, but it will be transparently migrated.
Next planned features:
- alts will be displayed differently than friends [DONE]
- when viewing friends (incl. alts), there will be a list of which friend knows which alt [DONE]
Next planned planned fixes:
- automated sync pool cleanup, based on above feature [DONE]
- configuration dialog layout work (esp. check-boxes on option tab) [Requires fixes (in Ace3 ?)]
Those were just from the first three pages of results.
Generally when someone wants to know what makes your new addon different from old addons that have similar descriptions, they're either asking:
- what differences will I see in-game as a normal user of your addon? (i.e. "my addon does X and Y, while existing addons only do one or the other", or "my addon just does Q, while other addons that do Q also do other stuff too")
- ...or a technological explanation of how your addon's code is more efficient, or how you came up with a new solution to the "problem" that is cheaper/faster than the solution used by old addons.
Saying "my addon is better/worse than _____ because my addon has more/less lines of code" has no basis in any fact, either from a programming perspective or from a user functionality perspective, and doesn't answer any question anyone is interested in. :rolleyes:
I'm quite surprised to get so different points of view/knowledge from the forum compared to IRC...
I've been told on IRC the "only" existing friend list addon was AuldLangSyne which "was not maintained", and "could not be made to work" (not exact references, but that was the spirit). As far as I can remember, I first browsed wowace category list expecting for some "social" entry, then searched for "friend list" where no entry caught my eye.
Also, when asking for a code review, on of the two major problems was in terms of line count and its impact on maintainability when/if I loose interest in maintaining it. For completeness, the other problem was that I used automated method generation (configuration accessors) and ACEConfig option tree in a way not originally intended (dynamic entry generation).
I don't know how to "sell" my code... Help appreciated.