Monday, December 20, 2004

Thoughts on the Google Model

While reading this blog entry on full-blown framework, I think of the Google model.

Today it's quite a well-known fact that Google does a far better job in indexing any website than that site's own search function. So it's very natural for any company to surrender that search function to Google. Google has made search a no brainer. However, does everyone know Google has a complex infrastructure that supports this apparent simplicity? Well, nobody actually needs to care.

Today's custom application development in IT departments is like building search in house. Everyone tries to climb the learning curve. Results are usually far lower than satisfactory. Even for companies like Cisco, the level of expertise in application development varies so much that much money is wasted to sustain the climb on the learning curve. Now imagine, an X company, like Google, for application development rather than search, comes on the scene and completely shatters the entry barrier to high quality and no-brainer type of applications. This is the space we want to be in. We want to be the Google for applications. This is what AppWiki is all about. Just like Google's search is so easy for an average Joe to use and produces such high quality results that Enterprise customers surrender their right to do a poor job in search, AppWiki will do the same for applications. But we don't target enterprises first because it's very hard in that space. Cornerstone Framework will be the foundation of that complex infrastructure that helps the illusion of simplicity at the tip of the iceberg.

Friday, December 17, 2004

Developing Using Sample Data

I find it much easier to look at a table of data to figure out how to process it then to just look at the schema and write your code. In the appwiki, all services are required to not only expose their inputs and outputs, but to provide a sample for all outputs. So in dev mode, the appwiki tool can not only generate a call, but record the sequence of the user's manipulation of sample data to generate code. For example, I can just browse to your appwiki which outputs a table of people sorted on First Name. I turn on recording, click on Last Name to sort on it, turn off recording. Then I get an appwiki that's the same as yours but is sorted on Last Name.

Thursday, December 16, 2004

Purpose of this Blog

Maybe it's time to separate Cornerstone Framework from its applications. Cornerstone Framework will remain free and open source. Its apps can go in any direction. The web3 and appwiki ideas should probably be brainstormed here, not in The Cornerstone Brainstorm blog. The Google Group corresponding to this blog is also private. I will make this blog publish to our own server so that it's password protected.