I would like to wish a Merry Christmas to all the readers of this blog. I hope that this has been a good year for you and that 2009, despite all the gloomy predictions, will be an even better year.
I hope you have enjoyed reading this blog at least half as much as I have enjoyed writing it. In the coming months I am sure there will be plenty of stuff for me write about and consequently for you to read, as Morfik 2.0 has been getting more and more interest from people all over.
In the barely two months since the release of Morfik 2.0 I have been contacted by companies from several different sectors that want to get information on if it is possible to achieve this or that with Morfik or how to do it. Some of these companies have already hired staff and started new projects based on the Morfik 2.0 platform and I feel that this is but the start of a very interesting period for Morfik.
So, take a few days to relax and have a nice holiday season with your family and friends. Recharge your batteries and jump right into your 2009 projects.
Merry Christmas!
Thursday, December 25, 2008
Merry Christmas and Happy New Year to all Morfik Watchers!
Author:
Mauricio Longo
Labels:
M2,
MorfikWatch
Saturday, December 20, 2008
For Basic developers that want do Ajax: Morfik Basic
Author:
Mauricio Longo
Morfik Basic is one of the language syntaxes which are supported by Morfik AppsBuilder 2.0. More specifically it is the language syntax used by Morfik BX which is one of the versions of AppsBuilder 2.0 released last month.
If you are a Basic user, this is good news for you. Morfik Basic was created to allow Basic developers to have easy access to the advanced Ajax application building capabilities of Morfik AppsBuilder. A lot of effort went into making sure that the extensions necessary so that the Basic language could reflect all the capabilities of the underlying Morfik semantics did not seem "foreign" to the Basic developer.
For example, in order to implement in-code documentation, Morfik relies on multi-line comments which are not available in traditional Basic. In adding this feature to Morfik Basic it was tapped from the C family of languages as Microsoft is currently the primary developer of a Basic language and it was reasoned that if they were to add such a feature to the language they would probably use their C# syntax.
For adding pointer support, on the other hand, it was decided that since C# has no such support, falling back to C++ or C would not be a good idea. In that respect it was decided to base the syntax in the ByRef and ByVal keywords that are used to specify how parameters are passed to Functions and Subs in Visual Basic. Reference parameters are, in essence, pointers and this seemed like a logical way of doing it, even if a bit verbose. The following is an example of a common declaration of a variable of the Integer type followed by a declaration of a variable that is a pointer to an Integer.
In order to actually the use the integer value that is referenced by this pointer you need to dereference the variable which is done using the syntax you can see in the following line:
Though it seems a bit on the lengthy side, it seems to fit in with the Basic language practice and is actually pretty clear about what the code is doing. Considering that at application level there is very little pointer usage in Morfik and since there are no pointers in Basic it seemed better to write a few characters more every once in a while than to add a cryptic operator for the sake of saving some keystrokes.
In general I believe that Basic developers should feel right at home with the language, though like everybody else, they will still need to learn the Morfik Framework.
If you are a Basic user, this is good news for you. Morfik Basic was created to allow Basic developers to have easy access to the advanced Ajax application building capabilities of Morfik AppsBuilder. A lot of effort went into making sure that the extensions necessary so that the Basic language could reflect all the capabilities of the underlying Morfik semantics did not seem "foreign" to the Basic developer.
For example, in order to implement in-code documentation, Morfik relies on multi-line comments which are not available in traditional Basic. In adding this feature to Morfik Basic it was tapped from the C family of languages as Microsoft is currently the primary developer of a Basic language and it was reasoned that if they were to add such a feature to the language they would probably use their C# syntax.
For adding pointer support, on the other hand, it was decided that since C# has no such support, falling back to C++ or C would not be a good idea. In that respect it was decided to base the syntax in the ByRef and ByVal keywords that are used to specify how parameters are passed to Functions and Subs in Visual Basic. Reference parameters are, in essence, pointers and this seemed like a logical way of doing it, even if a bit verbose. The following is an example of a common declaration of a variable of the Integer type followed by a declaration of a variable that is a pointer to an Integer.
Dim I As Integer
Dim newX As Ref Integer
In order to actually the use the integer value that is referenced by this pointer you need to dereference the variable which is done using the syntax you can see in the following line:
newY = DeRef newX +5
Though it seems a bit on the lengthy side, it seems to fit in with the Basic language practice and is actually pretty clear about what the code is doing. Considering that at application level there is very little pointer usage in Morfik and since there are no pointers in Basic it seemed better to write a few characters more every once in a while than to add a cryptic operator for the sake of saving some keystrokes.
In general I believe that Basic developers should feel right at home with the language, though like everybody else, they will still need to learn the Morfik Framework.
Labels:
BX,
M2,
Visual Basic
The strengths of an HTML based application
Author:
Mauricio Longo
Recently, in visiting a website which was entirely built with Flash, I was reminded of some discussions I had about the weaknesses of such an approach and consequently of the corresponding strengths of doing it all in HTML.
This really hit me because of a small thing. I usually scroll through pages by using the mouse's scroll wheel and was really unhappy because for some reason I was being able to do it. When accidentally I moved the mouse a bit to the side, and thus outside the area covered by the flash control, and tried it for the nth time, it worked. It was then that I noticed that the scroll wheel information doesn't get through from the flash control to the underlying browser. I guess I must have seen this before, but I just did not register it because that particular page wasn't trying to show me a large quantity of information about a company.
The fact is that even though you can nicely fit in a flash control into a website for displaying a video or an animation, and you can make it look like it really fits in there, it is never really the same as what is around it. This can be okay, and actually work really well when the goal of the website is directly related to the usage of flash, such as is the case with YouTube or the Morfik Learning Center with its videos. When the website, however, is just a corporate presence or when it is an application that displays large quantity of data to the user, I feel that this not-quite-browser behaviors of flash get in the way.
Don't get me wrong. I am not against the use of flash, where appropriate, and I believe that as far as desktop applications go Adobe has something good going with its Air platform, but there is such a thing as trying to use a hammer where a screwdriver is more appropriate.
When you build your application entirely on the standard content that is handled by the browser (HTML, CSS, etc) and use Ajax for interactivity, it just "feels" more natural, even when you are doing things which were not so natural for browsers some years ago. Again, a good example of this is GMail which does a lot of page morphing which was not so common before it came along, but which never feels like anything but a web page.
The fact that the application does not require a plugin is also nice, as there places, speacially some schools, that block the installation of plugins. This might not be much of an issue for many commercial usages, but then for some people it might just make the application unavailable.
This is a discussion that falls into the same category as the one about how web applications should look. There isn't a right answer, there are just opinions.
This really hit me because of a small thing. I usually scroll through pages by using the mouse's scroll wheel and was really unhappy because for some reason I was being able to do it. When accidentally I moved the mouse a bit to the side, and thus outside the area covered by the flash control, and tried it for the nth time, it worked. It was then that I noticed that the scroll wheel information doesn't get through from the flash control to the underlying browser. I guess I must have seen this before, but I just did not register it because that particular page wasn't trying to show me a large quantity of information about a company.
The fact is that even though you can nicely fit in a flash control into a website for displaying a video or an animation, and you can make it look like it really fits in there, it is never really the same as what is around it. This can be okay, and actually work really well when the goal of the website is directly related to the usage of flash, such as is the case with YouTube or the Morfik Learning Center with its videos. When the website, however, is just a corporate presence or when it is an application that displays large quantity of data to the user, I feel that this not-quite-browser behaviors of flash get in the way.
Don't get me wrong. I am not against the use of flash, where appropriate, and I believe that as far as desktop applications go Adobe has something good going with its Air platform, but there is such a thing as trying to use a hammer where a screwdriver is more appropriate.
When you build your application entirely on the standard content that is handled by the browser (HTML, CSS, etc) and use Ajax for interactivity, it just "feels" more natural, even when you are doing things which were not so natural for browsers some years ago. Again, a good example of this is GMail which does a lot of page morphing which was not so common before it came along, but which never feels like anything but a web page.
The fact that the application does not require a plugin is also nice, as there places, speacially some schools, that block the installation of plugins. This might not be much of an issue for many commercial usages, but then for some people it might just make the application unavailable.
This is a discussion that falls into the same category as the one about how web applications should look. There isn't a right answer, there are just opinions.
Thursday, December 18, 2008
Morfik 2.0 needs a "clean" theme
Author:
Mauricio Longo
Having experimented with several of the built in themes in Morfik 2.0 I came to the conclusion that it should have a theme with more of a "clean" look. I really like the some of the themes that are bundled, including the one called "Default" which, not surprisingly, is the default one, but I really like to build web applications which have more of a clean look to them.
I prefer to work with white backgrounds, light and bright colors and add some visual effects (sparingly) for effect. I get this feeling that when you use too much of the visual effects at the same time, they loose a bit of their appeal, as they kind of "interfere" with each other.
Most of the themes that are bundled are just a bit too "rich" on visual effects to be to my liking and I really think that a "plainer", "cleaner" theme should be added to the built-in theme collection.
Of course, you can create your own theme with its own set of visual effects, colors, fonts, etc. I have done exactly this, twice already, but I'm not yet up to the same level of polish as the bundled themes display.
I prefer to work with white backgrounds, light and bright colors and add some visual effects (sparingly) for effect. I get this feeling that when you use too much of the visual effects at the same time, they loose a bit of their appeal, as they kind of "interfere" with each other.
Most of the themes that are bundled are just a bit too "rich" on visual effects to be to my liking and I really think that a "plainer", "cleaner" theme should be added to the built-in theme collection.
Of course, you can create your own theme with its own set of visual effects, colors, fonts, etc. I have done exactly this, twice already, but I'm not yet up to the same level of polish as the bundled themes display.
Wednesday, December 17, 2008
Morfik releases the first update for AppsBuilder 2.0
Author:
Mauricio Longo
Morfik released today an update to AppsBuilder 2.0. The new build (2.0.5.18) fixes a number of bugs that were still present when the original AppsBuilder 2.0 was released, just last month.
The release of this new build just about one month after the introduction of the first 2.0 release shows that Morfik is working hard on the continuous development and stabilization of the product. Apart from fixing a sizeable number of bugs this build reintroduces the a FileUploader control that is non-flash based, as requested by many users.
From a full day of using build 2.0.5.18 I can say that it represents a clear improvement over the previously available build.
The release of this new build just about one month after the introduction of the first 2.0 release shows that Morfik is working hard on the continuous development and stabilization of the product. Apart from fixing a sizeable number of bugs this build reintroduces the a FileUploader control that is non-flash based, as requested by many users.
From a full day of using build 2.0.5.18 I can say that it represents a clear improvement over the previously available build.
Monday, December 15, 2008
Web based applications should look like websites
Author:
Mauricio Longo
The title for this post, obviously, reflects my opinion, but it is not just a wild guess. Through the years I have worked with a lot of different web based applications, from many different vendors. I have seen a great many people start using them and watched how the process evolves.
Most people prefer to access applications through the browser, rather than using clunky desktop interfaces. Of course, not all desktop interfaces are clunky and many applications are better served by a traditional native interface. At this time I would say that office productivity tools are one of the main groups to fit in that category.
Most business applications however, can be implemented gracefully as web based applications and the use of Ajax and such techniques allows for the creation of very responsive interfaces. Recently I took part in a discussion about having web applications that mimic desktop applications or that look like websites. I consider this a matter of personal choice, but I believe that web applications should look like websites. Right now, I'm writing this article inside a browser and I am quite happy with the interface that is provided. It behaves as I expect and thought I would not want to write a book in this interface, it feels quite okay for writing a blog post.
The fact is that I have never seen a web based application that mimicked a desktop interface and that felt natural. Quite the contrary, actually. They normally feel slow and unresponsive. It might be due to the fact that you expect something that looks like a web page to have small delays in responding to your commands and when it behaves better than that it is a nice surprise, but the opposite is true for something that looks like a desktop application. If something looks like a normal windows application, you expect it to behave like one. In this case, even the slightest delay will fell odd and make the application seem to be unresponsive.
The more logic you implement on the browser side, the more responsive your application tends to be. (As long as you know what you are doing. :-) ) In building an application that will be available through the Internet, it is inevitable that there will be a slight lag anytime you need to do a round-trip to the server to obtain data. This is one of the main reasons why applications that try to simulate a regular desktop application are going to have a hard time being appreciated by end-users.
Most people prefer to access applications through the browser, rather than using clunky desktop interfaces. Of course, not all desktop interfaces are clunky and many applications are better served by a traditional native interface. At this time I would say that office productivity tools are one of the main groups to fit in that category.
Most business applications however, can be implemented gracefully as web based applications and the use of Ajax and such techniques allows for the creation of very responsive interfaces. Recently I took part in a discussion about having web applications that mimic desktop applications or that look like websites. I consider this a matter of personal choice, but I believe that web applications should look like websites. Right now, I'm writing this article inside a browser and I am quite happy with the interface that is provided. It behaves as I expect and thought I would not want to write a book in this interface, it feels quite okay for writing a blog post.
The fact is that I have never seen a web based application that mimicked a desktop interface and that felt natural. Quite the contrary, actually. They normally feel slow and unresponsive. It might be due to the fact that you expect something that looks like a web page to have small delays in responding to your commands and when it behaves better than that it is a nice surprise, but the opposite is true for something that looks like a desktop application. If something looks like a normal windows application, you expect it to behave like one. In this case, even the slightest delay will fell odd and make the application seem to be unresponsive.
The more logic you implement on the browser side, the more responsive your application tends to be. (As long as you know what you are doing. :-) ) In building an application that will be available through the Internet, it is inevitable that there will be a slight lag anytime you need to do a round-trip to the server to obtain data. This is one of the main reasons why applications that try to simulate a regular desktop application are going to have a hard time being appreciated by end-users.
Tuesday, December 9, 2008
Extending your gradient options in Morfik 2.0
Author:
Mauricio Longo
Morfik AppsBuilder 2.0 introduced a large number of visual effects that can be applied to controls and Form bands. Among these effects is the gradient effect, which is used frequently in a lot of web pages and applications.
Despite the fact that Morfik provides a large number of options for the gradient effect, it does restrict them somewhat when the control or band you are formatting is using a very dark or very light color. The form designer only offers you dark gradient options when the control is using a light color and light options went it is using a dark color. This can be a bit limiting when, for example, you want to have a gradient that goes from a light color to an even lighter one.
You can work around this limitation by temporarily altering the color of the control or band to a darker or lighter color (depending on the case) and then selecting the specific gradient option you want to use. When you return to the original color, the gradient selection is retained by the control or band.
It is probable that this limitation will removed by Morfik in a future release, as it is not a technical limitation and it makes little sense to take away formatting options that the product already supports. In the mean time, you can get around this small limitation by using this simple workaround.
Despite the fact that Morfik provides a large number of options for the gradient effect, it does restrict them somewhat when the control or band you are formatting is using a very dark or very light color. The form designer only offers you dark gradient options when the control is using a light color and light options went it is using a dark color. This can be a bit limiting when, for example, you want to have a gradient that goes from a light color to an even lighter one.
You can work around this limitation by temporarily altering the color of the control or band to a darker or lighter color (depending on the case) and then selecting the specific gradient option you want to use. When you return to the original color, the gradient selection is retained by the control or band.
It is probable that this limitation will removed by Morfik in a future release, as it is not a technical limitation and it makes little sense to take away formatting options that the product already supports. In the mean time, you can get around this small limitation by using this simple workaround.
Labels:
M2,
Visual Design
Sunday, December 7, 2008
Web development for desktop developers
Author:
Mauricio Longo
Morfik AppsBuilder completely changes the rules of the Web development for people with experience in desktop software development. This was one of the first that jumped at me when I saw my first demo of AppsBuilder.
Before Morfik came along with its compiler and development environment, Web development was mostly centered around text editors and scripting which were intermixed, but loosely coupled. Morfik changes all that by bringing to Web development the same RAD philosophy which has become a huge success for the development of desktop applications on Windows.
RAD or Rapid Application Development is a technique where you design the interface of your application visually and add glue code through the use of an event driven model. The event model was already present in the browser's underlying DOM (Document Object Model) and JavaScript engines and is well integrated into Morfik's visual designer.
The bottom line is that a AppsBuilder allows a developer who is familiar with a tool such as Delphi or Visual Basic to not only become productive quickly, but to actually outdo an experienced Web developer that uses conventional tools.
Before Morfik came along with its compiler and development environment, Web development was mostly centered around text editors and scripting which were intermixed, but loosely coupled. Morfik changes all that by bringing to Web development the same RAD philosophy which has become a huge success for the development of desktop applications on Windows.
RAD or Rapid Application Development is a technique where you design the interface of your application visually and add glue code through the use of an event driven model. The event model was already present in the browser's underlying DOM (Document Object Model) and JavaScript engines and is well integrated into Morfik's visual designer.
The bottom line is that a AppsBuilder allows a developer who is familiar with a tool such as Delphi or Visual Basic to not only become productive quickly, but to actually outdo an experienced Web developer that uses conventional tools.
Labels:
Ajax,
Delphi,
Visual Basic,
Visual Design
Sunday, November 30, 2008
Displaying a Striped List
Author:
Mauricio Longo
It is quite common for lists of information displayed in a web page to present a striped color pattern. Such a pattern is useful for enhancing the reader's ability to keep track of what is written in a single line.

The picture bellow is a screenshot of an application that is using this technique.

It is quite easy to produce such an effect using a Morfik continuous form, by adding a few lines of code to a server side event of the Detail Band. The basic trick is to have a Rectangle control behind everything that is on the Detail band and then make it visible or not, on a per row basis.
The following code snipped, assigned to the band's OnBeforePrint event does exactly that.
Procedure ListArticles.DetailBeforePrint(Sender: TWebControl; Canvas: TWebCanvas; Var Print: Boolean);
Begin
If LineNo mod 2 = 0 then
DetailStripedBackground.Visible := true
else
DetailStripedBackground.Visible := False;
End;
Labels:
Programming,
Visual Design
Friday, November 28, 2008
Understanding and Using Morfik Helper Methods
Author:
Mauricio Longo
Morfik AppsBuilder 2.0 introduced a very interesting feature for those of us that have an interest in writing elegant code. This feature is called Helper Methods and it pretty much allows you to add methods to any type in the Morfik language.
With Morfik Helper Methods you can add new functionality even to primitive types of the language such as integers, strings and booleans. The following code snippet is a short Helper Method written in Morfik Pascal.
The same methods could be written in Morfik Basic as shown in the following code snippet.
This topic is a bit too extensive to go into all the detail in a regular post, so I decided to make available for download a PDF version of longer article called Understanding and Using Helper Methods.
The information contained in this article is part of the material I have been putting together for the new book I am currently writing.
With Morfik Helper Methods you can add new functionality even to primitive types of the language such as integers, strings and booleans. The following code snippet is a short Helper Method written in Morfik Pascal.
function Boolean.ToString: string;
begin
if Self then
Result := 'True'
else
Result := 'False';
end;
The same methods could be written in Morfik Basic as shown in the following code snippet.
function Boolean.ToString as string
if Me then
Return "True"
else
Return "False"
end if
end function
This topic is a bit too extensive to go into all the detail in a regular post, so I decided to make available for download a PDF version of longer article called Understanding and Using Helper Methods.
The information contained in this article is part of the material I have been putting together for the new book I am currently writing.
Labels:
Helper Methods,
M2,
Programming
Saturday, November 22, 2008
Copying Forms from Browser to Web Projects
Author:
Mauricio Longo
Morfik AppsBuilder 2.0 allows you to work with two kinds of projects: Browser and Web. Browser projects are strictly client side, running entirely inside the browser and Web projects include both browser and server side code.
If you created a Browser project and found out that you are really going to need some server side code, there is no need to despair. Though there is no way to convert a project from one type to the other, you can create a new project and copy your objects from the other.
Copying objects between objects can be achieved in the simplest possible way, just Copy in one and then Paste into the other. This works flawlessly for just about all types of objects and all in types of projects, except for a small problem when you try to copy a form from a Browser project and paste it into a Web project.
Since Browser project Forms do not have any server side code, the IDE creates the server side module and class declaration and your form has been moved across. There is a small glitch in AppsBuilder build 2.0.4.78 (the first release build of AppsBuilder 2.0) that causes the member declaration for the controls in the form to be omitted from the generated server side code. It is very easy to get around this small issue. All you need to do is copy the member declarations for the controls from the Browser side form class declaration and paste them in the appropriate place in the server side version of the corresponding class.
This tiny issue taken care of, you are all ready to go.
If you created a Browser project and found out that you are really going to need some server side code, there is no need to despair. Though there is no way to convert a project from one type to the other, you can create a new project and copy your objects from the other.
Copying objects between objects can be achieved in the simplest possible way, just Copy in one and then Paste into the other. This works flawlessly for just about all types of objects and all in types of projects, except for a small problem when you try to copy a form from a Browser project and paste it into a Web project.
Since Browser project Forms do not have any server side code, the IDE creates the server side module and class declaration and your form has been moved across. There is a small glitch in AppsBuilder build 2.0.4.78 (the first release build of AppsBuilder 2.0) that causes the member declaration for the controls in the form to be omitted from the generated server side code. It is very easy to get around this small issue. All you need to do is copy the member declarations for the controls from the Browser side form class declaration and paste them in the appropriate place in the server side version of the corresponding class.
This tiny issue taken care of, you are all ready to go.
Labels:
M2,
Visual Design
Wednesday, November 19, 2008
Using a watermark in a Morfik application...
Author:
Mauricio Longo
As I mentioned before, Morfik AppsBuilder 2.0 introduced several new design oriented features. Among these features are the ability to create fully transparent forms and to regulate the opacity of individual controls. By combining these two new features you can very easily create a watermark effect for your application or website.
The following picture shows a sample application I am updating to take advantage of Morfik 2.0 features. As you can see it uses stylized world map as its watermark.

To achieve this result I stated by creating placing an image control within a container and loading it with the picture chosen for the watermark. This image had its opacity dialed down so that it would show through some of the white background, fading the image which would otherwise get in the way of the user actually reading the text.
The following picture shows a sample application I am updating to take advantage of Morfik 2.0 features. As you can see it uses stylized world map as its watermark.

To achieve this result I stated by creating placing an image control within a container and loading it with the picture chosen for the watermark. This image had its opacity dialed down so that it would show through some of the white background, fading the image which would otherwise get in the way of the user actually reading the text.
To complete the effect forms with NoColor selected as background were used in conjunction with rectangles which had their own opacity died down so as to provide a good enough background for reading the text but not totally hiding the watermark. Though you might be tempted to use containers instead of rectangles that would not be a good idea. In the case of rectangles, when you lower the value of their opacity all included controls have their opacity level reduced as well.
Now that you have seen the sort of effect that can be achieved I you try it out for your self to see just how far you go in creating an application which is both aesthetically pleasing and functional, at the same time.
Labels:
M2,
Visual Design
Sunday, November 16, 2008
Thoughts on how Morfik AppsBuilder 2.0 came to be and where it is going...
Author:
Mauricio Longo
Through all of the current decade, application implementations have continuously moved to a web-centric model. Most applications created are now “web-based” even when their sole purpose is to be usage inside a corporate environment. This choice mainly derives from the ease of use of web interfaces, from the familiarity that most users get from using the word wide web, and from the ease of deployment.
Web applications, however, though not difficult to create when very simple in nature become increasingly hard to code when their complexity grows. Most Web related technologies were developed as mechanisms for document definition and not really suited for the development of applications, making some aspects of their use cumbersome. This began to change some years ago with a set of technologies collectively known as Ajax, which allows for a much more sophisticated communication between the code running on the browser and the server. The use of these technologies, however, further complicates the development process requiring extensive specialized knowledge on several different standards (HTML, HTTP, XML, CSS, SOAP, WDSL, etc) from application developers.
Into this scenario came Morfik. Morfik AppsBuilder 1.x was an application development tool that allows developers to create sophisticated Ajax applications without needing to have any knowledge whatsoever of the underlying technologies. The Morfik AppsBuilder 1.x’s Integrated Development Environment (IDE) directly supported several dialects of commonly used programming languages making it easy for many seasoned application developers to have complex web based applications up and running in a very short time. Morfik also makes it possible for these developers to reuse their extensive experience and segments of existing code, instead of having to learn an entirely new set of skills.
Having established an initial position for AppsBuilder as an environment for experienced software developers to create sophisticated Web based applications Morfik moved on to create AppsBuilder 2.0. AppsBuilder moved into previously unexplored country by adding an extensive list of visual design oriented features, making it much easier and simple, as well as much faster, to create a visually compelling Web applications.
At the same time, apparently based on user feedback, Morfik decided to consolidate the number of language syntaxes they supported in Object Pascal (Morfik FX) and Basic (Morfik BX). Both of these languages have been in use in visually oriented development tools for the creation of desktop and client/server applications for well over a decade and thus have large user communities who seem to be very interested in the prospect of having the same kind tools they used to create Windows applications for creating Web applications.
Morfik AppsBuilder 2.0 goes way beyond what you could achieve in the Windows tools, while going out of its way to remain easy to use. I guess the best way to describe the new Morfik IDE is as a MASHUP of Access (for the database creation parts), Delphi (for the programming parts) and PowerPoint 2007 (for the visual design parts). This combination of features from such disparate applications actually yields an amazingly well integrated and easy to use design and development environment.
From my perspective Morfik AppsBuilder is an ideal tool for startup companies to quickly develop their prototypes and take their applications to production. It is also perfectly suited for independent software vendors with its high-performance natively compiled server code and its non-reproducible obfuscation for browser code which combine with a highly productive development environment and a reliable open source (and thus having no licensing costs) relational database server.
Of course, there are many other uses for Morfik AppsBuilder that range from creating plain websites (something which version 2.0 made possible) to fast prototyping applications (even if implemented in other tools due to pre-existing corporate standards).
Morfik has certainly raised the bar for how you design and build highly interactive web applications, with its next generation environment. At a time when even Microsoft haters seem to believe that all development tools need to look and behave like Visual Studio, Morfik takes a totally different direction tightly integrating visual design with application creation and making it all easy to use.
AppsBuilder 2.0 brings some much needed and very refreshing innovation to development tools.
Web applications, however, though not difficult to create when very simple in nature become increasingly hard to code when their complexity grows. Most Web related technologies were developed as mechanisms for document definition and not really suited for the development of applications, making some aspects of their use cumbersome. This began to change some years ago with a set of technologies collectively known as Ajax, which allows for a much more sophisticated communication between the code running on the browser and the server. The use of these technologies, however, further complicates the development process requiring extensive specialized knowledge on several different standards (HTML, HTTP, XML, CSS, SOAP, WDSL, etc) from application developers.
Into this scenario came Morfik. Morfik AppsBuilder 1.x was an application development tool that allows developers to create sophisticated Ajax applications without needing to have any knowledge whatsoever of the underlying technologies. The Morfik AppsBuilder 1.x’s Integrated Development Environment (IDE) directly supported several dialects of commonly used programming languages making it easy for many seasoned application developers to have complex web based applications up and running in a very short time. Morfik also makes it possible for these developers to reuse their extensive experience and segments of existing code, instead of having to learn an entirely new set of skills.
Having established an initial position for AppsBuilder as an environment for experienced software developers to create sophisticated Web based applications Morfik moved on to create AppsBuilder 2.0. AppsBuilder moved into previously unexplored country by adding an extensive list of visual design oriented features, making it much easier and simple, as well as much faster, to create a visually compelling Web applications.
At the same time, apparently based on user feedback, Morfik decided to consolidate the number of language syntaxes they supported in Object Pascal (Morfik FX) and Basic (Morfik BX). Both of these languages have been in use in visually oriented development tools for the creation of desktop and client/server applications for well over a decade and thus have large user communities who seem to be very interested in the prospect of having the same kind tools they used to create Windows applications for creating Web applications.
Morfik AppsBuilder 2.0 goes way beyond what you could achieve in the Windows tools, while going out of its way to remain easy to use. I guess the best way to describe the new Morfik IDE is as a MASHUP of Access (for the database creation parts), Delphi (for the programming parts) and PowerPoint 2007 (for the visual design parts). This combination of features from such disparate applications actually yields an amazingly well integrated and easy to use design and development environment.
From my perspective Morfik AppsBuilder is an ideal tool for startup companies to quickly develop their prototypes and take their applications to production. It is also perfectly suited for independent software vendors with its high-performance natively compiled server code and its non-reproducible obfuscation for browser code which combine with a highly productive development environment and a reliable open source (and thus having no licensing costs) relational database server.
Of course, there are many other uses for Morfik AppsBuilder that range from creating plain websites (something which version 2.0 made possible) to fast prototyping applications (even if implemented in other tools due to pre-existing corporate standards).
Morfik has certainly raised the bar for how you design and build highly interactive web applications, with its next generation environment. At a time when even Microsoft haters seem to believe that all development tools need to look and behave like Visual Studio, Morfik takes a totally different direction tightly integrating visual design with application creation and making it all easy to use.
AppsBuilder 2.0 brings some much needed and very refreshing innovation to development tools.
Labels:
Ajax,
M2,
Visual Design
How did we get to this point?
Author:
Mauricio Longo
Quickly going over the first items posted here, on MorfikWatch, I noticed that perhaps it was time to write a little about how Morfik AppsBuilder 2.0 came to be and how it has been positioned in the Market up to this point.
My next post will be a short review of this history and of my own personal perspective on the tool's appeal to certain groups of developers.
My next post will be a short review of this history and of my own personal perspective on the tool's appeal to certain groups of developers.
Labels:
M2
Friday, November 14, 2008
The best way to do Ajax is not to know what Ajax is...
Author:
Mauricio Longo
I believe that anyone who tries out Morfik AppsBuilder, specially release 2.0, will agree that the best way to create an Ajax based application is to use this incredible tool and its great visual designer.
As you don't really need to know anything about Ajax to create a great looking web based application with Morfik AppsBuilder...
As you don't really need to know anything about Ajax to create a great looking web based application with Morfik AppsBuilder...
Labels:
M2,
Visual Design
First third party custom control for Morfik 2.0
Author:
Mauricio Longo
The first third party custom control for Morfik 2.0 has been created by PannonRex, a consulting and development company from Hungary. Mr. Péter Illés, the company's CEO and an experienced Morfik developer told me over a quick Skype chat, that he had just finished porting the old Analog Clock control for Morfik 1.x to Morfik 2.x.
The overall time for porting the Analog Clock control to the new custom control infrastructure was just a few short hours of work. (Four hours approximately.)
A short post has been published on the PannonRex blog.
The overall time for porting the Analog Clock control to the new custom control infrastructure was just a few short hours of work. (Four hours approximately.)
A short post has been published on the PannonRex blog.
Labels:
M2,
Visual Design
Thursday, November 13, 2008
Using overlays for creating a glossy reflex
Author:
Mauricio Longo
Many websites use a glossy look on some or all of their buttons. This glossy like look is one effect you will not find on the Morfik 2 Ribbon. You can, however, as you will see, reproduce this same look using a simple technique: applying an overlay. In this case, a semi-transparent rectangle which is placed over the control to add this glass-like feel to it.


As an example, the following image is a small strip of buttons that is used as a top level menu for a small application. The buttons in this image just have a simple gradient effect applied to them.

The next picture shows the very same buttons, with four rectangle controls which are semi-transparent applied over the four buttons. The rectangles, where appropriate, have been configured to have rounded corners.

You can see this technique applied in the BookCollector sample that is bundled with Morfik AppsBuilder 2.0 (both FX and BX).
Overlaying rectangles over buttons, while yielding a good looking visual effect does present a small problem when the user tries o click on the button but actually clicks on the rectangle. This same issue shows itself if you define different states for the buttons to have a rollover appearance change.
In order to get around this issue you can use the HandleEffect method in the events of the rectangle control to cause the respective button to visually and logically react to the appropriate state change.
The following code snippet shows the event handler for the MouseOver event of one of the rectangle controls.
Procedure MainForm.GlossyRect1MouseOver(Event: TDOMEvent);
Begin
Button1.HandleEffect('mouseover');
End;
Labels:
Effects,
M2,
Visual Design
Creating a glow using a custom shadow
Author:
Mauricio Longo
Among the most noticeable new features of Morfik AppsBuilder 2.0 are the visual effects. These effects allow us to create great looking websites and applications with much greater ease than with any previously available design tool. These effects allow us to work at the control level, instead of working with a lot of small loose images.


Since Morfik 2.0 is such a new tool, most of us are still learning what we can accomplish with individual effects and with their combination. Recently, while experimenting with the use of custom shadow configurations on a button, I stumbled upon an interesting glow-like effect. You can see the difference between two versions of a button in the picture bellow:

As you can see in the above images the shadow can make a huge difference on how the button looks, without looking remotely like an actual shadow. The following picture shows the custom configuration for this button's shadow.

As this experience demonstrates there might be some nice effects hiding under the most obvious ones. I recommend that you do your own experiments with Morfik AppsBuilder 2.0 and check out what you can accomplish.
Labels:
Effects,
M2,
Visual Design
Wednesday, November 12, 2008
Morfik Videos - Learning Morfik YouTube style
Author:
Mauricio Longo
With the release of version 2.0 of AppsBuilder and the unveiling of a totally new company website Morfik is also introducing Morfik Videos.
This new website is a Morfik Built YouTube look-alike which is filled with interesting videos showing different aspects of how the product can used. This site is worth checking out for both its video content and to see that you can implement an application very similar to YouTube entirely in Morfik.

This new website is a Morfik Built YouTube look-alike which is filled with interesting videos showing different aspects of how the product can used. This site is worth checking out for both its video content and to see that you can implement an application very similar to YouTube entirely in Morfik.
The picture bellow is a screenshot of the Morfik Videos site running in Safari for Windows.

Morfik Hosting coming your way
Author:
Mauricio Longo
From the recently unveiled Morfik website we can already see one of the new directions in which the company is moving: hosting.
The Morfik AppsBuilder 2.0 IDE sports a Deploy button on its Ribbon toolbar and on clicking on it a dialog pops up asking for several parameters, including a domain name. The suggested domain name: morfikspace.com is a nice hint, but the new company website goes as far as setting prices for different hosting plans.
In a quick chat, Morfik's Shahram Besharati told me that the hosting service is undergoing testing and will be available to the public in the near future, but no date has been set yet.
The Morfik AppsBuilder 2.0 IDE sports a Deploy button on its Ribbon toolbar and on clicking on it a dialog pops up asking for several parameters, including a domain name. The suggested domain name: morfikspace.com is a nice hint, but the new company website goes as far as setting prices for different hosting plans.
In a quick chat, Morfik's Shahram Besharati told me that the hosting service is undergoing testing and will be available to the public in the near future, but no date has been set yet.
Theme Support in Morfik 2 - A Quick Look
Author:
Mauricio Longo
Morfik AppsBuilder 2.0 has extensive support for themes. This allows a website or application to be created in such a way as to be possible to radically alter the set of colors, fonts and control styles used in it.
The following screenshots show: first the default look of the main form of the BookCollector sample that comes bundled with Morfik AppsBuilder 2, and then the same form with a new theme being selected.
The following screenshots show: first the default look of the main form of the BookCollector sample that comes bundled with Morfik AppsBuilder 2, and then the same form with a new theme being selected.
Default look for the main form of the BookCollector Sample.
Main form of the BookCollector sample while a new Theme is being chosen.
As you can see the application looks quite different in the second screen shot, while maintaining the same character as the original look had.
Labels:
M2,
Themes,
Visual Design
Morfik 2 comes in two flavors
Author:
Mauricio Longo
Morfik AppsBuilder 2.0 comes in two flavors: BX for developers used to working with the Basic languages and FX for users used to working Object Pascal.
Differently from Morfik 1.x, where a single product allowed you to create projects in any supported language, Morfik 2 has a different version for each language. While this might seem like a step back from the previous version it has been my experience that people seldonly alternate between languages.
It is important to highlight that in my first tests the BX version was quite capable of opening a project created with FX and vice versa. You can open, compile and run a project created in a language different from the one which is the standard for that specific edition.
The only restriction in this new language scheme seems to be regarding project creation. You can even create new modules for projects in the other language and they will be created in the default language of the project even if it is different from the standard for your edition of Morfik 2.
One other important aspect of the newly announced Morfik AppsBuilder, which might be related to this change, is that the cost of joining the party is now significantly lower. You can get Morfik AppsBuilder 2.0, either BX or FX, for only $499.00.
Differently from Morfik 1.x, where a single product allowed you to create projects in any supported language, Morfik 2 has a different version for each language. While this might seem like a step back from the previous version it has been my experience that people seldonly alternate between languages.
It is important to highlight that in my first tests the BX version was quite capable of opening a project created with FX and vice versa. You can open, compile and run a project created in a language different from the one which is the standard for that specific edition.
The only restriction in this new language scheme seems to be regarding project creation. You can even create new modules for projects in the other language and they will be created in the default language of the project even if it is different from the standard for your edition of Morfik 2.
One other important aspect of the newly announced Morfik AppsBuilder, which might be related to this change, is that the cost of joining the party is now significantly lower. You can get Morfik AppsBuilder 2.0, either BX or FX, for only $499.00.
Morfik 2 Popup Customization
Author:
Mauricio Longo
Morfik AppsBuilder 2.0 allows you to extensively customize what HTML popups will look like. This is done by inserting a Popup control onto a form, changing its formatting and properties to reflect what you want it to look like and then updating the default style for the control.


Since this control will not be visible in your application, but you might want to make changes to what the popups look like, you will probably want to keep it. In this case I recommend creating a separate form in which to place such "model/template" controls.
In a future note I will discuss styles in a bit more detail as they are one of the more interesting aspects of the new version (2.0).
Tuesday, November 11, 2008
Morfik AppsBuilder 2.0 has been released!
Author:
Mauricio Longo
This is a great day for Web application developers. Morfik is releasing version 2.0 of its great web development tool: Morfik AppsBuider (codenamed M2).
The first thing that you will notice when you see the new version of Morfik is that the interface has been entirely redesigned. The change is so tremendous that you will be hard pressed to believe it is the same application. The new IDE employs some of the interface design elements of Microsoft Office 2007 such as a Ribbon-style toolbar. As far as I know it is the first development environment to embrace such a radical change in interface but the result is surprisingly good. The new interface is a great fit with the new enhanced design features and visual effects, though I have to admit that I could be a bit biased, having been present when some portions of it were originally created.
The second incarnation of this great web development tool has received a large number of new features, specially in the area of visual design and effects. In fact, there are so many effect combinations that you can apply to controls that AppsBuilder 2.0 might actually cause designers to retire Photoshop or similar tools for casual web design.
One other feature of version 2 which might interest designers is the ability to create pure browser based applications. These browser-only applications do not require any server side code or special server support of any kind. When working on with browser-only Morfik projects it is possible to create great looking websites. This extends the possible roles in which Morfik AppsBuilder 2.0 can be used.
There are, also, some new features which are not visual in nature but that should be well received by developers such as helper methods that allow the extension of all of types in the Morfik programming languages. This feature is more likely to interest hard core developers than web designers, but is just goes to show that no one was left out when new features were being added to AppsBuilder 2.0.
Following this note I will post several others which will briefly highlight some of the most interesting features of Morfik AppsBuilder 2.0.
The first thing that you will notice when you see the new version of Morfik is that the interface has been entirely redesigned. The change is so tremendous that you will be hard pressed to believe it is the same application. The new IDE employs some of the interface design elements of Microsoft Office 2007 such as a Ribbon-style toolbar. As far as I know it is the first development environment to embrace such a radical change in interface but the result is surprisingly good. The new interface is a great fit with the new enhanced design features and visual effects, though I have to admit that I could be a bit biased, having been present when some portions of it were originally created.
The second incarnation of this great web development tool has received a large number of new features, specially in the area of visual design and effects. In fact, there are so many effect combinations that you can apply to controls that AppsBuilder 2.0 might actually cause designers to retire Photoshop or similar tools for casual web design.
One other feature of version 2 which might interest designers is the ability to create pure browser based applications. These browser-only applications do not require any server side code or special server support of any kind. When working on with browser-only Morfik projects it is possible to create great looking websites. This extends the possible roles in which Morfik AppsBuilder 2.0 can be used.
There are, also, some new features which are not visual in nature but that should be well received by developers such as helper methods that allow the extension of all of types in the Morfik programming languages. This feature is more likely to interest hard core developers than web designers, but is just goes to show that no one was left out when new features were being added to AppsBuilder 2.0.
Following this note I will post several others which will briefly highlight some of the most interesting features of Morfik AppsBuilder 2.0.
Labels:
M2,
Visual Design
Sunday, September 28, 2008
Morfik 2.0 is coming shortly
Author:
Mauricio Longo
It seems that Morfik is going to be releasing version 2.0 of its flagship product quite soon now. This version will have a large number of new features, specially in the area of visual design and will make creating great looking web applications a lot easier than it was with the previous versions of the 1.x family.
Some of the new features to added to internal beta builds which I have had the opportunity to see really impressive and I believe that not only will current Morfik users be very glad to have them, but that they will actively attract a lot of new users to the product. I am not at liberty to discuss these features in any detail but I am confident that the users that have been waiting for M2 to reach its release version will really like what will be in new version.
Some of the new features to added to internal beta builds which I have had the opportunity to see really impressive and I believe that not only will current Morfik users be very glad to have them, but that they will actively attract a lot of new users to the product. I am not at liberty to discuss these features in any detail but I am confident that the users that have been waiting for M2 to reach its release version will really like what will be in new version.
Labels:
M2
What is Morfik?
Author:
Mauricio Longo
I decided to start this new blog answering the simple question: What is Morfik? Morfik is a company from Australia which created the most advanced web development tool available in the market, called Morfik AppsBuilder. As it happens most users of the product just call it Morfik, for short, which creates a bit of confusion.
Okay, I recognize that my above defition begs some clarification. Why is Morfik the most advanced web development tool available in the market? It has a unique combination of concepts and features that essentially make it the most productive and sophisticated set of tools for creating, ajax-based, highly interactive web applications.
In essence, Morfik enables a person with mid-level skills and experience in tools such as Visual Basic, Delphi or similar to create highly flexible and powerful interactive, database-driven, web applications using Ajax. All this can be acomplished without the developer needing to know anything about HTML, CSS, XML or Javascript. In reality the developer doesn't even need to know what Ajax is, in order to make the most out it.
Morfik combines a visual design environment with high-level object-oriented language compilers to allow you to write all of your application in the same language regardless of were the code will run. It comes with an extensive application framework including, but not limited to, a sophisticated set of controls which support an amazing set of visual effects.
Morfik AppsBuilder has been available, in its 1.x versions, for a bit over a year now and a clear pattern has emerged in the people that I have seen using it and showing interest in doing so. They are, mostly, software developers. People with experience developing complex applications and off-the-shelf products that quickly grasp the potential advantage of having the same, or an even higher, level of visual design abilities they have in tools for traditional software development such as Visual Studio, Delphi or XCode, combined with a object-oriented framework and high-level language compilers.
With the upcoming release of M2 this group should continue to grow, but will probably be joinned by people looking to create great looking web sites quickly and easily. The wealth of visual design features available in this new release make the creation of great looking sites to be almost trivial. All you need to bring to the party is good taste. Morfik essentially provides everything else you need.
Okay, I recognize that my above defition begs some clarification. Why is Morfik the most advanced web development tool available in the market? It has a unique combination of concepts and features that essentially make it the most productive and sophisticated set of tools for creating, ajax-based, highly interactive web applications.
In essence, Morfik enables a person with mid-level skills and experience in tools such as Visual Basic, Delphi or similar to create highly flexible and powerful interactive, database-driven, web applications using Ajax. All this can be acomplished without the developer needing to know anything about HTML, CSS, XML or Javascript. In reality the developer doesn't even need to know what Ajax is, in order to make the most out it.
Morfik combines a visual design environment with high-level object-oriented language compilers to allow you to write all of your application in the same language regardless of were the code will run. It comes with an extensive application framework including, but not limited to, a sophisticated set of controls which support an amazing set of visual effects.
Morfik AppsBuilder has been available, in its 1.x versions, for a bit over a year now and a clear pattern has emerged in the people that I have seen using it and showing interest in doing so. They are, mostly, software developers. People with experience developing complex applications and off-the-shelf products that quickly grasp the potential advantage of having the same, or an even higher, level of visual design abilities they have in tools for traditional software development such as Visual Studio, Delphi or XCode, combined with a object-oriented framework and high-level language compilers.
With the upcoming release of M2 this group should continue to grow, but will probably be joinned by people looking to create great looking web sites quickly and easily. The wealth of visual design features available in this new release make the creation of great looking sites to be almost trivial. All you need to bring to the party is good taste. Morfik essentially provides everything else you need.
Subscribe to:
Posts (Atom)

