Linked by Thom Holwerda on Wed 31st Mar 2010 21:59 UTC, submitted by poundsmack
Graphics, User Interfaces "What if all software was open source? Anybody would then be able to add custom features to Microsoft Word, Adobe Photoshop, Apple iTunes or any other program. A University of Washington project may make this possible." Yeah I know, odd headline - couldn't find anything better.
Thread beginning with comment 416361
To read all comments associated with this story, please click here.
Member since:

It's funny, what the article goes on about is not so much open source, but scriptability and themability when you get down to it: creating "custom" applications by wrapping existing bits of them with fronts to make them interact differently with the users.

Let's see, are there some examples of where this has already been done, to some degree?

YES! I'm not going to pretend to cover all of them, as I'm wise enough to know that just the ones I know about are unlikely to be the only ones...

1. If you use hey with BeOS/Haiku, you have the scripting interface, and you can easily enough do a certain amount of integrating of things in a way that makes it functional... it may not be exactly what the author of this article had in mind, but you can make BeOS/Haiku apps do whatever you darn well please, if it previously exists via the GUI.

2. I've not investigated this one, but... OS/2 has a very object-oriented desktop/GUI that is scriptable, and you can extend the system to do things you didn't have it do at the start. Rexx IIRC is the scripting language of choice.

3. MacOS (and OSX) with AppleScript, which had a start even farther back in parts with HyperCard (great fun, that: until something goes wrong with the system!) allows you to drive Mac applications to a rather high level of control: heck, I've used AppleScript under OSX with iTunes to create an iTunes alarm clock. I can't remember whether or not I read that something along these lines existed for NextStep, which OSX has a lot of its API and overall structure from.

4. I remember when OLE Embedding and COM and all that were much newer, and then also such fun things as VBA (Visual Basic for Applications) where you could take all these fun controls and embed them into something else: oddly enough, it seems Microsoft has backed away from some of that in the more recent versions of Word and Office: I wonder why that is? Oh, wait: reality is that... there's real problems with it, from such things as security, to the reality that not just anyone can do anything useful and have it work correctly. With the Windows Shell (not text, but GUI shell under Win32) there's actually lots of things you can control via COM, and a lot of Microsoft applications as well as many other companies and their applications can be rather heavily scripted via a COM-aware language, and made to do all sorts of fun things, including... special malware. Yeah, sure is great, isn't it? Internet Explorer with ActiveX controls is all about what this farce of a study is meant to explore: making things so-called "open source" which is a misleading title compared to what's really being discussed, easy theming/glue logic wrapped around existing functionality. Well, what a waste of money: this has existed for more than 15 years under Windows already!

5. Unix and its brethren: sure, it's text/command line or even perhaps some stuff via X, but if you think back to a less graphical time, aren't you effectively doing the same thing by piping data through various utilities through some complex command line script and all the scripts run along the way?

Now, that's not an all-inclusive listing of technologies and systems that already effectively allow for what this article refers to, but that's more than sufficient to demonstrate that the money is wasted, as is the time, and this professor needs to get his head out of class once in awhile. But wait, there's more!

Remember all those OCX/ActiveX controls, OLE embedding, etc. I mentioned previously? Remember VBA, or any other scripting language? Hell, what about JavaScript? At some point or another, if you must insist on things being open source (truly so) there's something that already works, somewhere, somehow, so why hasn't there been this massive revolution of the general public going forth and making it happen?

Simple answer: they're too lazy to. Well, that's one easy explanation that's true for a lot of the general public: they could, should they choose to dedicate the time to practice at such things, but let's be honest with ourselves and reality: most people use computers as tools to accomplish something they want to automate/make more efficient, and don't give a crap about how a computer works, and don't want to have to give a crap about how the computer works: they just want the damned thing to work! If they absolutely had to, and they had enough incentive, a lot of people could probably do what's needed, after spending a lot of their valuable time to become sufficiently proficient to accomplish something they'd hate to work on in the first place. Well, that's some unknown portion of the population right there: the percentage that, given enough time and motivation, they could eventually do it, as they have the capacity to learn and do what's necessary, eventually. And then, of course, there's quite possibly a far larger portion of the population we need to address: those that, regardless of their desires, or the amount of time/resources they can sink into it, simply for whatever reason, don't have what it takes to figure out how to write code to solve problems, even simple ones, and do things in a remotely competent way that accounts for such fun things as error handling, or even working predictably. Remember HyperCard? Great way for someone that has the know-how to quickly get something going, and it allows someone to write code quickly and easily, even if they've never really written any code, as they can get something up and doing something (hello, world!) with little fuss. But, an easy tool to use is nothing in the hands of someone that's clueless, and I'm sure I'm not the only one to see HyperCard stacks that appeared to work fine, until they essentially exploded with all the data they were tracking.

So, conclusion: making everything "open source" (in any sense of the word) or "easily scriptable" or "Themable" which is more like what was being discussed, is no panacea, regardless of anybody claiming that, because to create proper software simply can't be done by everyone on a whim, no matter how much they desire it: the world will still need true software engineers/developers/programmers/whatever-you-want-to-call-them that can actually make things work sensibly and comprehend what they're doing.

Reply Score: 2