What exactly is a Web 2.0 Application?
Perhaps there are a lot of definitions, but I think that PInvoke.Net </a />is a good sample of a Web 2.0 application focused on software developers. In this article, I describe what is PInvoke, and show why this application has the Web 2.0 Attitude. I hope this case inspires more applications like this, for programmers and software developers.
What Is PInvoke.Net
PINVOKE.NET attempts to address the difficulty of calling Win32 or other unmanaged APIs in managed code (languages such as C# and VB .NET). Manually defining and using PInvoke signatures (also known as Declare statements in VB) is an error-prone process that can introduce extremely subtle bugs. The rules are complex, and if you make a mistake, you'll probably corrupt memory.
What is Web 2.0 ?
The best description of this new concept is in the Tim O'Reilly blog article: What is Web 2.0?
And can be visualized in the Meme Map developed "at a brainstorming session during FOO Camp, a conference at O'Reilly Media":
Why PInvoke is a Web 2.0 Application?
Based on the Meme Map, we can identify the following characteristics of PInvoke.Net.
- PInvoke trust the users, programmers in this case
- Has a rich user experience, for example, a plugin is available to integrate this site with Visual Studio
- Granularity of content, every API published can be used according to your requirements
- It gets better the more people use it, people are populating the API database, and improving it
- Is hackable, the Plugin is an example of this, but it has a lot of new tools developed around this service
- Data is the Intel Inside, all data on PInvoke is useful for the developers who need it, this service save you hours of investigation, testing and debugging.
- The Long Tale, this is a very specific niche, the programmers that need to deal with unmanaged code and PInvoke on Microsoft.NET and Windows. This is a fraction of all programmers using Microsoft.NET. So this is a very focused application.
There are a lot of emerging Web 2.0 applications for programmers, but I found PInvoke a very good one.
Perhaps this could be an inspiration for your own Web 2.0 services. :).
(This article was published originally on my blog site: http://www.darksideprogramming.net/2005/12/pinvoke_and_web_20_application.html.)