1. A method for enhancing software products, the method comprising: operating an integrated development environment (IDE) on a host computer, the IDE having a plurality of IDE views, the plurality of IDE views accessible by a user via a user interface of a software product running on the host computer, the software product accessible by end users over a computer network, the plurality of IDE views comprising a first IDE view; receiving, via the user interface of the software product running on the host computer, an indication from the user to customize the first IDE view; responsive to the indication from the user to customize the first IDE view, displaying a set of custom components on the user interface of the software product running on the host computer, the set of custom components registered in a data store, the data store comprising assemblies installed on the host computer to be shared among software products on the host computer; and responsive to the user selecting and confirming a first custom component from the set of custom components displayed on the user interface of the software product, adding a menu item to the first IDE view, the menu item corresponding to the first custom component, the first custom component accessible by the end users of the software product over the computer network via the menu item added to the first IDE view.