Friday, June 25, 2010

Getting Rich (text) with Cocoa

In the next REAL Studio 2010 r3 build that beta testers will soon receive, we've added support for RTF (Rich Text Format) to the TextArea control in Cocoa. The Carbon TextArea control of course already supports RTF so this is really just for compatibility.

I tested the RTF support and what I found interesting was how the text rendering differed from Carbon to Cocoa. Consider the following two examples:

This is RTF rendered in Carbon:

This is RTF rendered in Cocoa:

You can see they are very different. The Cocoa rendered text is more condensed and harder to read. At first, I thought this was a bug. I opened the RTF file using TextEdit (which is a Cocoa application) and discovered that it's not a Cocoa bug, but a Carbon bug! Or to put it another way, the Carbon framework on Mac OS X appears to simply render RTF differently. In my case, I just chose a different font and now it looks great when I run my app under Cocoa.

By the way, the app I'm testing with is the same app I mentioned in the newsletter this month. With RTF now working, there is only one bug that would keep the app from shipping and two minor bugs that would be nice to see fixed before I ship it as a Cocoa app:

  1. The app prints a report and while it does print, the Print dialog doesn't close when it should.

  2. The about box doesn't display. Instead you get a generic Cocoa-created about box. (minor)

  3. The StaticText control renders its text 1 pixel too high (minor - for this app anyway).
It's good to see RTF working. We are making progress. There are still lots of annoying Cocoa bugs to fix but there's also a lot of stuff working well.

Wednesday, June 16, 2010

The mysterious relationship between credit cards and your REAL Studio license key

This past April I wrote about how companies accepting payment via credit card are being required to use a higher level of security (SSLv3). This is better known as PCI compliance. Most of you don't have to deal with this at all and will simply benefit from having your credit card number stolen less often. Actually, while I applaud the increased security, most credit card numbers are not stolen this by sniffing packets on a network, especially one using SSL. They are often stolen the old-fashioned ways (dumpster diving, for example, is a very common method).

But one way this could affect you (as I mentioned in the April blog post) would be if you have developed an application that connects via SSL to a web server that is also processing credit card payments. When that server is updated to SSLv3, your app may need to be updated as well. See my April post for more details on that.

One such application is any version of REAL Studio/REALbasic prior to 2010 release 2. We will be updating our web server to SSLv3 soon (we are required to by July 1st) and when we do, these older releases will no longer be able to connect to our server to verify your license key should you need to re-install it. But never fear. We have a solution. Should you need to reinstall your license key for REAL Studio/REALbasic 2010 r1 or earlier, please contact customer service and they will provide you with instructions. It's a very quick process. And we will reply back to your requests promptly.

I apologize in advance for the inconvenience. We, like all other companies that accept payment via credit card, are required to do this. REAL Studio 2010 Release 2 is already set up to handle SSLv3 so once you are up to date to this version or later, you will no longer have to deal with this problem.

Tuesday, June 15, 2010

Cocoa Update

Is Cocoa ever going to ship? I'm sure that is the question that many of you are asking.

This is really getting old. Every few months I write to you with an update on our progress moving our Mac OS X framework to Cocoa. I'm always conflicted when I write these updates because I'm sure you are interested in hearing about our progress but at the same time, I'm also sure that waiting for us to ship Cocoa support is as frustrating for you as it is for us.

There is a rule that is often true in software development that the last 20% takes 80% of the time. It sure feels like that's the case here. We do continue to work on it every day. For the most part, we are only fixing bugs at this point. Many of our beta testers tell us that their projects work now with few or no problems at all. For example, here's a screenshot from a project I personally wrote for a friend of mine. The Carbon version is on the left and the Cocoa version is on the right. They are nearly identical.

Of course the Cocoa version of this app has a few issues you can't see from the screenshots. The about box isn't working and there is an issue with the Print dialog (but it does print). Aside from that, this app works perfectly in Cocoa and gets a few benefits from Cocoa as well. For example, spell and grammar checking just works. I don't have to do anything to get that benefit. You will likely find that your projects, once recompiled for Cocoa, use less CPU time as well.

We are also hard at work on the Cocoa version of the REAL Studio IDE because of course the REAL Studio IDE is written in REAL Studio. It's coming along and we are seeing improvements in it each day.

And while our primary focus is on making sure that your existing projects will work with few if any changes when recompiled for Cocoa, we occasionally find opportunities to introduce some new Cocoa-specific features. For example, the Pushbutton class now has a ButtonStyle property that allows you to choose from nine additional types of pushbuttons:

When using drag and drop, you now get a ghosted image rather than a simple rectangle. View Carbon example movie. View Cocoa example movie.

For those of you that need to access Cocoa APIs for things that are not built-in to our framework, we have also added a new CocoaObject class to make it easier to use Cocoa APIs.

So progress continues. We know how important Cocoa support is for you and want it to be in great shape before we ship it. As always, if you want to follow our progress more closely and check your projects, please join the
beta program.

Your patience is greatly appreciated,

Geoff Perlman
Founder and CEO
REAL Software, Inc.