I've had several conversations with customers lately about creating some type of gadget gallery for their intranet, something that will allow users to create their own widgets that can be reused by others within the organization. Folks are familiar with creating web parts using C#, but that requires you to write code and install it via a solution package. What they typically are asking for is something that an end user can create and upload without requiring IT support. It turns out that SharePoint provides this concept out of the box simply by creating a .webpart file and uploading it to the gallery.
This is done by customizing an existing web part, such as the Data View Web Part. For instance, there's a cool post that shows how to create a weather web part by customizing the Data View Web Part. The web part in that post is created using SharePoint Designer 2007, obtaining XML data from a remote data source and customizing the view of a Data View Web Part. There's another great example of creating a Tag Cloud for SharePoint Blog Sites. Again, a very cool example of customizing the Data View Web Part that is reusable simply by exporting the web part to a .webpart file and uploading it back to the gallery.
Besides the Data View Web Part, you can also leverage the Content Query Web Part. Heather Solomon has a great post that shows how to customize the Content Query Web Part and control the display of data. The Enterprise Content Management team also wrote a great blog post on customizing the CQWP.
The point is that there is a great "widget" framework in SharePoint already. You can do some pretty amazing things with SharePoint as an end user without requiring IT operations to deploy code. See EndUserSharePoint.com for more examples of the great stuff that you can do with SharePoint without IT intervention.
I know that most of my audience is developers, so it is uncomfortable to hear this. "But Kirk, people are going to build lots of junk that we're going to have to end up supporting anyway." Yep, that's right! People are going to be able to get their jobs done, and probably are going to do things that aren't best practices by IT standards. But think of the value here… this frees you up to create the higher-value stuff (workflows, site templates, lots of stuff) without boring you with creating yet another CRUD data entry application. And if the application outgrows the end user capabilities and requires developer intervention, then you already have their requirements in the form of a working example sitting in front of you!
The point is that SharePoint is a fantastic platform for end users as well as developers. The more that developers and IT operations can enable the end users to be self-sufficient, the more value that the business will see in IT.