This question was originally a duplicate of How can I add vertical space to a beamercolorbox to make it align with another one?. The response to that question was to add a vertical space according to the largest column, as Seamus explains in the comments. I would like, however, to do this in an automatic way.
I rephrase my question.
First, here is the original question, which I leave with minor modifications so that the motivation remains clear. Then, I will analyze and explain the new, rephrased question.
Original question
When using the columns environment in beamer, I sometimes find myself with these situation: two columns with some contents (like a block) whose height are different. The result is that each element appears with its height:

I think that if both columns had the same height (the max of all columns), the presentation would be more elegant (at least with the presentation that I am currently creating).
Normally I add some \vspace with a length determined by trial-and-error. Needless to say, this is an annoying process. I would like to force the contents of a column to have the same height as the largest column.
The example above was generated by this code:
\documentclass{beamer}
\usetheme{Darmstadt}
\usefonttheme[onlylarge]{structurebold}
\setbeamerfont*{frametitle}{size=\normalsize,series=\bfseries}
\setbeamertemplate{navigation symbols}{}
\begin{document}
\begin{frame}{A frame}
\begin{columns}[T]
\begin{column}{0.5\linewidth}
\begin{block}{A block}
Hello
\end{block}
\end{column}
\begin{column}{0.5\linewidth}
\begin{block}{Another block}
This one has a larger height since it has an itemize
\begin{itemize}
\item item a
\item item b
\end{itemize}
\end{block}
\end{column}
\end{columns}
\end{frame}
\end{document}
New question
I have examined beamerbaserequires.sty looking for the definition of the columns and column environment. In order to resize each column, I think it is necessary to rewrite part of the code, since a column is implemented as a minipage without a height parameter. My new question is, as the title says, How to modify columns/column environments so they resize automatically to the largest column ?
My first thoughts on how to achieve this are the following:
- Resizing each
columnto the largest one may not be possible with one pass. It is only when thecolumnsenvironment is closed that we could know the correct size and at that time it is too late to modify each column. - At the code that "closes" a
columncould add a vertical space equal to the size of the largestcolumnso far. - The size of the largest column could be written and read from the aux file or some other temporal file, so that, in a second pass, all columns are resized correctly.
These guidelines are probably incorrect, implausible or too difficult to implement, since I have nearly no experience coding in TeX/LaTeX. Any comments regarding these ideas are welcome as well.
PS. I hesitate whether this question has become too specific (or even too broad), or if it should become a community wiki...

\baselineskips. It's more complex if you've got itemize etc, but still possible to calculate it. (Or use phantom) – Seamus Mar 25 '11 at 12:35columns/columnenvironment so that it does this automatically. PS: sorry I did not respond earlier, I went away for the weekend – YuppieNetworking Mar 28 '11 at 09:01tabularxlike feature. :-) – Martin Scharrer Jun 25 '11 at 16:09columns but theblocks inside them, right? I just started to code something. One question: Must the columns support verbatim material? I have two possible solution in mind and one does it in one compile run but doesn't support verbatim. The other one needs two runs but does support it. – Martin Scharrer Jun 25 '11 at 16:11