We’re chatting with Peter Steinberger, Founder and CEO at PSPDFKit, about his startup journey, the complexity of PDF format and scaling business for success.
We caught Peter just before his leave for WWDC19 so he’s able to share some Apple development predictions with us as well.
Watch this Episode on Youtube
Read the Full Transcript
Darko [00:09:42] Welcome to
Semaphore Uncut, a show where we explore cutting edge developer tools
and meet people behind them. My name is Darko. I am the co-founder of
Semaphore and your host today. Today with me is Peter – Peter, thank you
so much for joining us today. Please go ahead and introduce herself.
[00:09:58] Thanks Darko for letting me be here. My name is Peter
Steinberger, I’m the founder and CEO of a company called PSPDFKit. I’m a
long term iOS developer and over the years migrated to like being the
CEO, doing more business and less coding and I’m located in Vienna,
Darko [00:10:19] Great. So maybe you can tell us a
bit about that migration path to call it that way from developer to the
CEO and all that comes with starting a company and creating a product
and so on.
Peter [00:10:35] All right – long story. So I
started the whole company in 2010. For that, I also need to explain a
little bit what the product is. So what do we do, like the short pitch
is, you have an iPhone or you have an Android, you open the Dropbox app
you click on a file and you see the document, or the image, or the
Office document – and that’s us.
The whole UI to present the
document and allow people to search, select the text, this is all our UI
and we provide that as an SDK to other companies. So it’s not just
Dropbox, it’s also when you fly with Lufthansa -they have an iPod in the
cockpit. Our software runs on that. IBM is a customer – a lot of large
companies but a lot of small ones.
My background is iOS, so
we started as an iOS product and over the years we expanded to Android,
Web, Windows even MacOS. So now we’re basically on all platforms because
we support Electron we actually on all platforms including Linux, but
that’s not the most purchased product.
Where do I start? The
whole thing was actually an experiment – my background is that I did
freelancing and I was at my first WWDC Apple conference (which is
finally coming up next week, so my flight is on Sunday). I was there,
was talking to a few people at a party at 2:00 a.m. (almost 2:00 a.m.
because like clubs close at 2) and someone introduced me to someone as
what I do and that I’m a pretty good iOS developer.
they told me that I should like come by to their office tomorrow and
this casual come by was actually an eight-hour interview marathon, where
I got a job offer to like work in San Francisco on a pretty popular
startup back in the day. That was kind of it.
I knew that I
had to move over there right. I was just a small freelancer – this was
the opportunity of a lifetime. It wasn’t a long, slow process to accept
it. We said, “Oh we will figure out the visa stuff”. We figured out the
visa stuff, it just took a little longer than expected. So instead of
the two or three months, it ultimately took nine months.
that time I did stop all my freelance work because I can’t really work
on longer projects when I’m moving to San Francisco and any day now. And
there a friend asked me if he could also have this PDF engine that I
built for a client of mine and so I did that, I refactored it, I sold it
to him and then I figured “If he has this requirement, maybe other
people have that too”.
I tried to do the absolute minimum
possible, I mutilated a WordPress template to become a website, a static
one – hosted on GitHub. I looked for a payment processor and I just
asked Twitter and a few people say the same thing so I chose one and I
put it online. I also put up a tweet and I had a pretty decent network
back then already and people bought. I think I sold two copies in the
first week so I was really hooked. This was like “OK – that’s an actual
demand, this is fun”.
I already made money and of course, two
people bought it but like five more people were interested, but it
misses this feature and this feature and this feature and this feature. I
didn’t have anything else to do so I just kept working on it and slowly
discovered what a cluster fuck PDF actually is.
Darko [00:14:58] But it was too late back then…
[00:15:02] Yeah – you’d be surprised how difficult search can be and
there’s like many thousands of pages of documentation and multiple
mappings that are really hard to understand to actually get Unicode out
of it, because this predates Unicode so they used all kinds of tricks to
embed glyphs, not necessarily optimized for you to get the data out
Long story short, by the time I moved to San Francisco
my little experiment already made almost the same money that I made at
the job there. I was giving up my life here. I was sending everything, I
was moving over, I was really excited to be in San Francisco – it’s an
amazing city with so many awesome people, but at the same time, I had
this little thing that exploded and was really interesting. So I tried
to just do both.
Darko [00:16:10] It starts to become very interesting.
[00:16:14] So you can imagine how that happened because a startup is
not eight hours of work. It’s a little more than eight hours usually. So
I did that during the day. I did my thing at night and on weekends and
that worked for a few months, more or less, until my manager…
I was very lucky. She is an amazing manager shout out to Sabine if she
sees that and she came to me one day and she looked at me and said
“Peter is everything okay? You don’t look so good.” I can guess say
there was like a slight lack of sleep – just trying to do both really
was like eating in on my health. So I told the whole story and they were
very understanding, but basically told me what I knew but I didn’t want
to accept it, I can’t do both. Obviously, it’s impossible to do both.
It’s really a challenge to do one of those two things.
they gave me a week off to think about it decide like that’s what’s more
important what do I actually want to do. And I honestly didn’t even
need the whole week renewed I wanted to work on my company. But then I
understood that it’s actually a company now. And that meant that I had
to leave the U.S. within a week because the visa rules are quite tight.
Darko [00:17:46] Either you’re with us or not with us.
[00:17:51] Yeah. I mean honestly, that wasn’t within that company’s
control. They were actually really nice. But obviously, if I don’t work
anymore then I have to leave the country. So I just mainly tried to sell
the few things I managed to buy which were like a bed, a couch and a TV
and then I moved back to Austria.
Then I slowly started… No
not, slowly – I immediately started to like fully work on the product.
Basically filling all the remaining hours. So like work even more on it.
Then also slowly working with more people and then step by step
becoming to the place where I’m now where we are a 40 person company,
fully-distributed and working on a lot of products.
[00:18:46] Yeah. And maybe since we went in details around like how it
started and yeah it’s amazing to hear that in a couple of months after
you launched it, you immediately got self-sufficient in a way,
financially. Were there any turning points along. I mean it’s almost a
10 year period and it’s fully bootstrapped as I understand right?
[00:19:16] Yeah. Yeah. So there was actually a big turning point and
that was I think 2014 because it was still… I was quite slow in getting
help like getting more people on it and then like just having
freelancers for like a little bit of time.
There was this
point where I had to decide “OK do I see this as just iOS, like keep
small?”. Basically what interested me the most was just like keep coding
and I’m trying to make some money or do I want to become bigger. Do we
go multi-platform? Do we make this a serious competitor, a serious
company? I kind of knew that if we just stay on iOS then we would
eventually fall into insignificance because in 2010 you could still be
successful as a product just on iOS, but in 2019 you cannot. Android had
this big increase and you just can’t ignore it anymore. It might have
started as something that’s that you could laugh at but now it’s a
serious operating system and it’s what most of the world runs on.
this was around the time where it started “Now we have to go big” and I
actually brought people into the company also got me some help on the
finance side, on the business side. That and the backend, like all these
things that I wasn’t an expert in and then this is basically the birth
of version 2.0 of the company. Then we had like a strong hiring phase
where we really brought on a lot of people and really started building
out all those other products. Yeah, that was quite a turning point.
from the business model because we used to sell it like the traditional
software model – you buy software and then you get a few months of
updates and then maybe at some point you buy another version of it. This
was suboptimal in a few ways because… Do you give updates until the
next major version? Do you have a fixed number of months? What if people
report bugs and then their support time runs out? Do you give them a
grace period? It also was really hard to actually hire people if you
don’t know how much income you get each month. All these SaaS
businesses, they have recurring income. So the first big change we did
is that we actually switched to a subscription model as well. Because if
you use our product, you integrated it in your app – you will need
continual support. You will have continuous issues because…
Darko [00:22:26] The world doesn’t stand still.
[00:22:29] There are so many crazy documents out there that eventually
you’ll find something that doesn’t work, or you will have new needs, or
Apple releases iOS 13 and the old version just doesn’t work anymore
which isn’t even awful – it’s just because they change something and we
need to adapt.
So I was quite skeptical but Jonathan, one of
the people who had brought on, was like “No, we have to do this. This is
important and trust me”. I did it and it worked out really well for us.
There was almost no backslash – sometimes there’s quite a bit of
backlash from the consumer side that, especially in apps – they really
don’t like subscriptions but businesses many actually liked the change
because it did suddenly mean they could calculate what the costs each
year, it was not like “OK we buy it, but then in a year price might be
twice as much or we don’t know”. So it also increased trust in our
business relationships and really helped us to grow the business.
[00:23:34] That was kind of one of my questions – you answer that part
partially. Most of the people are doing some kind of SaaS and you are
actually selling software in a bit of a different format – a library to
say, a framework which is not that common.
It’s different and also the cycle is much longer. Typically if you’re
SaaS company, you test a service, like the service, you purchase it. But
our model is: you like the SDK, you try it out, you might take six
months to integrate it into your app (I mean it takes five minutes but
you might just not be ready to integrate it in the new app). So you
start talking, then you try it for half a year, you already use our
support and then eventually we come to an agreement you are committed to
it. We go through the whole contractual phase and then lawyers come in
and then it also might take a few months and then we close it and then
The large companies they don’t manage to pay in
thirty days, so that might also take six months. So the whole cycle can
take like more than a year from people trying it out to be actually
getting money. So you really have to have a long breath in this
business. But luckily we managed and now we are at the point where it’s
not a problem anymore it’s just something you have to get used to.
[00:25:18] There is another part to this story which is that you know
they cannot leave that easily also once it’s integrated. I’m not saying
that it’s like a good business practice still you know, just keep
someone who is dissatisfied because you kind of put your claws into
their meat. But it’s also like about switching you know, so they can…
you are on board in five minutes, you can onboard competitor in five
minutes also. So that is the other side of that coin. But I completely
understand that sales process which can take a year and a half is not
something that you always enjoy.
Peter [00:26:07] Yeah I guess it’s just the nature of our business.
[00:26:11] You have to embrace it. I have a bit of a technical
question. You kind of scratched that, so I’m just interested. I was in
elementary school you know many years before that PDF existed then I
remember that very old Acrobat Reader thing and all that. Super old
format which is still alive today and it seems that it’s not going
anywhere anytime soon. I discovered some things that are possible in PDF
maybe a couple of years ago like signatures, filling out some date and
more and more things are popping up.
So from that geeky
developer technical standpoint of an industry standard: how is that
evolution of such a complex you know file format going and what was the
experience of following it?
Peter [00:27:15] You’re right
that PDF is old and it’s also not going away. It’s pretty much the only
format where you can make sure that whatever you convert like you
converted from some kind of document and then it will look exactly like
that. This is a big benefit.
You have a Word file and it will
mostly look the same but you open it in LibreOffice or OpenOffice and
it has a hundred pages and page one might not fully fit on page one.
Then the error accumulates and by page hundred everything’s a mess. Web
sites mostly look the same but browsers evolve, so eventually, it will
not look the same anymore. That’s a big benefit.
You can have
a contract and can make sure that when you referred to page seven that
the content on page seven actually is on page seven because it could be
very expensive if you refer to something on actually page six or eight.
The whole business runs on PDF and there is no competitor. Microsoft
tried with XPS I think but it never had this critical mass. Every
platform, every mobile device can read PDFs. So it is just really
ubiquitous and then over the years they just kept adding things.
if you wanna see something that’s really crazy? This is a calculator so
you can like… But it’s also a PDF. So we build a calculator which is a
PDF and we just made it look like the calculator on an iPhone. Because
in the browser – it’s similar but not the same, with all kinds of custom
extensions to make it really fun for us and the spec alone is a 1000
But in principle it’s really complete – you can do
anything you can. You could make a PDF which runs Windows 95 if you
really hate yourself. That’s on my bucket list… Before that we did
calculator.pdf – that’s actually something that’s really useful because
you have these government forms and you have to fill in all details like
the input. It’s turning complete, so you can really validate any input
even e-mails – something that wasn’t so popular 30 years ago when they
created the format. There actually is a reason. Some people just go a
little beyond that and we wanted to show that our engine can even deal
with crazy things, so we’ve made a calculator.
[00:30:11] If I would open that PDF on my Red Hat 1998 installation,
would I be able to see something? Is backward compatibility a thing?
[00:30:25] I mean if you have an Acrobat Reader from 1988 it might be a
little tough. For six or seven years ago it would still work. We’re not
using super new features. By now there’s the PDF tool spec but nobody
actually uses that. They actually removed a few things and then they
added even more things. So by now, we have two different standards…
Actually three different standards for 3D in PDF.
There is a
video in PDF, audio in PDF. You can also put a PDF in a PDF, because why
not. If it’s from a few years ago it should work, but especially
lengths, so if you look into third-party software it will be quite
difficult to find something. Like Apple has a preview which is pretty
but nothing will happen. Still, it looks the same. That’s the thing. It
does still look exactly like it should look.
That’s important enough as you said – that’s a big thing. I can imagine
everywhere they have to show something.
Peter [00:31:55] We
made sure this is something you can disable in our software. It is
enabled by default because we want to choose the sensible thing. Just
making sure that as much PDF work is possible. Whenever you have
heightened security issues you can always disabled that. Not many people
not quite aware of what I was getting into, maybe I would have chosen a
different career path.
Darko [00:32:31] I remember at
university we had some of those tasks when you take some format which is
defined in 1981 and then you have read the spec so I guess that the
spec of PDA is a quite a long file.
Peter [00:32:47] Yeah and
the problem is… The format is similar to HTML – even if you remove a
few things it’ll still work. You have the spec but then you have to know
what’s Acrobat actually doing and then you see “Oh this is completely
broken – let’s try something”. Then make sure that that “try something”
is compatible with what the majority of apps does, because in the end,
people don’t care if the PDF is broken or not – they probably got it
from somewhere and just want to read it.
So our mission is
that the software shouldn’t complain and should just read it. We also
try to repair it automatically which also is interesting because… We
recently had a bug where we repaired a document which was in a pretty
bad state, but it could still be read and then we saved it and it was
less broken, but still, it was in a different way broken which caused
other readers to no longer accept it.
People blamed us for
breaking the PDF and actually we repaired like 8 of 10 things but then
not the two things which ultimately caused incompatibility with other
readers. You always have a lot of fun, even if you try to do the right
Darko [00:34:02] To be honest – I’m a bit afraid of that…
Peter [00:34:11] That’s why it’s a good business because nobody wants to work PDFs.
[00:34:16] Yeah. From the perspective of supporting the developers and
working with developers, writing documentation and so on. Do you have a
dedicated team which is supporting people and writing documentation or
how that process is done?
Peter [00:34:44] We have this
mission in a company that every developer should also write
documentation and do support because it really makes you a better
engineer. If you write a feature then you are the best person to
document that feature.
Of course, we have people that help,
people that provide copy-editing because not every person in our company
has English as his first language. We also make our engineers work on
support. So it’s kind of like weekly shifts but that’s the best way to
understand the crime scene.
You’re designing the API and then
you actually get feedback from other engineers that don’t understand
your API and ask questions – then it makes you think that actually maybe
not all the decisions were the best decision. Of course, this is not
always fun, but it ultimately is like an amazing learning process for
you to become a better engineer.
Darko [00:35:51] Defining an API which you can’t change that easily is another level of responsibility.
[00:36:00] Yeah. Of course, we have a process: new API is peer-reviewed
so we find a lot of problems before we ship them. We are not perfect.
Sometimes you just don’t consider things that people want to do with
your API that you just never thought of and that of course breaks and
you just have to try to fix it. Honestly, this is one of the most
challenging and fun things when building this product.
[00:36:28] Yes I can really relate to that part. So maybe enough about
PDF… Just joking… You mentioned that iOS is how you started as a
developer and you mentioned that this is the 10th time that you are
visiting the developer conference that Apple is organizing… PDF is the
main thing that you are supporting but there are other formats also that
your framework is supporting right?
Peter [00:37:25] Now
we’re still focusing on PDF and images. We actually found a way to treat
images like PDF, you can annotate them and then you can open it and
then move those things around and make sure that the pixels below the
arrow are still there. It’s like non-destructive but the most focus is
Darko [00:37:45] Yeah I think it can be useful for our
viewers to know the exact focus. Moving to the conference – it’s
happening soon, so predictions in this area, the Internet is burning in
terms of what will happen and what gets launched. What are you excited
about and what are some predictions that you have?
[00:38:17] I’m excited about seeing all of my friends again that over
the years you just get to know more and more people. I’ve been there
quite a few times. Every time since 2010 except in 2013 where I just
went to Tenerife for a holiday…
Darko [00:38:34] Which was not such a bad decision…
[00:38:39] Honestly this is a very exciting conference. It’s pretty
much the Apple event of the year. They will announce the new iOS 13, the
new MacOS. The latest rumor that it might be called MacOS Mammoth – you
know like the large elephant-like animal. Of course new versions of
TVOS and MacOS. There won’t be any hardware. That was a long time ago
since Apple announced hardware at WWDC, it’s really a software-focused
conference. They actually announced a new Mac Book a week before, so
iPhone is more like a September event so this will really be just about
When you look at what was happening last year it
got a lot of bad press with iOS 11 – that software gets slower, there
are so many bugs, Apple just pushes new features and it doesn’t take the
time to fix their things. So they actually fixed their things – iOS 12
was really a performance update and bug fixes, change up that everyone
loves. But there was almost nothing new. I know a lot of people that
were already working a year ago on features that didn’t ship in iOS 12.
So basically what we get this year is two years worth of features,
because we had this bug fixes which I think was really important for the
Apple ecosystem and it really made the software better, but now it’s
time again to level up on features. So we will see a lot of new thing.
actually quite extensive remorse. I guess most of the things that we’ll
see next week are already on the Internet. The most visible thing will
be that the iPhones get dark mode (of course Edward was the first) and
we got system-wide dark mode on MacOS as well, so it really makes sense
to also bring it to iOS.
This also means all the apps need to
be updated because a lot of them already have their own dark mode, but
then it might not fit what Apple expects things to look like. You also
have to find a way to dynamically switch because this would be something
that you can access from the lock screen. I expect that it will also be
something that the system automatically switches to – sun goes down: OK
we switch to dark mode. A lot of developers will be busy just making
sure everything looks good and getting dark mode is actually, depending
on the app, quite a bit of work.
One cool feature I’m
actually excited about is that they will introduce a feature that I’ll
be allowed to have iPad as a second screen, so I could then have my
notes on this iPad just drag it over from the Mac and use it as a
screen. There is a software where you can do this now and it works
actually not that bad. But of course this is a very system-level
feature, so if Apple builds it, they will be able to have faster access
to the graphics, push pixels over faster and have better auto-discovery.
This is something that is quite hard to build for an external company,
so Apple will just be able to build something that superior to
everything there is.
The most exciting thing is something we
really got a lot of remorse and I had a lot of fun debugging and like
hacking into it it’s Marzipan and I’m sure you heard about it as well –
the way that Apple brings the UI widgets that make iPhone apps possible
to run on the Mac. There is no native Netflix app for example on the
Mac. With Marzipan the idea is that you take the existing Netflix app
that Netflix really built for iPad and iPhone and you just select a
different target and then it will work on the Mac without any
Darko [00:43:08] Will it?
[00:43:16] Terms and conditions may apply. I did play with it and it’s
actually surprisingly good. The Marzipan as it is in 10.14 is quite the
hack. I was basically able to port our app PDF Viewer which is quite a
complex app to show PDF and annotate them – the whole SDK and file
management to MacOS. Well, I didn’t sleep so much in that time but I
managed to do it in a weekend which says that the technology, even in
this early stage, was really quite advanced and Apple had a full year to
make it even better.
So yes I think it will be possible to
do it with very few modifications. You probably want to do modifications
to make it more Mac-like – improve keyboard support at the menu, add an
actual toolbar, you know like those little things that make apps more
usable but I expect that in autumn there will be a ton of new apps for
the Mac. It was for many companies not cost-effective to build a
separate version based on Appkit that might take you two years to build
and to be really good just for the Mac because the user base is quite
smaller compared to Windows. But now if you can do it in a week or two
weeks and then also improvements go into both products – that’s a whole
Also, it’s the hot new thing that Apple
wants, so if you’re fast Apple will feature you so there will be a run.
We’re also a part of this run and we will bring PDF Viewer to the Mac.
I’m quite excited about that one.
Darko [00:45:02] That’s
great. Even if some layer of UI needs to have some tweaks, there is
still a large chunk of software which will just work. That’s amazing. To
be honest I am not very deep in that. I mean I use Mac for a lot of
years and iPhone but I’m not in the developer world for that for this
platform. So that’s a great business move to extend that the MacOs.
[00:45:39] There was a lot of discussion around it and also a lot of
hate, especially by those Mac people: “This new thing will never work as
good, Apple is destroying the Mac, this single window iOS-style apps
are not something that’s professional…”. We’ll see. I’m sure that Apple
has some ideas to solve this. I think what ads are will just evolve, but
that doesn’t mean there will be bad.
Darko [00:46:24] Okay.
Amazing. It was very interesting learning about all these things and
about your journey as a developer and the company. Is there may be
something that I haven’t asked but you think it’s interesting to share –
either about the company or something about the future?
[00:46:59] I can’t think of anything right now but definitely – one
thing might be if you watch the keynote, don’t just watch it – watch it
with Twitter and just follow a few of those Mac people. This is for me
always the most fun just like seeing what Apple says and all the
commentary live. What people say and then there’s complaining and
bitching and background information. It’s stressful because you kind of
have to see what Apple’s saying and also trying to read the whole feed,
but I’m always having a lot of fun trying to do both and also
participating in the commentary. And now watching any Apple event
without Twitter is just boring.
So if you watch the next one I
definitely recommend just searching for the hashtag and pick a few
people that you like. Cause if you actually just follow the hashtag
it’ll be way too much information. But this is quite a different
Darko [00:48:04] I like the idea very much. I mean
in my head while you were speaking about this I imagined a pub with
Peter [00:48:18] Sometimes it could also be
like an angry mob. “You still haven’t fixed the keyboard and now they’re
announcing new things! What is Apple doing?”.
a lot of bitching and then everybody’s buying all the Apple products,
including me. I complain a lot and then I spend thousands of Euros to
buy everything that Apple produces. What can you do? We build software
for Apple so we have to buy Apple products and comparably I also know
the ecosystems of Windows and Android and all the problems there and
since I know that I’m less complaining about Apple, to be honest.
[00:49:05] You can only make good decisions by comparison. Well, thank
you again for your time. It was super-exciting to talk about everything.
Good luck with your company and launching new things and have fun at
the developer event.
Peter [00:49:22] You’re welcome Darko. Thank you for having me and have a good evening!