Prezi vs Sozi

Sozi is an Inkscape extension enabling the user to create Prezi-like presentations with the rotating and zooming animations and bells and whistles that we all love. The great thing with Sozi is that it creates simple svg files, which can be viewed by virtually any web browser.

First of all you have to install some software. Install everything in order, otherwise this will not work. If you encounter any problems, just uninstall everything and install it again. Also, check the version numbers of your software. See http://sozi.baierouge.fr/pages/install-windows.html.

Also, later in this article I will describe how you can create a high-quality PDF file of your presentation which is very helpful. The tutorial will also work in Ubuntu or Mac OSX, because we only need Inkscape Python and a web browser to make this work.

Let’s begin

I will begin by saying that Sozi is very similar to Prezi, it can basically do everything Prezi does and more, but it takes some guts to pull it off. But hey, it’s free, and you get exactly what you want.

What can Sozi do?

It can transition between frames, zoom in, rotate and even have video. The main difference is in Sozi you have to create your frames using an object in Inkscape. Fair enough, I use a rectangle of ratio 4:3, because that is the ratio of the projector I will use. Before we create all the frames, we need to agree on a structure.

Begin by creating a layer clicking “Layer -> Add layer”. I name this layer “frames”, you may call it whatever you wish. In this layer I add the frames. Later on I will lock this layer, so I will still be able to reference it, but don’t have to worry about accidentally clicking it while editing my presentation.

I keep the rest of the objects, like text, formulas, arrows and general objects in separate layers. You will have to arrive at a structure that suits you, it all depends on how complex the contents are.

My workflow consists of first creating a presentation on paper and whiteboard, then using Sozi for the final touch. I do this because my presentations are technical and require control, so the artistic inputs are not very important. If you don’t know which order the frames are going to be, then maybe Prezi suits your need.

One word of warning: the layout is much less intuitive and flexible than for Prezi, but if you don’t care if your presentation is not rotating and only zooming, you will be fine.

I begin by creating the frames in the “frames” layer, say I create five of them. The way you position the frames are totally up to you. Personally I like if the presentation moves over previous frames, I create a matrix structure using “Create Tiled clones”.

To test how it works, I write numbers in the frames, so when I set up Sozi I can easily see that the order of the transitions are correct.

My Inkscape frame layout.

Right click on a frame object, select “object properties”. Each rectangle is given a random name, I wish to identify each of the frames when I enter the Sozi dialog, so I name them (after Id) frame_1 frame_2 etc. Select only the frames and click Extensions -> Sozi to enter the Sozi dialog.


Create a couple of new frames by clicking on “create”. You can identify the frames by Id now.
It is ok if you click on OK at this point because we can always go back to the Sozi dialog to add more frames or remove them.  (Note: the Swedish word for “Okay” is “Okej” abbreviated OK)

You can see if the frames are in the “frames” layer by clicking on the eye in the Layers window. If the frames does not disappear when you close the eye, leave the eye so it is open, select the frames and “move selection to layer above” or below (shortcuts shift-page up or shift-page down).

Now, save the svg file and open it in a web browser, navigate using the buttons on the mouse (see also results section below). Now it is all about adding content and modifying the Sozi presentation.

You may notice that each frame has frame numbers, I don’t like that so I remove it by adding the following to my svg file:

<style>
#sozi-framenumber {
visibility: hidden;
}
</style>

you can place it between a start and end “marker” in the svg file.
I have tried the solution above for Opera, Chrome and Firefox. I doesn’t work for firefox at the moment, I don’t know why because the below svg does work fine with all of them…

How to convert your presentation to PDF

To be able to convert a Sozi to a true high quality PDF, download the scripts sozi2pdf.py and sozi2pdf.js, see http://sozi.baierouge.fr/pages/tutorial-converting.html. The easy solution is to simply place the sozi2pdf scripts where you have your svg file. To create the PDF files we run the python code using
python sozi2pdf.py –format screen filename.svg. However, to get it working you have to modify the conversion code slightly. Here is what I did: First, I want to change the weird zooming in sozi2pdf.js:

page.onCallback = function (fileName) {
page.zoomFactor = 1;

Now everything in the frame is included. However, each pdf will contain an extra page. We will solve this later.

We also need to change tmp_dir in sozi2pdf.py to
tmp_dir = “.”

Now, the temporary directory for the exported pdf files is the directory of the script. Since pdfjoin.py doesn’t exist on my Windows system, I comment out the following:

# Merge all frames to a single PDF file.
# In some situations, PhantomJS generates two pages per frame. Only the first page is kept.
# TODO support other pdf merge tools
#frame_pdfs = [os.path.join(tmp_dir, file_name) for file_name in sorted(os.listdir(tmp_dir))]
#if len(frame_pdfs):
#   sys.stdout.write("Writing PDF to: {0}\n".format(output_file_name))
#  subprocess.call(["pdfjoin", "--outfile", output_file_name] + frame_pdfs + ["1"])

# Remove the temporary directory and its content
#shutil.rmtree(tmp_dir, ignore_errors=True)

We still need to merge the exported PDF files into one PDF. I use “PDF split and Merge basic” for this. Download it here: http://www.pdfsam.org/

Merging PDF from sozi scripts with PDFsam.

Start PDF split and click on Merge/extract and add the exported files. For the merging I only select the first frame for each PDF, because Sozi exported two pages.

Ok, so how does Sozi stack up to Prezi? Well, we want our solution to work for both online presentation and as a simple PDF file for hand outs. I so happened to find a presentation I prepared in a course last year in astrophysical dynamics. I already created the presentation in Prezi and I wanted the exported PDFs to be in high quality so I created the presentation again from scratch using Sozi. To get it working as I wanted I had to do some research, as you can see. The nice thing now is we have two versions of the same lecture, in Prezi and Sozi, so we can compare them.

Comparison Between Prezi and Sozi

What I have gathered from my experience with both Prezi and Sozi is that neither of the solutions are a bed of roses. There are a few issues that I would like to adress below and I have added the failing alternative before the semicolon for each subsection.

Sozi: Rectangles are beveled

All rectangles will become beveled. The solution is to convert to paths. This is simply something to think about to do before compiling the svg file.

Sozi: Fonts are seemingly randomly offset and may not render properly

This is also the solution to get fonts to work but unlike rectangles we would like to change the text at any time. It is therefore important to have a non-destructive solution. By saving the original file and saving the “path version” as two files, we can still change the text contents after we convert the file. The problem stems from how fonts are rendered by web browsers.

Prezi: The first frame of the exported PDF file from Prezi is the “overworld” view

I have always found that first frame to be annoying. What is it good for anyway?

Prezi: The Prezi PDF export is larger than Sozi

In my example presentation the Prezi one was 7.28 MB compared to Sozi weighing in at 2.53 MB. The issue comes from Prezi rasterizing the frames to jpeg, destroying the quality, which bring me to my next point.

Prezi: The quality of Prezi PDF is inferior to Sozi PDF

Question, why doesn’t Prezi provide a way to create svg output? It make little sense to export to PDF only to use jpeg compression and destroy the vectors. See below for an example of the quality difference of the PDFs

Comparison between PDF export from Prezi (left) and Sozi (right).

Prezi: No subscripts

This is important when using equations. The way I solved it was to create LaTeX text using an online tool and convert to pdf, see http://www.codecogs.com/latex/eqneditor.php and import. In Sozi we can create LaTeX directly in Inkscape. I have not yet tried this.

Coloring arrows?

Prezi can create arrows in all colors. Sozi depends on Inkscape, which depends on the svg standard and it says that the head of an arrow can only be black. So Prezi won that one, right?
-Not really. Inkscape is powerful and if you really want a colored arrow, you could simply convert the arrow objects to paths and then color it. This issue will evidently be resolved in SVG 2.0, see http://www.inkscapeforum.com/viewtopic.php?f=5&t=10824

Conclusions

Prezi is undoubtedly a very nice tool to make fast and impressive presentations. Prezi is not by any means the “holy grail”, missing features such as subscripting, latex scripting and a PDF export makes contenders such as Sozi an great replacement, especially for technical writers who wants to create a presentation with some more energy.

Sozi is an extension to inkscape, which comes with its own interface. The interface is very intuitive so the learning curve, although steep because of Inkscape, is manageable. Sozi can (with help) export crisp vectorized PDF, animate smooth transitions, zooming, just like Prezi. Sozi can even let you create your presentation without any online communication at all. That is a point in itself, the lack of online presense. Prezi is built to be shared between collaborators and with the world. However, everything in Sozi is open source and free, which is wonderful.

Despite many enquiries about the status of subscripted text and PDF Prezi have not released any solutions.

Because of this I didn’t even bother to vectorize some of my equations, because I knew Prezi would butcher the graphics anyway.

Demonstration

The resulting presentation can be seen below. It may take a while to load however.

Instructions (must be in the figure):
Left click = forward
Right click = backward



The presentation above was embedded using the tutorial: http://sozi.baierouge.fr/pages/tutorial-embedding.html

You can also zoom and navigate in the whole presentation like a map. As quickly as you click with the mouse, the presentation returns to its frame.
This is a very cool way to present your work, however, do not overdo it. Do not fall into the trap of making the zooming and rotation just because you can. This is why I write down the things I want to say in my presentation on paper and when I am finished I will create my Sozi presentation.

If you like this article, please “like” on the social media and comment if you get stuck or just want to thank me ;-).

2 Comments:

  1. Hi matz,

    I’m new in Sozi, but I love it! :-) It is 1000 times better then Prezi.
    I found something in YouTube. I think that is The Best Sozi Presentation I’ve ever seen. You should see it. I’m trieng to understand how is it created. Can you help me with that mystery? :-) I’ll be very glad

    Link : https://www.youtube.com/watch?v=aABIgk_Lkkg

    PS : My English is not so good. Sorry for that! :-)

    • Hello Kaloyan, welcome to my website.

      I believe Guido Falk is starting off by creating all the frames and add them to Sozi and then, as a last step, he shrinks and rotates the frames along with the content, so you will get the extreme zooms and rotations. Sozi handles this very well, without any tricks. It is very simple to do, try it out. It seems as though he uses the profile “speed up then down” for most of the frames. This will give you a Prezi-like feel to the transitions.

      At 0:59 in the video he does something nice. He seemingly gets rid of the frames around the word “limit” so when you zoom out it’s something else around the word. To accomplish this he simply copied the frame and uses a transition profile that is “immediate” to another part of the presentation. He does this again at 1:12 “Solution” => “Solution?”.

Leave a Reply

Your email address will not be published. Required fields are marked *