Tuesday, 16 July 2019

Is an Array in C a Pointer?

In some programming languages, arrays are high-level ‘objects’ and the programmer can think of them simply as ordered lists. In C, you have to deal with arrays ‘as they really are’ because C doesn’t try to hide what is going on ‘close to the metal’. One of the common misconceptions (which I’ve read so many times in books and on web sites that I almost started to believe it was true!) is that array ‘variables’ are ‘special types of pointer’. Well, they aren’t. Not only that, array identifiers aren’t even variables.

Let me explain. Let’s assume you’ve declared an array of chars (C’s version of a string)  called str1 and a pointer to an array of chars, str2:

    char str1[] = "Hello";
    char *str2 = "Goodbye";

An array and an address (in C) are equivalent. So str1 is the address at which the array of characters in the string "Hello" are stored. But str2 is a pointer whose value is the address of the string "Goodbye".

In fact, str1 isn’t a variable because its value (the address of an array) cannot be changed. The contents of the array – its individual elements – can be changed. The address of the array, however, cannot. That is why I prefer to call str1 an array ‘identifier’, though many people would call it, somewhat inaccurately, an ‘array variable’.

But, wait a moment. If the value of an array identifier such as char str1[] and the value of a pointer variable such as char *str2 are both addresses, aren’t str1 and str2 both pointers?

No, they are not.

It is an essential feature of a variable that its value can be changed. The value of an array identifier cannot be changed. What’s more, a pointer variable occupies one address; its value can be set to point to different addresses. But an array identifier and its address are one and the same thing. How can that be?

You have to understand what happens during compilation. When your program is compiled, the array identifier, str1, is replaced by the address of the array. That address cannot be changed when your program is run. But str2 is a pointer variable with its own address. Its value (the address of an array) can change if new addresses are assigned to the pointer variable.

If you need to know more about the mysteries of pointers, arrays and addresses in C, I have a book that explains everything (with all the source code examples for you to download). It’s called The Little Book Of Pointers and it’s available as a paperback or eBook from Amazon (US), from Amazon (UK) and other Amazon stores worldwide.

Friday, 12 July 2019

MAGIX PopUp Ads – how to get rid of them

They are like a virus. They infect your computer and make a damn’ nuisance of themselves by popping up adverts, special offers, upgrade deals and, well, more adverts… Upgrade MovieStudio, Buy Sounds for ACID, Download Stuff for VEGAS, Install Junk I really don’t want for MAGIX Music Maker. The damned adverts pop up at the bottom of the screen almost every time I boot up the computer. If there was ever a way to make the customer hate your products, this is it!

Does anyone really want to see these ads popping up on their PC every day???
Actually, I rather like many MAGIX products. But their persistent, irritating, spammy popup adverts are doing their best to make me change my opinion.

Another day, another ad!!!
But how do I get rid of them? I couldn’t see an option anywhere to “Disable our Spamware”. I ended up having to Google for help. I eventually found that I have to uninstall a piece of junkware called MAGIX Connect. Go to Settings, Apps, MAGIX Connect, Uninstall.

Oh joy! Gone at last!
Hurrah! Now the blasted adverts are gone. What I find truly mysterious about this is that MAGIX can’t see the obvious truth that, far from promoting its software, these nasty, trashy, annoying popups are about the worst sort of bad publicity they could possibly have. As I said, their software is generally good. But as for their Spamware…!!!!

Sunday, 7 July 2019

Learn C Programming, Pointers and Recursion

I’m pleased to announce the launch of Bitwise Books! We’ve been working away at this for most of the last year. Our aim is to publish a range of tightly-focused programming books that explain just what you really need to know without any padding.

The series is called The Little Book Of… and our first three titles are:

The Little Book Of C Programming

The Little Book Of Pointers

The Little Book Of Recursion

In addition, we have created a series of free programming guides called A Really Simple Guide To… These include A Really Simple Guide To Object Orientation, C IDEs and Pointers. To can get the guides delivered straight to your inbox (no purchase necessary) from the Bitwise Books site.

We’ll be announcing more Really Simple Guides and Little Books Of (various programming topics) soon.

Monday, 1 July 2019

Free File Sync and Backup

I live in dread that my PC will suddenly cease to function and I’ll lose all my work. In spite of taking daily incremental backups (I use Macrium Reflect for those), what I would really like is to have complete, uncompressed, unarchived, ready-to-run copies of all my data files on a second PC. So if PC Number One goes wrong, I can just switch over to PC Number Two and carry on working. As I have a lot of data – video files for my courses, document files for my books, plus images, program code and all sorts of other stuff, I really, really don’t want to lose anything.

So recently I’ve been using a rather fine file-copying program called FreeFileSync. This lets you synchronize copies of folders and sub-folders. That means that you can, in principle, have two complete copies of your data and let FreeFileSync work out which are the most recent copies and then update any out-of-date files by copying the newer versions over them. In that way you could work on the same data on two PCs and let FreeFileSync synchronize them.

With FreeFileSync you can create named backup sets and synchronize groups of subfolders across two computers.
In fact, my requirements are a bit simpler. I want one ‘working set’ of data and one copied set of data. So instead of synchronizing in ‘two directions’, both to and from my two PCs, I just want it to keep a ‘backup copy’ on PC Two updated with any changes I make to the files on PC One.

It does a pretty good job of this. My initial backup (340Gb of data over 131,549 files) took over ten and a half hours to complete. Thereafter, however, it only copies any changed files. To do that it does a file comparison which takes just a few minutes and a file copy which again takes seconds or minutes. If you need to maintain multiple copies of your files, I recommend that you try out FreeFileSync. My main criticism, so far, is that it doesn’t have a built-in scheduler. So if you need to do automatic timed backups, you are going to have to do a bit of extra work using the Windows Task Scheduler.

My initial backup was huge as this chart (which shows backup progress) proves. Subsequent backups are much smaller and faster.
Even so, this is a useful tool to have. After all, disaster has a habit of striking just when you least expect it. And you really can’t have too many backups!

Tuesday, 21 May 2019

In Search Of The Perfect Keyboard

Oh, how I dream of the old IBM keyboard!

An original 1981 IBM keyboard
I began using PCs way back in the early ’80s. Technology has advanced greatly since then. But the one thing that was better then than now was the keyboard. The IBM keyboard set the standard. A good, solid click and keys that never faded. The keyboard of my old Olivetti M24 was excellent too.

Most keyboards these days are flimsy things. And worst of all, the letters on the keys keep fading away. They do for me anyway. Maybe that’s because I am a heavy keyboard user – I write or program for many hours every day. Or maybe it’s because (as I’ve heard some people claim) I am one of those people whose skin acidity happens to be detrimental to keyboard keys.

Anyway, recently I decided the time had come to replace an old keyboard (a VicTop which cost £29 in 2017 – this model is no longer available but various other Chinese-made ‘mechanical’ keyboards appear to be very similar). Although it was a cheap keyboard, it is remarkably solid, has a lovely ‘clicky’ feel and in the couple of years I’ve had it, has been absolutely reliable. But some of its keys were wearing so badly that I could no longer see which was which.

Ideally I wanted a keyboard with ‘doubleshot’ keys. A doubleshot key is one that is constructed from two layers of plastic. One layer contains the raised shape of a character such as ‘A’. The other layer is, in effect, poured on top of this to form the rest of the key surface. So if ‘A’ was moulded in black plastic and this was covered with white plastic, you end up with a black key with the letter ‘A’ in running through it in white (like the words through a stick of British seaside rock).

Once upon a time, every half-way decent keyboard had doubleshot keys. These days most keyboards just have the letters  ‘painted’ or ‘stuck’ onto the key, which is why they wear off so easily. Some slightly more resilient keys use ‘laser etching’ which means that the characters are etched into a small groove. These won’t actually wear off completely but they can fade.

Filco Majestouch Ninja
It turns out that keyboards with doubleshot keys are now as rare as hen’s teeth. So eventually I settled for an alternative: a keyboard with no letters at all on the top surfaces (so they can’t wear off!) but instead with letters on the front surface – the vertical surface that faces you as you sit at the keyboard. This was the Filco Majestouch Ninja. It’s quite an expensive keyboard (£130 inc. VAT) but it has a nice solid click (look for Cherry Blue keys if a good click is what you are after) and, while it does take a while to get used to the blank key tops, after a couple of days I barely noticed the difference.

VicTop keyboard with its original keys
This left me with my trusty old VicTop keyboard which, in spite of its faded keys, I was reluctant to throw away. I decided to have a go at refurbishing it by replacing the faded keys with doubleshot ones. Bizarrely, even though it’s hard to find a keyboard with doubleshot keys already fitted, replacement doubleshot keys are easy to find. I bought some keys in the good old Olivetti colours (at about £38 inc VAT these cost more than the keyboard itself but much less than a new Ninja keyboard).

VicTop keyboard with replacement Olivetti-style doubleshot keys
It took me about an hour to replace the old keys. And my refurbished keyboard is now pretty close to ideal. I don’t know whether my new Ninja keyboard will outlast my cheap refurbished keyboard. What I can say is that both keyboards are now as near to perfect as I could hope for.

Though I still dream of an old IBM keyboard…

Friday, 17 May 2019

RIP Ken Musgrave - Long Live Mojoworld!

Dr. Forest Kenton Musgrave (aka 'Doc Mojo') was one of the great figures in the evolution of computer digital art, particularly landscape creation through fractal geometry. I still have a (now rare) boxed copy of his wonderful Mojoworld software, which lets you generate hugely complex fractal planets and then send a virtual camera around it looking for interesting views to render as still images or animations. Sadly, Ken Musgrave died (far too young!) last December. Way back 2001, I interviewed him. When Digital Art Live Magazine asked if they could reprint that interview as a tribute, I was very pleased to agree.

You can read the interview online here: https://issuu.com/tosk/docs/digital_art_live_issue_39_20190504

Or go to the Digital Art Live web site here: https://digitalartlive.com/digital-art-live-magazine/

Wednesday, 17 April 2019

Zork Source Code Online - the Holy Grail of Text Adventures!

Anyone who knows me (or reads my articles or follows my programming courses) can't fail to have noticed that I am passionate about text adventures. In fact, it was the old Infocom text adventures such as Zork, Starcross and Trinity that first got me interested in programming, long, long ago. So interested, in fact, that I wrote my own adventure, The Golden Wombat Of Destiny.

The one thing I never expected to see was the source code of the classic Infocom games. Well, today, that all changed. Because the code is now online. I don't honestly know if this is in the public domain or not. I think that theoretically Activision 'owns' the code but clearly the company is doing nothing at all with it. That being so, this great treasure of programming really should be available to inspire and instruct coders old and new. You may need to be dedicated, however. This is not written in any mainstream language such as Java or C. It's written in ZIL (and MDL) which are variants of LISP.

More information here:

Tuesday, 12 March 2019

Able2Extract Professional 14 Review

Able2Extract Professional 14 $149.95

Able2Extract is a PDF editing and conversion tool. It can convert files between PDF and a variety of other formats including Word documents, Excel spreadsheets, text, HTML and various image formats. Conversion can be done by loading documents one by one or in batch mode on a selected directory.
PDF on the left. Word on the right? Which is the original? Here the PDF eBook is the source document and I have used Able2Extract to create a Word document from it. If you click the image above to enlarge it you will see that the fully-editable Word document is very faithful to the PDF original, including column formatting and images. There are a few minor differences to text styles however.
Editing features include the ability to add and delete text or graphics, redacting (blacking out) selected text, and adding annotations. There is also built-in form support that lets you create editable forms with ‘fill-in’ fields. For an overview of the principal features see my review of a previous release of Able2Extract Professional 12. The main new features in this release are electronic and digital signing and improved “AI-powered” PDF to Excel conversion.

Here I am creating a new digital signature just by entering my name on the keyboard and letting Able2Extract generate a digital (cryptographic) signature image.

When I need to add my signature to a PDF form, I just drag the previously-generated digital image into place.
Electronic document signing lets you add a signature by drawing it on screen, typing it at the keyboard or adding a pre-prepared image.  Even though an electronic signature may not match your hand-written signature, it uses cryptographic techniques so that it can be verified for authenticity.

The other big new feature in this release are the so-called “AI-powered templates” for converting to and from Excel spreadsheets. According to Investintech, Able2Extract 14 has templates that “can be trained to automatically locate and convert PDF tables that match the table structure stored in a template, making tabular data extraction accurate and easy no matter how long the source document is or the position of tables in a PDF document.”

You can also load up PDF documents and auto-extract any tables to be converted to Excel. When this option is selected, all other text and image content of the PDF file is ignored and only the tabular data is extracted. Excel support goes beyond PDF conversion. Able2Extract lets you load up any of its supported formats (for example a Word document) and convert it direct to Excel.
Here I have a long PDF document that contains several tables. I want to extract the table into an Excel spreadsheet. The conversion option lets me extract the tables alone, ignoring the rest of the text.

This is the end result. My tables have been extracted into an Excel spreadsheet, read for me to edit them.
A common format for conversion is Microsoft Word. I tried out Able2Extract with some quite complicated eBooks with multiple columns, styles, box-outs, graphics tables and more. I have to say the conversion between Word and PDF was remarkably good. In my experience, there are occasionally some changes to font styles and  layout that crop up during conversion. But these are generally quite minor. On the whole, the conversion is fast and fairly accurate.

Overall, this is a very capable PDF conversion program. If you regularly need to convert documents to and from the supported formats or if you need to edit and sign PDF forms, this is about as easy as it gets.

Sunday, 10 March 2019

DxO PhotoLab 2 review

DxO PhotoLab 2 (Elite Edition) £159 (currently on offer at £119.99)
DxO PhotoLab 2 (Essential Edition) £99 (currently on offer at £79.99)

DxO PhotoLab 2 is an image processing packaged aimed specifically at photographers. If you’ve taken a photograph and the colours, sharpness or exposure are not quite what you want, this software will help you enhance the image to achieve a more satisfactory, pleasing or dramatic effect.

Here I am using DxO PhotoLab 2 to process the original image (seen in the top half of the screen) by setting parameters to improve the contrast, colour saturation and brightness. The processed image is shown in the bottom half of the screen
There is more to creating a great photo than just clicking the button on your camera and saving the results onto disk. Once you have the image, there are all kinds of ways you can process it in order to make it really stand out. And that’s where DxO PhotoLab comes in. It is an image processing program which specialises in enhancing and correcting images, with some features specifically tailored for RAW (unprocessed) images.

RAW images contain more information than images saved in formats such JPG or PNG. Some of that information is lost when it is processed into one of those formats. DxO PhotoLab, however, is able to use the information stored in RAW file in order to optimise the image rendering – for example, by correcting optical flaws, or correcting colour balance and sharpness. While RAW processing is its strength, it can also work with other image formats such as JPEG, though the range of optimisations is more limited with those formats.

The software has built-in support for a number of cameras from major manufacturers such as Canon, Panasonic, Nikon, Olympus, Apple, Sony and others. This helps the software to automate the processing of RAW images from specific makes and model of camera. The company claims that it has analysed no less than 42,000 camera/lens combinations to help to automate the enhancement of camera-specific images. You and can find the full list of supported cameras here:  https://www.dxo.com/dxo-photolab/supported-cameras/

If grainy pictures are a problem, its denoising tools could be a big advantage. Grain is likely to be most problematic in shots taken in low light with high ISO. So if night-time shooting is important to you, denoising could help to add sharpness to your photos. Some of the more advanced features are only available in the Elite Edition. The cheaper Essential edition has the core functionality but lacks dedicated camera support, enhanced denoise and a few other image processing tools. I have been using the Elite edition for this review. You can check the feature lists for both editions here: https://shop.dxo.com/en/photo-software/dxo-photolab

Here I have selected an area (the area above the diagonal line which I have simply drawn and rotated on the image) and I am making local edits by dragging the ‘bar chart’ elements to alter colour, contrast, grain, shadows and black density.
PhotoLab 2 includes an automatic repair tool to remove unwanted elements – everything from a bit of dust to a bird in the sky – with a selective retouching tool to mask and replace areas of the image. The main new feature in the latest release of PhotoLab is a tool to let you may make ‘local adjustments’ – that is, you can selected areas of a photograph and apply edits to them. You can, for example, select the sky and then make in-place changes to its colour and contrast.

DxO PhotoLab 2 also has a PhotoLibrary tool for organising your pictures. This provides the ability to search through directories of images in order to find those that match specific criteria such as date, ISO setting or focal length. This is a feature that is broadly similar (though not quite yet as complete) as the tools provided by Lightroom Classic.

If you don’t want to go to the bother of tweaking individual parameters, you can simply apply one of the ‘presets’ to apply a range of effects and enhancements at the click of a mouse button.
PhotoLab 2 comes with arrange of ready-to-use filters and ‘image fixes’ which can be simply applied to photos. However, to get the most from the software you may need to tweak individual parameters which are available in a set of collapsible panels to let you make adjustments to lighting, colour and geometry. This can be quite a detailed and complex process. This is great for professional users who are prepared to put in the time and effort to learn to use all the tools and options. For amateur or occasional users, however, this may seem intimidatingly complicated. Indeed, for those users a simpler-to-use (and cheaper) program such as Smart Photo Editor might be more appropriate.  For a guide to the principal features of DxO PhotoLab 2 see here: https://www.dxo.com/dxo-photolab/features/

The bottom line: who needs this software? If you want to apply effects and corrections to your photographs, a general-purpose image editing program such as Adobe PhotoShop may be your first choice. Alternatively, if you need a cheaper solution, a program such as Affinity Photo or CyberLink PhotoDirector might fit the bill. For image processing features aimed specifically at photographic enhancement, the obvious competitors to PhotoLab are Adobe LightRoom and Phase One’s Capture One.

Dx0 PhotoLab is aimed at professional photographers who need to make adjustments at the nitty-gritty level of detail. For those users, it provides a solid range of features with dedicated camera support at what, in this range of software, is quite a reasonable price. In short DxO PhotoLab 2 is a good value image processing program for the more serious photographer.

Tuesday, 15 January 2019

Movavi Video Suite 18


There are so many well-known video editing packages ranging from the fairly expensive ones such as Adobe Premiere (about £20 per month) to cheaper ones such as Cyberlink PowerDirector (from around £80). Movavi Video Suite is not one of the best known packages but it is one of the least expensive. But can it really compete with all those better established products?

I recorded this at my desk in front of a green screen then used Movavi's Chroma Key to remove the green and let me pretend to be sitting in a jungle!
In fact, since first using the last edition (v 17) of Movavi Video Studio (see my review), I have found myself coming back to it again and again. At first glance, this might seem odd. Because, if you judge it purely in terms of its range of features, there is nothing obvious that sets it apart from other video editing packages.

But what I’ve found is that there are some things that are simply faster and easier to do with Movavi Video Suite. Converting file formats, for example, or doing a quick Chroma Key recording (with a green-screen backdrop that is removed by the software) is just so quick and easy. I’ve found its green-screen removal works better than many more expensive products when recordings have been made using imperfect backdrop lighting (and that’s the sort of lighting that is probably typical of a lone video maker like me, doing impromptu recordings in my home office).

In brief, it is a simple-to-use video recording and editing package that lets you create videos from clips on a timeline, apply transitions and effects, zoom, pan, add titles and annotations, and produce your final video in a large range of alternative formats.

This new release adds on a few new features, the most useful of which is probably the expansion of the timeline. Previously you were limited to just two video tracks and two sound tracks. In the new version, you can add unlimited tracks to the timeline.

Finally, more video tracks!!!
Other changes are mainly related to improved efficiency and usability. You can edit 4K videos without lagging; visual guides have been added to make cropping, panning and zooming more easily controllable and various improvements have been made to trimming, rotation, intros , outros and so on. A list of the main new features can be found here: https://www.movavi.com/suite/whats-new.html

The provision of a decent screen recorder is definitely a bonus for anyone who needs to do software videos or tutorials. You can not only record the entire monitor (or even the screen of a secondary monitor) but you can also mark out a portion of the screen to record. You can record simultaneously from both the screen and a webcam so that you can include a ‘picture in picture’ of yourself talking to camera while also showing screen activity. Incidentally, while the webcam video is, by default, recorded at a fixed size and position, you can move and resize the webcam video independently of the screen capture by right-clicking it in the timeline and selecting ‘Edit as Overlay’. Bearing in mind that the Camtasia screen recorder costs over £230, and lacks many of the other video editing features of Movavi Video Suite, this alone could easily justify the price of this package.

The screen recorder lets you record portions of a screen along with a simultaneous webcam recording
Now, I have to admit that I do not use Movavi Video Suite as my main video editor. Personally, I generally use Camtasia for screencasts (computer screen recordings) and PowerDirector for live video editing. For my own use, I tend to use Movavi Video Suite as a toolkit that provides a set of utilities for special-purpose tasks. That isn’t to say that it is not up to the job of recording, editing and publishing videos from start to finish. It certainly is. Its combination of screen and video recording tools, and its newly extended multi-track editor, make it a great value all-rounder if you are on a tight budget. But I just know those other packages so well now that I am reluctant to use others.

That said, if I was looking for a good all-round video capture/edit and screencast suite to make videos, I can’t think of any other product that gives you so much for such a low cost. It really is rather good.

Sunday, 6 January 2019

C Programming – return of the vanishing parentheses

The other day, an esteemed colleague of mine happened to fulminate against the abominable practice, favoured by some C programmers, of enclosing expressions returned from functions between a pair of parentheses like this:

return (x);


return ((x-1) + (y+2));

Now I admit I had previously given no thought to this matter. It is not (I think!) my personal habit to use parentheses in this way but I’ve certainly seen it done and it had never struck me either positively or negatively. After all, what’s a pair of brackets between chums?

But my grumpy colleague was not so forgiving. In his view, the use of round brackets after a return is unnecessary and anyone who does this is guilty of invincible ignorance due to their grievous misunderstanding of the nature of a return statement.

That being so, I wondered why the practice was so commonplace. I did a quick Google search and found about equal numbers of people who agreed and who disagreed with my  grouchy friend. Some said that parentheses around return values are the work of Satan; others claimed that parentheses “add clarity”.

Some say that parentheses are bad is because they are used in the mistaken belief that return acts like a function call. To be honest, this doesn’t sound a very probable explanation to me so I carried on researching.

“What do Kernighan and Ritchie prefer?” I asked myself.

I consulted the second edition of their classic text, ‘The C Programming Language’ and sure enough they don’t use parentheses. Oh well, there are no greater C authorities than K&R, so that surely settles the matter.

Then out of idle curiosity, I decided to check the first edition of ‘The C Programming Language’. If I wore false teeth I might well have swallowed them at this point. To my astonishment, throughout the first edition every code example I could find uses parentheses around return expressions.

They are there in edition one. They are gone in edition two.

But why?

This is what the authors say about return expressions in edition 1 (page 23):
“Any expression may occur within the parentheses”

In edition 2 (page 26) this is rewritten:
“Any expression may follow return”

So why were the parentheses used in edition 1? There may be another clue. The text of that book also states that a value is returned “just as in PL/I”. Now, I have never used the PL/I programming language but it is my understanding that in PL/I it is mandatory to enclose returned expressions between parentheses. Possibly Kernighan and Ritchie initially thought this was a good stylistic convention but then subsequently changed their minds. Or possibly very early C compilers required parentheses but later didn’t.

One thing that is certain is that the immediate predecessor to C, that’s the B language, did require parentheses. ‘The Programming Language B’ manual states:
“A return in a function causes an immediate return to the calling program. If the return is followed by an expression in parentheses, this expression is evaluated, and the value returned to the caller.”

One of the authors of the B manual, incidentally, was the same B. W. Kernighan who later co-authored the famous C book.

I don’t think I’ve absolutely solved the mystery of the vanishing parentheses. What I can say is that in some languages such as PL/I and B, parentheses around return expressions are required. In C they were initially considered to be acceptable (and possibly obligatory?) but they are no longer needed. In spite of that fact, a substantial number of programmers of C and C-like languages such as C# and Java, continue to use them.

So in brief: parentheses around return expressions are not needed.

But if you happen to like them and if you want use them I won’t hold it against you. On the other hand, I have a very grumpy colleague who certainly will….

Wednesday, 2 January 2019

Affinity Publisher (beta) DTP software preview


Serious DTP (Desktop Publishing) packages tend to come with a hefty price tag. The venerable Quark XPress costs £725 (one-off purchase). Adobe’s InDesign costs around £20 per month. There are of course, much cheaper packages such as Microsoft Publisher (which is now bundled with Office for about £420, or £60 per year). But, frankly, while Publisher is fine for newsletters and flyers, I doubt if many professional designers would be tempted by it.

A forthcoming product - for both Windows and Mac - could plug the gap between the expensive professional-grade packages and the cheaper products aimed at amateurs. I’ve been taking a look at the beta release of Affinity Designer. And so far I am extremely impressed.

I don’t normally write about beta software but in this case I make an exception. Let me explain why. I have used graphics and DTP software from Serif (the company behind the Affinity range) for many years. I first used them way back in the 1990s when I was a reviewer and columnist for ‘PC Plus’ magazine and ‘Computer Shopper’. Even then they were good. In the years that followed they became much better. Their claim to fame was combing high-end features with a low-end price. Serif’s previous DTP package was PagePlus, but that product was quietly ‘retired’ a few years ago (though you can still buy it for just £19.99 here, https://affinity.store/buy/pageplus/ ).

It’s not possible (or fair) to ‘review’ beta software which, by its nature, is unfinished and may have bugs or omissions that won’t be found in the final release. What I will say, though, is that in the couple of weeks that I’ve been using Affinity Publisher, I have quite simply decided that it is the DTP package that I would choose for my own projects. It is efficient, easy to use (by DTP standards, which means there may still be a 'learning curve'), well-featured and elegantly designed. It does most of what you’d expect in a pro-grade DTP package: importing text and images, designing simple or fancy layouts, columns, tables, text-wrap-around (with fine-tuned control) and so on. In the current version it doesn’t have a Microsoft Word importer. However, when I saved a big Word document to RTF it imported all 100-plus pages, auto-flowed the text into multiple frames and even preserved the styles I’d applied in Word, adding them by name to its own stylesheet.

I was curious to know what the two ‘persona’ icons at the top left of the screen are supposed to do. There is one called a Vector Persona and another called Photo Persona. I believe that these will be used to integrate Publisher with Affinity’s image processing and drawing packages, but this integration is not available in the beta. I asked Affinity for some more information. I was told that “The importance will become more apparent once we switch on the functionality for the three apps to integrate.” In other words, wait and see…

I was also curious to know why the old Serif range had been given the boot. From a technical point of view, I can understand why it might be preferable to start from the ground up now, rather than continue to add features to software that has been in development for such a long time. I suspect that, in addition, the ‘cheap and cheerful’ image of Serif-branded products might be seen as a disincentive for buyers looking for a really first rate application.

“The move away from the Plus range was inspired by our Head of Development – Tony Brightman,” John Atkin, Head of PR, told me, “who felt we had more to offer than cut-price versions of industry standard software – an opportunity to lead, not follow.

“The idea was to develop a whole new range of professional graphics software, initially for Mac. These apps would be special in their conception – built from the ground up with the workflow of creative professionals in mind. It meant throwing away all the code we had built up over the years, but he wanted to create something that would set a new, higher standard for creative design apps. The key criteria that this new range would have to fulfil:
  • Lightning fast - in particular taking advantage of all latest CPU and GPU chipsets
  • Cover the core disciplines of photo editing, vector drawing and desktop publishing
  • Use exactly the same file format between applications
  • Have no bloat - utilise a concept of personas to organise the UI into different use cases
  • Be unashamedly pro - core requirements like CMYK and 16 bit would be built in from the start and not allow wizards or anything else get in the way of a pro workflow.”
There is no word on the price at the moment. Affinity’s other products, Photo (image editing) and Designer (vector art) currently sell for around £40 to £50 – there are often ‘special offers’ so it’s worth checking to see if there are any good deals at the moment). I think it’s reasonable to suppose that Designer will be in broadly the same price range or, at any rate, nowhere near as expensive as the likes of Quark XPress.

I imported a substantial document in RTF format. Publisher created a multi-page project and auto-flowed all the text, retaining the original styles
Then again, while it may be inexpensive, Affinity Publisher certainly won’t be the cheapest DTP package available because the well-regarded open source DTP package, Scribus, is completely free. Many people love Scribus. In all honesty, I can’t say I am one of them. The user interface of Scribus is not only dull and old-fashioned but it is also (in my experience anyway) pretty hard to use. That’s subjective, of course. All I can say is that I found that I was constantly searching the Scribus documentation for help in getting stuff done whereas with Affinity Publisher I can, in most cases, figure it out for myself.

If you have no budget at all, then it may be worth your time and effort to get to grips with Scribus. Personally, though, I’d rather spend a bit more money and  save myself a whole lot of time and effort. So, assuming the final product lives up to the promise of the beta, Affinity Publisher would be my choice.