I just wanted to post here a little bit on what has been in the works for our Image Processing framework for Xojo.

Basically in the coming versions of PictureEffectsRaw we will start to add asynchronous methods to every single class. This will probably happen gradually, adding few effect classes per release.

So here is what this means for your code: (Time line on left showing old style synchronous mode, time line in the middle showing asynchronous mode with complete hook and time line on right showing asynchronous mode without complete hook)

I have not posted anything here for a while but thought it would be good to talk about Gtk3 in Xojo 2017r2.

Xojo 2017r2 is out and it now uses Gtk3 on Linux instead of Gtk2.

This means that any plugin that uses Gtk2 in any way will not work on Xojo 2017r2 when compiling for Linux.

In terms of Einhugur Plugins then this means all control plugins, all plugins that deal with Pictures and possibly others.

In the coming weeks and months we will be pushing out updates to get Gtk3 on board then probably we will have 2 lines, Gtk2 and Gtk3 so that we can also support older versions than 2017r2.
One of the challenges with Gtk3 is that not all things work the same like for example Gtk3 theme for Ubuntu draws nothing at all for a WindowSplitter, while Gtk2 theme running on exactly same Ubuntu will draw some glyph for the splitter.

We will be pushing out few updates non Gtk3 related updates before we start pushing out Gtk3 compatible plugins, like for example minor update for the ExcelWriter plugin which was officially released at the Xojo Conference in Berlin. (That plugin has been very well seen by our users). Column alignment will come in the TreeView control before we start pushing out Gtk3 updates and there will be other minor releases of some plugins.

Update with progress so far (Dec 2017):

TypeLib (8.1) updated to support Gtk3

TypeLibF (2.2) tested to work with Gtk3 no changes needed. (2.2)

PictureEffectsRaw (2.5) tested to work with Gtk3 no changes needed but needs TypeLib 8.1 or 8.2 with GTK 3 support.

ExcelWriter Plugin (1.2) tested to work with Gtk3 no changes needed but needs TypeLib 8.1 or 8.2 with GTK 3 support.

e-CryptIt Engine (13.1.4) partially tested to work with Gtk3 no changes needed but needs TypeLib 8.1 or 8.2 with GTK 3 support. (other parts of the plugin are expected to work unchanged as well)

WindowSplitter (9.0) updated to support Gtk3

CalendarControl (7.0) updated to support Gtk3

PDF Plugin (1.3.2) tested to work with Gtk3 no changes needed but needs TypeLib 8.1 or 8.2 with GTK 3 support.

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.

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.

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.

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.

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)