[Full Disclosure: I'm at advance stage of negotiation with OrangeScape on consulting arrangement including developer community engagement]
I recently got a OrangeScape private beta access and decided to take it for a spin. I applied for the beta several months back, and I regularly meet the OrangeScape folks at the Chennai Tech scene. Yet the beta access was hard to come by – the reasons for it became evident only after the first brush. It is not your regular web2.0 artificial beta scarcity – the product is, by its very nature, very serious, complex and thus useful only for the sufficiently motivated!
Why Embrace Maximality?
The web-scale era has a huge share of one-trick-ponies that does one thing really well. There is indeed a tech religion/school of thought around the minimalistic approach – starting with the always beta culture of delicious/37Signals to Simple Titled Services of AWS – there is minimalism abound. The one-trick-pony-evolutionary-minimalism approach falls flat in the enterprise apps context, especially when there are multiple complex apps to be run(at the Get-Go!). Enterprise applications, even while they share the scaling and agility requirements of web-scale( social) applications, cannot afford the luxury of custom crafted architecture, and optimized coding. Some Generalization and Abstractions could dramatically improve application crafting productivity. This is where OrangeScape strives to finds its sweet spot: By supplying a comprehensive runtime that abstracts multiple cloud platforms and a GUI studio that talks the Business Analyst’s language.
OrangeScape does a good job of abstracting/simplifying the underlying platform complexity, yet the domain of business application is is fairly complex and is reflected in the OrangeScape Studio’s sophistry. The sophistication is similar to professional image manipulation software like Photoshop which is intimidating at best to novices, yet very versatile for the pro to get the job done. In short, OrangeScape is a pro-tool/runtime for developing serious business apps – and the level of complexity necessitates the sophistry.
My first app using OrangeScape
I wanted to try out a simple ‘Tip of the Day‘ like application. I started off with a minimal data model for Tips with just 2 entries( viz., TipNumber and TipText) and promptly ran into trouble with “Rabbits Ears” Reflexive Relationship when I wished to pick a Tip at random. I was baffled, and fortunately, OrangeScape studio has a feature to include other developers into the project for developing an app as a team. This feature makes it possible for one person to do the data modeling and another team member to craft the workflow and yet another to craft the forms/screen interactions.
I added Sivakumar, of OrangeScape Engg team as developer in the project and he quickly created the Reflexive Relationship in the data model with ease and also coded the business rule for selecting a Tip at random. Finally he added a trivial workflow action that updated a text box on pressing the ‘Show Tip’ button.
After designing the simple model, and the form/screen and the trivial workflow, the app was ready for deployment. I clicked the deploy button, after prompting for GAE credentials and app name – Viola! the ‘Tip of the Day’ is deployed on to the Google App Engine!
Without me knowing anything about GQL or BigTable storage API calls, I’m able to store and manipulate data on the GAE. This is absolutely awesome!
Here is screenshot from another App I’m working on:
My Wish List for OrangeScape
The OrangeScape studio in its present form is a work-in-progress template of all planned features. The features required to get an application up and running are working perfectly. The features that allow cools tricks to be done( like calling a REST API etc) requires a lot more polish.
At this point, the lack of complete documentation and illustrative examples is hindering the creativity and flow. It is a matter of few more weeks of OrangeScape team’s attention to get each feature to the level of polish for the limelight. Given the level of polish of the finished features( one-click deployment to GAE for example), I’m sure the feature complete OrangeScape Studio/Cloud will be a formidable tool in the hands of expert business application designers/crafters.
That said, here is my wish list for OrangeScape Cloud/Studio:
- More built in social features for applications developed with OrangeScape. Everyone is realizing the value of sharing and social software. Making it easy to push/pull data in and out of the application will be an ‘expected’ feature in each application.
- More collaboration and reuse. The present collaboration features of OrangeScape studio are a good start. If there is realtime collaboration like Google Wave, it will be awesome. Indeed, a Wave based Studio implementation will be very cool and productive.
- Software artifacts in open formats. Presently, all of your awesome software application design is stored in internal format. And OrangeScape studio is the only interface to access them. If the software artifacts are importable/exportable in open formats, a lot of interesting value additions are possible. This feature is essential for complying with routine software engineering practices in vogue like version control and periodic backup.
In summary, OrangeScape Cloud Studio is very interesting and has a potential to be a game changer. Jeff Bezos kicked off the cloud revolution by shifting the mucking from hardware to software. OrangeScape strives to complete the cycle by abstracting all the underlying muck such that only data model, business rule, and workflow needs to be defined to get an application up and running on the Cloud. Any Cloud!