I think it’s about time I bitch about Morifk (www.morfik.com).
Morfik is a RAD (Rapid Application Development) tool, designed to make it easy to produce applications that reside on the net (in a browser to be accurate), allowing the programmer to do all the code in either Object Pascal, Visual Basic or C#. That idea is fine and if they got it right it would be a great thing to have. But, as you may have guesse already, Morfik doesn’t live up to it’s own promises.
The first thing you may notice when you start using Morfik is that you often have to resort to using custom built data extraction routines, unless you are doing stock webpages (in which case it would have been smarter to simply have made a template webpage and sell that) — if you do not use one of the (few) standard layouts, you are simply not going to have any use for the database aware components of Morfik. This means using webmethods and rebuilding what is essentially the same routine over and over again (code sharing is not a strong point of Morfik).
Another thing you will soon notice is that the date type is handled differently on the server and in the browser — the (to me) most odd thing is that it’s the browser that handles dates the best. In the end I had to code my own date type that doesn’t make use of server or browser specific code (of course I still need a browser and a server implementation, but since they are identical, that’s a minor issue more than a problem).
The company behind Morfik calls Morfik the WebOS, but in reality it feels more like you’re writing software for a set of operating systems that have to communicate over the most complex channel they could think of — raw socket programming in C is less complex (not really, I’m just frustrated).
Another strangeness of morfik is how text is handled. You cannot do things like casting a character to an integer and then print the result (that is the numeric value of the character) — that means that I, for example, am not able to search and replace anything out side the basic English alphabet, since I have no idea what morfik is using nor what external datasources are using. Which brings me to another point. Morfik uses unicode. Or it claims to do. Or that is, Morfik claims to be using unicode when it doesn’t claim not to do so. That is, Morfik doesn’t really do anything with unicode. In fact, Morfik doesn’t seem to be doing much really. If you try to print the danish letters ‘æ’, ‘ø’ or ‘å’ (or the capital equivelant) you get garbage — and since you have no idea what the numeric values are and (strangely) you cannot compare those letters with themselves once they have been outside of morfik, there is no way to replace them with the html codes for those letters (nor should you have to — morfik should just do things right). In order to replace these letters I had to copy the result of printing them a HTML page and use those results to search and replace all instances with the HTML codes for the letters — of course, this doesn’t work with Reports since they use an entirely different character set. In reports I can’t use either trick (casting or copying) to get it fixed.
These issues and problems are not related to the Morfik program though — the problems with the IDE are enough to make you cry. Random crashes, lock-ups and plain weirdness is abundant. For example, I often get an error message that says “Cannot copy to clipboard”, when I hit CTRL+X. The content is always copied but the original is never deleted. Also when viewing datatables (either internal or external) I often get no result at all, which locks up the database components of Morfik forcing me to shut down and restart the IDE to restore it.
I wish I could be allowed to do things in PHP. Sigh.

Hi Frederik,
While Morfik might have its share of bugs, I believe some of the items for you laid blame at Morfik’s feet may have been misplaced.
I’ve got a fairly complex application that is built with Morfik, no web methods in creating the interface. The application has “pages/screens” which are similar to what you get in GMail, the Project View of Morfik’s IDE. The application implements more than one treeview, with item-specific background colors, links and images… all implemented just with regular Morfik forms. All visually designed.
I would prefer if all data handling be exactly the same in the browser and the server, but sometimes that is not possible unless you limit your self to what the least capable platform is able to do.
I have no experience with the characters you mentioned, but I’ve got several applications in Portuguese and haven’t been having any trouble with special characters. That wasn’t the case when I first started using Morfik, back in its pre-release days, but as of Morfik 1.2 I have not had any problems related to unicode or special characters.
A point which I think should be made, also, is that Morfik is being very diligent in fixing bugs and adding new features to Morfik 2.x. Just today they’ve released a new build which not only brings several bug fixes but some new features as well.
I hope this information about my experiences will convince you to have a second look at Morfik.
While some of the blame I placed on Morfik isn’t justified, I certainly think that the bulk of the critique of Morfik I make is. The only issue I have been able to fix, is the letters issue. The fix however is not a universal fix and has to be applied when I want to display a string. The real issue isn’t whether or not I can fix it or not, but that I have to fix it. I have a real problem with companies that sell products that does a worse job at something it is supposed to be doing better than not having the tool — as it is now Morfik is really good at sucking up my memory, because of the numerous and severe memory leaks, just before crashing.
Handling types over webmethods should never be an issue, when you’re transporting from the browser to the server (since the server should have all the system resources available that any other programme has) — the other way around you might be able to convince me could be a problem. Since both sides are Turing complete I, at best, doubt you’d be successful. Besides, Dates should never be a problem — there is simply no excuse for not being able to handle this in a uniform manner.
While I agree that Morfik is very busy implementing new features (none which I have had any use of so far), I am yet to actually have any of the bugs I have noticed go away. Several of which have also been reported by many others on the forum. I have also not noticed any bugreports on the forum that got anything but a standard reply without being resolved in any of the patches since 2.1 (up to and including 2.3).
I have the feeling that you’re not who you try to come off as being. You wrote you’re comment as if you have are not affiliated with Morfik in any way, yet you try to convince me that I should have a second look at Morfik and use a morfik.com email. Why anyone would try to convince me to have a second look at Morfik without being affiliated with Morfik. The fact that you claim to know how to do a lot of things which are not documented how to do by Morfik makes me believe that you are not, in fact, a customer but rather an employee. If that is the case, please identify yourself as such or convince me that you are not — if I’m not convinced, I won’t allow you to post more comments here.
Hi Frederik,
I can understand your confusion and I thank you for pointing out the issue to me. I am not a regular user of wordpress and I just found out that I have two different accounts. The one I logged into to reply to your post was originally created at a time when I was working at Morfik.
Today, however, I am a regular user of Morfik and one that uses it daily in creating two websites and a rather large, multi-application, corporate dashboard software.
I don’t know that I know how to do a lot of things that are not documented. The ones I mentioned here, in my post, are certainly documented at http://www.morfikwiki.com. I should know as I wrote most of it while I was working for Morfik. As far as I know, everything that is on that site is also included in the online help, but I can’t really vouch for that as I have no idea how Morfik is handling updates to the help.
I have been using Morfik since the end of 2005, in its pre-beta stage. I joined that company in 2006 and left its employ a bit over a year ago. Since then, I have been using Morfik to develop my own projects and I write a blog about the product: http://www.morfikwatch.com. I’ve organized user groups, internationally and in Brazil and I am now an active participant of the Morfik forums (something I never was while working for Morfik).
I’m sure that there are other Morfik users who know a lot more about the product than I do, as there are companies with really huge projects based on the product, so I do my best to exchange information with other users.
I have never had the memory issues you mention and as I write this I have three instances of Morfik up and running. While I did experience crashes, while shutting down the IDE, with Morfik 2.0, I have not had any such experience with releases 2.1 and 2.2, which would tell me that Morfik is fixing bugs even if I had not gone to the trouble of actually reading the release notes which lists all the issues solved.
While I posted a reply to your post with the intention of presenting you information on a different experience so that you might gain some thing from it, it was I who really gained. I learned that some people are happier just complaining than trying to improve things. I call your attention to the fact that “I” did not accuse you of falsehood. I merely indicated that I had a different experience. I hope that now that you have publicly accused “me” of falsehood you will be good enough to allow my reply.
I’m sorry for not having approved you’re comment before now — my girlfriend had an abortion and I have just not been focusing on my blog as a result. I accept you’re reply and you’re welcome to post future comments as you see fit.
To add to my attacks on Morfik, just now I’ve spent a couple of days to get a rather simple function, which works beautifully in all browsers, to work in Internet Explorer. Coupled with all the other surprises that Morfik has throw at us, we’re ready to drop a project that only needs this one (vital) function done before it’s ready to be used in production and reimplement the entire thing in Intraweb (Delphi) — which is really really horrible — but it won’t surprise us and the only real trade off is that Intraweb is slow.
I don’t see how you can make the conclusion that I am all about complaining and not improving. Morfik is a product that I have been sold — fixing it is not my job. I have pointed out, several times, on the forum the bugs I have found, with no or little response from the developers. I get that they are busy implementing fixes and new features, but too much of the basic stuff is just not working.