Pixenate version 1.3.5

I’m proud to announce the release of Pixenate version 1.3.5
I’ve been very busy working on Pixenate these past 2 months and this version includes many enhancements, bug fixes and a brand spanking new Freehand Drawing tool. That’s right, you can now scribble and doodle on top of your photos! Try it out for yourself.

As well as working day and night on this release, I’ve also been coding some really exciting customized pixenate code for a client. I’m under strict orders to keep schtum about it, so I can’t say much more right now.

If you would like to add Photo-editing to your website and need some custom web development get in touch.

Tagged , , ,

Something’s cooking at Pixenate HQ

Coming soon to Pixenate…

Freehand Drawing in Pixenate

Freehand Drawing in Pixenate

Tagged , , , ,

Tuesday Push: DineToRead.ie

DineToRead looks interesting, an online community of book-readers who meet occasionally for some nosh and a natter about the book of the month. Looks interesting – check it out.

Tagged , , , ,

Pixenate, Virtual Directories and Secure websites.

I’ve spent some time recently troubleshooting an issue a customer was having with Pixenate. The problem hadn’t arisen before, but thinking about it, it’s a problem which might arise in the future so I think it’s worth blogging about and documenting in the official documentation.

The customer was using Microsoft’s IIS web server and had setup a virtual directory for all photographic images – a perfectly reasonable and sensible setup. The photos resided on an entirely different machine and used IIS’s virtual directory feature to map from a URL to the remote machine. Everything seemed to work fine until they switched over to their production machine which was using HTTPS instead of HTTP. The images would load OK but when users tried to change the photos, Pixenate would complain with an error. The problem was due to a combination of using HTTPS and Virtual directories. Fortunately there is a workaround. A long time ago I added a facility to Pixenate to allow customers to implement their own custom image-loading (say for loading images from BLOBs stored in a database for example) . It wasn’t until recently that it found a use…

Pixenate’s default behavior assumes that there is a simple mapping of URL to file-system path. E.g. If the IIS DocumentRoot is at


…and if an image can be accessed via the following url…

… then the file resides on the file system at C:\InetPub\wwwroot\images\abc.jpg , and Pixenate can be initialized by calling…



PXN8.initialize( { url: “/images/abc.jpg” } );

…or even…

PXN8.initialize( { url: “/images/abc.jpg” , filepath: “../images/abc.jpg” } );

(this last example assumes pixenate has been installed at C:\InetPub\wwwroot\pixenate – see PXN8.initialize() in the API reference.)

Why would you want to use the last example? Well imagine your photos are served from a secure site ( one which uses https instead of http ). In this scenario, the most common PXN8.initialize(“/images/abc.jpg”); will still work because Pixenate will try to load the C:\InetPub\wwwroot\images\abc.jpg file if it exists.

If a Virtual directory was in use so that /images/ actually pointed to D:\images , Pixenate would no longer work because having tried and failed to read C:\InetPub\wwwroot\images\abc.jpg it would then try to retrieve https://localhost/images/abc.jpg using Perl’s LWP::Simple ( libwww-perl library ) and fail.

In this scenario, Pixenate must be given a back-stage pass so it can bypass https. Just how do you do this? Well the documented ‘filepath’ property won’t work because the image resides in a virtual directory which isn’t accessible from the pixenate directory (in this example, the virtual directory maps to a different disk but it could just as easily map to an entirely different computer).

The standard methods of loading Images in Pixenate (either from the filesystem on which pixenate resides or via LWP::Simple) won’t suffice if HTTPS and virtual directories are in use. This calls for some custom image loading code. Fortunately it’s possible in Pixenate to specify your own custom image loader and use that instead.

In this scenario, the Pixenate server needs to load images from the D:\images directory, and to do this you need to provide a server-side plugin…

use strict;
use Sxoop::PXN8 ':all';
# insert the following new property/line to your pixenate/config.ini file...
# VIRTUAL_IMAGE_ROOT = "D:/images/" ,
sub fetch_from_vpath
	 my ($image, $params) = @_;

		  die "The VIRTUAL_IMAGE_ROOT configuration property has not been set!\n";

	 my $path = $ENV{PIXENATE_VIRTUAL_IMAGE_ROOT} . $params->{virtual_path};

	 unless (-e $path){
		  die "File $path does not exist\n";
	 my $imrc = $image->Read($path);

	 if (is_imagick_error($imrc)){
		  die "ImageMagick cannot open file: $imrc\n";
	 return $image;
AddOperation('vpath', \&fetch_from_vpath);

Save the code above to a filename ending in .pm and copy it to the pixenate/lib/Sxoop/PXN8/plugins directory.
To use the plugin when starting pixenate use the following javascript code …

PXN8.initialize( { url: "/images/abc.jpg" , // for the web client
                   source: "vpath",          // specifies which plugin should be used for loading
                   virtual_path: "abc.jpg"  // the path used by the plugin
                  } );

This will enable you to use Pixenate on a secure server with virtual directories set up for images.
There are many possible ways of storing photos, filesystem (local or remote), database, cloud (S3) but I’m confident Pixenate is flexible enough to cope with whatever exotic permutations of the above can be thrown at it.

Tagged , , , ,

Twitter Mosaic and Social Media opportunities ~ We’re featured on SiliconRepublic

Marie Boran at SiliconRepublic.com interviewed me about Twitter Mosaic and how I use Social media.

Even from the beginning, social media was the ideal platform for a small company with little or no budget for marketing, says Higgins: “We ‘launched’ our first product, Pixenate, in a forum post on photo site Flickr.com because that’s where people who share their photos hang out.

“It grew in popularity from there, thanks to blog posts and online and offline publications.”

He explains that the challenge for firms using social media is to make themselves heard above the crowd.

You should read the whole article.

TwitterMosaic also gets a mention in the national newspapers recently. It is featured in the finance section of last Friday’s Irish Times.

Tagged , ,

Why small companies will win in this economy

With the collapse of big companies like AIG, Lehmann, Citibank and GM. Size is no longer seen as an advantage. Big companies like IBM are losing contracts to much smaller businesses led by dedicated people who can be trusted and crucially called up on the phone.

Sxoop Technologies has never pretended to be bigger than we are. We’re a two-person (well – one full-time person now) company and proud of it. Everything you need to know about us (including photos) is right there on our company website. If you have questions, problems or suggestions regarding any of Sxoop’s products or services, you can contact me (Walter Higgins – Founder/CEO) directly by email ( walter at sxoop dot com ) or phone +353 21 4928924.

Over at the Harvard Business blog, there’s a post about how small businesses are winning out over bigCos…

There are hundreds of thousands of businesses like John’s. Small companies that aren’t making millions but provide a good living for the people who work in them. Niche companies whose owners are trying to build sustainable businesses they love rather than fast-growing companies they can flip. They have no intention of retiring. They like working in them. And their clients know that. Which is why they have a loyal customer base willing to invest in the relationship.

Read the whole thing here


Pixenate Version 1.3.4sp1 (service pack 1) is ready

If you’re a Pixenate customer you will have received a notification email about the release of Pixenate version 1.3.4 sp1 (service pack 1). This release includes a number of bug fixes and enhancements.
Despite spending time developing the TwitterMosaic service, I’ve still had time to work on Pixenate. Updates are released every 2 to 3 months. It’s been just 2 months since our last update. If you are an existing Pixenate customer and would like to receive updates then subscribe to the renewal plan at http://sxoop.com/products/pixenate/renewal.html.