Joe Monti

Thursday, April 24, 2003

Rethinking the Tab Key

We all have a tab key on our computer keyboard, we all know what a tab is/does, and we all know how it works. But what you may not realize is that the tab serves two basic purposes which have different needs and purposes. The first and original use of the tab on a computer was to align text into vertical columns, primarily to form a table. The second of which is to indent text to give layers to a block of text, primarily used in programming to show logical levels in blocks of code.

The problem here is that there are vastly different spacing requirements. For use with columns you want a large tab spacing to fit blocks of text between the tabs, for use with programming you do not need a large tab spacing or it begins to push lines too far and forces short lines or horizontal scrolling.

The solution I see is to eliminate the use of tabs involving columns. We need a fundamental change in text areas to provide functionality to separate text into columns as well as rows. This leaves the tab key with only one task, for which we can provide better suited design.

I agree this is not a huge problem, and is one that many people may not encounter. But that does not mean the problem does not exist. It is also something that should not be tolerated for the sake of laziness.

Tuesday, April 08, 2003

CodeConnector to go C++

Code Connector is an open source project I started which provides centralized project and file management, multi-user text editing, and communication tools in one package. It initially was written in Java, but after much thought I decided it must be written in C++. The primary reason is performance. This is a large and intensive program, and because of this, performance is an important issue. And I think Java just doesn't cut it. Since I started this project my view of java has changed quite a bit. Java just seems less and less of a powerful desktop application programming language. Java is certainly a powerful language for certain tasks, but not CodeConnector.

The previous project members have been "laid off" and I am hoping to bring in a few good programmers with C++ experience. Know any?

I have started the conversion of the communication mechanism, but that has proven to be a difficult task because of the difference between classes and objects in Java and C++. Those of you who know these languages should know what I'm talking about. The rest should be cake.