Upgrading to Sandvox 2: pt. 2. Two copies of Sandvox?

The first issue you may encounter when proceeding to a major upgrade is compatibility and Sandvox is no exception. Most of the times you will feel a slight disappointment because things don’t work or look as usual: this is normal, but you have many reasons to fight this feeling.

A major upgrade of an application means that the developer spent years learning from version 1.0 and has the chance to build from scratch things that can’t otherwise be incrementally fixed; moreover things change fast on the Internet and technologies need to be always up-to-date.

In my opinion, Sandvox 2 brings a lot of very important features under the hood that the end user may not appreciate (HTML5!) but that are essential to create modern, responsive websites with a good performance, not only a good look.┬áMoreover, there are a few things that the end user will appreciate a lot, like hierarchical menus. And don’t forget things that a developer will appreciate a lot, like the new object-based organization of boxes, images and graphics that really simplifies my life (and helps me find better and more original solutions).

All of this brings changes. Change is scary. Change means loss. Change takes us towards the unknown. Yes, it’s true. So you may think: “but I love the way my website works and looks, why should I change?”. Well, you actually don’t need to, but there are a few things to be considered.

1. Stick with 1.0

If you don’t like changes, if you think you can’t handle it, just stick with Sandvox 1.0; if it works for you there’s no reason to upgrade. But be aware that:

  • Likely, no improvement will be provided for your application. That new way to watch a movie on a web page? Forget about it. Those fancy styles that are now so trendy on the Internet? It’s not for you. Those features included in Sandvox 2, can you embed them in a Sandvox 1 design? Don’t even ask.
  • If you are upgrading the rest of your life, sooner or later you will need to upgrade Sandvox too. I still have my 1995 e-mails, but I need to turn on an old Macintosh Performa 5400 to access them easily because they are stored inside an HyperCard stack. Technologies grow fast and grow old faster and all of a sudden you find yourself with an egyptian sarcophagus and your data imprisoned in there: at that time an upgrade will be painful and you’ll regret you didn’t follow a step-by-step process from the beginning.

So this scenario is suitable for 90-years-old people who will never do an update to their computer or Operating System. If you’re not in this category, think twice about it.

2. Start a new life

Approach Sandvox 2 as it was a brand new application. Pretend it’s a competitor, offering you a much better product that, by chance, is compatible with your old files (gosh this competitor is good). Install your new application, convert your original files (I already told you to backup, backup, backup, always backup your data) and start playing.

This could be the time to re-think some of your website’s features: if you stick to your old idea it will be stressful and frustrating. For one thing that may not be available anymore, you will find three new things you didn’t expect. Sandvox 2 handles objects much, much better than Sandvox 1: use this possibility!

One crucial point here: designs. There are different possibilities:

  • Old design, crafted for Sandvox 1, not updated: be careful with this because things may be broken a lot. If you have your backup copies you can try and see: if it works, ok; otherwise ask your design provider if/when an update will be available. If the update is not coming soon (or not at all) you have two choices: either you step back to hypothesis #1 or you switch to another design. It’s up to you. If the update is coming, but not soon, you can still “freeze” to step 1 until the design is ready.
  • Old design, tested with Sandvox 2: this is the current situation of most BehindTheRabbit’s designs. You can use them with no particular worry, but of course you can’t enjoy many new features. Sometimes something may look weird. Even if a problem may show up, it’s still a good way to get in touch with the upgrade and start experimenting. Moreover, you can use Sandvox 2 and you don’t have to wait. In BtR’s case you already know which designs will be updated and when (in a couple of weeks, tops) so the transition won’t be long. In the meantime, often a few tweaks can solve your temporary issues.
  • New design: nothing to say here, just enjoy it. For what concerns me, be aware that for each Sandvox-2-only design a minor update may be released later so go on with your feedback, bug reports, feature requests… This is the right time to do it.

3. Have a schizophrenic life

There are a few situations that force you to live in both worlds. I discourage this. But if you really need… well, don’t. And if you really really need it, try this (if you find that these informations are not clear enough, this solution is not for you).

  • Do you have two Macs? To separate the two environments is the better solution.
  • Sandvox 1 and Sandvox 2 may live together on your drive: choose which is your main environment (I assume it’s Sandvox 2). Rename Sandvox 1 to, well, “Sandvox 1”.
  • When opening a file, be sure you’re using the right app: by default Sandvox 2 will be used. If you want to keep Sandvox 1 files for Sandvox 1, pick an old file, open the “Get Info” window in the Finder, select “Sandvox 1” from the “Open with:” option and click on the underlying button to set it as a default behaviour.
  • Sandvox 1 will see only the old designs, Sandvox 2 will see all of them.

The problem is: how do you keep both versions of a design? You can’t, you shouldn’t. If – again – you really need it, try this (you have the permission to do so on BehindTheRabbit’s designs; this procedure is not endorsed by Karelia, do it at your own risk):

  • Look for your old designs in ~/Library/Application Support/Sandvox
  • Right-click, select “Show package content…”
  • Open Info.plist (did I tell you to do a backup first?)
  • You need to change the first items up there to create a “fake” new design

For the old version of Sugar it would be from this:

<key>CFBundleIdentifier</key>
<string>com.behindTheRabbit.Sandvox.Sugar</string>
...
<key>ParentBundleIdentifier</key>
<string>com.behindTheRabbit.Sandvox.Sugar</string>
<key>ParentTitle</key>
<string>Sugar</string>
...
<key>title</key>
<string>Sugar</string>

to this:

<key>CFBundleIdentifier</key>
<string>com.behindTheRabbit.Sandvox.SugarOld</string>
...
<key>ParentBundleIdentifier</key>
<string>com.behindTheRabbit.Sandvox.SugarOld</string>
<key>ParentTitle</key>
<string>SugarOld</string>
...
<key>title</key>
<string>Sugar Old</string>

Again, try to avoid this unless it’s absolutely necessary and proceed as soon as possible to a gradual migration of your webites.

In conclusion

After a few days you will be happy you managed to survive to the upgrade and, if by chance it will occur to use again Sandvox 1, you will think: “How did I live with this?”