Computer Science - an obsession with abstraction
Blog 026 - 3 September 2012


Let me begin by first dealing with some of the terms that I have used in the title for this blog. When I first considered having back surgery, I was not at all anxious about the prospect. My backbone was a physical structure, and the surgeon was about to make some adjustments to this structure. He would do so in much the same manner as an engineer would deal with a bridge that either needed to be repaired, or reinforced. During the recovery period in hospital, I mentioned this to the surgeon. He was quick to point out that neurosurgery was as much an art, as it was a science.

The second term is abstraction. My Apple iMac dictionary provides two definitions of abstraction that will suffice here. They are, the quality of dealing with ideas rather than events and freedom from representational qualities in art. The second is the more appropriate for the purposes of this blog. Computer Science is of course many things. One of these is the process of taking the simplest representation of a computational device, and then making it usable for our own purposes. The simple device is probable some electronic creation consisting of wires and stuff like that. Various other disciplines and Computer Science then repeatedly surround this representation with layers of abstraction that make it easier to deal with this device. A smart phone is an excellent example of this approach, and the screen that you drive with your fingers and accompanying gestures, a testimony to the power of abstraction.

If you only ever work with the upper-most level of abstraction in terms of your device, it probably never gets in your way. If you also work at lower levels, then you may experience some problems. I certainly do, and the example I will use relates to sharing photographs and movies on the Internet using Google. My grand-daughter has just celebrated her second birthday, and I shot some video of the celebration using my camera. I then used Apple's iPhoto to create create a movie using my video clips. When I had done that, I exported the movie. As I wanted to make it readily available to family using both slow, and fast Internet connections, I produced two versions. The one export resulted in a 35 MB file that was suitable for viewing on an iPad, or a laptop computer. It was also the best option when a fast Internet connection was available. The other export, produced a 20 MB file, suitable for viewing on a mobile device such as a smart phone and also the best option when a fastInternet connection was not available.

Once I had the two versions of the movie, I transferred the corresponding files into Google's Picasa, the application I use on my iMac to manage my photographs. As it turns out, the view, presentation or representation I have of the two movies in my Picasa movies album, is exactly the same. It is both cases an icon representing the first frame in the movie. So it is exactly the same for the 20 MB and the 35 MB versions of the movie. Fortunately I can differentiate between the two movie files when using Picasa on my iMac, as the filename of the selected movie (icon), appears in the status bar of the application.

When these two movies are accessed via the Internet using a web browser, the user must first have logged into the Google+ web site. Once the user has done that, s/he will be able to view my movies album if I have shared it with h/im/er, either via Google+'s Circles sharing mechanism, or via a URL (web-link), that I will have made available to h/im/er. This album view will display two identical icons, one representing the 20 MB file, and the other, the 35 MB file. The viewer will now unfortunately be unable to make an important decision i.e., which icon should s/he select, in order to make a decision that will match h/is/her available bandwidth. With pot luck the viewer will get it right, otherwise s/he will either sit and wait unnecessarily for the download to complete, or alternatively have the download complete in no time at all. If the latter is the case, we will have delivered the the lower resolution movie to a viewer who has a system capable of adequately presenting the higher resolution version.

Within the context of my use of Picasa as described here, the degree to which the underlying layers (levels) have been abstracted, has reached a point where the abstraction is actually frustrating me, rather than helping me, to deal with the system in a transparent and intuitive manner. As they say, Too much of a good thing can be bad!!!

South African flag
Proudly South African

E-mail address
[email protected]
   Facebook facebook icon      google plus icon Google+ home page icon