Home | Products | Development | Support | Mailing Lists | Contact | About

Monitor Calibration Wizard 2

Description:
Monitor Calibration Wizard 2 is just like version 1, except many times better. To reiterate what Monitor Calibration Wizard does, it helps correct color problems with your display devices to improve readability, gaming, video watching, graphics manipulation, and more. Version 2 will add a TON of new features while still focusing on usability. You can read more about the features below.

Status:
Version 2 is currently in development. For those who didn't read the welcome page for this site, version 2 is actually in its 4th iteration of the development! All of the previous iterations were scrapped because I was not happy with them. This is my first commercial application and I have high standards for it. Plus I want to make sure it incorporates many of the requests that users had over the years.

Development is past the basic design phases and I am currently coding the application. The frameworks I am using are all quite new to me so the progress is slower than I would like, but it will be all worth it in the end. These choices in frameworks will allow me to provide some of the unique features that will be available in version 2. You can read more about that in the Design/Technical Notes section towards the bottom of the page.

Features :
If you had been to this site before, you had probably looked at the previous feature matrix. I had gotten a chance to review the suggestions from the survey and those sent by email. I would like to thank everyone for taking the time to fill out the survey and send in emails! I have come up with a new list of features that best fit people's expectations and what I am trying to go for.

There will be two versions of the next release, a free version and a commercial version. The free version will be very similar to the current release, but will inherit benefits brought from version 2. There will be only one commercial version, which will support many of the features people have been asking for, with additional features supported through plugins. This will allow people to purchase the product for cheap, and those who want more specialized features can purchase additional plugins. The details of these version are outlined below.

Free Version
This version is much like the current free version. It however will gain a few new features from the version 2 design. The list below outlines the features.
  • Supports calibration of a single display (globally applied), and will not support the calibration of multiple displays.
  • Correct method for generating calibration profiles, version 1 has flaws by its design. I finally figure out a way to do this well.
  • Fixed target gamma of 2.2 for calibration profiles (the web standard)
  • Will allow you to manage your calibration profiles, including saving, re-editing, deleting, and copying.
  • Post processing adjustments can be added to alter the calibration profile for specific tasks. These adjustments will be very basic, consisting of gamma, brightness, and contrast.
  • You can configure profiles for more than one display, which allows you to quickly switch calibration profiles and post processing adjustments if you switch your displays.
  • You can have your last used profile automatically loaded when your operating system starts, and can enforce the adjustments to be persistent
  • Multiple language support, if I can find translators. Additional languages can be downloaded when they become available.
  • Support for multiple operating systems, starting with Windows and eventually adding Mac and flavors of Linux.
  • Will work with high DPI settings
  • No plugin support
  • It's free! That's a feature right?
  • Online help in the application.

Commercial Version
This version is for pay, although not for much. I'm thinking around $20, although this is not set in stone. Extra specialized features can be added through plugins, with some of them being free, and some being for pay. The plugins can be written by anyone, and can do about anything within the limitations of how they fit into the application. More about that later. First the features.
  • Supports calibration of individual displays, if supported by the operating system.
  • Correct method for generating calibration profiles, version 1 has flaws by its design. I finally figure out a way to do this well.
  • User customizable target gamma for calibration profiles
  • Will allow you to manage your calibration profiles, including saving, re-editing, deleting, and copying.
  • Post processing adjustments can be added to alter the calibration profile for specific tasks.
  • Setup for events in which post processing should happen. This allows you to trigger things like brightness adjustment when an application runs.
  • Plugins!!! Both post processing and events (the two above mentioned items) will be handled through plugins. What this means it that the effects that are applied, and when they are applied are completely customizable! Below are some examples of what could be done. However, don't expect me to implement all of them, that's for the community to do. I will try to build some common ones.
    • Applying a brightness adjustment when an application is active, like a game or video player
    • Applying brightness adjustments based on the time of day
    • Controlling whether or not adjustments are enabled remotely (over a network perhaps)
    • Interfaces to hardware devices, like a remote control or sensor
    • Plugin to do color matching to another source
  • You can configure profiles for more than one set of displays, which allows you to quickly switch calibration profiles and post processing adjustments if you switch your display setup.
  • You can have your last used profile automatically loaded when your operating system starts, and can enforce the adjustments to be persistent
  • Support for passive profile persistence, allowing other programs, like games, to still make color adjustments.
  • Multiple language support, if I can find translators. Additional languages can be downloaded when they become available.
  • Support for multiple operating systems, starting with Windows and eventually adding Mac and flavors of Linux.
  • Will work with high DPI settings
  • Support for white point adjustment.
  • Support for greater detail in calibration profiles
  • Samples and charts to use when reviewing your calibration profiles
  • ICC/ICM support, loading and saving
  • Online help in the application.

Obviously there are a lot of improvements and changes from the current version, as well as differences from what I was planning from the previous iterations. Some of the biggest changes include a stronger emphasis on plugins as they define the features of the application, as well as some unseen elements such as the frameworks being used and the flow of the application has been redesigned to keep it easy to use despite all the new features.

Design/Technical Notes:
Some of you may be interested in some technical design notes regarding the application. You can ignore this if it makes no sense to you :)

Originally the application was being written in C++, like version 1. I was also considering Java since it supported multiple platforms and pluggable components could be configured (although tricky). However, recently, I have come to learn about Python, and had chosen it as the language to use for this version of Monitor Calibration Wizard. Python provides some interesting features, which include on-the-fly interpretation of Python scripts, and the ability to dynamically load modules. This makes plugins very easy to implement and they can be changed while the program is running. I can also still package the application into a single executable. These makes it easy for people to download and install, without having to worry about the Python runtime or libraries I'm using.

For the user interface, I needed something cross-platform, that could work with Python. When developing in C++, I had come across a library called WxWidgets. Well, it turns out there's a python version called WxPython. So I am using this for my front-end, and it should run easily on Windows, Mac, and Linux flavors. In addition, because I'm using it, any plugins that are written by people can automatically use it for their user interfaces. This should make plugins lean and mean, since they don't have to package anything extra.

�(Copyright 2004) -- If you have any problems with this site , please contact the webmaster.