# Morfik

Morfik Technology Pty Ltd. is an Australian software company that was acquired by Altium in 2010.
The company is known for developing a set of visual designers, compilers and a Framework combined in an Integrated development environment (IDE) aimed at developing Ajax applications in a high-level language such as Java, C#, BASIC or Object Pascal. Morfik includes visual design tools for Web interfaces, database structure, and queries. It supports the classic client–server model, however like all Ajax applications, the client-side code runs within a browser. The Morfik development tool converts the forms that the user draws into DHTML, compiles the client-logic into JavaScript, and builds the application and database server engines to house the server-side code.

## Company history

Morfik Technology was a privately funded company that was founded in 2000 in Hobart, Tasmania by Aram Mirkazemi and Shahram Besharati. The company later (2009) moved to Sydney, New South Wales, before being acquired by Altium Limited in November 2010.
In April 2019, the Morfik project was closed and the project was taken offline.

### Timeline

In September 2005, it demonstrated a pre-beta version of its flagship product, Morfik at the Web 2.0 Conference. Morfik was a major sponsor of this conference. Rumours spread just before the conference that Robert Scoble, Microsoft's lead evangelist, thought that Microsoft should buy Morfik, however, this was quickly laid to rest by Scoble himself. At the conference, Morfik showed how web applications could be designed for both online as well as offline use, via its 'Unplugged' vision, by demonstrating an 'unplugged' version of Google's Gmail that could function offline.
Two months later, the SD Times wrote "Morfik IDE Simplifies AJAX Development" and the first version of the Morfik was released for public evaluation and testing. This was followed by the opening in February 2006, of a website called Morfik Labs which was designed to showcase Ajax applications that were created using Morfik.
March 2006, marked the first time Morfik was presented at a conference presentation, when Paul Ruizendaal, Managing Director of Janus Software presented a review of Morfik at Software Development GigaCon, Poland.
A month later, Morfik Chess was made available on Morfik Labs. Although a few other browser-based Chess games had already been released (the most notable by Douglas Bagnall), Morfik's was the first that allowed both single and multi-player modes. Further, the single-player mode utilized one of the first Javascript-powered chess engines that could calculate moves beyond 3-ply.
In May, 2006, Google released Google Web Toolkit. Due to the significant similarity to Morfik's JavaScript Synthesis Technology, significant media and blogsphere discussion commenced as commentators debated the possible relationships and partnerships between Morfik and Google. GWT's manager, Bret Taylor offered a direct response to the technology issue, by saying that GWT did not use any Morfik technology. The debate extended to patent rights and potential lawsuits (for example, Newswire and ZDNet). Initially, various critics including PathFinder questioned whether any actual patent applications had been filed, but these criticism were laid to rest when at least one of Morfik's patent applications was made publicly available by the USPTO itself.
In August, 2006, a review of Morfik in the context of developing web applications solely in C# appeared in the magazine DEV.
In September, 2006, Brazilian IT executive Mauricio Longo joined Morfik as Evangelist and Product Manager.
The first Professional License for Morfik was by acquired by Greenpeace International in October, 2006, and two months later, Altium deployed the first commercial application built with Morfik. It was a mashup with Salesforce.com applications which permitted a hierarchical view of all projects managed through Salesforce.com.
In March 2007, v1.0 was officially released and its name was changed to "Morfik 07"). See also here AJAX Magazine: Morfik 07 Officially Available and Introduction to Morfik Architecture (Part One) In November 2008, v2.0 was officially released with an entirely redesigned interface. In August 2009, Morfik released AppsBuilder 2.1 which, though numbered as a simple point update, contained a significant number of new features such as the ability to visually create Widgets (user created controls). This was followed in close succession by the release of version 2.2 which established the new Package and Widget features formerly introduced in 2.1 as the basis on which to build controls for independent distribution.
In May 2010, Morfik 3.0 went into beta testing introducing a change in the way application and websites are designed in order to provide direct support for Search Engine Optimization and facilitate the process of designing the navigational organization of the application. Morfik 3 also further extends the Package features introduced in version 2.1, allowing for the creation of more complex widgets.
In September 2010, Altium announced its intention to purchase Morfik.
In November 2010, Altium completed the acquisition of Morfik Technologies. In the same month, Altium altered the licensing model for all versions of the Morfik Web development tools making them free.
In December 2010, native connectivity to PostgreSQL is made available to Morfik users as a freely downloadable package. This add-on package also provides connectivity to MySQL and MS SQL server databases.
Ongoing development of the freeware version of the tool (Version 3.0.8.1) released in December 2010 has ceased. Official future plans for Morfik have not been provided by Altium.

## Features

Morfik is a visual development tool which lets developers create Ajax-based Web application in a true WYSIWYG fashion, including support for visual styles and themes. It combines in an integrated development environment an interface designer, a report designer, a query and table designer and coding facilities. The tool supports three different language syntaxes: C#, Basic and Object Pascal and creates applications for deployment on Windows and Linux systems.
While interface design is done visually in Morfik, Web application developers can write code to handle events and create the interactivity and business logic. Code written in the three supported language syntaxes is compiled directly to JavaScript, HTML, CSS and images for the in-browser portion of the application and to an intermediate Object Pascal form for the server side which is then compiled into binary form through the use of the FreePascal compiler. Regardless of the language syntax of choice, all code is based on the usage of the Morfik Framework which is a large library of classes and functions designed specifically for the creation of Web-based applications.
The tight integration of the development environment and the compilers with the Morfik Framework makes the creation of Web Services a simple task. Web services, in fact, are used throughout the Morfik Framework, for accomplishing several tasks without any developer coding.
The Morfik development environment offers integrated source level debugging for both the in-browser and server-side codes as well as facilities to monitor communications between the browser and the web server, and the web server and the database. It is also possible to inspect the compiler generated JavaScript code while tracing through browser.
Morfik integrates all the components required to build a web-based application into a single package, including a Firebird database and an Apache web server.

## Innovations

Morfik introduced several innovations into the process of creating Web applications among which the following are most significant:
* JavaScript Synthesis Technology (JST): Morfik's compiler technology that compiles code written in dialects of high-level languages such as Pascal, Basic, Java or C# into HTML and JavaScript, for the purpose of running applications written in those languages natively within a Web Browser. This automatically generated JavaScript can be complemented with custom in-line JavaScript or by linking-in external handwritten JavaScript code libraries. Morfik has applied for a series of patents regarding this technology. Google later employed a similar technology in its Google Web Toolkit (GWT) product.
* Elastic Page Design: (also patent-pending) enables developers to design complex web interfaces that allow parts of the web page to dynamically adjust their size to suit their content at run-time (fluid layout), whilst maintaining all design-time constraints (fixed layout).
* Unplugged Applications: first showcased at the Web 2.0 Conference in 2005, with an unplugged version of Gmail, Google's AJAX-based mail client. Intended to show that with Morfik AppsBuilder you could create web applications that functioned both online as well as offline.
* High-level source Debugging: Debug errors in browser and server-side code from within IDE. Either debug at the high-level source code level or at the automatically generated JavaScript code-level. Add breakpoint to pause execution, and view current variable values via mouse hovers. Track all SQL, XML(SOAP packages), JSON and HTTP activity.

## Compilers

Morfik has done extensive work in the area of compilers. This includes developing compilers for the purpose of developing web applications, that receive code in one of the following language syntaxes: C#, Basic and Object Pascal, and output either JavaScript or Object Pascal depending on whether the target of each module was for the browser or server side of a Morfik Application, respectively. The server-side code is then compiled again, using the Free Pascal compiler to generate the final binary for the chosen target platform.
The first commercially released version of Morfik also supported an implementation of the Java language syntax called MorfikJ. Support for this language syntax was dropped with the release of Morfik 2.0 and its users moved to the C# syntax due to its close proximity to that of MorfikJ.

## Applications gallery

In addition to Morfik's own web site www.morfik.com, the company has a set of showcase applications, built with Morfik, which are used in conjunction with the web site. These applications include: discussion forums, issue tracker and online videos web site that closely resembles the YouTube web site.
In addition to these applications, several others have been made available on the Web, such as:
* Morfik Chess: Allows users to play each other online or play against a chess engine. This is the first known instance of a chess engine that resides in the browser that is capable of more than 3-ply. This received notable attention from the blogosphere by ZDNet, Ajaxian, and Pathfinder.
* Desktop Gmail
* Google Maps Mashup
* Salesforce.com synchronization

## In the media

Morfik has featured in a diverse range of media including SDTimes, The Interbase & Firebird Developer Magazine, FYRACLE, AustralianIT, Dev: La rivista che ti insegna a programmare and Toolbox