All posts by Björn

We need our users help else important plugin showstopper plugin related bugs in Xojo are not looked at

We really need users to sign onto plugin showstoppers in the Xojo bug base because of their awful system to weight the bugs then if only the plugin author signs them then the issue will not get any attention.

This one here causes Plugin control experience on Linux to be less than good, basically Linux Them drawing will randomly not work because Xojo leaves the graphics port in some bad state if focus was obtained with SetFocus: 43559
Update: we don’t really care about 43559 any more having found ways to clean up the graphics state our selfs to get things to work right.

This one here causes plugin controls in IDE design mode to draw Picture way to big and out of bounds when using Image sets, giving Xojo really bad impression to new users right away in design mode. Event Xojo’s own Bevel button can reproduce this issue.
43174 – Controls that use image sets always show the 2x image regardless of whether the IDE is on a 1x or 2x screen

Other news is that the new ExcelWriter plugin that will be coming soon is progressing well and there are no big problems expected. Its release date is not decided yet but we might post some pre-releases on our Beta zone.

Coming soon…

We will be pushing out a decent ExcelExporter plugin for Xojo soon.

For many years we have had the Excel Exporter classes that wrote to old XML Excel file format which has little to no support any more. This format never even was Excel’s main format but was more of created for interoperability back then.

And of course over the years there have been countless requests for a decent exporter that can write out to fully native and up to date xlsx Excel files.

The new Plugin will put the old Excel exporter classes from us to rest.

The new plugin writes fully native xlsx files.  

If it will be in December 2016 or January 2017 I do not know but current status of the project is that basic features work on Mac 32 bit and 64 bit as well as Windows 32 bit and 64 bit. Linux remains to be done and more complex features will then be slowly added to all of the platforms.

Feature set will be far more bigger than we ever had on the old Excel Exporter classes.

Other than that then updating more controls and fine tuning for the Windows changes in Xojo 2016r4 has most of the focus.

Buying software vs renting software.

I my self somehow don’t like the idea of renting software. I think part of the reason is that if I do rent then I would feel I would have to use it all the time to justify the rent. While if I purchase then I just go for it and feel good that I have it and I don’t worry about how often I use it. This is of course mostly mentality issue since in some cases renting can be more economic for people.

Having looked around then I am not alone, people are enraging all of the the web about Adobe’s model to only rent out most of their software now. When looking around I found that how people feel about it has empowered companies to actually invest and try to make real alternatives. Which is of course good. So policies to only rent their software seems to create new competitors on the market that will fill the gap in the market as well as push the consumer to look for those new competitors.

I know I did this my self and ended up very happy when I found Affinity Photo and bought their software, which is in my opinion very viable competitor to Photoshop.


My feeling that going exclusive for software renting is huge marketing risk. What do others think ?

Comming soon……

We don’t usually post what is about to come but recently when releasing the QRCode Generator then we got many questions on if we would also supply BarCode generator.

I can now confirm that BarCode generator is coming.

Prototype of the Barcode Generator running:


It is at this moment unclear which standards we will release in first version. But Code128 and Code93 I can confirm already working.

BarCodes can be generated to Picture object or to SVG vector file.

Now as easter egg….. since the prototype has been done in pure Xojo then we did a fork of the prototype and a iOS module was born.


So this will be first time we supply any kind of Xojo code for iOS also.

The desktop version will most likely be in Plugin (added to our existing BarCode Plugin while the iOS version will come as Xojo module)

Q: Does this mean that everything or most things from us will come for iOS.

A: No I’m afraid not. Most is done in complex C code and will never come for iOS while Xojo does not support some sort of Plugin mechanism for iOS compiles.

Update 11. Aug:

EAN8 and EAN13 been added to confirmed ones that we will support.

EAN13 Barcode generated with Einhugur Barcode module
EAN13 Barcode generated with Einhugur Barcode module

To know when to toss your items or code when things have gone bad.

Yesterday I was working on new GPIO guide, and I was doing the wiring, nothing was working and I had tried 7 chips for the experiment, none of them behaved same and none of them behaved anywhere close to what I expected. Then I burnt my finger when touching the chip and I realized that something was very wrong.

The breadboard power supply had started to put out 11.8 V instead of the expected 5V.

So having been running on over voltage all resistors hot, all chips behaving wrong and overly hot then what do you do ?

I was frustrated and was at first going to try to measure every single piece and then decide what to toss and what not. But luckily day after I had come to my senses. I think its built into us to try to preserve. What does it cost, the time to evaluate every component vs tossing them. And what does it cost to potentially have component in later experiment that might not behave as expected. So i tossed it all, chips, transistors, resistors, LED’s, everything.

I think same lesson also often applies for code, we are to conservative on old code, to patch it even if it makes little sense instead of tossing it and make room for new and better code.

Whats been happening (May – June 2016) ?

There has been a bit of silence lately from us on the Plugin front, apart from one small update of TypeLib.

For those that have been wondering about it then things have been moving nicely internally.  So around or before mid June we will be updating our PDF Plugin for Xojo to version 1.1,

The update will enable compression to make your generated PDF’s a lot smaller. The PDF Plugin update will also have some other new nice features. Along with the PDF Plugin update then there will be updated to the e-CryptIt Engine (a small update to support the PDF Plugin) and another update to TypeLib (also small update to support the PDF Plugin)

On the Electronic GPIO front a lot has been happening:

And some minor updates to older guides.

Another marathon coding weekend

Shortly after Xojo Inc will release their 2016r1 version then we will be pushing out DateControl 6.1 which has a number of fixes and tweaks some of which help users using the new drop down calendar mode on broader range of OS X versions. We have had this version in open beta stage for a while so its pretty solid version.

But I got in another marathon coding weekend, when alone in deep snow at remote location. In this session some really nice things got done on the DateControl, so we have 6.2 lined up as well which might come out only days after 6.1 comes out.

Basically the project was to make similar drop down mode for Linux as we did for the Mac. Problem with that is that Xojo uses GTK 2, and proper Popover support did not come until GTK 3. So to make this nice and smooth a lot of coding and tricks had to be pulled out. And after completing it where I thought I had found perfection on Ubuntu then when testing it on Raspberry PI basically nothing worked due to mostly far simpler UI theme that Raspberry PI uses. So I went again and redid the whole thing and at 5 am in the night it was nice running same code base on Ubuntu and Raspberry PI:

Running on Ubuntu after the later tweak.
Running on Ubuntu after the later tweak.
Running on Raspberry PI after the later tweak.
Running on Raspberry PI after the later tweak.

One part of the big problem of going to Raspberry in the first try was that the simple theme on Raspberry PI then borderless popup windows have no shadow like they have on Ubuntu, so there was no difference on the dropped down window vs the parent window, it just blended in and it was impossible to see it was drop down unless it went bellow edge of the window.  Then in the 2nd try I came up with rendering the border manually around the drop down window using the Theme colors .

6.2 will have other improvements as well such as better disabled state for new OS X drop down modes as well as of course for the new Linux drop down mode. Improved drawing of the checkbox when used on Raspberry PI and other tweaks.

Updates to last post:

  • The PDF Plugin got successfully completed and has been published.
  • The situation with the snow is getting a lot better.

PDF Plugin progresses

As many have seen on our alpha releases then our PDF plugin is has been progressing fast in the past days.

I had both technical and mental setbacks on it, realising that the libharu that we use under the hood has some serious drawbacks. Libharu has TrueType embedding to be able to support UTF 8, but issue there is that it can basically only embed .ttf TrueType fonts, not OpenType or any other TrueType format, which limits it very much. In theory it should be able to open also bundled TrueTypes but I was not able to open the bundled ones in the Mac system folder.

I feared that this and the encoding mess of the stock font system in PDF would make it so hard for users to use that it would be best to cancel the project.  And there is little or no hope that Libharu is going to get better with this as Libharu seems to have no development or maintainers right now so hoping for it to improve the TrueType embedding is a no go.  And I have no knowledge to do what would be needed to update Libharu to support OpenType and the missing true type format and complete the unicode support.

But after sleeping on it and giving it careful thought then I came up with the plan to add automatic detection of encodings and let it be able to use the PDF stock fonts as much as possible, making it far easier for the user to use even if its not UTF8 with the stock fonts. Then it will figure out what your text needs, and adjust encodings to make it work, so if your document has Icelandic letters then it will figure that out and set up correct encodings, same if it has Japanese then it will set that up automatically. This idea seems to be working for most parts, so there should be some of this to see in the upcoming a5 version.

I would really like feedback on the a5 when it comes, to see if  users think this is good enough solution. Since if it is not then we might as well cancel this plugin before going much further.