Slashdot Mirror


Linux Development Call To Arms

Hell O'World writes "This ZDNet Article points to the direction that Linux developers need to follow. Many people think that Linux needs an Office clone to gain acceptance, but the truth is that monolithic software is not the future. To get all of the functionality that anyone could possibly need in one place, the Office paradigm is to have everything there at once, and that takes a huge amount of resources to load, and years to learn. Linux will not gain converts by giving users the same thing, that they will then have to relearn. The power of UNIX is in connecting small, fleet-footed tools. What we need now is to create an environment, where users can easily create customized tools for the way they work, and developers can easily add new functionality."

26 of 300 comments (clear)

  1. Office is not a big monolithic blob by dan+the+person · · Score: 4, Informative

    FOr years and years, MS have been made it up from small reusable components. Need to display a graph in Word? Well, word doesn't have spreadsheet program built in, it embeds an Excel component.

    Need a graph, well it embeds MS graph. Need an organisation chart? Well there's a seperate reusable component for that.

    1. Re:Office is not a big monolithic blob by jmccay · · Score: 4, Funny

      You are forgetting the flight simulators and arcade games embeded into MS Office as easter eggs.

      --
      At the next eco-hypocrisy-meeting, count the private jets used to get to the meeting. Should be interesting to see that
    2. Re:Office is not a big monolithic blob by BitwizeGHC · · Score: 3, Insightful


      COM != OOP DCOM != OOP



      I beg to differ. The COM code I have seen quite remarkably resembles instantiation of and passing messages to objects in an object-oriented paradigm. Let's not forget the giveaway: the acronym itself. Component Object Model. Microsoft has been a big booster of the "object-orientedness" of its component architecture.



      Unix "programs" have standard interfaces as well. Data is piped via stdin and returned via stdout. The input data is expected in a certain format. The output data is returned in a predefined format.
      Hmmm.. sounds like an interface to me!


      Yes, but that interface is both trivially simple and completely transparent. It makes coding and debugging the "components" and the applications which use them much faster and easier. It also allows you to fit the pieces together in new and intriguing ways. You lose a bit of flexibility at the component level (only one simple interface) but gain flexibility when your scope is the overall application.


      COM is nothing more than a standard which defines the call stack for any "components" function call.


      Most object-oriented paradigms are simply this: they simply associate this chunk of data with that bundle of operations. This is usually veiled very carefully to force the programmer to think in terms of magical function-data aggregates ("objects") instead of seperate data and function calls (which is how computers work, at least those using von Neumann architecture).

      This is not necessarily a disadvantage in itself; sometimes it's desirable. Games and GUI widgets are best expressed in object-oriented style, for instance. However, the disadvantages of the COM approach (bloat, complexity hell, vendor lock) make it a mess to deal with.



      Those that haven't used COM in a real-world environment shouldn't knock it.


      I have used it in a real world environment. And there are times when I would have much rather simply piped my data through a perl script.
      --
      N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
    3. Re:Office is not a big monolithic blob by jfunk · · Score: 4, Insightful
      it would be nice if you reported the difference between that and your alternative.


      I take it you've never used TeX.

      I recommend trying out LyX, an advanced frontend. After going through the tutorial, I promise that you will be forever annoyed with all other "word processors."

      Unfortunately, due to marketing forces, I had to stop using LyX at work some time ago. Every time I write a document now, I feel like I'm using a frigging hammer-and-chisel.

      Sigh.
  2. Bundled/monolithic software by syates21 · · Score: 5, Insightful

    Microsoft killed all other word processor/spreadsheet vendors by having a more integrated package.

    What makes anyone think people don't want bundled software?

    Plus what he's talking about has already been done. Office is basically a consistently skinned collection of COM controls.

    1. Re:Bundled/monolithic software by _Quinn · · Score: 5, Insightful

      It's not /bundled/ software, it's software /that works well together/. Traditionally, the only route to integration was a single (or a few very tightly coupled) binaries. Now there's COM, which MS wrote basically because it was painful to make the office apps work together without it. However, the end-user can't choose what parts of office not to install (changing, with the `don't install until used option'), but certainly don't have the ability to to replace a crappy component that MS supplies with a better one from elsewhere.

      The problem is more general than office software, though; the tendency in interfaces with GUIs has been to add complexity to the application and make it nearly impossible to use one part of it over another. KDE and GNOME's object models are working to address this; in fact, KOffice is (or shortly will be) `a skinned collection of KParts'. However, it's still hard -- and requires special tools -- to stitch these components together. There's no GUI equivalent to the command-line pipe/redirect paradigm, except for (rarely) in RAD tools for a specific toolkit/OE (e.g. QtBuilder(?), KDevelop); but these don't really function on the user level.

      The most important part is that Linux has succeeded, until now, in replacing UNIX systems, because the cost of migration, especially in skills and time, is low (Linux is-a UNIX, runs basically all your standard UNIX tools, runs on commodity on NT-obsolete boxes, etc). The same is NOT true for migrating desktop boxes; I would argue a substantially lower TCO, but to make people /want/ to switch, you have to do _better_ than MS, not just match it/them (as worked for UNIX, except in price :))

      -_Quinn

      --
      Reality Maintenance Group, Silver City Construction Co., Ltd.
    2. Re:Bundled/monolithic software by Merk · · Score: 4, Insightful

      That may be the case, but it seems to me that the way those skinned COM controls work isn't the way tools like "grep" and "sort" work. Word isn't an editor that calls up a spell-checker when needed, pipes things to a printing subsystem later, uses a word-counter-tool when needed, etc. It is a monolithic thing that (seemingly at least) runs all those tools at the same time. Something monolithic must be starting, otherwise why does Word take so long to load, even on the fastest machine?

      I think what the author is suggesting, and what people would love, is something more unixlike. The main application should be the editor, and it should do only that -- editing. The spell-checker should be a completely different module. If the user wants squigglies underlining mis-spelled words as he/she types then this spell checker could be triggered every time a word is finished to check that new word.

      Obviously the pure unix method of truly different applications wouldn't work right for a system like this. Running a spell-checking application every time a word needs to be checked would be too slow and cpu-hogging, but maybe having a spell-checking daemon running waiting to check words would be the way to go.

      I think a Linux office suite would need something that could accept word documents, but maybe this could be done with a standalone ms-format-converter program, writing the contents as XML which the main editor can read. I see no need to be able to write word documents directly, though chaining to the ms-format-converter as a convenience might be a nice touch.

      A great way to do this would be modules that could be loaded at runtime as needed. Ideally something could even be integrated with 'net access. Say Amy is editing a lab report and wants to add a formula. She goes to a "tools" menu and doesn't see what she wants, so she clicks on "other tools". The system shows her what tools are available on her system. She clicks on "check the web" and a few moments later a list of all tools is displayed by category, she chooses "scientific | formula editor", it seamlessly downloads and installs locally (a la perl / apt get) and a few minutes later she's entering the formula into the editor.

      Open source software would have the advantage that a small, basic subset of functionality could be included by default. The software package would be small and the install time would be quick. Then as the user needed additional modules could be downloaded. A university student doing essays would have a spelling, grammar and formatting tools. A chemistry researcher writing papers would have formula editors, grammar, spelling, bibliography, formatting, etc. tools installed. Little girls and script kiddies might have wild fonts, crazy borders, and similar tools installed. But everybody would only have what they need.

      There just has to be a way that has a better user experience than the Microsoft Way. I don't want to have to wait 20 seconds to open a ".doc" file that happens to be plain text with a ".doc" extension. I also don't want to have all other programs grind to a halt when I open a word document that contains nested Excel tables, or .AVI movies, or whatever else you can embed in a word document these days.

      Is this possible, or am I just dreaming? That's what I want out of an office suite anyhow. Simple tools with numerous plugins/addons. Is that so hard?

    3. Re:Bundled/monolithic software by micromoog · · Score: 3, Informative
      Something monolithic must be starting, otherwise why does Word take so long to load, even on the fastest machine?

      Word 97 takes 4 seconds to load here at work. That's on a P3-600, 128M, running NT4. I've got loads of applications running, including a long-running SQL Server insert query against a million-row test table (that resides on this machine), taking up 100% of the CPU.

      And that's before memory caching kicks in . . . if I close it and open it again, it takes ~1.5 seconds.

      Say what you will about Word, but it ain't slow.

    4. Re:Bundled/monolithic software by uchian · · Score: 3, Interesting

      That may be the case, but it seems to me that the way those skinned COM controls work isn't the way tools like "grep" and "sort" work. Word isn't an editor that calls up a spell-checker when needed, pipes things to a printing subsystem later, uses a word-counter-tool when needed, etc. It is a monolithic thing that (seemingly at least) runs all those tools at the same time. Something monolithic must be starting, otherwise why does Word take so long to load, even on the fastest machine?

      More to the point, why does everything need to be built into another layer of abstraction from the operating system? Why can't the spellchecker be used on a text file in notepad? Why can't Word highlight a piece of code automatically since I have Visual Studio on my computer?

      Why, in fact, do we need "Yet another GUI" on top of the Desktop GUI that we already have?

      Perhaps a real cool solution would be to stop treating the desktop as "Something that's there to be a host to other programs" and more as "something that's there to let me get my job done".

      As an example, when you think of the command line, do you think of bash, or do you think of all of those useful utilities is /usr/bin such as grep which can be combined in different ways to do different things?

  3. This is like OpenDoc by uglyhead69 · · Score: 4, Informative

    Essentially Apple's OpenDoc was the same paradigm. Unfortunately due to business concerns OpenDoc was canned. The tools that were released were VERY useful though. For the short time it was around a was a great way to get work done. With the addition of the power in unix, this paradigm could be very powerful.

  4. Bullsh*t by barneyfoo · · Score: 4, Insightful

    Im sure microsoft would love us to stop working on office clones. Linux, coupled with star office, koffice, or whatever, might be the only force capable of dethroning microsoft on the desktop.

    It's true our clones will never be as full featured as Word, or as monolithic as office, but that defecit is easy to overcome when you add "FREE" into the mix.

    And this little peice is even more BULLSH*T because what the hell does this guy presume? That we are all working to make linux the #1 OS, to make it a Super UNIX? People hack on shit that they want to. Including free word processors and office components. I think it's pretty arrogant to presume you know what's best for people's volunteer time. Keep up the good work office hackers. This kind of shit is pretty worthless.

  5. Comment removed by account_deleted · · Score: 5, Insightful

    Comment removed based on user account deletion

  6. Include the User by jjr · · Score: 4, Insightful

    That is a novel idea. The fact about linux/unix the "User" tends to be more knowledge able so he can get around things the "avereage user" might not. The way to Linux more mainstream is for people to start studies on the features the user really need and want. The GUI designs that really work. What is needed input back from users on what works and how things can be improved. We are doing some of these things now. I hope this research continues

  7. The *real* call to arms by rknop · · Score: 4, Insightful

    Just a few weeks ago I used to think that it was important to figure out how to get Linux to compete with Microsoft, so that Microsoft's dominance might be broken, so that those of us who use Linux wouldn't be stuck with people sending us things in proprietary Microsoft formats, and telling us to boot into Windows to configure this or that piece of hardware. I would have thought that strategic questions of what sort of office aps free software developers were working on was very important.

    And they are important. But that's not the primary call to arms any more. The issue is no longer whether Linux can compete with Microsoft. The issue is how long those of us in the USA will still be able to legally use Linux at all. The front has changed. It's not dominance; it's survival.

    See the article on slashdot a few days back about the SSSCA. See this week's Linux Weekly News (September 13). There's a law out there about to be proposed which would make it illegal for those of us in the USA to continue to use Linux (at least connected to the internet) or any other free software as we know it.

    To heck with the Microsoft monopoloy. It's a terrible thing, but at least we can use Linux now. We have to make sure we don't lose that. This is the call to arms that every Linux, BSD, Perl, Apache, or other free software has to heed. Write your congressmen. Write your senators. Don't sit back and let apathy win the day, as it did three years ago with the DMCA. We have to fight this fight, and we have to fight it now, or soon we won't have the luxury of debating what sort of office software will be best to strategically position Linux.

    -Rob

    1. Re:The *real* call to arms by xtal · · Score: 4, Insightful

      If your country is so messed up that they're going to ban you from using linux.. maybe you have worse things to worry about than the dominance of the microsoft empire. Move someplace with sane politicians, and fight those laws before they go into place. Unless you go see your elected reprentatives in person, take some time out of your day to stop these things, then they'll happen. Politicians cater to those who want change, and if nobody objects, or not enough people object, things become law. It's not a dictatorship you live in.

      It's not that bad to immigrate to Canada, or even countries in Europe where software patents aren't applicable. If running linux and "free" software ever actually became illegal and people were arrested for it, then I would hazard a guess the American claim to be a "Free" nation went down the drain, too.

      --
      ..don't panic
  8. Is this a battle Linux needs to fight? by Infonaut · · Score: 5, Interesting
    I'm going to play Devil's Advocate here. I like the idea of small, lightweight software components for desktop computing, but this has been tried before. Here's the only link I could find to OpenDoc.

    Basically, Apple's idea was to build small software components that could talk to each other and be loaded as necessary to accomplish specific tasks.

    It was a great idea, and still is. I think the problem isn't so much the technology implementation as it is getting developers to see the benefits of such an approach.

    Yes, developers. If you're running a software company, creating small components allows you less room to innovate on features. This in turn makes it more difficult to market your products.

    I know your suggestion was that Linux adopt such a component-based approach for productivity apps, and it wouldn't seem that the limitations of the commercial world would apply. But the dominant paradigm in office computing is still the monolithic app, because that's what commercial developers are providing.

    So for now at least, Linux developers will probably have to fight this fight alone. In order to convince users to make the shift away from MS Office, et. al., Linux apps have to offer a solution that's easier to use and faster by a factor of at least two. It's been shown time and time again that in order to overthrow a paradigm, the resulting benefits have to be not just incrementally better, but exponentially better.

    Finally, is it even worth the effort? See the October issue of Wired, for an article by former Red Hatter Russ Mitchell, about why going after the desktop is a bad idea.

    --
    Read the EFF's Fair Use FAQ
  9. Huh? by Reality+Master+101 · · Score: 4, Interesting

    Two things to say about this. First of all, the "unix model" of streams of data is absurd when talking about interactive applications. Do I need to set up a filter to insert a table into my document? Now, I know that that there are those of you who use LaTeX with a stream model to spell-check, etc, but I'm sorry -- you are living a crude, stone-age world. I like having my mispelled words underlined. The green-screen luddites need to get a clue.

    Second of all, apparently this guy has no clue how Office works. Office is not a monolithic application. It's a big collection of COM components. That's why you can embed a spreadsheet into Word, or the Equation editor anywhere, or a Visio sheet into Powerpoint.

    I'm fundamentally a command-line guy. I use Unix streams all day long, and hardly ever use debuggers. But this is just stupid.

    --
    Sometimes it's best to just let stupid people be stupid.
  10. I don't think so by elmegil · · Score: 5, Insightful
    What we need now is to create an environment, where users can easily create customized tools for the way they work

    No. Not any more than we need to create an environment where users can easily create customized furniture, cars, or whatnot. The mass users you need to attract to make Linux *really* popular want these things built for them and delivered to them--they are not do-it-yourselfers like most of us who read Slashdot are. That is why, despite all their bugs, Microsoft continues to sell.

    --
    7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
  11. About the Topic by rjamestaylor · · Score: 3, Insightful

    It is inappropriately worded. Period.

    --
    -- @rjamestaylor on Ello
  12. You are right!! by Tofu · · Score: 3, Informative

    "The power of UNIX is in connecting small, fleet-footed tools. What we need now is to create an environment, where users can easily create customized tools for the way they work, and developers can easily add new functionality."

    Here at MUSC, the IT Lab is trying to do exactly that. We are trying to use the web as a way to string together tools and make it as easy as possible for the user. Check out the toolbox for some of the attempts. We are just a small group and any ideas to better our tools would be great!

    --



    Can you see Iron City here?
  13. The "I Just Want to Type a Damn Letter" test by mikosullivan · · Score: 5, Interesting
    While Soegaard provides some interesting ideas for tools that may be useful, his analysis of What Users Want is sadly off target. He seems to assume that users want lots of nifty features and inter-functionality. My experience providing tech support and teaching computers indicates something quite different: users mostly want a few basic functionalities, and they want them Right Now.

    I call it the I Just Want to Type a Damn Letter test: can the user turn on the computer for the first time, understand the basics of how to operate in a few minutes, then get to work on things they want to do? If not, we'll meet with resistance at every step.

    Soegaard provides some nice ideas on how to structure the back-end, but the front-end needs to Give the People What They Want: an interface to do word processing, another to do email, another for web browsing, and a few others for other less-common tasks. That is what is going to help open source win the battle of the desktop.

    --
    Miko O'Sullivan
  14. OpenDoc, NextStep -- GNUStep? by Blitter · · Score: 5, Informative
    As others have mentioned, the failed OpenDoc initiative was very much in this vein. NextStep (the "new" Apple initiative, now renamed Cocoa) has long had a reputation of allowing one to quickly string together custom applications from preexisting object classes, making it very popular in businesses that custom made in house applications. It is also worth noting that this framework allows for what are called "Services". Applications can "export" functionality to other applications. So for example you can hilite text in a text editor, then go to the mail services submenu in the system menu and from there tell the mail program to open a new message window with the hilighted item pasted inside. This also enables generalized filters, etc, in some ways like Unix shell pipes.

    Of course, it's not open source, but what is GNUStep doing these days?

    --
    I am Jack's writable stack pointer.
  15. Re:Does that really solve the problem? by wishus · · Score: 4, Interesting
    if you need to send a document to someone you will have to save it as msword file and some features you used might be left out.

    Nah, just send them the document in its native form. If they complain that they can't open it, just tell them they will have to get OpenOffice.

    It's what the Word users did to me for years. In college, I had to go to a computer lab to type my resume, instead of using ApplixWare, because dumb companies wanted it in Word format.

    If that's acceptable behavior for MS Office users, it's acceptable behavior for you. Word format isn't the standard. Standards aren't owned.

  16. Re:False. Wrong. Nope. by dgp · · Score: 3, Insightful

    Linux needs more GUI innovation. We should not try to be a windows work-alike. That would be a mistake.

    I see the basis of change happening in a replacement for X windows. A new graphical layer that makes it easy to create a whole new paradigm of graphical computing. The idea that a screen is equal to a hardwood desktop and applications are pieces of paper that are shuffed around the desktop worked well. Linux can be the foundation for a whole new paradigm. Hopefully something that is always in '3d' mode. Something where visual programming is always part of the UI. UIs have always needed a visual scripting language. I think even 'novices' and 'daily users' will be greatly stimulated and entertained by making small functional changes to their apps as they use them.

    At the same time, we need to get behind a distributed object system. You gave some great examples like CORBA and XML RPC. Add to this the 'mobile code' idea. A virtual machine - hopefully Parrot will fill this gap. Then a framework or at least coding standards for distributed objects, like EJB. Then service discovery, like JINI. God, Java does so many things right :).

    I think this is where .net is going, a VM with a standard for object interfaces plus SOAP calls. I think its where Linux needs to go, too.

  17. Re:False. Wrong. Nope. by j7953 · · Score: 3
    Do A & B style users plan on chaining tools together to form coherent systems? No.

    But they already do. What do you think MS Office is, one giant .exe? It's a suite of COM modules, chained together to form a coherent system. Whoever said that the chaining needs to be done by the user exclusively? (Ok, so I didn't read the article, maybe it did say that, I don't know.) Just like with Linux, this can be done by distributors.

    The problem with MS Office is that while it has a modular architecture, that architecture is not open. You can use the components, but the ways in which the included components interact are not very customizable. You cannot replace builtin functionality, you can only write add-ons (and even that isn't a simple thing given the amount of programming you need).

    Make no mistake - most users, on the order of 75% or more, will never ever want to customize their productivity tools beyond arranging a button or two, or perhaps defining a macro.

    Only because they have no option of changing anything beyond that. There are some places where you might want to change the way builtin features work, if it were possible. For example, I would like to make Outlook receive emails first, then send outgoing mails, because my provider blocks SMTP (to avoid spam) until I logged in with POP3 once. This is not possible with Outlook.

    If the Free Software movement could produce a set of Office components that are built in a way that allows you to create your own office suite (without hacking the source for each modification), but also offers a reasonable default setup, that might be a reason for network administrators to think about Linux on the desktop. Right now it's not a serious option if there are a lot of non-technical users -- yes, there is StarOffice, but why would you want to do more training (for both users and admins), receive more support calls (at the beginning) and reduce compatibility with MS Office files, when what you really get is just the same features?

    For the rest of us, there are plenty of tools - command line tools like grep, sed, awk, and hundreds of others do just great.

    Uhh, do they? Last time I checked, things like plain text files were not mentioned in any "corporate standard."

    --
    Sig (appended to the end of comments I post, 54 chars)
  18. Re:Universal File Types? by Graymalkin · · Score: 3, Funny

    Back in the day we called these "text files", in fact everything from memos to emails to configuration files were all just "text files". You could write an app in a couple of lines that would create and edit these "text file" things. Most command shells even have support for that stuff. Wierd.

    --
    I'm a loner Dottie, a Rebel.