 |
 |
 |
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.
|
|
 |