OCR + Cloud SDK = KaChing!

I’ve been writing a lot about the Cloud SDK lately, which isn’t surprising given the amount of time I’ve spent programming with it. Perhaps I didn’t have much of a choice when the engineers took over my machine during its development stages. Or maybe it was the customer specifically requesting a solution that could split and quickly transcode large multimedia files. Either way, I love it now because it’s an awesome product that has the potential to save a lot of money on top of the obvious speed benefits!

While the majority of LEADTOOLS products target a specific industry, the Cloud SDK is unique in that it can be used in a variety of applications. Sure, it was a multimedia problem that initially sparked the product’s development, but our engineering crew was brilliant enough to see past the surface and create something incredibly flexible. Keeping this in mind, we designed the product so that it could be used to simplify the process of using multiple machines to perform a specific task, regardless of what the actual task was.

Our hard work during the design process paid off, since we recently handled a request from a customer that wanted to create an OCR service. We have many customers that ask about OCR, but this particular developer had major concerns with scalability. The number of documents they expected to process fell into a wide range, so at any given point they might need to scale their efforts quickly to meet changing demands. They had existing servers that were used for other purposes, but they were not maxed out by any means. Rather than purchasing new, dedicated hardware for this OCR service, they wanted to take advantage of the current server farm and add to it as needed.

Their solution was simple. The customer could write an OCR plugin to our Cloud SDK and install the Cloud framework on their existing servers. Since the Cloud allows you to control which servers will be used, how much of their CPU will be used, and the maximum number of concurrent jobs, it fit their needs perfectly. It gave them the freedom and peace of mind to use existing hardware without adversely affecting the tasks for which the servers were already being used.

Talk about a major cost savings! No new hardware to purchase and no performance hits to existing services, yet they added a brand new source of revenue. Maybe my next post should be about what our customers should do with all this money I’m helping them save…

Thanks,
Otis Goodwin
Posted in Document Imaging | Tagged , , , , | Leave a comment

Sneak Peek at Our First HTML5 Toolkit…

A few weeks ago, I wrote about the new features of HTML5 in general and spoke briefly about what we had planned for HTML5. Today, I had a chance to play with the new toolkit and was pleasantly surprised at the amount of features our engineers have packed into it. There is some exciting stuff happening at LEAD for document and medical imaging developers looking to create zero footprint web applications.

The foundation for what’s coming is a zero footprint, HTML5 / JavaScript image viewer. Just like our current LEADTOOLS interfaces such as .NET, C++, Silverlight, etc., it will support several interactive modes (magnify glass, pan, zoom), image processing effects (flip, reverse, rotate) and annotations (arrow, rectangle, ellipse, ruler, text). The great thing about HTML5 applications is their ability to provide the same user experience across any HTML5 capable browser including desktops, tablets and mobile phones. All of these interactive features and annotations work flawlessly with both mouse and touchscreen gestures. I tested our viewer on an iPad, iPhone and several Android devices and it worked flawlessly on each.

There is a lot more to the new toolkit than just a viewer. Our engineers have also ported many of our SOAP and WCF services to RESTful Web Services to make it easy to use with JavaScript Object Notation (JSON). Therefore, virtually every LEADTOOLS feature and technology can communicate with the HTML5 viewer and still provide a zero footprint deployment. For example, the viewer natively supports browser formats like JPEG, GIF and PNG. By using our new image formats web service, I was able to display any format LEADTOOLS supports such as PDF, TIFF, DOC, JPEG2000 and many others. LEADTOOLS web services will also provide support for OCR, Barcode Recognition and advanced image processing, thus opening up a wide range of development opportunities for programmers wanting to create zero footprint web applications.

Developers targeting the medical industry will find that our HTML5 toolkit bridges the gap between mobile devices and PACS. The new toolkit will be perfect for on-the-fly DICOM image viewing and processing. Because of the HTML5 viewer and web services, I was able to display DICOM images with client-side window leveling, series stack and DICOM metadata in the latest IE, Chrome, Firefox, Safari on my desktop. Again, the real selling point is mobile device support, as my Android tablet, iPad, and iPhone (ok, I’m a mobile device junkie…) all displayed and window leveled DICOM images quickly and accurately over WiFi.

I hope you guys are getting as excited about this as I am. From what our engineering department has told me, it should be available next week!

UPDATE: These products are now available!

Thanks,
Otis Goodwin
Posted in HTML5 | Tagged , , , , , , , | 2 Comments

From Win32 to WinRT

If you have been keeping up with my blog, you probably remember the post about my first experiences with Windows 8 and developing for Windows Metro. In case you didn’t have the opportunity to read it, I’ll give a quick summary. At that time, I was using the Windows 8 Developer Preview along with the Visual Studio 2011 Developer Preview. I was excited to see that our existing .NET 4.0 libraries could be used in a new Metro C# project. It took a bit of research to figure out the how to interop between the .NET and Metro Stream objects, but once I had that nailed down everything went pretty smoothly.

Since then, I have read a lot of material about Windows 8 and the new WinRT runtime. Based on what I was reading, it didn’t make sense that our .NET 4 libraries integrated so easily with Metro applications. The excitement expressed in my previous post was short lived; because as it turns out, components targeting the .NET 4 Framework are NOT supported in Metro. While it worked in the Developer Preview, the newer Windows 8 Consumer Preview and VS 2011 only allow the use of libraries targeting the .NETCore. If you use .NET 4 libraries now, you will receive the following error:

A reference to ‘Leadtools.dll’ could not be added. The project targets ‘.NETCore’ while the file reference targets ‘.NETFramework’. This is not a supported scenario

Where do developers go from here?
One thing Microsoft has stressed from the beginning in regards to Windows 8 is that it will run on both x86/64 PCs as well as ARM mobile devices. The goal is to provide the same fast, fluid and user friendly experience on all target platforms. The WinRT accomplishes this by providing a middle layer API that programmers can develop against, allowing the applications to “just work” on each platform. Therefore, as long as you target the WinRT and .NETCore, you can rest assured that your application will work on a variety of platforms and devices with no additional work necessary.

As with any new technology, there is still a learning curve. Thankfully, Microsoft has done a good job making this transition easy for the majority of developers. If you are a web developer, you can write HTML5/Javascript applications that use the WinRT. If you have worked with WPF and Silverlight, your XAML skills will carry over to Metro development. Even C++ developers can target the WinRT directly.

Microsoft isn’t abandoning anyone either since Windows 8 will continue to support traditional desktop applications that target Win32 API, .NET, Silverlight, WPF and the like. This is good news for those who simply want to make minor changes to their application to support the new OS. Of course, the drawback for those applications is that they won’t run in the new Metro style or Metro platforms like ARM.

What does this mean to LEAD and our customers?
As soon as we learned that native Metro applications could only consume components that target .NETCore, we knew that our development teams had some work to do. We see Windows 8 as an innovative operating system that opens doors to multi-platform and mobile device development to many Windows programmers, and we believe developers will take that step. LEADTOOLS customers can expect a complete Metro SDK for WinRT that will provide all of the features and functionality within our .NET and C++ libraries. In addition, we have been working on our “LEADTOOLS Anywhere” toolkit which will include HTML5 and JavaScript libraries that can be used to create rich Metro applications.

Thanks,
Otis Goodwin
Posted in News | Tagged , , , , , | Leave a comment

Elementary Stream Filters for Distributed Transcoding are Here!

You may remember my post a few weeks ago on distributed multimedia transcoding where I talked about a set of unreleased filters that handle the splitting and merging of large audio/video files. For those of you who have been on the edge of your seats, LEAD has added the new Elementary Stream Source and Sink filters to the latest Multimedia installation package!

Also, check out our latest article at The Code Project for a downloadable example and more details on the new Elementary Stream filters.
Posted in Multimedia Imaging | Tagged , , , , | Leave a comment

HTML5 – The Future of Web Development

HTML5 Badge
If you have done any web development in the last 10 years, you have undoubtedly seen the technology go through a myriad of changes. It started with simple, static HTML pages and has rapidly evolved to a list of technologies and languages almost too long to write. The culture of innovation has accounted for a Web that never seems to slow down or stop improving.

With each advancement, the goal seems to be the same. Developers want to create rich, universally accessible web applications The latter part — universally accessible — is becoming increasingly important and challenging for web developers as more users rely on their mobile devices to access web content. The broadened reach of the Web has opened exciting opportunities, but has also stretched the minds of developers to find ways to reach the largest audience without going crazy.

Take video playback as an example. There are many frameworks, formats and plugins to choose from (e.g. Flash and IIS Smooth Streaming), but each will eliminate one or more groups of mobile users from enjoying your site’s full experience. Of course, there is browser detection, conditional comments and the like, but those have always felt more like a band-aid rather than an actual solution.

This is where HTML5 comes in. It is the answer to many of the questions and problems web developers face today. When most people refer to HTML5, they are not only referring to the HTML5 specification itself, but all of the next generation technologies that come with it. For example: CSS3, Web Workers and Web Storage are all technologies often used in conjunction with HTML5, but are independent technologies with their own specifications.

Let’s start by talking about some of the major advancements in web development. There are plenty to talk about, but here are the ones I find most important.

Native audio/video support – HTML5 supports audio and video tags right in your HTML. You no longer need to install separate plugins or ActiveX controls to render media content on your page.
Canvas – The canvas provides you with a 2D drawing surface that allows you to create rich, hardware accelerated graphics on the fly.
CSS3 – CSS3 provides several new ways to style your web content including rounded corners, web fonts, the ability to style per client device, transitions, animations and much more.
Web Workers – “Web worker” is just a fancy word for a background thread. They allow us to push long-running operations into the background so that user interaction with the application is unaffected.
Storage – Web storage is similar to cookies, but with a few advantages. Web storage provides much more space than cookies, it is maintained on the client (it’s not sent in every web request), and it offers both a persistent and a “per session” storage mechanism.
Geolocation – The Geolocation API allows developers to obtain the location of the client. Location services are especially popular for mobile devices and social media applications.
Drag and Drop – A complete event based framework for implementing drag and drop in HTML5 applications.

As you can see, there are many new and exciting features in HTML5 that bridge the gap between current web technologies and the rich, cross platform applications programmers want to create.

Where does LEADTOOLS fit into HTML5?

Several new features of HTML5 have opened the door to make our 20 years worth of imaging experience freshly available to web developers. LEADTOOLS has created viewer controls that provide essential imaging functionality to web developers including panning, zooming, multi-touch, magnify glass, rotate, and many others. The LEADTOOLS team is planning to include annotations and mark-up, multi-frame image stacking, window-leveling, JSON web services to our document cleanup, OCR & barcode engines, and much more.

Check out our zero footprint HTML5 viewer preview and stay posted as this is just the beginning for LEADTOOLS and HTML5.

Thanks,
Otis Goodwin
Posted in General | Tagged , , , , , , , | Leave a comment