I’ve simplified the pricing of Pixenate so now it’s even easier to buy the best AJAX photo editing software.
To be honest I was never entirely happy with the opaque pricing of Pixenate premium edition so now we’ve made the price of both Pixenate basic and premium editions transparent.
It made sense to have opaque pricing for Pixenate premium edition because some of our customers were large businesses. If you are a small startup, selling software to a large corporate customer can be time-consuming and expensive what with all of the paperwork and legal handling involved. We learned this the hard way 2 years ago with our first big customer where the cost of the transaction just didn’t make sense given the price of the software and the number of licenses involved. Because of that experience we decided to make the pricing of the premium edition opaque so that we could price in the cost of the selling the software to larger customers.
While the business we’ve gotten from larger companies has been great and we are grateful for it, we’d like to make it easier for small and medium-sized businesses to buy our software too. This is why – as of today – we are introducing a simplified pricing structure for Pixenate.
Pixenate basic edition costs $295 US Dollars. Pixenate premium edition costs $495 US Dollars.
That’s it.
30 days email support is included in each package. If you’d like to avail of further support and updates contact us by email. We hope this simple and competitive pricing will make it easier to make the decision to buy Pixenate for use on your web site.
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.
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.
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
C:\InetPub\wwwroot
…and if an image can be accessed via the following url…
http://localhost/images/abc.jpg
… then the file resides on the file system at C:\InetPub\wwwroot\images\abc.jpg , and Pixenate can be initialized by calling…
PXN8.initialize(”/images/abc.jpg”);
…or…
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) = @_;
unless (exists $ENV{PIXENATE_VIRTUAL_IMAGE_ROOT} )
{
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);
1;
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.
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.
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.
I’m late pushing this one, but better late than never.
The Tuesday Push is a blog meme created by Damien Mulley. Unlike most blog memes, which tend to be useless filler, this one has a purpose – it plays a vital function in raising the profile of Irish web startups. It is not just a great idea, but that rarest of things in this day and age – a Noble idea.
The idea is simple. Every 2 weeks an informal loosely joined network of Irish bloggers kick the tyres on the product or service being ‘pushed’ and blog about their experience. This provides the product/service with a much needed traffic boost. Participating blogs should reciprocate coverage. My own coverage of Tuesday Push has been somewhat spotty (like my blogging in general) but our own Twitter Mosaic service was pushed just 2 weeks ago and we got a big traffic boost from it.
If you are an Irish startup looking to raise the profile of your product or service, sign up for the Tuesday push here.
Since first launching Twitter Mosaic just 3 weeks ago, we’ve been expanding the range of products on offer. Just today we added a bookmarklet which makes turning your favourite Tweets into a T Shirt a one-click step. See the video below for how to drag the ‘Tweet Shirt’ bookmarklet to your browser’s toolbar and then use it to instantly create custom T Shirts from your favourite twitter status updates (aka ‘Tweets’)…
(A high-resolution version of this video is available here.)
One of the really neat things on offer at Twitter Mosaic are Twitter Profile Cards, cute little cards with your twitter avatar, screen-name, website and other details on them. Check out the unboxing video here…
If you have any suggestions for products we should offer or improvements, let us know in the comments.
