PMA 2010

in
posted by Andrew on 31 January 2010, 22:24

Hello everybody!

Just want to let you know that I am going to visit PMA 2010 expo which will take place in Anaheim, CA from Feb 21 through Feb 23. If anyone is interesting to meet me and discuss some deals regarding our products or whatever else, feel free to drop me a note at a.simontsev @ aurigma.com.

Image Uploader 6.5: What's New?

in
posted by Max on 27 January 2010, 17:47

First of all, new Image Uploader supports the freshly released Firefox 3.6. Firefox is admired for its stability, speed and crossplatform compatibility. So, we do our best and keep up with the latest releases by Mozilla.

Image Uploader 6.5 got some new web app samples.

The purpose of the set of web app samples is to illustrate typical uploader integration cases. The samples are constantly being improved. The newly released Image Uploader 6.5 brings three new web samples at once. They are invaluable for those who want to upload to cloud storages: Amazon S3 and Nirvanix.

Integration of Image Uploader with Amazon S3 and Nirvanix can be a bit tricky, but now we have done the biggest part of the work for you. We strongly recommend seeing those samples, if you are a cloud storage user. The samples come with the Image Uploader 6.5 package.

As usual, Image Uploader contains fixes for bugs reported by our users. To see the list of new features and bug fixes, we recommend checking the full list of 6.5 improvements.

Be sure to post any feedback regarding the new version to info@aurigma.com or to the support case system.

 

New phone number

posted by Andrew on 19 January 2010, 23:59

Hi there,

This is just a quick update. We have opened a toll-free number. Feel free to call us at 800-661-8190.

Old number is still alive, so you can still use it, but I would recommend to use the new one. Phone call are not immediately forwarded from old number, so you will have to wait extra 3-4 rings before we answer you.

Creating Interactive Online Content Designers with AJAX Vector Objects

posted by Dmitry on 18 October 2009, 16:47

A few weeks ago we released new version of Graphics Mill – 5.5. Looking through the what’s new list, everybody finds out that the major change in the product is a new module called AJAX Vector Objects. I'd say that this is a good module. A very useful one.

Using this module you can easily add functionality to your application allowing for combining images, text and shapes or annotating images interactively. Your users will add images, shapes and text to an image; rotate, resize and move objects using mouse or keyboard, hide and show objects. Finally, the control is able to save combined images, shapes and text strings for future use, to continue editing or to render them to a destination image. You can store an image for preview purposes or submit it for printing.

Here's a screenshot of a simple user interface implemented using the AJAX Vector Objects.

Now let us go through two cases where such functionality would be helpful.

Almost everybody who is working in the field of image processing came across a problem of creating some sort of an interactive designer. Reason may vary. For example, if you are creating a site allowing your customers to order photo products for printing (like T-shirts, caps, puzzles, etc), you would love to have an interactive online designer that would allow for creating these products on your site. The idea behind this is quite simple: your customer comes to your site, chooses a product to order and then interactively customizes the looks – adds an image, text captions and so on.

Another field of application for the new module can be the preflight tools. Suppose you have a web to print solution that allows for ordering prints online. On the final stage, i.e. before printing, the customer should approve design. This way, AJAX Vector Objects can be used to create a solution for annotating designs: customers open the tool and interactively pinpoint specific details to be changed and write how they'd like them to be changed.

Of course, AJAX Vector Objects usage scenarios are not limited to the two above ones. I just suggested two usage cases that are well-known in the field of image processing. If you need some sort of an editor or an annotating tool, AJAX Vector Objects will provide you with the required functionality.

Compatibility of Image Uploader with New Microsoft Windows 7 and Windows 2008 R2

posted by Dmitry on 12 September 2009, 23:39

Almost everybody in IT world knows that Microsoft is going to release two new operation systems in this October. It will be brand new Windows 7 and major update for Windows 2008 – 2008 R2. Several months ago we decided to get prepared to these new Windows versions in advance and test our Image Uploader with them.

First of all we were interested in Windows 7 as in a client platform where both Image Uploader ActiveX and Java will be launched in browsers. We have not found any major issues with previous versions of Image Uploader 6.x here.

Secondly we checked Windows 7 and Windows Server 2008 R2 from server platforms point of view. As we all know from Microsoft buzz these upcoming versions of Windows will have new Internet Information Services 7.5. And unfortunately it was a surprise for us here. IIS 7.5 did not want to recognize POST requests sent by Image Uploader 5.x and previous 6.x as a properly formed and returned HTTP error 400. So we had to spend some time and figure out what was wrong with requests. We found the reason and new Image Uploader 6.1.4 will be free of this problem. This new Image Uploader release will be avialable on our site by September, 19. Unfortunately if somebody is going to use Image Uploader with IIS7.5 as a server-side, you will need to have a version of Image Uploader not earlier than 6.1.4.

So Aurigma is ready for new Microsoft releases and upcoming Image Uploader 6.1.4 will be compatible with Windows 7 and Windows 2008 R2.

Security bulletin #2 - new Image Uploader security update

posted by Andrew on 3 August 2009, 00:01

Hi there,

As you probably noticed, we have released Image Uploader 6.1 on these weekends. The main reason we did it is to fix the security vulnerabililty reported to us by Microsoft.

Guys from Microsoft Security Response Center contacted us about a week ago and told us that they discovered vulnerability in ATL (Microsoft library which comes with Visual Studio intended to simplify ActiveX development). This vulnerability impacts all ATL-based ActiveX controls, including Image Uploader. Microsoft has included the description of this vulnerability here:

http://www.microsoft.com/technet/security/bulletin/ms09-035.mspx

In the version 6.1 we have eliminated this vulnerability. Although Microsoft also released a security update for Internet Explorer which patches this security hole, it is highly recommended to update Image Uploader to the most recent build (6.1.1 or higher). Also, on this week we will release updates for versions 4.7 and 5.7, so if you do not use version 6 yet, you will have a chance to use the safe version anyway.

Now, here is a short FAQ:

Q: Is this vulnerability is dangerous? How malicious persons can use it?

This vulnerability allows to instantiate an arbitrary ActiveX control by passing its CLSID to Image Uploader. So to exploit this vulnerability, a number of requirements should be met:

  1. A malicious ActiveX should be installed on a client computer anyhow (through trojans, spyware or anyhow else).
  2. A malicious HTML page should be created and either injected via cross-site scripting attack or put to a phishing website.
  3. The user with malicious ActiveX and unsafe Image Uploader should run this HTML code.
So it is not easy to attack, but it is still realistic.

Q: Microsoft released Internet Explorer update which fixes this problem. Why to update Image Uploader?

After the user installs IE update 972260, this attack will be impossible even with Image Uploader version 6.0 indeed. But you cannot guaranty that all users will install this update. That's why updating Image Uploader decreases the probability of security attacks to your users.

Q: Did you killbit old Image Uploader?

No, this time we decided to make both yours and ours life easier and decided to release safe versions with old CLSIDs. Let me explain why.

The main killbit distribution channel is Microsoft update system. We would just pass all "unsafe" CLSIDs from guys from Microsoft and they would include it into some IE security update, as they have done one year ago. But those users who install IE updates on a regular basis will install aforementioned update 972260 which will eliminate this vulnerability. This way killbit will not increase the security level for them. 

On the other hand, those users, who ignore security updates, would not get killbit update as well. Therefore the killbit would not help them as well.

Q: I am afraid that this Image Uploader update will break something on my website. What you think?

Version 6.1.1 has very few changes comparing to the previous build 6.0.16. So if you use the latest version, you can freely update it. Anyway, if you encounter any problems, feel free to contact our support people. We will be happy to help you.

Q: Does it cost me anything to update? 

No, it is free. You get a free update for the major version you have - for version 4.x you get 4.8, for version 5.x you get 5.8, for version 6.0 you get 6.1.

But if you have, say, version 4.7 and want to get version 6.1 instead of 4.8, you should upgrade as usual. Feel free to contact our sales team for more information.

Q: Is Java version vulnerable as well? 

This problem impacts ActiveX version only. 

Some comments regarding new licensing policy for Image Uploader 6

posted by Andrew on 8 June 2009, 00:03

Hi there,

We made pretty serious changes in the licensing policy for Image Uploader 6. It is not similar to the old one and someone may be confused with it. However I strongly believe that it is much more straightforward. That’s why I decided to write this post to explain our point of view on the licensing questions.

Single Domain vs. Express/Standard/Professional

From the very first version of Image Uploader, the primary license type was a Single Domain license. It was issued for a website with one full-qualified domain name, and it was limited by a single server. For more servers, a separate license type called Web Farm license was provided (the reason why multiple servers require additional licenses is outlined below). Things were getting complicated when such websites required multiple domains, etc.

Taking into account our past experience with customers’ licensing demands, we have reviewed our licensing system. Now each website requires only one license. This license allows using it with a single server and one domain (other limitations are omitted for brevity, so refer licensing pages for more details on this). If this is not enough, you should extend the license with so-called connectors. There are two kinds of connectors – server connectors and domain connectors.

This license plan is called Standard. It has a sibling – a license plan called Professional. The only difference is that the Professional version includes some additional features primarily interesting to the photo printing companies.

These license plans are more consistent comparing to the Domain and Web Farm licenses. However they may seem pretty expensive for a number of customers. But we wanted to keep Image Uploader affordable for startups and small websites as well. That’s why we offer an Express license plan in addition to Standard/Professional. It is very similar to the old good Domain License, but however it includes fewer technical support features.

I would like to comment this point with support. For a long time, our policy was to provide the same level of technical support to everyone. But in the course of time we got a number of customers who have special requirements for the support - guarantied response time. That’s why we made a difficult decision – we provide unlimited high-quality technical support with guarantied reply in 24 hours to Standard/Professional customers only.

But it does not mean that Express customers do not get any support at all. They still can submit up to 2 cases, and of course they can post messages on forums. According to our statistics, it should satisfy a big number of our customers.

About Server Connectors

Some people wonder why the price for the client-side software like Image Uploader depends on the number of servers, their CPUs, etc. Let me explain.

Ideal fair measure for a software price should be the intensity of its usage. When we talk about common standalone desktop applications, it is easy to estimate – the number of workstations where the software is installed is a good appraisal. That’s why this licensing model is so popular for such kind of applications.

However when we consider such application as Image Uploader, it is not so easy. On one website Image Uploader may be downloaded by 1000 people, on another one – by 1000000 people. And the worst thing is that a website owner is not always able even to calculate this number. The same situation we see if we try to use some similar metric, like amount of uploaded data or something like this.

That’s why we decided to use another metric – the power of the server side which processes the upload (i.e. the number of servers, etc). This value is clear and easily managed by the website owner. And it seems to be fair enough, because it is unlikely that someone will purchase and configure large web farms and let it be idle. So to make the licensing policy scalable, we just deem each additionalserver, CPU, or CPU core as a separate unit which requires purchasing a connector to the main license.

The arguable question here is whether to interpret multi-core CPUs in the same way as multiple single-core CPUs. On the contemporary market all new server CPUs are almost always multi-core, so it may seem not very good idea. But on the other side, it is obviously that 32-core SPARC is not the same as typical multi-core Intel or something like this. So the decision worthy of Solomon would be to set a threshold value for the number of cores which divides typical multi-core CPUs from something special like SPARC. In our case we consider CPUs with up to 8 cores as a single unit.

And the last aspect I would like to discuss regarding server connector is what to do if you use a virtual hosting rather than run it on real servers. This is especially actual because of growing popularity of such services as Amazon EC2, and similar.

Of course we do not have anyone to purchase licenses for all underlying hardware of Amazon EC2. Virtual hosting providers allocate resources in so-called Computing Units. Each such Computing Unit has the power comparable with common server with typical configuration. That’s why we just interpret such Computing Units as servers requiring connectors, not the real underlying hardware.

Single-owner Website vs. SaaS/Commercial Apps

In the previous section I explained how we make the price scalable based on the product usage intensity. But this is not the only parameter which should be considered. One more crucial parameter is whether the website is used by a single owner or itis an application used by multiple third party companies.

Imagine you build Image Uploader into a CMS engine. You host this engine on your server and let your customers an account, and create websites based on it.  From our point of view such usage of Image Uploader may be interpreted as reselling to third parties.

In such situation Express/Standard/Professional license plans do not work here. This is where we use classic license model for software component market. The idea is the following: instead of purchasing a website license with connectors, you purchase SDK licenses per each developer on the application development stage, and when you run it to the production, you purchase deployment licenses per each client.

Depending on your situation and what is preferable for you, you either purchase blocks of deployment licenses which cover all your present and future customers, or acquire a license for each separate customer.  But the general rule is simple – the price depends on the number of your customers, not on the intensity of the software usage.

We divide single-tenant and multi-tenant applications pretty long (at least from version5.0 or even earlier), but earlier it was less obvious, and it lead to misuse of some kind of old licenses. Hopefully now we managed to make it clearer.

Where is an IP license?

One of the main questions our previous customers may have is what an analogue for the IP license is.  This is quite ambiguous question.The answer depends on the nature of the website you run.

1. If you have single-owner website and need the IP license to cover all its domains (e.g. www.example.com, www.example.net, www.example-alias.com, subdomain.example.com etc.), you should switch to Standard or Professional license + appropriate number of domain connectors. If the number of domain connectors is not reasonable, we can provide special connectors for IP address or whole domain tree on aspecial request.

2. If you have a hosted application,you should switch to SDK/deployment model. If the number of clients of your application is more or less constant and do not grow extensively, most likelydeployment fee will be a block of licenses which will cover all your customers for the nearest year or other period of time.

Holders of the old IP license may have a concern about the price of deployment license block or IP connector. However I would like to ensure you that there will be no price skyrocketing. At least its order is the same as for old-fashion IP licensing.  

 

I hope I shed some light on new license policy and made it clearer. If you have any feedback or would like me to write one more post about some aspect of licensing questions, do not hesitate to leave a comment here.

Image Uploader 6 Available on Site

posted by Dmitry on 21 May 2009, 22:05
So, long awaited Image Uploader 6 is posted to the site today. Everybody can download this version and try it out. If you have some questions, difficulties or just something to say us, do not hesitate to contact us. We always value your feedback very much.

Image Uploader 6 - Coming Soon

posted by Dmitry on 10 May 2009, 23:13

Started planning of new Image Uploader version we decided to focus on three goals: support of images of big size, usage simplicity, and wide support of browsers.

The first goal – support of big images – is the solution for well-known problem when Image Uploader was unable to create thumbnails for big images and sent icons instead. We realized that modern cameras increase megapixels from year to year and the problem became serious. Our development team had to reimplement image processing modules of both ActiveX and Java versions and as a result we have support of large images and have increased the quality of thumbnails.

The second goal – make Image Uploader easier to embed to customers’ solutions – required to survey what platforms were used by our customers. We found out that two of them – ASP.NET and PHP – form absolute majority. We implemented special solutions for each platform (Image Uploader ASP.NET control and Image Uploader PHP library) wrapping Image Uploader and allowing to use it in a straight forward way on a platform.

The third goal is support of modern browsers. In recent times several new browsers were released – Chrome and Internet Explorer 8. We made some efforts to test Image Uploader on these new ones and adapt the control to them. As a result Image Uploader supports these two browsers and Opera 9 additionally.

Here is the overall list of new features and improvements in Image Uploader 6.

Both ActiveX and Java Version Improvements

  • Three editions of Image Uploader are available: Express, Standard, and Professional.
  • Memory friendly image processing.
  • Image Uploader ASP.NET Control and Image Uploader PHP library solutions making Image Uploader usage easier on corresponding server platforms.
  • Support of cloud storages: Amazon S3 and Nirvanix. Now Image Uploader can upload files and metadata to these online storages.
  • Support of AJAX-enabled applications. Now visibility of Image Uploader can be handled via CSS.
  • The ability to customize POST request sent by Image Uploader was improved.
  • Image Uploader supports review of response sent by web server back in the ImageUploader.PackageComplete event.

ActiveX Version Specific Improvements

  • Support of Internet Explorer 8.
  • Support of new non-admin ActiveX controls feature in Internet Explorer 8.
  • New installation progress of Image Uploader ActiveX control.
  • Improved estimation of remaining upload time in the progress bar.
  • Refactored memory management. Several problems that could be potentially led to crash were found and fixed.
  • The problem when Image Uploader froze on “waiting for response from server” stage was resolved.
  • Fixed several problems with drag-and-drop functionality in upload pane.
  • Thumbnail in the progress dialog can be hidden now.
  • Fixed the problem when some methods and properties of Image Uploader became unavailable in the case when InitComplete event handler was specified.
  • Fixed several problems with saving and restoring of upload list.
  • A number of minor improvements and bug fixes.

Java Version Specific Improvements

  • Support of Chrome and Opera 9.
  • Improved quality of resize.
  • Increased speed of folders tree navigation.
  • Windows 2008 network shares are supported now.
  • Fixed the problem with proxies on Windows platforms.
  • Now files can be deleted after upload.
  • Now files can be deleted from folder pane.
  • Fixed the problem with checkboxes on Mac platform.
  • Fixed the problem with tree pane refreshing.
  • Fixed several problems with saving and restoring of upload list.
  • Fixed the problem with extracting of UserComment fields from EXIF.
  • Fixed the problem with deleting of temporary files created by Image Uploader.
  • A number of minor improvements and bug fixes.

Video Uploader. Why WMV?

posted by Dmitry on 15 April 2009, 18:14

Nowadays video content becomes more and more popular on the Internet. Social networks as well as corporate web sites require hosting of video content and playing it online.

The major problem for video content on the Internet is that current internet browsers do not include any video decoders. So if you want to play video online you will have to install some stand-alone platform. I would highlight two major platforms allowing playing video movies:

  1. Adobe Flash.
  2. Microsoft Silverlight.

Let us consider these two platforms in terms of video support in detail.

Microsoft Silverlight

We all know that Silverlight is officially supported on Windows and Mac platforms. Also there is Moonlight project which is Silverlight implementation for Linux platforms. Starting from the very first version Silverlight supports decoding of WMV format. Moreover, Microsoft has opened WMV decoder source code and granted its usage in Moonlight. So decoding of WMV format is supported on the major computer platforms.

Adobe Flash

During the last years Flash became standard de-facto for playing video on the Internet. The most of users know the video format supported by Flash as FLV but it is not exactly true. FLV is the video and audio container used to deliver video and audio content from server side to the client. The format of this container was opened by Adobe on May, 1, 2008. The container itself can contain the following video formats:

  1. Sorenson spark, minimum required flash player version 6.
  2. On2 VP6, minimum required flash player version 8.
  3. H.264, minimum required flash player version 9.

Now we know what video formats are supported by Flash and Silverlight. Let us examine licensing policies for them.

We get used that image formats usually have open format and reference encoder libraries. You can use these encoders for free. Video formats unlike images get the problem here. They all are patented and have an interesting trick. Decoding is free for end users and does not require any royalties though encoding is not royalty-free. So even if you get Mpeg4 format reference (H.264) and implement encoder by yourself, you will have to pay royalties for its usage. So then…

Video Formats

WMV format

It is Microsoft format for storing and streaming video widespread on Microsoft platforms. There is free for use Windows Media Encoder which allows encoding to WMV. The only limitation is that it works on Windows only.

Sorenson Codec

This video Format is extension for H.264 designed by Sorenson Media, the specification is not opened. The encoder is the part of Sorenson Spark SDK. It seems that this codec was licensed by YouTube and Google. Sorenson do not publish the pricing on their site but anyway it is not a free encoder.

On VP6

Like Sorenson Spark On2 VP6 is the extension for H.264 designed by On2 Technologies, the specification for this format is not opened too. This company sells encoders for this format as part of On2 VP6 Codec SDK and Flix SDK for Direct Show. On2 do not publish pricing on their site as well.

H.264

It is known as Mpeg4 format which is standard de-facto in the world of digital video. In contrast to the previous formats it has opened reference. Nevertheless it is heavily patented and there is a special company MPEG LA that manages licensing royalties for this format. We examined licensing policies and found that there are two major options:
  1. For decoder/encoder suppliers who integrate them in end-user solutions.
  2. For service providers like IP TV and so on.
In both these cases royalties are required either for each copy of product or for each movie transcoded and streamed server-side. There are a lot of codec suppliers for Mpeg4 format but it seems that they provide implementation only. The licensing stuff is a headache of the company which purchases the codec and wants to use it in its solution.

Video Uploader

Summarizing, we all understand that there are a lot of video formats worldwide in addition to listed ones. Nevertheless, if we want to play movies via the Internet we have to transcode them to formats that can be played back in internet browsers (using Silverlight of Flash). And the core feature of our Video Uploader is transcoding of video movies to a single format relieving server platforms of encoding operations. This way all operations with movies are shifted from server side to the clients simplifying server logic and decreasing server hardware requirements. We have chosen WMV format. Why? Since you do not need to pay anything if you use it on Windows platforms. Today when we released beta version of Video Uploader ActiveX and started getting the feedback from you, our customers, we are searching the way to implement Java version of the product and decide on the question with video-related licensing for our customers.