As many of you know, recently we’ve been shipping a set of deliverables that we’ve been calling tentatively “bundles”. Since we first came up with the name, we’ve been having a ton of debates internally(No we don’t have a ton of free time on our hands). I’ve had several lively discussions about this with folks including my boss Shaun, Don, Blaine, and Ed (no longer in p&p) and our customers. The crux of those discussions was not so much about why we chose the name, rather it was more about why we didn’t choose “Application Blocks”. The answer is based on the community feedback that blocks are perceived as too heavy, and too complex. Traditionally what we’ve been calling blocks are libraries that implement a provider pattern, are driven by configuration, etc. Notable examples are the blocks in Enterprise Library, PageFlow application Block, Composite UI application block, and the list goes on. Honestly, I don’t think people love the new name (we know we don’t), but what seems to have resonated well is that its different than the way we were doing things before.
The problem though is the name. I mean at the end of the day, what is a bundle anyway? The idea was that it’s smaller than our traditional deliverables, and you can have many of them. But it doesn’t really go that well with the notion of developing software. Application Blocks on the other hand fit perfectly as representative of the building blocks of your solution. This could be at either the architectural level or at the software component / library level. In actuality when you look at the new things we are calling bundles, they are really Application Blocks in the true sense of the word, rather than in the derived sense that blocks have come to mean.
So where am I going with all of this? Well, what if we decide to give Application Blocks a second chance, and widen their meaning to what their original intent was. This means they are truly building blocks – guidance. They might contain reusable libraries in them…or not. The patterns they contain will certainly be reusable. The point is that you can take the guidance and put it together in meaningful ways in order to form solutions.
Would that work well for you? If not, what name would? Let us know.