Over the weekend, I was looking for some nice .Net based, open source web based photo gallery applications.
On the other hand, one of the slickest and most feature rich web based photo management apps, Alex King's Photos 4.1, is built on PHP and MySQL. While Alex mentions that it's not a gallery app, it's simple to imagine that it could be with only a few small modifications.
In general, the entire .Net culture of create-and-profit is
disheartening, considering the wide open community built around
alternative technologies like PHP, MySQL, Perl, and so on. Part
of this is Microsoft's fault for not releasing free, full featured
tools necessary to build the applications. Yes, you could build
ASP.Net web apps using only the SDK and command line tools, but then
you increase the barrier of entry by relegating the technology to only
the diehard nerds.
I'm currently debating on whether it's worth my time creating a web
based photo management/gallery application (that doesn't suck) using
.Net 2.0 and Atlas or WPF/E, which would limit the availability.
On a related note, this month's Wired mag contains an interview with
Tim O'Reilly (of O'Reilly publishing fame). As summarized by
Stephen Levy, the "new Net" is built upon "a philosophy of
participation and sharing and a sense that collective action will
inevitabley accrue to the greater good."
When asked to identify his passion with only three words, O'Reilly
responded: "Harnessing collective intelligence." I like to think
that Microsoft is catching on and will truly lead us into the pack
rather than away from the pack like the lone wolf that is sure to
struggle without the support of his pack. The vision that I see coming out of Redmond with this
new generation of technologies is very promising in that respect.
And for that, we should be greatful and excited. I hope that many
of the incredibly talented developers out there who've traditionally
shunned Microsoft technologies will give them a shot this time
around. There's just some really incredible free tools on the horizon that will enable developers to create the next generation of web based tools.