We invite software industry professionals to Semaphore Uncut YouTube show to discuss what problems they’re currently solving and what excites them about the emerging technologies.

In this episode, we were chatting with Peter Steinberger, Founder & CEO at PSPDFKit.

This chat was recorded on May 29th, 2019 and is also available in the form of a podcast.

Full transcription below.

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.

Peter [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, Austria.

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.

Basically, 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.

In 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…

Peter [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 again.

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.

Peter [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…

Actually, 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.

So 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.

Peter [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.

Darko [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?

Peter [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.

So 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.

Also 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.

Peter [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.

Darko [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.

Peter [00:24:08] 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 you still…

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.

Darko [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…

If 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.

Darko [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.

So 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 PDF also can run JavaScript. Of course, it’s not the same JavaScript as 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 pages.     

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 your social security number, sometimes they use JavaScript to validate 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.

Darko [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?

Peter [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 JavaScript support is… There’s not that much software which goes to that 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 good on PDF, but it can’t do JavaScript – so you can press the buttons but nothing will happen. Still, it looks the same. That’s the thing. It does still look exactly like it should look.

Darko [00:31:40] That’s important enough as you said – that’s a big thing. I can imagine that vendors are not too crazy about putting JavaScript engine 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 actually know you can have JavaScript and a PDF. When I started I was 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 thing.

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.

Darko [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.

Peter [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.

Darko [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 PDF.

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?

Peter [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…

Peter [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 software.

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.

That’s 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 modifications.

Darko [00:43:08] Will it?

Peter [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 different equation.

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.

Peter [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?

Peter [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 experience.

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 football fans…

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?”.

There’s always 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.

Darko [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!

Interested in future chats streamed live? Subscribe to Semaphore YouTube channel!