Sunday, October 09, 2011

Visual Basic for the 21st Century

Like it or not, but Microsoft's Visual Basic did a TON for PC industry back in the 90's.. It opened up programming to non-professionally trained and non-hacker types, it cut the application development time from years to months, and expanded the pool of programmers exponentially.. Yes, maybe it created a slew of bad code, but who's to argue what bad code is anyways - at the end of the day good code is a code that works and can be maintained.

Over time Visual Basic transitioned into a Visual Studio where novices are NOT welcome.. Not only that, but it didn't keep up with the other technology transformations, specifically moving the client to the web browser.

So what is a modern-day equivalent or Visual Basic?  There are a few options out there.. If you're on - you can use their tools to create custom screens, workflows, etc.. Then there are a few PaaS platforms that address the data-driven, web-based applications, however very few of them go deep enough to really provide a viable platform for the type of applications that people had built with Visual Basic and MS Access.  The other pitfall many of them share is by going the publicly hosted route.. This chops off the predominant use case of wanting to connect with internal data sources.

I spent some time learning about OutSystems over the past couple of months and it really impresses me with the both depth and breadth of the implementation.  It's easy to get started, yet packs a ton of power.  It's web based, but is hosted by the customer and ties into customer's data.  Speaking of tying into customer data, it has the right adapters and import tools to either develop an application on top of an existing data source, or to import the data from that spreadsheet that's no longer cutting it.  At the heart of the system though is a visual logic designer making programming easier for non-programmers (and probably programmers as well)!  I have seen visual logic designers before, but not since Macromedia's Authorware have I met one that was actually usable - this is a huge feat in itself..

Another point worth making is that most of the PaaS (platform-as-a-service) vendors stop at implementing web forms and workflows.  OutSystems however is showing its understanding of the market by providing things like visualization widgets and newsletter templates.

OutSystems Server runs as either .NET or Java and can be run on Amazon EC2 if you so desire.

From the deployment standpoint (again illustrating the depth of the offering and the marketplace connectedness), OutSystems provides very robust and streamlined mechanism to deploy changes to staging, production, or roll the changes back.

Reading through the community board and some consultant pieces, it's pretty clear that the platform gets some good REAL use, which is a good indicator that it's not just smoke, but that it's bringing real value to folks.

OutSystems gets my unofficial VB replacement award and a big thumbs up!

From the few things I think are missing, notable are 1) a Mac client for their IDE, and 2) a version of a UI designer that's targeted to non-data-driven apps (such as Point-Of-Sale systems)..  But I'm sure these guys are looking at both ;)