In a post from 2007 Marc Andreessen discusses types of internet platform. The post is particularly interesting for me, because I'm currently building what he describes as a "Level 3" platform.
Marc is correct when he describes a Level 3 platform as being "much harder to build than Level 2 platforms". He goes on to say that:
As a platform provider, once you accept the idea that user code -- code that you didn't write and you can't vet for quality or security -- is going to run within your platform, you have a whole pile of issues you have to deal with that a Level 2 platform can simply ignore.
This is all true. That's not surprising, because he has built a platform of his own and anyway he's one of the real greats of software development. What he doesn't mention, however, is that building a Level 3 platform is a lot more fun than the other sorts.
While building my platform has certainly turned up a lot of difficult problems, each of those problems has been really interesting to solve. Even testing the platform is kind of fun because I get to put together little applications in a completely different environment from the one I normally work in.
After the best part of a year's effort I have now reached the point in its development where I'm talking to a graphic designer to make it look beautiful - never underestimate the value of first impressions - and I will be launching to a limited Beta audience fairly soon. Watch this space...