Forgotten files are a pain in the ass

Saturday, March 10. 2007
Damn, I seem to have forgotten to upload some new files necessary for the load-on-demand database. All the people who have updated their MobMap installation in the last 6 hours using the MobMapUpdater will probably have a broken installation now (the missing files were included in the 1.10 installer package and the zip file for manual download, so this only affects those who tried to update using the updater).

I just uploaded those missing files and created MobMap v1.11 - there is nothing new in this version, I just had to increment the version number so all the people who got the broken 1.10 version via the MobMapUpdater will be able to download the brand-new, now-including-all-files-version 1.11. I'm sorry for this mistake.

MobMap v1.10 is out!

Saturday, March 10. 2007
MobMap v1.10 has just been rolled out. This version brings several tiny improvements (options panel in MobMap, MobMap button on world map is now movable to the other side, MobMap position "dots" have their own transparency now) and a bigger change: the database has been split into 4 files which are now dynamically loaded in WoW as soon as the user accesses MobMap (position database) or a specific subsection of MobMap (quest/merchant/recipe database). This greatly reduces the time needed to load the addon when entering the WoW world and keeps memory usage down to a minimum.

The possibility to exclude certain parts of the database from the download has been removed because with this new load-on-demand system in place it isn't necessary anymore. If someone doesn't ever use the quest database for example, this database will never be loaded and will thus never occupy any memory. But the advantage of the new system over the old one is: If this user decides to use the quest database at some point, the database will be available.

I hope the transition from 1.0 to 1.10 is as smooth as possible. Because 1.10 and the new database subdivision brings a new MobMapUpdater and a new database format you will have to update the addon, the MobMapUpdater (if installed) and your local database copy all at once!

Some thoughts concerning database size

Friday, March 9. 2007
At the moment, 11k mobs and NPCs do take less than 3 Megabytes of WoW addon memory. I don't expect this to grow too much over time because there is only a limited number of unique mobs in the game and because with a growing number of people uploading data I expect to be able to filter out many "scattered positions" for many stationary NPCs at some point in the future = reduced database size.

The growing number of quests, merchants and recipes will however lead to a bigger database (my calculations point to something around 5 or 6 megabytes with 5k quests, 2k merchants and 1.8k recipes which should cover nearly all existing quests, merchants and recipes in the WoW world). That's the reason why it is already possible to exclude this data from your local database copy.

Loading time of course is an issue. At the moment MobMap with the current german database (containing 11k mobs, 1.4k quests, 500 merchants and 1k recipes) takes 0.8 seconds (and 3.7 megabytes of memory) to load at startup on my machine which is quite a lot. That's why I am already experimenting with a Load-On-Demand database. It's not hard to implement and gets the initial loading time for MobMap down to 0.15 seconds (using 550kbytes). Loading the database at first use then takes another 0.55 seconds (and 3 megabytes of memory).

But when thinking about Load-On-Demand, I might just go a step further and split the database into 4 files (positions, quests, merchants and recipes) which are loaded on-demand whenever the user accesses the specific part of MobMap. This however would require some severe changes in the data processing backend as well as the distribution system (= MobMapUpdater database download mechanism), but I think the changes would definitely pay off in the future, so this is what I'm going to implement.