Sunday, March 09, 2008

A Little Magic History

I am constantly being asked about Magic's history, about the story of how the amazing technology that we know today evolved. Well, I can only tell you what I know.

Magic Software was founded in 1983 by Mashov Computers. Magic marketed application development tools and application deployment technology in the boom years of the personal computer craze (a boom that one could argue has not yet subsided). The programmers at Magic decided that if the computer was going to be perosnal and easy enough for everyone to use, that writing software was going to have to be a whole lot easier. While there had been some initial experimental attempts out of universities to create RAD -- rapid application development tools. None of them were all that useful because they tended to either be too complex or too restrictive and limited. So the developers at Magic set out to find a paradigm that would deliver full functionality and significantly reduce complexity.

SO there first and easiest decision was what not to do. They decided not to write a new computer programming "language." In fact they avoided traditional computer programming concepts and instead introduced a "table-driven" RAD tool. Today we know about concepts like pseudo-code, but they were really doing a lot of things we talk about in IT today: pseudo-code, services, mashups, etc. before anyone knew what to call them and really before they could be done as elegantly as Magic can do them today. SO they adopted an approach that required no compiling or linking. Because the pre-compiled sturctures could be employed and tested iteratively, the users of this new tool were able to prototype very quickly and start seeing results in minutes rather than weeks or months.

Te rest as they say is history, but let's remind ourselves of what that history includes: five years of victories at the Droege International development competiton, including the final year in which Magic's customers swept every prize at the contest, forcing the organizers to give up. Why continue holding programming competitions if the results are a given, Magic is the best and fastest tool. Ah, if only the market dynamics today were that simple.

Magic has had to try to preserve it ssimple table driven concept despite massive torrents of change in the underlying architecture of the computer. Not only has there been a major shift from text-based DOS environments to newer and arguably improved GUI operating systems, I don't know why I bother to use the plural, we all know I'm talking about Windows. But there was also a major shift from standalone PCs, to networked PCs on a LAN to PCs connected over the Internet -- the "cloud" as we sometimes like to call it. Magic also got a little ambitious too. The world of DOS and Windows in the 1990s was still not where most of the Fortune 2000 companies transacted their IT business. So Magic decided to expand the concept to include VMS, Unix, OS/400 and eventually Linux. The original dos version used Btrieve, these other environments used other databases and ISAM file systems. So the Magic development tool had to be given new "gateways" to deal with these new databases. Magic was able to sell these gateways as seperate products to their customers. Of course that transition to these other environments also meant a difference in architecture for the applications. The original desktop application approach was not a broad enough paradigm for these new distributed architecturess, so Magic's tool added client-server and Internet deployment methodologies. Known today as eDeveloper V10, Magic's development tools can deliver applications over the Internet in a browser-client mode or an HTML merge mode that is similar to PHP in the way it tags the HTML and merges in the results of its processing.

I'll probably have a lot more to say about this topic in the future, but I'd better get back to the topic of migration before anyone complains that I forgot to deliver my promised final chapter on moving your application to eDeveloper V10.