As several of you already know, we’ve been working extremely hard, harder than usual anyways, to get LandlordMax up and fully running on Windows Vista The reality is that Vista has been a harder than usual update for us. The good news is that we’re getting very close to releasing an update of LandlordMax to version 3.11b. If everything goes according to plan, you should anticipate the release of version 3.11b by the end of this weekend. I believe we’ve now got all of the major issues resolved, we’re just finishing with the details and doing some final testing.
Having said that, I thought I would take the time today to write what we’ve been through to get LandlordMax fully Windows Vista compatible. What we’ve been doing behind the scenes, what challenges we’ve been facing, and so on. So without further ado:
Unlike previous Windows upgrades (98 to Me, NT, 2000, XP), this Windows Vista upgrade has been a real challenge. You would think we wouldn’t even need to upgrade LandlordMax to support Vista, especially since it’s Java based, but the reality is that it’s been a major update. With the prior Windows systems, the LandlordMax updates were minor if at all (for example we didn’t have to do anything special to move from Windows 2000 to Windows XP). But as I just said, Windows Vista has turned out to be a very different story.
For our customers who tried to run LandlordMax on Vista, the first thing you saw was an “Error loading Look and Feel” message. In most cases you could just ignore this message and proceed. However by doing so, because the expected Look and Feel wasn’t available, many of the screens became useless. For example, in the screenshot below, you can see that a portion of the Scheduled Accounting entries form is missing. This is because the visual components (text fields, combo boxes, etc.) didn’t display as expected (actually even the font style, combo box styles, etc. are all off). The software worked as expected, but the screens didn’t. Well actually that’s not fully true, we had to resolve a few very minor coding compatibility issues with Vista.
In any case, this quickly lead us down a very slippery slope. What started off as one small change quickly grew. And not only that, along the way we found some new bugs in the Java language that are Windows Vista specific (for example Bug 6434444).
Before getting too far ahead here, let’s get back to the fact that the Look and Feel didn’t work in Windows Vista only. What does this mean? Without being too technical, it basically means that the Look and Feel definition we’re using in LandlordMax wasn’t supported for Windows Vista and it therefore automatically changed to its first available Vista Look and Feel. For our Look and Feel, we use JGoodies Looks library which is an amazing open source library. In tandem with this, we use JGoodies Forms library. Great libraries, I can’t say enough about them! In any case, after a little bit of investigation, we found that we had to upgrade the JGoodies libraries to the latest version to get full Vista support. Since we’d last upgraded LandlordMax, the Looks library had itself upgraded a full version which ended up meaning that we also had to do some code changes in LandlordMax to support the Looks upgrade to version 2. As we were already in the midst of this, we decided to upgrade the Forms library which turned out to be a very simple upgrade.
After we finished coding for this upgrade, we then realized that we also needed to do a Java upgrade to the latest version. The current Java version LandlordMax uses is the 1.5.0_09 JVM and the current version available is now the 1.5.0_11 JVM. Not a major upgrade, but as we bundle it with the installer, this meant that we not only needed to upgrade our development environments (and test for any issues) but also our installer.
Once we were done with these upgrades we found we were still experiencing other issues on Windows Vista only. One of the less obvious ones that took a long time to track down is that Java Swing will sometimes increase the size of the table column headers to something that’s really awful (especially when screen space is limited) only on Windows Vista (again Bug 6434444). Why did this take so long to track down? Firstly because it only happens on Vista, and secondly because this is a newly documented bug within the Java language and therefore there is no real documentation on it other than the Java language bug reports.
Knowing this doesn’t help resolve the issue though. And if you look at the Bug report, you’ll find that there is no known workaround at this time. People are asking for it to be resolved ASAP (I personally found several other related Bug reports open under different numbers). We can’t wait for a Java language update for LandlordMax to be Vista compatible, so we had to discover a workaround that solved the issue in Vista but yet didn’t break it in the other Windows versions. As you can see from the screenshots below, we’ve been able to do that. All I can say is that it wasn’t my favorite solution, but it’s one we’ll have to live with until there’s a update to the Java language.
As you can already see, we’ve had a few bumps on our road to releasing a LandlordMax Vista version. The good news is that the major hurdles are pretty much done, we’re now just tweaking the last details. On top of the Vista issues, we’re also including some minor bug fixes which will all be included in the release notes when it’s released.
All in all, what we thought, well at least what I thought, would be a simple Windows update turned out to be our large update. I can now appreciate why many software companies will not update their current/past software versions and only offer Windows Vista compatibility at an additional charge (for example Quickbooks 2006 will not support Windows Vista, you’ll need to upgrade to Quickbooks 2007 for that). I don’t necesarily think that’s fair, but I can appreciate it having gone through the pain and expense of making LandlordMax Vista compatible. We definitely won’t support Vista on prior versions either, but the current version of LandlordMax (version 3.11) will support Windows Vista at no additional cost to legible customers.
Because of the time it’s taken us to get Windows Vista support for LandlordMax due to all the above difficulties (and others not mentioned), I’d like to thank all of our customers for your patience in letting us get this LandlordMax Windows Vista update out to you as fast as we can. Thank you.
Some of you may have already noticed, but as of today you can now order LandlordMax by mail as well as online. It took me a little longer to truly buy into this idea, but enough people have requested it that we’ll give it a trial run for a good year. So for now on, when you go to the LandlordMax purchase page, near the bottom of the page you will find three additional links, one for each of the order froms for the United-States, another for Canada, and one specifically from Ontario, Canada. We had to separate these out because we have to apply a Goods and Service Tax to all Canadian residents, and an additionaly Provincial Sales Tax to all Ontario residents.
For those of you interested I plan to do a follow-up post in the coming months showing the results of this initiative.
I know I just recently posted up a testimonial for LandlordMax (I generally try to at least space them out), but the following communications I had with Don is worth posting.
Don has been using LandlordMax for a while now and so far he’s been really happy with our support from. In our last exchange, which I personally answered, he sent back the following great comment:
“Once again outstanding service!”
As soon as I received this I asked him if I could have permission to use this as a testimonial for our Success Stories and Testimonial page on LandlordMax. Now normally when I ask for permission to use a quote people are generally delighted and give me the go ahead. Don went one step further and sent us this follow-up comment:
“You might add that: My business partner -who keeps the books- is very impressed with LandlordMax, in terms of its simplicity to use, its tremendous power of data capture and ease of report generation. LandlordMax is worth much more than we paid for it.”
That’s great! Thank you Don for the positive feedback!
As many of you already know, we’ve been hard at work on a Mac OS X version of LandlordMax. So far it’s been going pretty well. Most of our issues in supporting the Mac have been visual, with very few real technical issues. That being said, we are currently experiencing two visual related issue that we’re finding harder to resolve. I know we’ll eventually figure it out, but I’d like to get the Mac version out sooner than later. Therefore, I’m putting out a help request to all developers who read FollowSteph for this one issue. If you know the answer, or if you have good pointers, I’d love to hear them. And if someone points us to a direct solution that we use (or the first person if there’s more than one), I’ll send you a $100 Amazon gift certificate to show my appreciation!
Before dwelving into the technical aspects, here’s some quick background. LandlordMax is written in Java, and therefore the port to the Mac OS has been relatively straightforward as I just mentioned. Although many of you might not know this, from the very beginning we programmed almost everything in LandlordMax to be operating system independent. Although it wasn’t always possible 100% of the time, it was for the vast majority. The biggest issue, as I alluded to above, is the visual look and feel and how that affects the screens.
The two biggest issues we’re currently encountering which we’re struggling with is related to the combo box (pull downs) within LandlordMax. In Windows, the combo boxes are the same size as the text fields whereas in the Mac OS they’re much larger (especially in regards to height, and only somewhat in length). Because of this, and because we have to suppport the 800×600 resolution (a full 15-20% of our customers still use this resolution), we’re very limited in screen space. What’s happening is that these combo boxes on the Mac OS are taking up much more space than they should, and hence pushing things down on the screen (and sideways as well). On some screens this isn’t a big issue, but others were space is very limited (for example the Scheduled Tabbed Panel), this means that some of the fields no longer show up on the screen, they’re pushed down off the screen.
Below is a screenshot below of LandlordMax on the Mac OS. What we’d like to do is bring the combo boxes down to the same size as the fields.
The second issue has to do with auto-fill combo boxes, such as the “Type of Payment” field in the screenshot. For some reason, the auto-fill combo boxes are not being rendered correctly. If you look at the screenshot closely (you can click on it to see the full sized screenshot), the field has half of the combo box missing. I suspect this also has to do with the same issue.
So far we’ve looked at a number of solutions which haven’t quite worked for us. The first, and what looked like the most promising, was the QuaQua Look and Feel. They’ve noticed this issue as well us and have rectified it in their own custom Look and Feel. When we implemented it, it did indeed resolve the combo box issue, but unfortunately it also caused many other issues. With this Java Look and Feel, they seem to overwrite many of the manual settings we programatically apply in the software. So for example, if we set a background color of light blue on a panel (or component), it seems to ignore this and apply it’s own Look and Feel. Therefore this solution isn’t quite working for us right now.
We’ve also looked at modifying the Java Look and Feel by just changing some properties, but as we’re not familiar with this aspect of the language (actually very few people are which is why I’m posting it here today), it’s just not working out for us as we intended. We’ve had some moderate success with this solution but not enough yet.
There are some other solutions we’ve looked at, but as far as I can tell, the best solution is to modify the existing Look and Feel. Either by modifying the Mac OS Look and Feel or by extracting what we need from the open source Quaqua project…
If any of you know how to do this for the combo box that would resolve both of our issues, I would be extremely grateful. Not only that, as a show of my appreciation, I will award a $100 Amazon gift certificate to the first person who can give me a direct solution that we end up using!