One of Sandvox's most popular features is the Contact Form, a page or pagelet that allows people to send you messages by filling out a form. As of Sandvox 1.5 we've enhanced the capabilities of this form — we'll highlight some of those changes in an upcoming post — but we wanted to mention a change we've put into effect behind the scenes that may affect how you process your incoming emails.

Historically, our processor for the contact form would build up an email message and make it appear as if it came from the email address of the person who filled out the form.

However, it has come to our attention that Apple's MobileMe (and legacy mac.com) mail service doesn't take to that too well. Probably in place as a spam-fighting technique, MobileMe does not accept an incoming email from an address that claims to come from mac.com or me.com, when in fact it doesn't.

So as of today, we've adjusted the way we build emails just a bit. Now, emails you receive from people who fill out a Sandvox contact form will appear to come from the address contact_form_no_reply@karelia.com. (This is not a real email address.) However, the message also includes the "Reply-To" header of the sender's email address, so that you can reply to that email message easily.

If you are using the contact form in Sandvox and this causes you any problems, please let us know. We think that for the most part it will increase the likelihood that you receive all the messages sent via the contact form.

Just after we released version 1.5.1 of Sandvox we discovered a problem that we accidentally introduced into the online help. This came as a bit of a surprise — there is a missing image file, something that wouldn't be a problem if you viewed the help pages in a web browser. But in Apple's help viewer, a missing image is a big deal, as we have just learned the hard way.

So, we have a quickie workaround for you to apply to your copy of Sandvox 1.5.1. We will have this fixed in the next version and even the next beta release we make, but we wanted to get this out there as soon as possible.

(If you don't want to bother with this, you can always use our online version of the help documentation at docs.karelia.com for now.)

To apply the fix, click on this link. It will open up your "Script Editor" utility with an AppleScript. Just click the green "Run" button and you should be on your way. (Note: This script assumes that your application is called "Sandvox"; if you've renamed somehow, the script may have some problems finding your copy. Also, the application needs to be writable; if you have it on a read-only volume, the script won't work.)

On the heels of last week's release of version 1.5 we're releasing an update, Sandvox 1.5.1, and recommending that all Sandvox 1.5 customers take advantage of this update.

The response to 1.5 has been tremendous, and we're grateful to all the customers who submitted comments, suggestions, feature requests, congratulations, and, yes, complaints. While we couldn't address everyone's feedback in 1.5.1, we wanted to get this first batch of improvements out to everyone as quickly as possible.

Most importantly, we discovered an issue with using Save As under Tiger (OS X 10.4) that, in some circumstances, caused site documents to become corrupted if Save As was used to save back to the same path. Given the potential for document corruption, we wanted this update to go out now, rather than a couple of weeks from now as we had originally scheduled.

Grab the update by using Sandvox > Check for Update or by downloading directly here.

A while ago, on the Yahoo! Sandvox group, we asked Sandvox users to submit their stories of how they have used Sandvox successfully to get themselves on the Web. We were overwhelmed with responses. We've sent out a few of these to our Email Alert List, so these might look familiar if you have been receiving that mailing, but we will mix in some web-only stories as well in future installments.

Chuck Dresel is a middle school teacher at Redwood Middle School in Napa, California. Using Sandvox and the Cathedral design to create a website for his Social Studies 7 class means that Mr. Dresel can spend more time on student work and less time maintaining the site. He wrote:

I'm a middle school teacher who doesn't have a lot of time to maintain a quality website for my class/students. Sandvox is the perfect tool for me because it allows me to quickly and easily provide my students with all the information they need to stay successful in my class and it really looks great. I use the blog collection to post and manage homework assignments; most documents that students need for my class are available from various download collections; students are able to access their current grades which are posted on the same server via ftp and then linked back to the Sandvox site; students can earn extra credit by completing several web-based geolab assignments that incorporate QuickTime video and audio files; and of course it is very easy to contact me using the contact form pagelet. Sandvox also makes it really easy to incorporate some really cool add-ons like Google custom search. Thanks again for making a great product.

Michael Schein describes himself as a poet and attorney, but he might add website designer to that list! Based in Seattle, Washington, Mr. Schein used Sandvox and the Gnarled design to create a website that showcases his writing (including his latest novel, Just Deceits), announces readings and personal appearances, and lets his readers share their feedback with him.

Early last May, over a year ago, we were working on Sandvox version 1.2.1, but we knew we needed to start working on a major new version of Sandvox that would eliminate a lot of the issues we were seeing with our initial architecture. So we split our code base into two branches: one for continued, minor updates to the shipping Sandvox, and another for a major rewrite of the application. Maybe not quite from the ground up, but at least from the knees up.

It's a big upgrade. It features major improvements to media processing, new and enhanced pagelets, fifty design templates, new blogging features, and for Sandvox Pro Edition, new Code Injection points. We'll let you read the press release for the overview, or you can even read the release notes if you are one of the twelve people who wants to get a more detailed change list. (And even that isn't particularly detailed: We counted 3,370 incremental updates to our program code for Sandvox since we started this branch!)

Doing a major rewrite like this was a huge undertaking, and normally a major new version like this would get a new major version number like "2.0," except that most of the work in this effort was under the hood, and a 2.0 version of an application needs to look like a big change. So we decided to call this version 1.5. Sure there would be plenty of new visible features but most of our work is not that obvious.

One of the biggest changes in Sandvox 1.5 is how the source document is stored. In 1.0 through 1.2.8, all the data — pages, images, even QuickTime movies — were stored in a single database file. It worked, except it was extremely fragile, as we discovered perhaps too late. The WebView, the component that is also used by Apple's Safari to display web pages, was loading pages and their subordinate images directly from our database, at the same time that we were trying to load information about the document. Behind the scenes, it was a mess! This might not be so bad, except that we found (to our surprise) that people were building websites of several hundred pages in size, not a few dozen as we had anticipated. So we needed to handle bigger, more complicated websites. Thanks to some helpful tips from our friends, we figured out how to store the data in a package — essentially, a folder that looks like a file. This simplified the whole process quite a bit and allowed for some big speedups and improvements in stability.

Another major change under the hood was the way we synchronized the changes that you, the Sandvox user made on the screen with the data stored in our database. The old way worked, more or less, but it was problematic and slow because we would load the entire WebView when anything changed. The new way is quite streamlined; we're very proud of it. What you'll notice is faster response to just about everything.

Because this was such a major rewrite, it took a long time — longer than we expected, naturally. We were finally able to share our first alpha versions starting with a tiny group of friends back in April, and then making beta versions of Sandvox to a wider audience in June when we made it available via our Yahoo! group. The people who tried out Sandvox in these stages and sent in countless feedback messages deserve our heartiest thanks.

We'd also like to take this opportunity to extend our special thanks to Mike Abdullah. Although some of you may have corresponded with Mike on support issues, he has made enormous, vital, and all too often unsung contributions directly to the engineering of Sandvox 1.5. We are very grateful for both his code and his good-natured approach. Thanks for joining the team, Mike!

What's ahead for Sandvox? We have some great plans for 2.0 that we started drafting out earlier this summer (when the three of us had the rare opportunity to be in the same room together). We think you'll like what we come up with. But, we expect that it will take longer than expected to finish.