Examples Of My Work
Here are some examples of work that I’ve done at Bruker AXS Inc. over the years. Be sure to look all the way to the end, as I saved the best for last.
Say hello to the LicenseManager, where users can order or renew the licenses for their products. As you can see, I introduced friendly graphics (that I developed myself) into the GUI to make it easier to use and understand.

Next up is RLATT, the Reciprocal Lattice Viewer in which OpenGL was used to display the harvested spots in 3D in reciprocal space. I was solely responsible for the development of this plugin in the APEX/PROTEUM suite in Python and OpenGL. And over the years I added to it many a useful new feature.

Now you might wonder what a scientist can see, just looking at a bunch of spheres floating around in 3D. Well, those spots aren’t just there at random. They’re from molecules aligned to one another in a crystal, and therefore these spots are supposed to be aligned themselves. A computer performing a least squares refinement can literally break it down so that each of these spots are exactly the same distance from one another along axis a, the same distance from each other along axis b, and again for axis c. And that these are in turn in set angles from one another. What you can actually do is break things down into a unit cell, a 3D definition of the angles and distances that each and every spot should be from one another, that they should all line up to.

It’s something that with the right tools, the human eye can see quickly and easily, where a computer can struggle to calculate. And these tools are exceptionally useful for understanding what is going on when spots don’t line up like they should, such as in the case of a twinned crystal. Or how using the q-vector tool in RLATT can help to solve incommensurates.
Of course we can hardly talk about the APEX and PROTEUM products without going over actual molecular structures. I was responsible for the development of the BAtomicEngine, the 3D tool used to display structures in 3D using OpenGL. This engine was, of course, then used by other developers at Bruker in such plugins as Structure Solution (where we turn q-peaks into structures):

Structure Refinement, which I personally was responsible for this plugin (where structures are refined from simple ball-and-stick models to thermal ellipsoid models):

And even in the Autostructure plugin, which uses Bruker’s proprietary automated method to solve and refine structures all by itself, without needing a scientist to guide the software.

Just look at those tight little thermal ellipsoids. For historical purposes the banding is still on the thermal ellipsoids to easily identify them from thermally refined spheres. With a simple right-click however, the option is still there to get even more nostalgiac and turn on the octant-cutting which used to be used when drawing thermal ellipsoids to help see their orientation back before programs had the wonderful rendering power of OpenGL at their disposal.
Speaking of old programs, here’s one that I maintained for quite some time after an outsource to India upgraded it to use Qt’s GUI libraries. Say hello to XSHELL. Unlike most of the software at Bruker AXS Inc., XSHELL is still written in C++. It has yet to be replaced by a version written in Python.

Of course we can’t forget one of Bruker AXS Inc.’s most recent 3D tools which I had the pleasure of maintaining for a good while, the Reciprocal 3D Viewer otherwise known as Reci3D. Unlike most of the other 3D visualization tools that Bruker has in their suites, Reci3D doesn’t use OpenGL. It uses a much more interesting package called the Visualization Tool Kit, or VTK for short. Where as OpenGL uses very device-oriented code in which you do all of the work yourself, VTK is a huge package of high-order object-oriented classes which do a lot of the work for you and help keep your code clean. It’s very nice to work in, but has a huge learning curve as finding just the right class to use can be a daunting task.

Believe it or not, Reci3D is in many ways similar to RLATT. The difference in functionality is that where RLATT shows you idealized representations of the collected spots, Reci3D actually shows you the very frames themselves in reciprocal space. While originally envisioned for 2D XRD data where you’re looking at things like stress rings instead of spots, it wasn’t long before SCD found the tool helpful as well.
Of course I saved the best for last, and that would be Bruker’s new SMART X2S. Unlike most SCD systems which easily take up half a room, the SMART X2S is a portable system designed as a kiosk with only a touchscreen for program interaction. While I was at Bruker I was solely responsible for the SMART X2S GUI. Because it was such a new direction for Bruker to take, I knew that it had to have a unique look and feel. That it had to be at its heart a kiosk, an easy to use screen-by-screen walk that literally anyone could easily approach and use. It could not be just another software application designed by scientists for scientists, but something that anyone could use, in the field, or even in the classroom.
To that end, the SMART X2S GUI involved creating a lot of graphics to use to lighten the mood of the kiosk and to easily identify visually what was going on. Ideally you almost wouldn’t even need to read to move from one screen to the next and get your work done, because so much of it was pictographic. I think the work done on making this SMART X2S GUI will help define Bruker’s idea of easy to use interfaces for years to come.

For a lovely walk through of the SMART X2S, here’s Bruker’s official webpage on the lovely and useful SMART X2S.
While, of course, this is no means all of what I have done in my lifetime, I think it gives a fair example of my constant striving for a better user interface for customers. Because, after all, the best algorithm in the world is useless if no one can figure out how to use the software. Friendly intuitive GUIs are the key to happy customers.

InsanIT.net » Blog Archive » Examples Of My Work:
[...] Examples of my work. [...]
October 3, 2008, 1:11 pm