Wednesday, April 28, 2004

Your Presence is Requested

A good friend of mine, Steve Crandall, is doing a survey on how college students communicate and presence -- the ability to detect whether are users are online or available (source: webopedia). He would like you to complete this really short survey. You can access the survey here.



Steve is part of a company, Omenti Research, that specializes in usercentered technology. They are a great group of folks. Steve also keeps a blog on his perspectives on science and communication.



I hope you do help Steve and participate in the survey. Some software engineering and artificial intelligence posts coming real soon. Good luck with finals and papers for those of you struggling with the end of the term! Later!



Monday, April 19, 2004

Book Learning

On Friday I gave a talk at Hobart and William Smith Colleges. It is a revision of the earlier talk I gave at Drexel and can be accessed either at my home page or here. If you are interested, one of the faculty members at Hobart and William Smith, Professor Eck, has written a great introductory text on java that is available on the internet for free! You can get it here.



Speaking of free books, I downloaded this intro calculus book by H. Jerome Keisler of the University of Wisconsin and was very impressed. A post on slashdot recommended it.



One book that is not free but is the introductory and reference text for Artificial Intelligence is Stuart Russell and Peter Norvig's, Artificial intelligence: A modern approach, Prentice Hall, second edition, ISBN 0-13-790395-2. I plan to use it in a future course and it would be a great book for anyone wanting to understand the current issues in AI.



In a later post I will survey some of the more general places on the web for free downloadable texts. I would appreciate any suggestions of worthwhile downloadable texts or comments on the texts I suggested. Later!



Thursday, April 8, 2004

Dissonant Music

On almost every college campus and most place where music lovers congregate the issue of music piracy on the web is being discussed. Illegal distribution of music on the web has cost the music industry billions. There are numerous sides to this issue. Sean Brady in his post provides his provocative, well-researched view.



I am sure many of you have comments and views on this one. Later!



Sean Brady's post:



In Lecture 4, Professor Vesonder discussed with us many ways to ruin a project, including pushing a new technology to market too quickly. One of the sub-issues raised was whether the market/environment was ready for the new technology.



Professor Vesonder recalled a project that was impacted by this issue, AT&T's a2b music service (launched in 1997) which delivered songs to users via the Internet . At the time, the market/environment was not ready because this service was forced to compete with other services that offered the same product at no cost. AT&T's business model was therefore not viable. Today, under different market conditions, the leading legal music download service is iTunes, selling more than 50 million tracks since last April, easily outdistancing all other download services. A discussion followed on the fairness of iTune's current price scheme. After further consideration of this issue, I would like to share the following thoughts:



Have you heard "Bad Moon Rising" played on the radio lately? How about "Proud Mary" or "Born on the Bayou?" The answer is probably yes. These songs, and others from the Creedence Clearwater Revival catalog, have been played continuously, on one station or another, and under one programming format or another, in every market since they were released thirty five years ago.



Earning untold tens of millions of dollars in royalties in the process. But not for the person who wrote them, CCR frontman John Fogerty. He hasn't realized a cent from those songs for over thirty years. To escape his contract, his record label forced him to sign over the rights to his own music.



Fogerty's situation is by no means unique. In fact, this industry has left many of rock and roll's pioneers poor and forgotten, after having built its fortunes on their talents. But Fogerty's case has always struck me as the most glaring. I unavoidably think of it when the record labels and their umbrella organization, the RIAA, invoke "fairness" when discussing their policies and practices.



Nonetheless, let me make the RIAA's case, in terms its socially-conscious, politically-sensitive membership may be uncomfortable stating (if not the association itself):

-- We live in a society which recognizes intellectual property rights, and for good reason

-- Those who hold the rights to intellectual property, like any other property, are free to dictate the price at which it may be purchased

-- Those who obtain intellectual property without the consent of its rightful owner are guilty of theft, and stand to be prosecuted



Note that these stipulations are entirely consistent with the following time-honored American principles, respectively:

-- The right to private property

-- Our commitment to a free market

-- The rule of law



Using such arguments, along with the aforementioned appeal to our sense of fairness, the RIAA has embarked upon an aggressive campaign to stop file sharing, culminating, most famously, in the shutdown of the original Napster. It has also filed suit against a number of file-sharing software developers and most infamously, individual downloaders. This, in turn, has paved the way for the launch of several new for-profit download services, such as Apple's iTunes.



So, how do these services determine their pricing? No differently from the companies found in any other industry. It is extraordinarily simple:



The potential provider determines the cost that will be incurred producing or performing the good or service, and the price a consumer would be willing to pay for said good or service. If the former is greater than the latter, the good or service is not likely to be produced or performed. However, if the latter is greater than the former, the good or service is likely to be produced or performed, and at a price a lot closer to the latter than the former.



As you may have noticed, the above calculus is entirely indifferent to "fairness". And yet, the RIAA, the download services, and their defenders insist upon appealing to us on ethical grounds. So, is it fair, as they contend, to charge consumers a dollar per downloaded song?



For example, they often remind us of all the album sales the industry stands to lose with such a business model. By making this argument, the defenders seem to concede the longstanding charge that most albums contain a lot more in the way of filler than hits. Why, otherwise, would album sales drop so precipitously? Then again, why wouldn't this new option have the exact-opposite -- or at the very least, a mixed -- effect? Think of all the additional tracks the companies stand to sell, now that consumers are freed from the obligation to purchase entire albums -- heretofore a major disincentive! (Young MC, anyone? How about Crash Test Dummies?)



But in the end, if we are to gauge fairness, the issue of album sales only serves as a distraction. No, we need to concern ourselves with the actual costs incurred by the online services to deliver music to consumers, and compare it with the conventional means of production and distribution. We also must examine, in close detail, the intrinsic value of the product delivered.



Until relatively recently, we received hard copies -- on vinyl, cassette, or compact disc -- and in shrink-wrapped packaging. Artwork, lyrics, and liner notes. In short, tangible objects, which could be shared with our friends, displayed on our shelves, even autographed by the recording artists.



Regardless of the format, production required light manufacturing. Distribution was achieved in stages, involving warehouses, and the loading and unloading of trucks, until the product arrived at our local record shops. Our selections were purchased with the assistance of clerks, stationed behind counters and cash registers, and then slipped into clean, crisp bags, for the journey home.



Imagine the costs -- indeed, the sheer overhead -- associated with such a system of production and distribution. Now contrast that with the recording industry's latest business model.



It proposes to sell us music as data -- zeroes and ones. Highly-compressed, low-bit-rate files, to be specific. An inherently fragile form, really, subject to corruption, deletion, infection with malicious code, or even obsolescence. Indeed, imagine the issues which will be raised following the sudden catastrophic loss of one's entire music collection -- amassed at a cost of hundreds, if not thousands of dollars -- upon the inevitable failure of the hard disk drive.



But wait, there's more! Proprietary codecs and formats. Copy-protection schemes and digital-rights management. Limited, even device-specific transferability of files. All to be stored on computers we are expected to purchase and maintain, of course.



And as for the distribution system itself? An entirely automated process, really: a few servers utilizing off-the-shelf operating systems and running not-particularly-complicated software. Bandwidth purchased in volume. A chief site administrator, a small technical staff (maybe they can be outsourced!) and a few hundred CSRs, (they will be outsourced) and the operation is more or less complete. We log onto our accounts, make our selections, authorize payment, and -- just like that -- our purchases are digitally transferred over the Internet. With exactly half of said transfer on our dime, utilizing our broadband connections.



To summarize, never before has an industry been in a position to realize such cost efficiencies in so short a period of time. It is historically unprecedented -- far, far beyond the simple elimination of bricks-and-mortar outlets (a business model exploited long before the advent of e-commerce by catalog companies.) And at a dollar per downloaded song -- roughly comparable to the rate we have grown accustomed to paying over the past fifteen years, at twelve tracks to a conventional album, priced around $15 -- it's obvious the record labels have no intention of passing any of those savings along.



Wait, maybe they've decided to offer the artists a bigger cut instead.

(Pause.)

Okay, everyone can stop laughing now.

"FAIRNESS?" The record labels don't know the meaning of the word. Just ask John Fogerty.



But then again, "fairness" has nothing to do with it.



The only question I have is, how long before we start to see e-S&H? After all, bandwidth don't grow on trees, you know.



Tuesday, April 6, 2004

Virtually Real

This next student logbook post should provide some interesting discussion. Julia Ryan poses an interesting situation in which the simulation architecture may be driving the real architecture rather than serving as a testbed for it. Advice on how to balance the simulator with the real is appreciated. It also would be interesting to hear your simulator experiences. Thanks and later!



Julia Ryan's entry:



I recently supported a Horizontal Integration Meeting for my program where different segments of the program were presenting their status, assumptions, issues, and paths forward. One issue that was brought up from the Modeling and Simulation (M&S) group. The issue is that the simulation architecture is currently ahead of the real architecture. The worry here is that the simulation architecture may drive things that we may not want in the real architecture. I'm just curious if anyone has come across this before? If yes, how was it dealt with? Was it a major issue?



Thursday, April 1, 2004

Glowing Language

As a break from all the great student posts, I would like to call your attention to two articles from slashdot. (I am a regular reader of slashdot and it provides a wealth of information on lots of computer oriented, science and curiously interesting topics.) The first is about a language for passwords called l33t, pronounced "leet". l33t is a password language and provides you with substitution rules for letters, converting them to alphanumerics. For example in basic l33t, you substitute 4 for a, 3 for e, 1 for i and 0 for o. Note that the numbers vaguely resemble the letters. More advanced l33t, substitutes more letters with numbers and other characters. The article mused as to whether some avant garde parents were using l33t to name their children! I would be Gr3gg in basic l33t. Just a slice of software culture.



The second slashdot article is not exactly fun but is fascinating. The referenced site chronicles a motorcylce ride through Chernobyk, site of the worst nuclear reaction accident in history. The narrative and pictures are very thought provoking especially for those of us who lived through the Cold War.



I hope you enjoy the sites if you had not already seen them on slashdot. Later!



Tuesday, March 30, 2004

License to Code

One issue that may affect all of us professionally is whether software engineers should be licensed. In response to another student's post, Rafael Polanco provided a case for software licensing. What is your opinion on licensing software engineers? Later!



Rafael Polanco's entry:



These are excellent questions and ones that must be addressed. We are seeing more and more applications for software in our daily lives. To me, the future shows us running our homes via the internet using handheld devices. We would remotely control our homes by settingthe temperature, opening and closing windows and shades. Maybe we would start cooking so by the time we get home, the food is ready. We would view moving images from our office or train, etc... These things can be done today!



Software is being applied to health systems more than most people think. Not only do MRI's have to use microprocessors running software but operating room robots have to as well. There have been cases where the doctor performing the operation was on the opposite coast of where the patient was. I believe in these cases, they used dedicated lines of communication, not the internet.



Also, some of New Yorks' borough of Queens' traffic lights are dynamic. Depending on whether the US Open or The Mets are playing, the traffic lights in most of the major Avenues and Boulevards in Queens change their timing schedules. The city likes the way this have been working so much that they would like to roll this out to every traffic light in the city!



The point is that we are relying more and more on software to continue the advancement of technology in many fields. From health systems to civil engineering, software is showing its face so something has to be done to make sure the proper procedures and sound practices are used in their development. In the Dental field, doctors must take state exams to legally practice in that state. I have seen want-ads for software

programmers where the minimum requirement was that the candidate have a high school diploma.



I think that the field of software engineering has to start the creation some kind of licensure in conjunction with the law that allows you the privilege to develop and/or design software systems based on the field for which it is to be applied. I think this is the only way to force more companies to use software engineering. To call yourself a health systems software company, you should have to pass inspections. There are standards out there that are recommendations and to date the only field I know that uses them are in defense and aerospace. This is because the user, the US Government, mandates the use of these practices or else the company gets no contract.



Monday, March 29, 2004

Game Strategy

I have been a big proponent of learning from the computer gaming industry. Many industrial applications are boring and unnecessarily complex. It is difficult to make something simple, entertaining and comfortable. Ross's post provides some great heuristics for making the whole human computer interaction enjoyable. We both would be interested in your thoughts. Later!



Ross Arnold's post:



As I've mentioned in my other log book entries, I program many games for fun and for my eventual goal of running a small game company. I long ago came to a conclusion while coding games with respect to user interface - EVERY aspect of a game should be fun, not only the playing of the game. If 6 menu screens need to be traversed before the game can begin, then each and every one of those menu screens should be fun to look at, and fun to use. The buttons should be pleasurable to click on, visually appealing, smoothly functioning, and easy to use. I feel that game players often don't realize the joy they take in traversing well-laid-out game screens, instead focusing thoughts on the gameplay itself - but the joy is still present, and it still pulls people back to play a game again, even if they don't always consciously realize.



The same principle applies to my current project at work - a pocket PC used for mortar ballistic calculations. Since the screen is so small, the layout of the buttons and edit-boxes is even more important than it would be on a desktop or even a laptop computer. If a soldier is crawling along a trench in the desert, pulling out his pocket PC and plugging in a few calculations shouldn't confuse him or cause him undue stress because of a few poorly designed dialog screens.



Two web examples also come to mind: MSDN and google. If I type 'vesonder cs540' into a google search, Software Engineering Class Page instantly pops up in clear view as the 4th entry on the page, then one more click and I'm right where I want to be - it's quicker than using my bookmarks. MSDN, on the other hand, seems to be rather poorly organized (it might just be poor searching technique on my part, but isn't that what library organization is meant to counteract?). I must have spent at least 30 minutes straight the other night searching MSDN for the EULA for MS Visual C++ .NET Standard to see if I could use it to develop and publish progams for profit, and I was never able to find it (I don't suppose that you happen to know whether VC++ .NET Standard, as opposed to Professional which is $900 more expensive, can be used to publish?). In my opinion it was just absurd that the EULA wasn't readily available on the page that described the .NET software. I've had many troubles searching for similar things on MSDN, often items such as downloads that I am absolutely sure are present because I've seen them just moments earlier accidentally on MSDN, and then can't get back to the page I saw them on even if I type exact words that I saw on the page, or exact file names, etc, into the MSDN search engine. If I ever design a website for one of my games, which I'm sure I'll have to do at some point in the near future, I'm going to make sure that I have everything organized, readily available, and SIMPLE, so that I don't have people like myself bumbling about the site, lost somewhere in the bowels of cyberspace.