Every year, we have a big review and rethink over the Christmas holiday. This year, our thinking was heavily influenced by the excellent new Basecamp book, It doesn’t have to be crazy at work. In this blog post I would like to summarise some key changes and the rationale for them.
Moving away from Monthly Releases
We have traditionally had monthly releases for our products at IDRsolutions. We have found this can be a little too short for our development cycles. So, inspired in part by the guys at Basecamp, we are going to try an experiment in 2019.
We will still have the daily builds (so you can immediately get hold of any bug fixes), but we will release JPedal/JDeli every 2 months and BuildVu/FormVu every six weeks. We will still be doing the same amount of development, but fewer, more major releases. We will evaluate both approaches and give you some further updates later in the year.
Simplifying and decluttering BuildVu
Our BuildVu converter provides a solution for viewing PDF files in the browser and can use SVG or HTML as the underlying technology. We generally find that our customers either already know they need a specific technology, or they are not sure about which version to use and just go with the default. We have kept HTML as the default for backwards compatibility, however for most use cases SVG is now the better choice.
Going forwards we plan to offer 2 versions of BuildVu (BuildVu-SVG or BuildVu-HTML) and allow customers to choose which version to purchase based on their needs. We will explain what the differences are, and make clear that SVG is likely the better choice if you are unsure. The metaphor we use is that it is like choosing whether you want your car to have a petrol or diesel engine.
The main technical benefits for SVG are:
- Supports text kerning
- Supports text layering
- Supports stroked text in IE9/10/11
- Fixes text vertical position issues
- Supports clipped text (not currently implemented)
Both versions can create content displayed in a viewer or convert to standalone pages for further use.
Simplifying and decluttering JPedal Viewer
We originally designed our JPedal Viewer as a highly abstract solution which could use other toolkits such as JavaFX. In 2019 we see it as more of a niche solution, which makes more sense highly coupled to Swing. The API will not change but we have been doing lots of work under the hood to tidy up, optimise and simplify. This should make it a faster, more maintainable solution for companies who still need a Java Viewer solution.
Paying down technical debt
Some of our code is now over 10 years old and its usage has changed over the years. So we had been spending a lot of time analysing the code, making sure it use the latest Java standards (Java 8 in our case), using code analysers (PMD, FindBugs, IDEA, NetBeans), reviewing and refactoring long methods. We are also making the internal code as modular as possible.
Allowing for the new Java development cycle
Java now offers a new Java version every 6 months and a new LTS version every 18 months. While we plan to stay on Java 8 as the base level for some time, our code will be tested on all new releases, and we want to try and offer benefits to customers on later versions of Java. We are currently experimenting with multi-jar releases so we can start adding module files to JDeli.
Putting a face to the names at IDRsolutions
Lastly, we had a slightly different Christmas party this year – pizza and games in the IDR Kent office. If you would like to see the team at IDR solutions, here they are letting down their hair…..
We are very excited at these changes, and will keep you updated on all of them in 2019.