The DOM viewed as a GUI toolkit might be large and ugly, but on the other hand, it's extremely feature complete. There is very little you can't do with it. It sets the reference for everything else. All things considered, it's also quite easy to use. It doesn't take many lines of code to make it do something. The same can't be said of most native GUI tool kits.