The small portion of time I spend maintaining a Facebook app that my company supports is without doubt the most unenjoyable, tedious, soul destroying time I spend on anything.<p>What isn't outright broken is ugly, poorly documented, highly fragile (works one minute then fails, then works again for no reason), unreliable (occasionally major parts of the API just break during upgrades with no notice), full of arbitrary and unexplained constraints (how many invites / notifications / emails etc. you can send all have built in limits per day after which they just stop working) and if nothing else, it's just ugly as all hell. Layering FBML on top of HTML and then trying to work with FBJS is a hellish way to construct a UI.