Friday, December 24, 2010

Cocoa Progress Report

The road from Carbon to Cocoa for us has been a long and winding one but the fruits of our labor are beginning to really show themselves. Yesterday, we made available a beta of the new version of our Feedback application that you use to submit bug reports and feature requests. There are a few new features in Feedback 2011r1 but what is most interesting is that this version of Feedback is built with our Cocoa-based Mac framework!

Feedback is not a simple app. The fact that our Cocoa support has come far enough that we can take our Feedback app and rebuild it using our Cocoa framework says a lot about just how far the Cocoa framework has come. While there are couple of minor issues with this first beta, on the whole it works very well and we have been using it internally for several weeks now.

This version of Feedback is built with REAL Studio 2011r1 which is not yet available to beta testers but will be soon after the holidays. We have made a lot of improvements to our Cocoa support for 2011r1 and I'm confident many of you will find that your apps can be deployed when built with it. This really is a milestone and while it's taken quite a while to get here, it will be worth the wait. Cocoa is a big step in terms of modernizing our Mac OS X support.

Your patience is appreciated. We are almost there.

Thursday, December 23, 2010

Another year...

2010 is coming to an end. It's been quite a year! We've been working hard on the Cocoa framework and I think many of you will be able to deploy your apps using the Cocoa framework starting with REAL Studio 2010 R1.

The Web Edition is another big new feature we worked on throughout 2010. It's great to see so many of you as excited about Web Edition as we are bringing it to you.

We've got lots of cool stuff planned for 2011 as well. So stay tuned for that.

Finally, I would like to thank all of you that have supported us in 2010. We appreciate it. We love being able to bring REAL Studio to you and hearing about the cool stuff you do with it.

Happy Holidays and Happy New Year,

Geoff Perlman
Founder and CEO
Real Software, Inc.

Wednesday, December 22, 2010

REAL Studio Web Edition Status

Since the release of REAL Studio 2010r5, we've been receiving lots of questions regarding deploying Web applications. They have come from the forums, our mailing lists, sent to our customer service and tech support contacts, as well as directly to my inbox. So here is a kind of status update regarding Web Edition, as well as some background information, and possibly assistance with getting your application deployed once we have made r5.1 available.
I see two main deployment issues:
  1. Some/many shared hosts are not able to support this yet. Some do though, and we expect more to over time. Currently, the most cost-effective way to deploy is using a VPS, unless you've found a shared hosting package that works for you.
  2. FastCGI has a few bugs.
A few days before we shipped, it was discovered that apps deployed as FastCGIs could take up 100% of the CPU. Obviously, that's not going to work.
From past experiences with Cocoa, delaying the release was not an option. If we delayed, users would be upset anyway. A "damned if you do, damned if you don't situation." We decided to get this into our users hands and do a r5.1 release.
The good news is that FastCGI is much improved in r5.1. We ran an internal test of the Chat example last night on a CentOS 5 + Apache server using Dynamic FastCGI. Aside from a couple minor issues that need looking into, it performed wonderfully. Average CPU was 0%, RAM at 8MB. The app did not crash, it handled all requests perfectly. We were very pleased.
This test also revealed another configuration requirement though. By default, the FastCGI process manager will spawn additional instances of your application at its will. This is a problem for our applications, as state information is stored in memory. When this happened, although the apps were functioning, the client-side experience fell apart terribly. To prevent this, here's what I added to our Apache config file:
FastCgiConfig -minProcesses 0 -maxClassProcesses 1
Basically, this line tells the process manager that it is allowed to have no app running (for when no users are connected and the app is not needed) and is allowed to run only one instance of each app.
We intend to have a r5.1 beta available to the beta program in time for the holidays. We'll be collecting feedback over the holiday break, and intend to have a r5.1 release in January. As with all point releases, r5.1 will be available to anybody eligible for r5.
The new config options will be added to the wiki at some point, and we intend to setup demo apps on our website. However, these things may not happen until after the holidays. In the mean time, here's everything I did to get an app deployed.
  1. Purchased a new dedicated server from InMotion Hosting. A VPS would work just as well once this is stable, but for our testing, we want a dedicated box where we can control every variable, and not cause problems for other users on the same server should our app eat up all resources or something. It is a CentOS server with cPanel installed, very similar if not identical to the average hosting package.
  2. Downloaded and installed mod_fastcgi. This requires root access, so either get root access or ask Tech Support for assistance. For me, it was very easy, but not everybody is as comfortable with the command line.
  3. I modified /usr/local/apache/conf/includes/pre_main_global.conf. This can be done via command line, or through WHM. I added two lines:
    LoadModule fastcgi_module modules/mod_fastcgi.so
    FastCgiConfig -minProcesses 0 -maxClassProcesses 1
  4. Restarted Apache
  5. Uploaded an app using FTP as if it were any other file.
  6. Set the app as executable. This can be done with any good FTP client.
  7. Added an .htaccess file to the directory containing my app:
    Options +ExecCGI
    AddHandler fastcgi-script .fcgi
  8. Visited the URL for my app to test. The URL will be dictated by the directory structure you uploaded your app to.
One last bit of information this test unveiled is that default installations of cPanel will relaunch Apache every 2 hours. When this happens, your application will be stopped as well, and your users disconnected. We are investigating a solution to this issue, but that solution will NOT make it into r5.1. In the mean time, the only solution we can offer is to disable log processing, or at least slow down the rate at which logs are processed. This can be done using WHM, under the "Server Configuration" section, look for the "Statics Software Configuration" option. There is a thread on the cPanel forums about this issue at http://forums.cpanel.net/f5/11-25-current-apache-restarting-every-hour-134281.html for those interested.

Tuesday, December 14, 2010

Fixing an issue with FastCGI

Last week, just as we were preparing our final candidate build of Web Edition, it was discovered that there is an issue with FastCGI. FastCGI apps, especially under Linux, can get into states where they are using 100% of the CPU. Clearly that's not going to work if you have anything else running on the same machine.

The solution requires us to make some fairly significant changes under the hood which will need to be well-tested before they can be released. So I made the decision that we would go ahead and ship R5 so that you can start developing and testing your apps. We will ship an update (5.1) that will include this fix once it has been well tested. These updates will always work with any license key that worked with the major release (R5 in this case) so you don't need to worry about missing the fix.

This issue ONLY affects deployment as FastCGI. It does NOT affect building your app as a standalone HTTP Server.

We apologize in advance for this last minute issue. We will get you the update as soon as we can.

Announcing REAL Studio Web Edition

Today we are announcing the general availability of REAL Studio Web Edition, the first web application development tool designed for both ordinary people and traditional software programmers. REAL Studio Web Edition allows users to easily create rich, web 3.0 applications up to 50 times faster than traditional web development tools by using a single programming language rather than several web technologies.

The complexity of coding web applications has prevented many developers as well as hobbyists from attempting to create innovative new web-based applications. REAL Studio Web Edition uses a single, high-level, object-oriented language that is tightly integrated with the REAL Studio web framework. This allows developers to focus on what makes their application unique. Because of its unique interface, almost any app built for the desktop can now be created for the web with ease, without the need to learn five different web technologies.

Web Edition’s visual interface builder allows the user to create an interface via “drag and drop” rather than hand-coding it in HTML. Behind-the-scenes, the web framework translates the user interface on the fly into the appropriate web technologies required by the browser, thus eliminating the need for the user to know the above mentioned web languages and technologies. The integrated debugger makes tracking down bugs far easier than traditional web development tools. Additionally, the interface controls are supported on all browsers, which eliminates testing on each browser which is required with other techniques.

REAL Software applications are uniquely compiled to machine code for fast execution, allowing developers to sell their software with the knowledge that their intellectual property is safe and secure

“More and more users want applications delivered via their browser, but the complexity of doing so made it out of the reach of most people. Now ordinary people and software programmers alike, who once thought the learning curve was too steep, can build web applications easily and quickly,” said Geoff Perlman, REAL Software founder and CEO. “We currently have a seven-year-old creating an application using this new tool and if a child can learn REAL Studio, anyone can.”

REAL Studio Web Edition is available today for $599. It is included in REAL Studio Enterprise Edition, which also allows developers to create high quality applications for Mac OS X, Windows and Linux. REAL Studio Enterprise Edition is priced at $995. REAL Studio is available in a 30-day trial and also includes a 90-day money back guarantee.

Tuesday, December 7, 2010

REAL Studio and the Mac App Store

When Apple announced the Mac App Store, some in our community began asking if applications created with REAL Studio would be accepted. Having looked over the requirements, there was no reason I could see why they wouldn't be but the ultimate test would be an app made with REAL Studio being accepted into the Mac App Store.

Christian Miller of Pariahware, Inc., a long-time REAL Studio developer, announced yesterday on the REAL Software forums that his Doc Merge app (which was created with REAL Studio) has been accepted by the Mac App Store. Congratulations Christian!

There are several other developers with apps that are awaiting review by Apple but the fact that Christian's was accepted suggests that Apple is following its requirements and apps made with REAL Studio that meet those requirements will be accepted. Of course the more apps that are accepted the better but for those of you curious about the Mac App Store, this is certainly a very good sign.