Thursday, April 8, 2010

Update on Envy project

Despite the fact that the initial post concerning Envy project was published on April, 1st, it was not a joke as you might thought. We really were going to deliver all that sort of stuff (standalone editor, plug-ins for various IDE and everything). But one thing has changed. I am very pleased to announce that TytanNet project came back to life and its author is going to continue his work on this excellent product. But how such a good bit of news might influence Envy?

It is rather obvious. As me & Denis were thinking that TytanNet is being supported no more and that there was no any chance that it would be updated to meet Visual Studio 2010’s plug-in infrastructure requirements, we decided to develop a version of Envy which could be plugged-in to various IDEs such as Visual Studio, SharpDevelop, etc. As far as the necessity of such sort of plug-ins is no more actual (TytanNet has its own powerful environment editor), we can concentrate on standalone application which is intended to replace standard Windows environment variable editor.

To be honest, the main goal of the project is a temptation to combine the idea of getting more familiar with new technologies such as WPF, MVVM, etc., with development of a simple but useful application, at least for us or may be anyone else also.

In case you still doubt that I am sincere, here is the link to the repository.

Here is a blueprint of the main window:


As you might noticed, it is rather simple and straightforward. Add/Remove, in-place editing, apply or discard, nothing special.

BTW, thanks to Kenny Kerr for his excellent window clipping tool.

I’ll write more on Envy development in the upcoming posts. Stay tuned.

Thursday, April 1, 2010

The birth of Envy project


“Envy” goes for an advanced environment variables editor that has a standalone version as well as plug-ins for various IDE.

The very idea of creating such kind of stuff came spontaneously to me and Denis Krjuchkov while we were discussing the upcoming release of Visual Studio 2010 in terms of compatibility with plug-ins made for the previous versions (VS 2005/2008). As you know, both of us at the current moment work for X-tensive company in a rather ambitious project called DataObjects.Net 4. In the project the approach with unit tests configuration through specialized environment variables is widely used.

In order to cope with such kind of task Tytan.Net plug-in for Visual Studio 2005/2008 is utilized. It provided the ability to manage environment variables of Visual Studio's process, but unfortunately had several minor drawbacks, for example, environment variables editor had quite poor keyboard support, it has no ability to remember variable values set in previous sessions, etc. The most important one is the fact that the project's development had stopped, so there is no any chance that the plug-in for Visual Studio 2010 will ever be released.

Thus, we came to the idea that we should make an attempt to create at least a replacement for it, a better replacement, we hope. In addition, the standard environment variables editor in Windows OS is the ugliest thing I've ever seen, especially when you have to edit the PATH variable. You know what I'm talking about, don't you? =) So why don’t just kill two birds with one stone and create the plug-ins as well as standalone one?

The vision

We are going to deliver a convenient and user-friendly environment variables editor which can be used as a standalone applications or can be plugged-in into Visual Studio 2008/2010 and SharpDevelop.

List of features:

  1. Simple and intuitive user interface
  2. Full keyboard support
  3. Automatic multiline editing for variables with multiple values, such as PATH
  4. Standalone application – a replacement of standard Windows environment variables editor
  5. Plug-in for Visual Studio 2008/2010 & SharpDevelop
  6. Ability to save and load a set of variables from external files.

The roadmap

Version 0.1 – Standalone application, just a window which contains a grid with 3 columns: variable acope, name & value. The 2 latter columns are editable. The form contains 2 buttons: Save & Discard which updates environment variables and resets the state of the grid contents to initial one, accordingly. In-place name & value column editing & variable removing are possible.

Version 0.2 – The same standalone application but with some features such as:

  • Filtering by text pattern
  • Multiline editing
  • Adding new variable

Version 0.3 – The standalone application again, but with another set of features:

  • Full keyboard support
  • Variable values history (remember a list of previous values for variables)
  • Application settings & auto-update

Version 0.4 – Plug-in for Visual Studio 2008. The source code of Tytan.Net should be investigated in order to find out how to create and register a plug-in into Visual Studio. At this step the installer will be provided as well because the procedure of plug-in registration might require additional steps.

Version 0.5 – Plug-in for Visual Studio 2010. As it is reported that the plug-in API in Visual Studio 2010 changed significantly, this step might take more time than the previous one.

Version 0.6 – Plug-in for SharpDevelop 3/4.

In the future posts I’ll write more detailed information about our competitors, development model, software architecture and so on. Stay tuned.

Happy April Fools' Day! =)