When AppJet was still around, we had an edit button, a single page of a few dozen lines and a cross-domain AJAX API. This, surprisingly enough, was all you needed to apply some programmatic patching to a bunch of different use-cases
In it, he compares Joyent (nee Reasonably) Smart’s model, where you develop locally then deploy with git, to that of AppJet, where you edited online via a web form.
For a long time, I thought that the online-editing model was the right one, and I thought Heroku and App Engine suffered for not supporting it. However, when I was seriously working on my AppJet sites, I found that I ended up developing locally (with their .jar download), then wishing for an easier deployment method than copying and pasting between text files.
For any serious project (and most developers), I’m sure that pattern would be repeated. So why bother with the complex work required to put an editor into the browser (even if Bespin promises to be a drop-in component)? Better to concentrate on the deployment side, either building on a (D)VCS like git or using custom hooks, like GAE’s “appcfg.py update”.
He goes on to say:
I’ve said it before and I’ll say it again – I will pay for what AppJet were providing. People will pay for what AppJet were providing.
Unfortunately, this has a classic problem of having to build a market. Heroku can build on Rails programmers; GAE on Python and now Java developers. Smart has the harder job of getting people to write server-side JS, but at least there are people who think that way, and they can usually pick up git.
AppJet, on the other hand, was trying to persuade people who don’t think they can program that it’s really not that hard. This is a huge problem, and I can see why it’s far easier for their developers to sell real-time web based collaboration, since everyone knows how to write words.
I suppose this is a long winded way of saying that web-based server-side programming is still a way off.
It’s too late for me to properly reply to Tim O’Reilly’s post about cloud computing, but there is one thing I’ve learnt during this week’s AppJet jaunt (as described over on Vox), and it relates to a point right at the bottom of his post:
the cloud platform, like the software platform before it, has new rules for competitive advantage. And chief among those advantages are those that we’ve identified as “Web 2.0”, the design of systems that harness network effects to get better the more people use them.
Well, AppJet’s library sharing (alluded to on Vox) has this property. You can see who’s importing your library, who’s cloned (forked) it, and the same goes, thinking about it, for apps. That’s not really that much of a big deal, but it’s inching towards something. (Compare: github.)
Sorry. I’m sure I’ll return to posting a stream of random pictures tomorrow.