Korsakow: It Crashed When I Went to Save and Everything Is Gone

A common scenario witnessed this week.

Launch Korsakow. “Ok…”, drag some video in.
“Mmmm, Ok, that wasn’t so bad.”
Double click. “SNU editor? Whatever.”
Make some changes, add some keywords, link to an interface, and a thumbnail (“What’s the drama with this?, this is easy”). Repeat.
“Cool. Oh, better save the work.” File, Save.

“Shit.”

It’s all gone. “F$#kn rubbish piece of software.”

If you don’t want this experience then open Korsakow, and SAVE THE PROJECT BEFORE you add media, and you’ll be good. (Subject to good housekeeping.)

If you want to know why, continue reading (you are asking the software to do something impossible).

When you drag or insert media into your Korsakow project you are not putting the video ‘in to’ Korsakow. Korsakow just remembers an address of where your video is and so when you do an export it uses this address to go and find the video, and then transcode it when you export (publish) your film. This address is called an alias, and Korsakow relies on an alias, which is in effect a link to the real file, to find it.

Lots of programs use aliases as a way to have multiple copies of a file without actually having multiple copies of the file (incredibly useful when working with video), and it’s built into the Finder of OS X (File – Make alias, aka Command L). That’s pretty straight forward. Korsakow does this so that it doesn’t have to swallow video, which introduces all sorts of storage and data problems which would make the program slower (since it has to process all that video) and less agile (as keeping the media outside of the program makes it much easier to change the media as you go).

How do aliases work? By addresses and paths. All the files on your computer, much like everything on the Web, has a file path, which is its address. On a modern Mac this begins with / and then is a series of folder names and eventually a file, so a word doc in my user account on my computer might have the path /Users/amiles/Documents/somewriting.docx (That example isn’t strictly accurate but it will do.) This is its address.

Now we saw that Korsakow needs to know and remember the address of where your video is when you add it (which is why you don’t change the names of files, folders, or where they are on your computer after you add them to Korsakow unless you want export hell). I imagine it does this in the simplest way, which is to remember where these media files are in relation to where it is. On computers we call this a relative address. In other words if it knows it is here, and the video files are in a folder called ‘media’ next to it there, then Korsakow only needs to know an address that says ‘media’ to be able to find those videos. Now the program could me made to remember a full path, all way to the top of your computer, but then if you moved your project to another computer all these addresses and paths would break. By remembering where the media is relative to where the program file is makes it easy to move the project to other computers.

These relative addresses on a computer are just like personal directions you give someone in the street. When asked how to get from Carlton to Brunswick you don’t tell someone to first go to the Melbourne General Post Office, you say go up there, turn left, then right, etc – these are directions relative to where you currently are.)

Can you see the problem? If you haven’t yet saved your Korsakow project file (the file that ends in .krw that stores all these aliases) then how can it know where it is? And if it doesn’t know where it is how can it then find a way to where the video is? Now yes, just crashing is basically a bug. But it is happening because you’re asking a program to do something impossible – to think about the relative address to somewhere else without first telling it where it is. The fault here is with us, not it.