Archive for October 4, 2007

Redesigning the Bloomberg Terminal

The Bloomberg terminal is to the financial world what Windows is to Joe User (and what Linux is to the geeks).

Bloomberg Terminal

And just the other day, I came across an interesting article describing the redesign of the Bloomberg Terminal.

As a challenge, they asked three design companies to come up with various redesigns of the interface. The chosen three are all top design firms in their own right – thehappycorp, IDEO and Ziba Design.

I looked at all three designs and here are my thoughts.

Comments

Back of the Envelope Calculations

Recently, during a not particularly interesting meeting I began graphing. First, I’d draw a line between (0, 9) and (1, 0), then I’d draw a line between (0, 8 ) and (2, 0), then between (0, 7) and (0, 3)…and so on till I had drawn a line between (0, 1) and (9, 0), which resulted in an aesthetically pleasing curve.

Hyperbola-like-thing

Soon, I began to wonder if, instead of simply drawing the curve, I could express it mathematically. For example, a parabola can be seen as the set of points which are equidistant from a focus and a directrix. Was there some similar way to describe the curve I had been drawing? I decided that the first step should be to see if I could represent my curve as a function in the form of y = f(x). Unfortunately, taking that first step has proven to be more difficult than I originally expected. For example, I can express the slope of any of the lines as:

Slope = (n – MAX) / (n + 1)

and I can express the y intercept of any of the lines as

Y Intercept = MAX – n

With those two equations, I can find a general form of yn = f(x) for any of the lines. Specifically,

yn = x(n – MAX) / (n + 1) + MAX – n

Armed with that, I can find the point where line n crosses line n + 1, that is, the point where yn(x) = yn+1(x). Specifically, by using the formula for yn above, I get:

x(n + 1 – MAX) / (n + 2) + MAX – (n + 1) = x(n – MAX) / (n + 1) + MAX – n

which, when I manipulate it as follows:

=> x(n + 1 – MAX) / (n + 2) – (n + 1) = x(n – MAX) / (n + 1) – n
=> x(n + 1 – MAX) / (n + 2) = x(n – MAX) / (n + 1) – n + (n + 1)
=> x(n + 1 – MAX) / (n + 2) = x(n – MAX) / (n + 1) + 1
=> x(n + 1 – MAX) = x(n – MAX)(n + 2) / (n + 1) + n + 2
=> x(n + 1 – MAX)(n + 1) = x(n – MAX)(n + 2) + (n + 1)(n + 2)
=> (xn + x – MAX(x))(n + 1)
=
(xn – MAX(x))(n + 2) + (n + 1)(n + 2)
=> xn2 + xn – MAX(x)(n) + xn + x – MAX(x)
=
xn2 - MAX(x)(n) + 2xn – 2MAX(x) + (n + 1)(n + 2)
=> xn – MAX(x)(n) + xn + x – MAX(x)
=
-MAX(x)(n) + 2xn – 2MAX(x) + (n + 1)(n + 2)
=> xn + xn + x – MAX(x) = 2xn – 2MAX(x) + (n + 1)(n + 2)
=> x – MAX(x) = – 2MAX(x) + (n + 1)(n + 2)
=> x + MAX(x) = (n + 1)(n + 2)
=> x(MAX + 1) = (n + 1)(n + 2)
=> x = (n + 1)(n + 2)/(MAX + 1)

Gives me the relatively simple statement that

yn(x) = yn+1(x) => x = (n + 1)(n + 2)/(MAX + 1).

Looking back at my notes (which were originally made on the back of an agenda and continued on a hotel notepad), it seems that I decided this would be a good time to go on a snipe hunt and find the distance for which any particular line was on the frontier of the curve. Using a bit more manipulation (which I may set forth in a future post), I found that, as MAX goes to infinity, the length of the longest line segment on the frontier approaches 2, while the length of the shortest line segment approaches 2.5. This was actually something of a surprise, and it’s a result I’m glad I reached. However, it still didn’t answer how to express the curve in the form of y = f(x). My next thought for how to continue down that path is write an equation which will show which line segment I’m actually on at any point x. My guess is that it should be doable based on the formula for the crossing point of lines n and n+1 given above, though I haven’t actually done it yet. Am I right? Is it actually doable? Will it lead me to the desired y = f(x)? Only time will tell…

As a note, I normally blog about the law surrounding data privacy and information security here. Since I already have a blog devoted to those topics, my posts here will cover anything else that comes to mind.

Comments

WordPress 2.3 & Other Upgrades

Just a quick update to all you readers — Metlin.org has been upgraded to the latest WordPress 2.3 release. It needed a bit of work and was a bit of a pain, but in the end, everything seems to be working (so far!).

I had trouble getting the WYSIWYG editor up and running, but I finally succeeded in doing so. Along the way, I also discovered the Advanced TinyMCE Editor plugin that’s rather useful.

Outside of that, the website maybe a little flaky for the next week or so, while I iron out the bugs. So, please bear with me until then!

Ultimate Tag Warrior for WP 2.3

A small tip for those that use Christine’s awesome plugin Ultimate Tag Warrior — you will have trouble getting it working in this version because both the back-end DB structure and the way WP calls the DB have changed. The quick and dirty solution is to edit all the PHP files and do the following replacement

cat_ID –> term_ID
categories –> terms
cat_name –> name
post2cat -> post2terms

So, I’m working on getting a version of UTW up and running that is compatible with WordPress 2.3.

Update 1: You can download the WP 2.3 compatible version of UTW. Please note that this is just a hack until Christine releases a compatible version.

Update 2: Okay, it turns out that for this version to work, you need to include the tags in both the WP and the UTW tags field.

This picture will probably explain it better. You would need to specify the tags in both the fields given in red.

UTW & WP Tags

Comments (53)