View Single Post
08-10-09, 03:57 PM   #16
Tristanian
Andúril
Premium Member
AddOn Author - Click to view addons
Join Date: Nov 2007
Posts: 279
Having kinda "taken over" Titan, since November 2006 (unofficially) when Adsertor suddenly vanished into thin air (it was an obvious mistake to attempt to fix the addon at that point and even more publish those fixes heh), I'm probably biased, so I will make a most honest attempt to stay somewhat "neutral".

The way I see it, it's really pretty simple. FuBar was spawned because at that time, Titan was becoming stale and didn't do things developers wanted, it was highly inefficient in both terms of memory and CPU (especially CPU, you really should have seen my first profiling test, it was like 33ms of CPU/sec, the addon had 2 OnUpdates running code all the time that never really needed to run - among other things) and sadly its developers did not show any signs of caring to (at the very least) try to improve the quality of the addon. It took me about 2 months of "reading" the code, to simply understand parts of it (I had no idea what lua was before that) and about a year of constant updates, to bring it down to the level of performance I would personally consider as good and acceptable (but still long way from perfect). If I did not have a full time job plus other matters to attend to, I would have done a proper rewrite (though truth be told, the current version of the code is about 70% different than its incarnation back in the day). To be perfectly honest here, had I not implement LDB support back in the days of the LK beta, the addon would have probably died out (or close to it anyway).

FuBar gave people but moreso devs what they wanted. An Ace2 addon, that was way more lightweight, modular (with the support of FuBarPlugin-2.0 and later on LFP-3.0), had optional support for custom dropdown menus (DewDrop) and detachable tooltips (Tablet), had a whole different design that could be extended and a framework that was actively maintained. Ckknight really hit the jackpot with that one and is one of the people I have the utmost respect for. Until he switched the framework over to Rock (which wasn't at all bad actually and had some great potential) due to "politics" and finally abandoning super active development, when he signed on with Curse. That's when basically FuBar went on "life support" and remained alive to this day, because of the efforts of some really talented people out there.

LDB came about because FuBar, after (let's face it) becoming dominant in itself, never really satisfied what people wanted. What people wanted besides all the "revolutionary" things, design wise, was freedom of choice. You see, in essence, both Titan and FuBar made the mistake of trying to indirectly (and I'd say unwittingly) "force" a standard. Titan started this with its harddeped plugins and FuBar followed suit, but with a small difference. You could still use (some of) the plugins as minimap buttons, essentially creating the so-called "minimap herpes" effect.

But users really wanted to be able to use plugin X, in whatever display suited their needs. With LDB that transition to a new display can be done without rewriting every plugin out there. Hell, someone can even write something entirely new ("spec" wise) and still retain backwards compatibility, if he so wishes to.

But enough of history As far as I'm concerned, FuBar was and still is, a more "complete" addon, feature wise (yes, you are hearing this from the current dev/maintainer of Titan ). Titan will always be however, my very first "love", the addon that simply worked for me without being overly complicated and did exactly what I wanted and nothing more. In the LDB bar addon "front", if I really had to choose something, I would probably choose among DockingStation, ChocolateBar or Ninjapanel, with DS probably being my number one choice.

Originally Posted by spiel2001
Yeah... basically, I've been hoping someone familiar with how the LDB system works could set up top and bottom bars for nUI that would allow LDB addons to display in nUI like they would on other bar addons without having to install the bar addons themselves.
Heh, in all honesty Scott, if I had the time, I'd look into it. The most "difficult" part is really setting up the way most common specs (such as data sources and launchers) are handled in terms of attributes being properly recognized and registered, callbacks fired and setting up the appropriate script handlers for each plugin. If you decide at some point to give it a shot and I'm still around, give me a buzz. I'll be happy to give some pointers, even code, if I can afford it

Originally Posted by Xrystal
Well, I can have a look at how titan bar works but I suspect most of the functionality are in the ACE libraries which even I don't use in my addons if I can avoid it
No, not really. Titan uses only a fragment of the Ace3 framework (remember Ace is not an acronym ) for very specific tasks, such as easy to implement configuration menus, hooking without breaking stuff, timed updates/autohiding and of course easy localization. The actual bar frames and the button frames that represent the plugins have a specific template, which really makes it trivial to support implementations such as that of LibDataBroker. You can seriously code an LDB plugin by simply looking at other people's code, within minutes (whether it will work as intended is an entirely different discussion of course ), for a display its more complicated because you have to take several things into consideration and first and foremost, decide exactly what you want to do with it and what kind of functionality and/or other existing addons, you want to support.
__________________
  Reply With Quote