<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=2283234405279860&amp;ev=PageView&amp;noscript=1">

Why the Snowflake Suite Developer and Lite Edition for multitouch software development?

http://snowflakesuite.com/sites/default/files/snowflake_suite_development.png http://snowflakesuite.com/sites/default/files/snowflake_suite_lite.png

A few days ago I got an interesting email from somebody that raised a very valid question as to why he should use the Snowflake Suite Developer and Lite Edition for his multitouch software development efforts.

As I thought this question was very insightful I wanted to share a part of this original question with you.

To clarify up front, Developer is a free multitouch software framework based on the Snowflake platform which allows you to start authoring your apps cost efficiently.

Lite is essentially the license you will be using in order to deploy your apps commercially that you created with the Developer Edition.

Part of the original question:

Suppose that a customer is going to write his own multi-touch applications in a specific vertical and doesn't want to use any of the standard Snowflake apps. The vertical could be anything. The question is, why start with Snowflake? Why would someone want to use Snowflake Lite. What exactly are the advantages of starting with Snowflake Lite vs. just the basic OS capabilities, or starting with any other multi-touch operating environment ("middleware").

I suspect that there must be something in the Snowflake libraries that helps the developer who wants to write his own standard Windows ( 7 or 8 ) multi-touch application in vertical markets to which you don't normally appeal, but it's not obvious. My hope would be that it's a layer of abstraction that insulates the developer from the agonizingly low level of interaction required to program any reasonable touch functionality using just .NET or equivalent. I'm trying to understand why the developer in my vertical examples would benefit by starting with Snowflake Lite rather than (for example) just plain Metro-app development tools such as XAML & C#, or HTML5 & JavaScript?

My initial response was the following:

Basically the benefit of using Lite is that we have done a lot of the "basic" programming for the developer, so they don't have to build things from the ground up.

To say it simple, they don't have to build the house with the foundation, the foundation is already there.

I asked our CTO Mikael Bauer to expand upon this in a bit more detail, see his input below:

You're very much on the right track about what Snowflake Developer/Lite is and should be. I think it's important to note though that Developer and Lite are very tightly bound together, basically Developer is the programming SDK that you'll use to actually program the application. This part is a "multi-touch middleware", as you say, it makes life a whole lot easier for the developer because they won't have to reinvent the wheel and program everything from the ground up. Lite is essentially the Developer package plus a license to run applications developed with the Developer edition in a commercial environment.

This means that if you have a customer that wants to build an application, they can download the free Developer version to get started with development. Then once they feel like the app is ready for a commercial installation, they can purchase a Lite license to run their application commercially. So Lite isn't meant as "Snowflake platform without applications", it's targeted as "Snowflake platform with only your own developed app(s), no extra weight". Essentially it allows developers to only pay 99 euro instead of having to pay for a full Snowflake license when they want to deploy their apps commercially.

In short:
Developer - Download this for free to develop multi-touch apps using the Snowflake framework. It's essentially a multi-touch middleware for quicker app development.

Lite - Use this when you want to deploy your developed apps

Entertainment/Presentation/Ultimate - Use these when you want to use any of the included Snowflake applications

As you say, the reason you should choose to use Snowflake Developer instead of rolling your own is that you can develop your app on a stable and tested platform, you get all the features that Snowflake supports (handling touch/gesture events, audio, video, images, PDFs, 3D, GUI, virtual keyboards, multiple languages, great performance with OpenGL, Qt integration, web browser etc etc), and the platform will constantly be updated and improved with new features.

If you want further information about the Developer edition, I'd suggest skimming through our tutorial pages here http://wiki.nuiteq.com/tiki-index.php?page=SnowflakeSDK