Yesterday, I signed up for the Ning developer program, and today they accepted me. Ning is a platform for developing interactive web applications like this little bay area restaurant guide, an Ann Arbor version of which is depicted here:
Fred Wilson has suggested that Ning might lower the cost of entry for point web applications, i.e., those designed to fulfill a specific need very well. In its current state, I don't think so. In the example "Things around Ann Arbor" app I tried above, there were three items that were configurable without programming: the number of items to display on a page, the map image to show, and the google maps key. Everything else required modifying code intensive php pages. Examining these, it quickly became apparent that I was going to have to spend some time with the API documentation to make any real progress beyond showing Ann Arbor on the map.
Now, my work might lower the cost for someone who wants to simply copy my application (a process called cloning in Ning), but having to learn the Ning web app structure is a clear cost increase to me for just getting started. I have a recommendation that might help.
This might seem counter-intuitive. Ning should adopt the smarty php template engine and expose the underlying data model as templating elements. This step will immediately lower the cost for people who merely want to rearrange the way a page looks or label the existing elements differently. In other words, doing a little something beyond the basics will not be such a herculean task.
However, this recommendation will also have the effect of raising the cost for people who want to write complete apps from scratch or dramatically rework existing ones. Creating a separate display layer as I am suggesting increases the time that must be spent in initial design and will require more study for those wishing to make major app modifications.
My gut tells me though that people will be willing to spend the extra time if they can more get more value easily up front, something that is possible with the templating approach.


Good point on Smarty, and actually, it is supported right now =)
http://developerdocumentation.ning.com/post.php?Post:slug=Smarty&q=smarty#searchTerm
Hey, thanks for the link.
My point is more that I want to see Smarty integral to the app, say a bit more like Movable Type or Typepad. In either of those apps, the introduction to the app is through altering templates.
Here, the restaurant review app, requires you really to dig into PHP to do any altering. A great move to expand Ning's reach would be to add a templating interface, particularly for the standard parts like the pivot. The templating interface would be a set of predefined smarty tags that the user could just use.