=== Top of the Swiki === Attachments ===

Eye Candy II

Dear Professor Morphic,

I went and visited Themes.org like you suggested, and was amazed about all of the different graphical user interfaces that I saw. How do I make my Morphic environment look like that? Is it because they use Linux and it's Open Source?

Your friend,
Johnny


Johnny, I don't even know where to start. Number one, there aren't different graphical user interfaces at that site. At that particular site there is one, with different bits and pieces glued on here and there. Number two, most of what you see is just kids with a crayon box. They use every color that they own, throw it up on the screen, and see if it sticks. Now some of the themes are nice, and I'm not against having some fun on the screen. However, most of these themes are difficult to look at for 10 minutes, more or less all day. Most would make a professional computer interface designer cringe. [In fact they do see: Ask Togs mail ]. Number 3, there are several of these sites which serve the different versions of the Linux GUIs that are available.

As for Open Source, that's a whole 'nother can of worms. As you know, Squeak is Open Source which is a good thing. Squeak is a rich computer science laboratory, with jewels at every turn waiting to be mined. But you need to remember, just because something is Open Source doesn't mean it's well engineered software. A lot of these projects are just putting lipstick on a pig, with people working on things that just don't merit the effort.

Making well engineered software is extremely difficult even when you have the best people with a directed goal working on it, more or less a thousand trained monkeys contributing to what their view of the next great screen saver should be. Or in the case of Linux, the next great GUI/CORBA/XUML/TCP/SQL/CVS/OPENGL/MPEG/DHTML Acronym Manager. These projects usually start when a guy who is an expert in a subject domain implements a very basic solution to some problem. Most of the people who get involved from then on (who are responsible for making the program usable in the real world) usually can barely code their way out of a paper bag. Just the kind of project you should be working on Johnny my boy.

Open Source means that you have control over everything because you have the source code. It also means you have to take full responsibility when you break it. The good projects usually have tens of thousands of man hours invested in them, and are exceedingly complex. Even things that seem simple at first glance, such as an Internet Browser, turn into huge beasts when they are unleashed in the real world. How big do you think the first web browsers were when they were first implemented? All they did was throw up some text on the screen, maybe 20K lines in C source code?

The fact that Netscape became a multi-billion dollar company with an army of programmers working on browser code is the first clue as to how complex a browser might become. Programming is a little like law making. If you hire law makers they pretty much sit around all day making laws. They don't sit around and say, "We need to get rid of some of the laws that we have made". Programmers are the same way. They sit around coding. I've worked in quite a few computer software places, but I don't recall very many times when a programmer would say, "I'm going to sit around today and not program. In fact, I'm going to go into the project that I'm working on and remove some code and features that people don't really use". The marketing guys would run through the cubicle forest with riot guns if that ever happened.

Even worse, it's not very often when you hear someone say, "I'm taking today to think about a good solution to a difficult problem, and come up with a good design to solve it". When given a problem, most programmers I've seen usually just say, "Can't you just .. " and start coding with solutions that barely have a snowballs chance of ever working, more or less be robust. Programmers are measured by the number of lines of code they write. So they write code.

I remember when Netscape opened up their browser source code. I owned a top of the line Macintosh at the time. Downloaded the source code and expanded it. The source code was over 10 megabytes in length! If you could ever set up the make files correctly to work with your C compiler, it took about 3 1/2 hours to compile. Let's see, make my changes in the morning, compile, time for lunch, make my afternoon changes, compile, time to go home !!! What a great day. Sounds like hard work to me.

I have enough busy work. Like writing documentation. I certainly don't want to wade through 10 meg of other peoples code to enhance it, or just to get it to work. I don't view that as 'recreational programming'.

Linux is open source too. If I ever have the urge in the middle of the night to write another acronym for Linux, Open Source will be my ticket to ride. Microsoft is suggesting that they will make Windows Open Source. If I ever go out and buy a supercomputer or three, you know the first thing I'll do is download MS Windows [ I'm figuring at T3 rates I'd probably be able to download it in a couple of weeks] and start working on it. Yes, I'll fix those 65,000 reported bugs. The richest company in the world only has 20,000 guys working on it now, but I know I can fix it in my spare time. Like I said, you're just putting lipstick on a pig working on projects like that.

[ Removed March 31, 2000
People disagreed with this next part: Jim is wrong
I have removed a section of the text here that some people thought was an unfair personal attack on Richard Stallman. If any one was offended, I apologize. Jim
]

The good part about Open Source is that it is you get all of the source code. The bad part is that modern software, especially that written in C, is unbelievably complex. Your chances of opening up one of those programs and doing significant work in a reasonable time frame is just about nil. Believe me, those people are just blowing sunshine up your skirt when they say, "Well, the source is free and anyone can change it to do what they want". It's pretty much the same as saying, "Here's a shovel, which allows you to move dirt and rocks. You can move Mount Everest 800 feet to the left if that's what you really want to do".

Rant over. The Linux 'look' has nothing to do with a well designed user interface or Open Source. It's about throwing bits up on the display. Morphic knows how to do this as well as anybody.

Johnny, I'll add at this point you're just being a lazy little pig dog. I've given you all the clues that you need to get that 'Linux' type of look. But I'll hold your hand and lead you through some of the finer bits.

Eye Candy III



Jim Benson
jb@speed.net

With this page I learned my first Swiki lesson: Jims First Swiki Lesson