Domain: helixcode.com
Stories and comments across the archive that link to helixcode.com.
Stories · 27
-
Debian On Compaq's iPaq Handheld
ArsonSmith writes: "It seems that at primates.helixcode.com they have been able to get Debian GNU/Linux up and running on the Compaq iPaq PocketPC. This seems to be the first main distribution to be running on a handheld." The Debian Way may sometimes seem ponderous and conservative, but obviously that's not always the case. How'd you like to be able to apt-get new apps on your PDA? This is a detailed description which should interest anyone lucky enough to have one of these cuties. -
Helix Code's Red Carpet Simplifies Package Updates
Ur@eus writes "There are some nice screenshoots of Red Carpet available from the Helix site. Red Carpet is Helix Code's upcomming package manager and it looks really great. Look here for the screenshots." This is a quite amazing looking little application... even looks to support Debian, so I'm happy as a clam. Very pretty and well designed. It'll be cool to test it out for real. -
Tidings From Swagland: An LWCE Wrap-Up
With a planned move to San Francisco next summer, last week saw San Jose's last Linux World Expo, at least for now. The future as always is stubbornly uncertain, but it's impressive that the serendipitous combination of Free tools (from GNU) and a Free kernel (from Linus) has inspired enough interest and prosperity to excite a larger group of people each year. If you've not had the chance to attend one of these expositions, we hope this article will give you a flavor of what it's like. Note: Here are a few pictures from the floor (Day 1 & Day 2) contributed by Sensei^); do you have any cool shots to link to in comments?First, the prelude: If you've worked on the pre-show aspects of anything from a high-school play to a LAN party, you know all those booths, displays, people and computers don't materialize by themselves. For several days before the show floor opened on Tuesday, forklift crews zipped cargos of wooden, fiberglass, plastic, aluminum and steel cases from moving trucks to exhibit spaces. These contained banners, snap-together modules, computers, lighted signs -- and Yes, more gratis logo-imprinted toys than you can wave a TuxTops LED light at.
Spiderwebs of CAT-5 and electric cord (run beneath the show floor) sprouted from the centerpoints of many booths, with strands for each computer to be connected to the Net during the show. Rolls of padding and carpet came next, then the slow assembly of display booths. These ranged from no-nonsense fabric partitions that housed companies like TuxTops and Sendmail (and legions of volunteers from PerlMonks, the Simple End User Linux project, Flightgear, and many others), to elaborate constructions with motorized signs, projected lasers and huge illuminated logos. Note: Slashdot (the site) was put together last week mostly from the comfy chairs of the PerlMonks booth.
The "C" (as in conference) part of LWCE got started on Monday, and for the days that followed, attendees got instruction -- on everything from Linux security to evangelizing Free software to their bosses-- in half-day doses. Meanwhile, the setup work continued into the wee hours, as exhibitors raced the clock to make sure that at least their signs, if not their networks, were up for the next day. And at the OSDN booth (home of the red-carpeted Slashdot stage and beanbags), prep work included stacking thousands of boxed distributions of Debian, and attempted to pawn a few copies off on every passer by.
Tuesday morning, at a shade before 10:00, visitors willing to miss Michael Dell's keynote began to stream into the halls, on a quest to find new distros, old friends, and swag. It's amazing what companies will give away in order to snag a little nook in your brain. Besides the usual trinkets (keychains, T-shirts, stickers) and the distributions that a Linux show would be empty without, booth visitors were handed everything from knives (Sendmail) to cute monkeys (Helixcode) to embarrassing pictures of themselves (BSDi), as well as too many toys with embedded LEDs to bother counting. Rather than a full swag accounting (which would only annoy those unable to attend), let me just say that you won't hurt for toys when the chance presents itself. (CT:I just wanted to note that VA gave away 2300 pounds of shrink-wrapped boxed Debian. Like 5000 copies. It was beautiful)
The things on display around the LWCE floor were more interesting than the toys, though. (And unlike a museum, most were available for hands-on demonstration, not hidden behind glass.) Indrema showed a prototype player (not in the sleek black box you see on their Web site, but still sporting that cool blue LED) hooked up to a HDTV display, playing a very fast game of Quake. (CT:Actually it was an HDTV demo, they promised the real deal will be less vaporous before I have children) In the Intel booth were server clusters populated with quad Itanium processors, demonstrating failover when one system was rudely but intentionally shut down. The amazing-like-emacs-is-amazing Flightgear project showed a really nice looking demo which is enough incentive by itself to invest in a better video card for my system so I can play with it.
Both Helixcode and Eazel made their first LWCE appearance this time around, exciting for those filling their anti-FUD cannon for the perpetual "Linux is tough to use" argument. The Eazel folks showing off Nautilus seemed to be all but cackling as they showed off the smoothness of the zooming information available for documents and the cool music-integration abilities it contains. It would have been cool if they'd had some sample CDs, but they promise a developers' release soon. (CT:They also promised .deb's, but I'll believe it when I see it. The UI was awesome, I just hope that someone hacks in something like the GUI command line in EFM)
Considering that Sun was showing off the GNOME desktop on Solaris (hinting at its inclusion in stock Solaris systems sometime very soon, too) and that the GNOME project itself was not only in one of the small booths against the wall but the subject of a big announcement -- about the advent of the GNOME Foundation -- it looks it's showing up everywhere. Happily, there seems to be no shortage of room for window managers right now: the KDE folks were also there not only in their own booth, but showing up in software demonstrations all over the floor, as SuSE, Caldera and others demonstrated the very slick KDE 2.0. (Can't we all just get along, anyhow?)
SuSE, by the way, was the only distributor I noticed showing off Linux on Apple hardware, and their current distro was sweet and fast on a G4. Beyond the curious lack of Apples, and the obvious ubiquity of x86 machines, there were machines based on everything from microcontrollers to StrongArm, MIPS, Alpha, Itanium ... even the IBM S/390s which have gotten attention for the ridiculous number of concurrent Linux systems they can support.
For all the cool hardware and cusp-of-reality, bleeding-edge distros, it's interesting that the announcement which seemed to generate the most buzz of the entire show was the long-awaited release of Debian's Potato. Considering the reputation that Debian has for intelligent upgrading, stability, and diligence in guarding the license of the software which makes it up, it's not as surprising as it might otherwise be that Debian's new release made people sit up a bit more than the newest offerings from the large commercial distros.
(CT: Also extremely impressive was the Pocket Linux booth, where they actually had iPaq's running Linux. The first dude that demoed the box to me was very nice, but what I really wanted to see was X11 running on it ... oddly enough, I encountered one of his cohorts in the bar later that night who showed it to me: X, xeyes, xterm, and twm running on an iPaq. When they get the wireless action going on these things I'm totally there ... I'll just need to hack minimalist interfaces onto pronto and my MP3 player software and use the thing as a portable X terminal on the local 802.11 wireless lan. Yum.)
Oh, and there were people on the floor as well -- close to 20,000, all told. I met some folks I've known previously only through IRC, and quite a few I might never have otherwise encountered.
It's interesting to see in the space of a few hours many of the smart people who you may experience vicariously through writings, speeches, code, art or IRC chatter -- and it also belies the idea that software celebrities of the Free software world are becoming celebrities of the traditional variety, since everyone from ESR to Jon "maddog" Hall (and Linus himself) are willing to talk to anyone who catches up with them long enough to say hello. The atmosphere (especially outside the mondo corporate-castle booths) is mellow and accomodating, and suprisingly so even within most of those castles. There were undoubtably personality conflicts at work, but it seems like most people have the good grace to deal nicely with each other for these few days at least.
At the close of each day, people shuffle out to drop laptops, T-shirts and bags of stuff at their hotels, then thousands of them show up to parties sponsored by companies from AMD to Red hat to VA, which are full-blown events in themselves. Mandrake's party, for instance, had go-go dancers in cages, which may be the most bacchanal thing I have ever witnessed. Ironically, though, many coders couldn't attend even events sponsored by their own companies, or thrown in the honor of their projects, because of strict carding policies. Wouldn't a chem-free party or two be a thoughtful way to include people?
(CT: This has been a consistent problem for several years. Although I know at "Someones" party (no names *grin*) they weren't carding, and I recieved many a happy note from fellow attendees proclaiming that they were able to get in. The parties themselves weren't bad: the OSDN/Potato release party was fun, with San & Zak spinning the tunes (next time we'll force CowboyNeal to scratch for us under threat of death). They had 2 buildings: one was a pool hall, where we tormented The Pope for nearly an hour, carefully distracting him, and then returning his balls to the table. He never noticed. We also met up with Nitrozac from After Y2k, and I snuck accross the street to the Eazel party for a bit, and got to meet Dave "You might remember me from cheat codes in some first person shooter" Taylor.) Attendeees mostly filed out for flights or drives home Thursday and Friday, but some are still in San Jose for the Intel Developers Conference, or otherwise enjoying the Northern California weather. It's a strange familiarity that many of them will feel when the next big conference rolls around, to see many of the same fellow attendees or workers -- of course, by the time the next big conference happens, perhaps we'll all be too excited by the release of 2.4 to notice.
-
Let's Make UNIX Not Suck
The above is a title of the talk that Miguel de Icaza of Gnome and now Helix Code fame gave at OLS concerning the look and feel of the UNIXs. From what I've heard from attendants the talk was great - and now you too, in the privacy of your own home/cube/lean-to/car can read it. -
Let's Make UNIX Not Suck
The above is a title of the talk that Miguel de Icaza of Gnome and now Helix Code fame gave at OLS concerning the look and feel of the UNIXs. From what I've heard from attendants the talk was great - and now you too, in the privacy of your own home/cube/lean-to/car can read it. -
HelixCode Releases Admin Tools
An Anonymous Coward writes: "Helix Code has just released the first preview of its admin tools. Just now there are only three utils. They are glade front-end using perl back-end." Nifty way to attack the problem. I tend to prefer handling things like this the old fashioned way, but this kinda stuff is critical for the newbies. I mean, who wants to know what file you edit in /etc to change your DNS server, or what the syntax is to mount a remote NFS partition? (Ok, I want to know, but for those just joining us, it's probably not the happiest learning curve figuring this stuff out.) -
HelixCode Releases Admin Tools
An Anonymous Coward writes: "Helix Code has just released the first preview of its admin tools. Just now there are only three utils. They are glade front-end using perl back-end." Nifty way to attack the problem. I tend to prefer handling things like this the old fashioned way, but this kinda stuff is critical for the newbies. I mean, who wants to know what file you edit in /etc to change your DNS server, or what the syntax is to mount a remote NFS partition? (Ok, I want to know, but for those just joining us, it's probably not the happiest learning curve figuring this stuff out.) -
Why Do GUI's Look the Same?
MaxVlast asks: "I was browsing around Helix Code's site looking at their interpretation of GNOME when I found the program that they claim is 'the next step forward in GNOME applications,' Evolution. I was startled and upset--this program is, from what I can tell, a direct transfer of MS Outlook to Linux. It's bothered me for some time that the two major file and desktop managers for Linux are all clamoring to look more like Windows than their competitors, and in the scuffle, are missing some very effective paradigms (like Miller columns). Do people think it is good that Linux seems to be shooting for the 'looks like Windows, but without all the features' market? The popularly available apps seem to say so." Please pause for a moment before saying "But you've done this already!". Before the question was "Do new GUIs exist?", the answer to that was a resounding yes, but now the question is "Why do our applications still look the same?", even across platform boundaries and for two different applications?Why does Evolution have to look like Microsoft Office? I'll buy the form-follows-function argument to an extent, but there are other alternatives to things like the standard menu/button bar and other GUI elements that could be applied to applications and at the very least, give users more choice in how they operate. Are there any projects looking to bring other not-often-seen UI elements like pie-menus and the previously mentioned Miller Columns [?] to our applications?
-
Why Do GUI's Look the Same?
MaxVlast asks: "I was browsing around Helix Code's site looking at their interpretation of GNOME when I found the program that they claim is 'the next step forward in GNOME applications,' Evolution. I was startled and upset--this program is, from what I can tell, a direct transfer of MS Outlook to Linux. It's bothered me for some time that the two major file and desktop managers for Linux are all clamoring to look more like Windows than their competitors, and in the scuffle, are missing some very effective paradigms (like Miller columns). Do people think it is good that Linux seems to be shooting for the 'looks like Windows, but without all the features' market? The popularly available apps seem to say so." Please pause for a moment before saying "But you've done this already!". Before the question was "Do new GUIs exist?", the answer to that was a resounding yes, but now the question is "Why do our applications still look the same?", even across platform boundaries and for two different applications?Why does Evolution have to look like Microsoft Office? I'll buy the form-follows-function argument to an extent, but there are other alternatives to things like the standard menu/button bar and other GUI elements that could be applied to applications and at the very least, give users more choice in how they operate. Are there any projects looking to bring other not-often-seen UI elements like pie-menus and the previously mentioned Miller Columns [?] to our applications?
-
Compressed Beyond Recognition: An MP3 Compendium
The reaction to the turning off of Napster's servers has been fast and furious. Whether you feel that unauthorized copying of music is a basic human right, the moral equivalent of "sharing" for yourself merchandise from Tower Records' loading dock, or somewhere in the fuzzy gray area between, you should at least know how the decision to turn off Napster for the moment has focused the various public reactions. Read on to see just a sampling of the numerous stories throughout the media related to this story.Point Of Order, Point of Clarification Justin Maurer writes:
"it's come to my attention that a lot of news organisations, and napster themselves, have been twisting words around in this whole napster case. if you'll bear with me for a second, i can try and clear up a little bit of it.
everyone (including napster) keeps saying that the judge ordered napster to be shut down. this is not the case. the judge ordered them to make sure no one is trading copyrighted material, and the result is that napster is telling everyone they've been ordered to shut down. if you'd like, i can provide sources for this information, though i'm going to bed now :)"
[Note from timothy: Here is a link to the Preliminary Injunction Brief (pdf file) from the RIAA site; given the way Napster works, though, it does seem like its grant would have effect of shutting all but the chatroom, doesn't it?]
Are Bassists Smarter Than Drummers? JHancock17 reminds anyone who hasn't to read Courtney Love's speech as reprinted by Salon a while back, and res0 points to this ABC News interview with Chuck D. in which the P.E. frontman continues his eloquent tirade against the music industry as a whole. But Mr. D and Ms. Love have been famous outspoken in favor of Napster and electronic music exchange for a while: Now those stalwarts are joined by another big name. srcosmo writes "Radiohead have become the first British band to condemn the injunction against Napster. Their bassist, Colin Greenwood, showed enthusiasm for the availability of Napsterized live recordings, saying "We have just finished a tour, we played in Barcelona, the next day the entire performance was up on Napster and three weeks later when we got to play in Israel the audience knew the words to all the new songs and it was wonderful." An interesting change from the Metallica look at things- hopefully more artists will follow their lead."
Follow Your Conscience: What You Can Do cLn writes "Napster has been shut down and irc mp3 channels are being flooded by desperate mp3 junkies. What they don't know is that there are ways around this small problem. Napigator is a windows program that'll help the napster client connect to other servers other than the few it trys. Tripnosis works alot like napster, but you can download other files (zip, arj, rar, mov, avi, mpeg, jpg, gif, ect...), you can also search through online users files using the sites search engine."
And DrEldarion points to "http://www.kripto.org/blocks/, "an anonymous distributed file transfer system designed for people with permanent 'always on' Internet connections;" good explanation on the site itself of how it differs from other such systems.
Mad Ross (Ross McKillop) writes "Everyone now knows of the recent decision about napster's future. This is unfortunate and many still agree unreasonable but I am attempting to gather all the open source clients and alternative servers in one place and create an organised network of replacement napster servers... If anyone is interested in helping by...
- contributing a client
- helping as a server operator
- running a napster server
- etc...
What Else You Can Do: Alert The Media (Mavens) battery841 writes "In light of Napster getting an injunction against it by the courts, someone decided to register riaaboycott.org and setup a petition. You sign the petition, and once it's gotten enough signatures, it's going to be sent to numerous sources, including Napster and the RIAA." And as CmdrTaco posted the other day, there are boycotts in the air.
Another Angle On The Big Picture: Danse writes "Salon is running an article with reactions from all sorts of people connected to the music industry, Napster, Napster alternatives, etc. It's pretty interesting reading. Everything from the arrogance of Jack Valenti to the apparent cluelessness of Erwin Drake to the insightfulness of Glenn Reynolds to the amazingly short (obviously not written by Lars) comment by Metallica. To sum things up, the industry thinks this is a big win and that they now have a chance to offer consumers music downloads on their own terms. This displays their current lack of understanding of the real problems that users are seeking to remedy with Napster and the other music/file trading options. Napster supporters and alternatives feel that it's a loss for free speech, but that in the long run it will only hurt the record industry as people move to litigation-proof solutions."
-
Evolution 0.3 Released
aleksey notes that HelixCode announced Evolution 0.3. With all the Napster-related news flooding us lately, it's nice to see some good news. Evolution is making great progress, and I'm probably not the only one itching for just enough stability to use it for a few days. -
Evolution 0.3 Released
aleksey notes that HelixCode announced Evolution 0.3. With all the Napster-related news flooding us lately, it's nice to see some good news. Evolution is making great progress, and I'm probably not the only one itching for just enough stability to use it for a few days. -
Evolution 0.3 Released
aleksey notes that HelixCode announced Evolution 0.3. With all the Napster-related news flooding us lately, it's nice to see some good news. Evolution is making great progress, and I'm probably not the only one itching for just enough stability to use it for a few days. -
Is The Microsoft-Free Office Possible?
A whole load of people submitted questions related to this Inter@ctive weekly article but HarryHood got thru first "...and it got me thinking about the prevalence of offices completely free of Microsoft Office. Of all the communities on the Internet, I would think the /. community would have the largest comglomeration of users that work in such environments. So can we get an informal vote and some comments on the ideal Microsoft Office-less setup?" There are several issues which Free Software still has to address, the largest of which is compatibility. Read on for a choice helping of some related questions that have recently fallen into the bin.One Clan Anonymous Coward member asks this question regarding viable alternatives to the entire suite: "The company for which I work is presently deciding on software and hardware standards for employee desktops. A couple of days ago a radical thought occurred to me: could the company use Sun's StarOffice suite in place of Microsoft Office? If so, it might save the company a lot of money! So I cadged some free copies from the local Sun sales office and spread 'em around. For an integrated office suite, it doesn't look half bad. And it may allow some of us to keep our 'nix desktops :-). The question is: can StarOffice really be used in place of Microsoft Office? The big concern is, of course, exchanging MS-Word and MS-Excel files with customers and vendors. Does anybody out there have any experience with deploying StarOffice in place of MS-Office on a company-wide scale?"
TigerPlish asks: "[I wish to] find or develop a cost-effective e-mail solution that'll support Microsoft Outlook. All the functions MS-Exchange provides must be supported, in particular, the ability to migrate an ACT2000 database into an Outlook contact list..complete with searches, etc. So far, the other geeks at work are pushing for MS Exchange, and Lotus Notes, both running on NT. My suggestion is HP's OpenMail, which I'm now starting to play and get familiar with - and it's turning to be quite a bear to configre. At least it sends and gets mail from the internet - tho the x.400 to internet name mappings are truly hideous. Other than HP's OpenMail..are there any other Outlook-compatible server solutions for linux? They can be either payware or open-source..."
Compatibility with Office's contact management features has been a big issue with many of the submissions I get regarding Office replacements, unfortunately I didn't get much information in this regard from the last time this question was raised. It would be interesting to see how much has changed in this area over the past 18+ months.
Lumpy asks: "Is there a program that I can use from Perl (or as a daemon/ etc..) that will converse with an Exchange server for sending and receiving email? Our corporate servers are only Exchange based, and will not open up a POP3/SMTP server for use by non-MS systems."
Which is, as most of us know, another way Microsoft locks offices into their infrastructure. Has there been any progress made on solutions to this problem? I ask this primarily for cases where where administrators are unwilling to go through the trouble of enabling POP3 and SMTP services for their all-Microsoft networks.
Here's a similar question from OldGrover: "Does anyone know any information on the format Outlook uses to talk to Exchange? Where can I find this info? I'd love to have a perl module that talks to an Exchange server and I see no such beast on CPAN, so I'm perfectly willing to write one, but obviously I need the data. If the data isn't available, what are my potential liabilities if I just figure this out myself? (Watching packets, or whatever). Where are the Evolution guys getting their info? If I could, I'd use something else, but there are an awful lot of companies out there using Exchange. My biggest beef with it is its lack of scriptability and transparency and a Perl module with all the power of Outlook (mailing list updates, querying, mailbox manipulation) would go a long way towards helping me resolve that. I'm willing to put in the time on this, but I have to know the lay of the land first. Comments?"
Decyphering the Outlook<->Exchange dialect would go a long way into opening up the office to other systems. A Perl module implementing such a thing could almost directly plug into CSCMail, for example. However, reverse engineering the protocol might prove problematic, even if it was done in countries where reverse engineering is legal, since Microsoft can still put heavy pressure on anyone choosing to use that information. What legalities would be involved here? Could such a feat be performed legally?
What about Calendar sharing? I know Outlook has functionality for scheduling meetings and appointments via e-mail. Are there any Open Sourced applications that perform something like this? Would such a thing be difficult to implement?
So there are still a few issues that need to be addressed before a Microsoft Office-free environment is practical, but it's currently possible with varying degrees of success. Now that the itch is being felt, even among the average user, getting it scratched is a matter of "when", not "if".
-
GNOME 1.2 - What's In It For You?
Ur@eus writes: "We have just posted an article at Linuxpower.org desribing what's new in the GNOME 1.2 release. Since the GNOME press release was kinda thin I think this will be of interest to many people. You'll find the article here. " A nice overview, for non-Gnomers especially. You'll find even more beautiful screenshots, as well as more general information, on the Helixcode site. -
GNOME 1.2 - What's In It For You?
Ur@eus writes: "We have just posted an article at Linuxpower.org desribing what's new in the GNOME 1.2 release. Since the GNOME press release was kinda thin I think this will be of interest to many people. You'll find the article here. " A nice overview, for non-Gnomers especially. You'll find even more beautiful screenshots, as well as more general information, on the Helixcode site. -
Gnome 1.2.0 Released
Well, those wacky Gnome boys have gone and done it again - you can grab Gnome 1.2.0 from the FTP site. Nat e-mailed me last night to say that it was coming out. As well as the above distro-friendly link, we've got a link for the stable sources ftp site.Update: 05/25 12:25 by H :Hey, I got e-mail from the Gnome folks again - they're going to update the mirrors and everything in half an hour (9 a.m. EDT), so hold off until then on downloading.Update: 05/25 02:12 by H : Check out HelixCode for an update on the release. -
Preview Helix Code's "Evolution"
sigsegv writes: "The first preview tarball of Evolution is out on the Gnome FTP site. Pretty slick looking for those attached to gui e-mail clients. Personally, I still prefer mutt, but I know a few people very eager to see this. =8] " -
Miguel de Icaza Tells All!
In his responses to the Slashdot interview, Miguel shares the deadly truth about GNOME, the shocking story of the future of Bonobo and CORBA, and the titillating tale of adventure and intrigue that lies deep within the bowels of popular Free Software development projects. Okay, so it's not all that shocking, but Miguel has brought us some really great news and answers from his neck of the open source woods.Printing and GNOME
by datazonePrinting and printer support is a major issue with the Linux desktop. How do you plan to address this in GNOME in the future? Or do you believe that it should be addressed in a lower level than at the desktop?
Miguel:
This is a very interesting question.
We have been working on the GNOME printing architecture, which so far consists of an imaging model, and some user interface elements for applications to use.
The GNOME printing architecture is interesting as it provides:
1. A postscript imaging model for programmers to use.
2. On top of the Postscript imaging model we added alpha transparency (and as an added bonus we also added anti-aliasing).
3. Native drivers (no need to generate Postscript first and manually process with Ghostscript a file for your printer, which has many problems from the user perspective, from the efficiency point of view, and from the quality point of views).
Currently the GNOME printing architecture includes a Postscript driver, an on-screen preview driver, a generic RGB driver (that can be used to generate images), a meta-file driver, and a black-and-white HP PCL driver (which needs work, and yes, we could use some help making more native drivers ;-).
Now, GNOME Print alone is not enough, it needs to be tied with the spooling system as well and have access to the features of a particular printer. So the GNOME printing system needs to integrate with these systems. We have been talking to the various people working on these projects, and GNOME print will integrate with a variety of spooling systems.
For example, GNOME print and the VA, and TurboLinux efforts for a printing architecture are complementary, so there is a good chance it will be our first spooling back-end.
So just to re-iterate, the printing problem can be divided in:
1. Application API for rendering data.
2. A spooling system: a way to query the printer queue, control the printer queue.
3. A printer capability system: which would let applications and users use the various features available in their printer.
4. User interface elements for enabling programmers to make the most out of the above features.
GNOME print is only attacking (1) and (4), and we are working with other people to provide a complete solution to the printing problems in Free systems.
Okay, alright....answer this HONESTLY
by SgtPepperJust how well do you and the KDE guys REALLY get along....don't you GNOME people ever just want to get together all the Nerf gear you can and stage an all out war?
Seriously though, how much communication really does go on between the two camps? I would imagine at least some must if you and the KDE camp are to maintain interoperatability.
Miguel:
We talk in various mailing lists about these issues. For example, the wm-spec-list is very close to releasing a joint specification for window manager features that both GNOME and KDE can use.
On the other hand, I do personally like a lot some of the KDE developers like Kalle, Torben and Matthias. I have had the chance of meeting Kalle more times than any other of the KDE developer.
Also, recently an effort has been started to share widgets across Gtk+ and Qt. Both projects will announce the details when there is a more concrete plan about it.
But all in all, it is important that we agree on file formats for documents, which is what end users are exposed to.
User interface importance?
by zhobsonFirst off, I'd like to say that I love GNOME, it's been my primary environment since 1.0 was released.
Now then, how do you think GNOME will evolve in terms of usability? GNOME has certainly conquered the stability mountain (anyone who argues otherwise probably isn't using release versions), which is almost certainly a side-effect of the Free Software development model. However, while Free Software is generally powerful and easy to use for experienced users, it's not generally the kind of thing a novice can operate easily.
I remember hearing about a "usability group" or something like that for GNOME, to concentrate on interface issues. This is a great idea, but I haven't heard much about this group since then. Are modern user-interface issues a concern for GNOME,or is it mainly trying to match the interface conventions of other popular GUIs (like NeXT, MacOS and Windows)?
We started the GNOME User Interface improvements projects last year.
During the initial development of GNOME, we did not have a lot of time to discuss and incorporate ideas that flooded constantly. But later we realized that many genuinely good ideas were dropped because we did not have time to implement them at the pace they were coming (the standard reply in the early days of GNOME was `Want something changed? send a patch'. And we have basically changed this)
So the User Interface Improvements project was started to address this problem. It is coordinated by Jim Cape, and he works with other users and programmers to bring these usability changes into GNOME.
The UI team has been focusing on usability of the GNOME desktop by taking the input from the community. They are assembling and cataloging the suggestions for improving GNOME as well as providing mock-ups of how various GNOME tools could be improved.
As a result, I believe we are a lot more receptive to people's input than we were before, and this is something we want to keep enhancing as time passes.
Now, it is very hard to come up with good user interfaces. So there is definitely an element of copying existing interfaces. User interfaces and paradigms that are known to work and bring them to free software. But this is not stopping anyone from contributing new ideas and new user interface elements that can be incorporated into the system.
Contrast this with the people who want to reinvent computing as we know it (you can identify them at parties because they will start their senteces with `What is computing anyways?'). The GNOME project is not in this realm, but we would gladly take all the good ideas that both research and production communities produce and we will incorporate them. What we have not tried to do is become a user interface research project.
That being said, you have to keep in mind that it is very hard to start innovating user interfaces if you have zero lines of code. With the current GNOME system as it stands you can start from a working application that has already a few thousand lines, and work towards innovation.
It is like trying to design a car trying to ignore all the knowledge on mechanism, thermodynamic and engineering that has been accumulated over the years. It is a simpler task to innovate if you use the existing knowledge. As Isaac Newton said, you can view a lot further away because you are standing on the shoulders of giants.
For example, it is easier to innovate user interfaces for a spreadsheet once you have a fully working product (so that you can just remove the part you think can be removed, and plug your new code there), rather than trying to innovate the user interface and having to build all the infrastructure.
There are various companies that are working together with GNOME now, and they are bringing their expertise from their previous experience, which is very good for improving the general usability of GNOME (Eazel).
Andy is someone I really like for his vision on how computers should work, and his special attention to the end user.
Talking to him has changed a lot my view on what GNOME should be. In the beginning I thought "We need a desktop for free systems", now I think "We need the perfect user interface for end users to use on a free system". Achieving the best user/computer interface is a goal that many of us share.
But this is just a first step, we are of course working and integrating the ideas that will define the desktop computer of the future.
C++/Java/CORBA/Components/Frameworks (Score: 5, Interesting) by PureFiction
Do you see object oriented design and implementation playing any part in GNOME's future?
The architecture of GTK/GNOME is technically somewhat object oriented, however, without all of the benifits of an object-oriented language (at least the parts written in C).
It would seem to me that as the scope and size of the GNOME project increases, it would be increasingly advantageous to use C++ or Java with much more CORBA support and more structured design (UML design models?) for reference by the developers. Standard components and frameworks would also fit well into this type of extension.
Do you see GNOME increasing in complexity and size to the point where these types of development techniques would be required?
Miguel:
Yes, there is a lot of object oriented design going on in GNOME.
On using UML for modeling various components in GNOME:
Recently there has been a boom in creating UML diagrams for various GNOME components (particularly for new applications) as our Diagram application has become mature (http://www.gnome.org/gnome-office/dia.shtml).
Various GNOME module authors have different preferences on what languages they want to use, and it will be up to each of them to choose the language they want to use for their own modules. I myself want to use Python more and want to use Java more in my own developments.
Although, just because some of our code is written in C, does not mean you are left out of paradise.
Now, a big push right now within the GNOME effort is to use Bonobo components, which are basically reusable components built on top of CORBA, with a set of standard interfaces for component programming.
Outlook Interoperability with Evolution
by CybersonicMy question actually has to do with Evolution, the upcoming Outlook killer.. :)
Will GNOME serve (Evolution) information to MAPI clients? Would be a nice way to get rid of those Exchange servers sitting in most companies' server rooms...
Miguel:
Evolution is probably the most exciting application that is being developed in the GNOME world right now.
First, Evolution is based entirely on Bonobo components. It is one of GNOME's proving grounds for component-based programming. We have spent over a year developing the Bonobo component model, and in Evolution it's beginning to pay off in a big way. Each component in Evolution (mail, calendar, tasks, notes, contacts) is a Bonobo component, fully CORBA accessible (to enable automation and scripting of applications, and yes, it is secure. We do not feed any unsecured data into components, in case you were wondering).
The component-based pluggable architecture means that we can make Evolution into a universal communicator. So, yes, we have every intention of integrating with Exchange environments. Picture an office populated by Outlook clients and an Exchange server or a Lotus Notes server; we can infiltrate that place from the bottom up by making Evolution talk to those Exchanges or Notes servers. Clients can upgrade to Evolution one by one, without the requirement of a top-down organizational decision to dump Microsoft.
This is how GNU/Linux won. This is how we will win.
But the beauty of Evolution's architecture goes much further. It is the first communications tool designed for modern users like the free software community. The free software community stays in touch thanks to e-mail and as we grow, we need more powerful and efficient tools to handle our communication loads.
For example, I receive about 2500 mails a day. Even with procmail and Gnus, filters, scoring and lots of complex scripts, I still spend about four hours a day on e-mail related tasks. And it is pretty hard to find information on the gigabyte of mail that I have archived over the last few years. Traditional mail tools are not keeping up with the demands of modern Internet citizens like myself.
We believe that the mail loads that most free software developers are handling these days are going to become the norm for normal users in the future as the Internet becomes more ubiquitous and e-mail becomes the tool of choice for communication.
Evolution scales to mammoth mail loads perfectly, though. The hackers in the Evolution team designed the entire system to scale: we avoid copying data wherever possible, we never load the whole message into memory even over IMAP, and we used asynchronous interfaces across the board.
Now, the real beauty is that we index all of the mail as we incorporate it into our mailboxes. Dan Winship wrote this beautiful indexing library called libibex which we use for indexing and Michael Zucchi is working together with him in our vFoldering setup. So you can treat all of your archived mail as a giant database, and perform queries on it (think "Altavista for your mail"). So you will finally be able to find information in your mailbox, and you will finally be able to keep track of things.
And then you can save that query as a "virtual folder" (vFolder). So in fact your folders are actually the results of searches on your mail.
Also every element in evolution can be annotated and annotations can be cross referenced, so you can keep track of your contacts, your tasks and your information flow more easily.
And that's just part of the whole system. We are working on fully networked calendaring and contact management, too. So you can schedule appointments with people over the Internet, and have servers storing address-books. We are going to have a gnome.org Evolution server with all of the address-book entries for all the GNOME hackers.
The system is still under development, of course, but it's the most fun thing to hack on, and we are applying a lot of the tricks we have learned over the past years and enjoying the result.
Evolution is not only limited to handling the standard Personal Information Management features, but through Bonobo components you can plug any sort of communication system and have it integrated with the rest of the system. So hopefully, your irc conversations will also be fully indexed, as well as any other personal messaging system that ships with Bonobo support.
Think "deep integration" and think "I can find that e-mail".
If you want to learn more about Evolution, I suggest you check its Web page here, and as with every other free software project, we would love to see you join the effort, and help us get this out and deployed.
WM interchange
by WubbyThe arguments over Linux Desktop adoption are well know. IMHO, I agree with the strength in diversity reasoning and WOULDN'T like to see GNOME/KDE/Other merge developement regardless of the benefits.
Despite this, do you think WM developers would work towards a set of interface or API standards (to facilitate interoperability) or would this place to great a restriction on innovation and the developement process?
Miguel:
Definitely. The WM spec list has been working for a few months on getting an inter-operable window manager specification for developers to use (and both KDE and GNOME as well as the various active window manager maintainers are contributing to this effort).
How important is COM-like architecture?
by PikeIt seems that the GNOME effort is throwing an awful lot of resources at a component-ized architecture (Bonobo) which aims to do for *nix what COM and ActiveX/OLE did for Windows. And yet it just doesn't seem necessary. I know it's possible for me to insert an Excel spreadsheet into a Word document, but I haven't used that feature in recent memory. None of the documents I exchange with co-workers do, either. Is Bonobo really very necessary? What does bonobo bring to the Linux desktop that users are crying out for, and how is its heavy consumption of development resources justified?
Miguel:
Bonobo is a mechanism for creating reusable software components as well as enabling users to talk to the components through a standardized programatic interface (CORBA).
As I have mentioned in the past, the GNOME project has focused strongly on building a solid infrastructure for people to use, and component programming is just another part of this equation.
The core idea of software reuse and software components is that you can reuse what other programmers did and there is a very precise contract on what the component provides, and the API it exports that you can use to talk to it (Brad Cox used to talk about Software IC, and I am convinced that Software IC did not come in the shape he expected, but in the shape of components).
Also, by writing components, you can mix and match the components: it does not matter which language you used to implement your component on (currently you can use C, C++, Java and Perl to write your components, it does not matter, as all of them will be able to talk to the others)
For example, we wanted to extend the drawing capabilities of Gnumeric, so instead of writing yet-another-half-cooked-vector-drawing-program on top of Gnumeric, we are working with the Dia guys (and in the future with the Sodipodi hackers) to use their editing engine inside Gnumeric.
This is thanks to the fact that we can have arbitrarily-shaped compound document embedding in GNOME, so when you insert a vector-based drawing into your spreadsheet, this drawing is not going to be even handled by the spreadsheet, it is handled by an actual full-blown application that does nothing but specialize on this specific task.
Reusable software components are not limited to visual components, nor embedding information. You can even have completely GUI-less components.
But your point is a valid point, we believe that it took proprietary companies 20 years to produce a few productivity applications, and they are not that fully featured, and they are not that impressive anyways. Specially, as the result is buggy software that slowly improves.
With the current proprietary tools, the whole world is waiting and depending on a few small teams around the world to provide them with their software solutions.
We are building applications that will go beyond the existing offerings: both in usability, simplicity and power. And to do this, we need to avoid the approach of building monolithic applications but rather have small applications cooperating with each other. This is pretty much like the original Unix spirit: write simple tools that do one thing correctly, and have this tool inter-operate with other tools. We have just taken the small tools to the next level: communication can be N-way and the information you exchange is rich and attribute tagged, rather than being free-text (this is the difference between HTML and XML).
You can learn more about the details of Bonobo in my Bonobo technical description.
Also, you have to keep in mind that component programming really goes hand in hand with the way Free Software is developed. With components you can isolate tasks into a module that can be easily understood and digested by a small team of programmers, instead of forcing your programmers to learn how an entire system works.
Given that free software contributors might not be able to commit to work on a project for a long time nor for a given number of hours a week (because of school, personal obligations, or other activities) it makes sense to isolate the tasks. You can then restructure components without affecting the other applications, or you can rewrite them, or you can upgrade them or you can change its behavior to work in different conditions (scalable service or doing work to simplify the code for mobile purposes).
Bonobo/CORBA fulfills the objective of having reusable software that can be shared across applications. Components go one step beyond the traditional object oriented mechanism for software reuse, as components can be implemented in any language, programmers do not depend on using a specific language or a specific application framework that is tied to a language to use components, they can choose the language and programming environment that better reflects their project needs.
Given the nature of Bonobo/CORBA of being language independent, you get the benefits that object oriented programming was designed to solve in a cross-language form.
So GNOME is developing and deploying the framework to create a component infrastructure for free systems to use, an infrastructure in which we will build the future applications. Remember, we are not in the business of selling the same application every two years, but in the business of solving the problem.
Bonobo is still a work in process project, and although various applications already use it (Gnumeric, Evolution, Glade, Nautilus, libGlade, ggv, eog, and gpdf) we are not yet ready to freeze its API.
GNOME has made a lot of advancements on the "traditional" interface front (I mean all of Xerox-derived WIMP land), both in the "easy (or efficient) to use" and "easy to learn" departments. I find case after case, subtle and not-so-subtle, where GNOME is markedly better with its main competition, Windows and Mac. My favorite example of this is Evolution -- can't wait to try it. Evolution may finally tear me away from textmode mail clients....mmmm, query-able databases :)
My question is, where do you see GNOME as fitting in to more groundbreaking user interface research? Not that anyone expects the GNOME team to start pondering lexicons for 3D interfaces (or are you contemplating such things!?!). But there's lots of crazy stuff that still goes on in traditional, 2D interface design. A lot of recent research has been in terms of PDA interface design. Do you see GNOME, with its obvious advantages of modularity and scalability, as having a role to play in that arena?
And what about fundamental changes to the way we use our desktops? I for one haven't really changed at all since the days when I used fvwm1. Sure, things have gotten much prettier, and more applet-filled :) but I'm doing fundamentally the same things, and none of the various ways of configuring things (GNOME + sawmill = many ways of configuring things) have so far seemed particularly radical or any more efficient.
How 'bout the rest of the folks? Anyone done anything truly funky with sawmill? A Turing-complete wm is a fun place to start ....
Miguel:
I definitely see GNOME playing an important role in innovative user interfaces. As I mentioned before, the GNOME foundation, the GNOME applications and the GNOME tools help users get closer to their final goal. For example, it is a lot easier to write an accounting system if you have the proper database libraries and user interface libraries than rolling your own.
So GNOME is this foundation you can start building from, and it is a foundation you can improve (given its open source/free software nature).
There are now people working on different dimensions with GNOME: from new and innovative user interfaces, to productivity applications, to embedding GNOME into small devices, to building component-based software and more.
I understand that for a seasoned Unix user GNOME might not bring a new paradigm for their way they work, but you have to think differently. You have to think how many people have or will be able to run free software on their desktops because it is easier to use.
We do plan on continuing improving GNOME, and catering to the needs of the people who are just starting to use computers and just starting to use GNU/Linux.
When did it take off?
by UrukWhen was it exactly that you knew (or had the feeling) that GNOME was a project that was going somewhere? Free software projects start with no guarantee of popularity, and for every GNOME, there's 1000 totally unknown applications.
Was there a particular application or library or component of GNOME after which you knew GNOME was going to be successful or in general "something special"? What did the GNOME project do that prevented it from sinking into obscurity like so many other free software projects?
Miguel:
I do not know if I ever thought of it that way. You have to understand that when we started the project, what we had in our minds was defending the freedom of software, and not allowing the future of GNU/Linux to be jeopardized by having its user interface be proprietary. Back when the project started I was working happily with my friend Ralf Baechle on the Linux/MIPS port for SGIs.
There are many other reasons that motivated the various members of the GNOME team to work on it: from freedom concerns, to personal joy, to friendship building, to helping other fellow humans to creating the best possible software out there, to learn how to do things and solve problems. And I bet there are many other reasons to do so.
Avoiding sinking I guess was a matter of a lot of hard work from all the involved parties, I do not think I have taken a lot of breaks from working on free software since the GNOME project started. It has been for me a non-stop effort since we began with perhaps three weeks of vacations total.
Also the Red Hat support back in the original days of the project was also very motivating, as they had the same concerns we had regarding the future of a fully-free system. They assembled a team that to this very day is working on GNOME and making the GNOME infrastructure more reliable, robust and usable: from coordinating GNOME documentation to maintaining the core libraries, to creating the new ultra kick-ass Pango architecture.
The GNOME team is large, and I can not speak for all of them, but I do love each and every contributor to GNOME, and I owe beers to them all. I actually, owe them more, but I don't want to go broke.
I love GNOME, but one thing that I really miss is good integration of sound. Let me be clear... I'm not just talking about blips and burps to coincide with user clicks on the standard window widgets... I want it to be easy for application developer to add in audio aspects to their applications UI presentation.
For example -- if I was developing a word processor, I'd want it to be straightforward for me the developer to add a pleasing click with each word that is highlighted.
I understand there are some technical problems to be solved here, but there are more than enough sharp people working on GNOME to make good sound UI happen -- if it is made a priority. I admit that I'm pretty ignorant as to how GNOME is approaching sound. Could you fill me in (and hopefully reassure me)?
Miguel:
I am not very up to date on the discussions on the sound architecture for GNOME. I know that currently we use ESound, and we provide an API for playing sounds to applications, but as your post suggests, attacking the problem correctly and coming up with a design that addresses the various requirements and needs from various sources is not a trivial problem.
And this is part of the discussions we have had these last few days on the GNOME-devel mailing list. If you have ideas that you want to contribute to, I encourage you to join the list, and help with ideas, code, or time the people who are working on this.
Mexico and OSS
by VoxHola, Miguel
As a fellow Mexican I want to know...what do you think is the impact of OSS in our country? I know all about the project of putting a whole bunch of Linux boxes in schools, so that's nice, but...what about developers? I don't really remember more than a couple of names of Mexican developers besides yours, which, in a way, also means that we don't have as much advocacy/knowledge about OSS in Mexico as we should (the MS tax kills easier here than in the U.S., for obvious reasons).
I guess as part of that question...what do you think should be done to "push" more developers into OSS here in Mexico?
Gracias por un excelente trabajo para todos nosotros.
Miguel:
I believe that Free Software will help countries with developing economies (like Mexico) to get a competitive advantage that they have lacked for so long. Most of these countries missed the industrial revolution, and for one reasons or another, they depend on external technology to keep up with the times.
Free Software helps in the fraction on depending on external technologies. For example, countries with developing economies can now avoid depending on proprietary software: they can keep the money they spent on proprietary software to themselves, and use it to either develop themselves, or they can use that money to produce free software that will solve their problems (and hopefully other countries problems).
The case of Mexico is the one I am most familiar with: Mexico does produce very little technology, depends a lot on foreign technology and pretty much our main exports are raw materials. Raw materials are extremely cheap (and in some cases it took nature a few million years to produce). For example, a barrel of petrol costs about $25 these days, and a copy of Microsoft Office and Microsoft Windows 2000 costs around $700. Which means that for each copy of Office+Windows 2000 the country is paying with 24 barrels of petrol.
Of course, it is not very easy to do a transition to free software in these countries (as it is not easy anywhere else), but the people governing the developing countries have the responsibility to their people of making the right decisions, and the right decision when it comes to software is not proprietary software.
In general, I believe that we must become software producers (and also technology and innovation producers), and not just consumers. Becoming free software users is a good first step, the next step is to become software producers.
The beauty of free software and GNOME is that part of the freedoms you receive is the freedom to learn from other people's techniques, strategies, and focus on problem solving. Something that has been unheard of in this industry (although it is a pretty common thing in science). So people have a chance to join the effort, and be part of the team of people that are producing knowledge, culture and as a result wealth.
Many smart people on the educational system realize this and that is why GNOME and free software have been very well received on the educational markets, and we are very happy to help them to provide the applications they need.
People should also know that the multi-million dollar efforts to bring computers into every classroom in Mexico and other countries should be equipped with Free Software/Open Source software. And encourage these people to become creative and become part of the creation process rather than just be users of pre-packaged solutions.
Will GNOME implement an API for installers to use? One thing that helps Windows is a common installer so that most software you put on your system is pretty easy to get on. You just click on the executable and then it installs. With GNOME's goal being to make a user-friendly system do you see this as part of that?
Miguel:
GNOME has a few applications for attacking this problem (the GIP), but the problem these days is not just being able to easily install applications, the problem is the slight, subtle and tricky fragmentation of the GNU/Linux distributions.
For example, Helix Code is shipping a pre-built GNOME for various platforms. Although we would love to just compile the code in a specific system and have it installed on the other distributions, it is not possible.
Hopefully the effort to create a standard GNU/Linux base will in the future get rid of this problem, but for now, you are right, it is a real problem and the one that might hurt more the deployment of free software.
Also Helix Code has an installer and an updater that we hope in the future will be turned into generic installer/updater programs that other people can use.
handicapped accessibility and GNOME (Score:5, Interesting) by esj at harvee
I would be interested to find out what are GNOME project's plans for handicapped accessibility. As it currently stands, GNOME is only usable by people with fully functioning eyes and hands. It would be nice to hear how GNOME will address handicapped accessibility for:
visual impairments
mobility impairments
hearing impairmentsMiguel:
I know that we have added patches to a few applications to make them usable for visual impaired people and that there are a few applications for GNOME that do address this problem.
I know that Paolo has an infrastructure for visually-impaired people to use with GNOME, and that it hooks to various GNOME applications, but I have not seen this in action myself.
But we are open to extending and changing GNOME in the ways that are required for handicapped accessibility.
Print / display font unification
by elflordHi. As the author of the font HOWTO, one issue I've had to address is the lack of a WYSIWYG font system. It boils down to what I think of as the WYSIWYG Typography Problem -- which is this: show me some code that reliably displays a typeface on the screen, and prints text using the same typeface ( at a printer resolution, of course ).
The problem, of course, is that the printing (usually ) goes through ghostscript, while the screen fonts are handled by X11, which operates independently of ghostscript. However, given a screen ( ie X11 font ), there is no canonical way to get the corresponding outline file (pf[ab]|ttf) or the detailed metric information ( such as kerning ). This problem is quite deep in some sense, because the fact that the X client and X server run on different machines means they may not have the same typefaces available. In short, Linux's right hand does not know what it's left hand is doing when it comes to font management.
Applications such as Star Office and Applixware "solve" this problem by using a text configuration file that basically consists of a catalogue of mappings from screen fonts ( in particular, XFLDs ) and printing fonts ( including outline files, metric files and the printer font name ). While these solutions are all more or less satisfactory in their own right, there are too many of them -- we need one GUI font manager that all apps can share.
It is very unfortunate that there are several incompatible solutions to the problem, because it means that the Linux user needs to install their typefaces once for each WYSIWYG app they need. A standard would be a very good thing. Personally, I like the idea of a well documented XML configuration file that could be used by any app regardless of the GUI API used.
In conclusion, my question is this -- What are GNOMEs plans for attacking the WYSIWYG typography problem? And will the solution be GTK/GNOME specific?
Miguel:
There are many-fold, and it is a bit long to explain, but here I go.
You got all the basic problems right. And this is indeed the problem.
* The solution: the solution we have planned consists of using client-side rendering (there are a bag of tricks for making this efficient, if you are interested in these I can explain, but for the sake of the discussion, assume "efficient").
The basic idea is that we want to reuse the code from GnomePrint to load, parse and render type1 fonts. Add support on top of that for TrueType fonts and use those fonts for rendering on the screen and rendering them on the printer.
The core of the idea is: ignore the X fonts as they are useless anyways, and use the system installed Type1/TrueType fonts. And they are useless for a number of reasons: they are only available as bitmaps, not as outlines, and the font naming scheme is basically useless.
* Rendering outline-based fonts (TrueType/Type1) on the screen: Now, this posses the problem of outline fonts looking very bad at low resolutions (for example 12 pixels), and given the patents surrounding hinting in TrueType, it is not clear that we can just use these font technologies alone.
What needs to happen is that someone needs to implement the Hobby algorithm for coming up with beautiful bitmaps from the outline fonts. It is my understanding that someone from the FreeType team had been working on this
* The current approach: Gnome Print currently only pays attention to Postscript fonts, and uses those fonts. And it contains a setup for "guessing" a good match for the screen presentation, but this is far from optimal and will be replaced.
* The Pango project is attacking a load of other issues when it comes to fine typography and rendering of non-Latin1 characters.
Pango will be a standard component of the GNOME 2.0 development platform, at that point the Gnome Print will use Pango.
When I first started using Linux (about a year ago), what impressed me the most was that you weren't locked into a single, all-encompassing solution. Everything was (and is) so modular. Tools like grep, ls, cat, head, etc. and the use of pipes just seemed so refreshing to me, someone who had been using MS-DOS (including Win95) for as long as I can remember. Even in the GUI, there was the display server, the font server, the window manager...
I see desktop environments as being very contradictory to the traditional UNIX philosophy of "do one thing, but do it very well". We have the two leading desktop environments, Gnome and KDE, which are rapidly expanding to include everything under the sun. Is an office suite really part of a desktop environment? Is an email client? Terminal emulator? Web browser?
Personally, I think the answer is no. I want the freedom to choose my desktop shell, my e-mail client, my Web browser, and my office suite.
To get to the point, my question is this: do you believe that the notion of a "Complete Desktop Environment" contradicts the traditional UNIX philosophy? If so, why do you feel the need to change something that has obviously worked so well for so long?
If you would like to know, I would personally prefer that Gnome consist of the panel and shell ONLY, and then we could have something like Helix which could package the panel and shell with a nice browser (branded mozilla maybe), window manager (sawmill or e), etc. I definitely believe there is a need for an open-source office suite, but I think the development should go on outside of Gnome or KDE core.
The objective of the GNU project was to create a fully free operating system. The definition of operating system that Richard used back when he stated was something like "All the things you need to get your work done", or something like that.
Miguel:
If you want to call that GNOME, or you want to call it GNOME Office, or "The Thing" it is really a naming issue. The objective we have is to enable all users to replace a proprietary system on their desktop with our solution.
The fact that internally GNOME is composed of various modules is something that some users do not care, and seasoned users like you can easily configure, customize, replace and change.
So I do not believe there is a problem in GNOME attacking more problems than just being "a panel".
You have to keep in mind that GNOME is an umbrella project that includes the GNOME development platform, the GNOME desktop, and various GNOME-based applications.
Remember: we are doing components here, and you are free to choose the components that you want for your environment.
Best wishes, Miguel.
-
Miguel de Icaza Tells All!
In his responses to the Slashdot interview, Miguel shares the deadly truth about GNOME, the shocking story of the future of Bonobo and CORBA, and the titillating tale of adventure and intrigue that lies deep within the bowels of popular Free Software development projects. Okay, so it's not all that shocking, but Miguel has brought us some really great news and answers from his neck of the open source woods.Printing and GNOME
by datazonePrinting and printer support is a major issue with the Linux desktop. How do you plan to address this in GNOME in the future? Or do you believe that it should be addressed in a lower level than at the desktop?
Miguel:
This is a very interesting question.
We have been working on the GNOME printing architecture, which so far consists of an imaging model, and some user interface elements for applications to use.
The GNOME printing architecture is interesting as it provides:
1. A postscript imaging model for programmers to use.
2. On top of the Postscript imaging model we added alpha transparency (and as an added bonus we also added anti-aliasing).
3. Native drivers (no need to generate Postscript first and manually process with Ghostscript a file for your printer, which has many problems from the user perspective, from the efficiency point of view, and from the quality point of views).
Currently the GNOME printing architecture includes a Postscript driver, an on-screen preview driver, a generic RGB driver (that can be used to generate images), a meta-file driver, and a black-and-white HP PCL driver (which needs work, and yes, we could use some help making more native drivers ;-).
Now, GNOME Print alone is not enough, it needs to be tied with the spooling system as well and have access to the features of a particular printer. So the GNOME printing system needs to integrate with these systems. We have been talking to the various people working on these projects, and GNOME print will integrate with a variety of spooling systems.
For example, GNOME print and the VA, and TurboLinux efforts for a printing architecture are complementary, so there is a good chance it will be our first spooling back-end.
So just to re-iterate, the printing problem can be divided in:
1. Application API for rendering data.
2. A spooling system: a way to query the printer queue, control the printer queue.
3. A printer capability system: which would let applications and users use the various features available in their printer.
4. User interface elements for enabling programmers to make the most out of the above features.
GNOME print is only attacking (1) and (4), and we are working with other people to provide a complete solution to the printing problems in Free systems.
Okay, alright....answer this HONESTLY
by SgtPepperJust how well do you and the KDE guys REALLY get along....don't you GNOME people ever just want to get together all the Nerf gear you can and stage an all out war?
Seriously though, how much communication really does go on between the two camps? I would imagine at least some must if you and the KDE camp are to maintain interoperatability.
Miguel:
We talk in various mailing lists about these issues. For example, the wm-spec-list is very close to releasing a joint specification for window manager features that both GNOME and KDE can use.
On the other hand, I do personally like a lot some of the KDE developers like Kalle, Torben and Matthias. I have had the chance of meeting Kalle more times than any other of the KDE developer.
Also, recently an effort has been started to share widgets across Gtk+ and Qt. Both projects will announce the details when there is a more concrete plan about it.
But all in all, it is important that we agree on file formats for documents, which is what end users are exposed to.
User interface importance?
by zhobsonFirst off, I'd like to say that I love GNOME, it's been my primary environment since 1.0 was released.
Now then, how do you think GNOME will evolve in terms of usability? GNOME has certainly conquered the stability mountain (anyone who argues otherwise probably isn't using release versions), which is almost certainly a side-effect of the Free Software development model. However, while Free Software is generally powerful and easy to use for experienced users, it's not generally the kind of thing a novice can operate easily.
I remember hearing about a "usability group" or something like that for GNOME, to concentrate on interface issues. This is a great idea, but I haven't heard much about this group since then. Are modern user-interface issues a concern for GNOME,or is it mainly trying to match the interface conventions of other popular GUIs (like NeXT, MacOS and Windows)?
We started the GNOME User Interface improvements projects last year.
During the initial development of GNOME, we did not have a lot of time to discuss and incorporate ideas that flooded constantly. But later we realized that many genuinely good ideas were dropped because we did not have time to implement them at the pace they were coming (the standard reply in the early days of GNOME was `Want something changed? send a patch'. And we have basically changed this)
So the User Interface Improvements project was started to address this problem. It is coordinated by Jim Cape, and he works with other users and programmers to bring these usability changes into GNOME.
The UI team has been focusing on usability of the GNOME desktop by taking the input from the community. They are assembling and cataloging the suggestions for improving GNOME as well as providing mock-ups of how various GNOME tools could be improved.
As a result, I believe we are a lot more receptive to people's input than we were before, and this is something we want to keep enhancing as time passes.
Now, it is very hard to come up with good user interfaces. So there is definitely an element of copying existing interfaces. User interfaces and paradigms that are known to work and bring them to free software. But this is not stopping anyone from contributing new ideas and new user interface elements that can be incorporated into the system.
Contrast this with the people who want to reinvent computing as we know it (you can identify them at parties because they will start their senteces with `What is computing anyways?'). The GNOME project is not in this realm, but we would gladly take all the good ideas that both research and production communities produce and we will incorporate them. What we have not tried to do is become a user interface research project.
That being said, you have to keep in mind that it is very hard to start innovating user interfaces if you have zero lines of code. With the current GNOME system as it stands you can start from a working application that has already a few thousand lines, and work towards innovation.
It is like trying to design a car trying to ignore all the knowledge on mechanism, thermodynamic and engineering that has been accumulated over the years. It is a simpler task to innovate if you use the existing knowledge. As Isaac Newton said, you can view a lot further away because you are standing on the shoulders of giants.
For example, it is easier to innovate user interfaces for a spreadsheet once you have a fully working product (so that you can just remove the part you think can be removed, and plug your new code there), rather than trying to innovate the user interface and having to build all the infrastructure.
There are various companies that are working together with GNOME now, and they are bringing their expertise from their previous experience, which is very good for improving the general usability of GNOME (Eazel).
Andy is someone I really like for his vision on how computers should work, and his special attention to the end user.
Talking to him has changed a lot my view on what GNOME should be. In the beginning I thought "We need a desktop for free systems", now I think "We need the perfect user interface for end users to use on a free system". Achieving the best user/computer interface is a goal that many of us share.
But this is just a first step, we are of course working and integrating the ideas that will define the desktop computer of the future.
C++/Java/CORBA/Components/Frameworks (Score: 5, Interesting) by PureFiction
Do you see object oriented design and implementation playing any part in GNOME's future?
The architecture of GTK/GNOME is technically somewhat object oriented, however, without all of the benifits of an object-oriented language (at least the parts written in C).
It would seem to me that as the scope and size of the GNOME project increases, it would be increasingly advantageous to use C++ or Java with much more CORBA support and more structured design (UML design models?) for reference by the developers. Standard components and frameworks would also fit well into this type of extension.
Do you see GNOME increasing in complexity and size to the point where these types of development techniques would be required?
Miguel:
Yes, there is a lot of object oriented design going on in GNOME.
On using UML for modeling various components in GNOME:
Recently there has been a boom in creating UML diagrams for various GNOME components (particularly for new applications) as our Diagram application has become mature (http://www.gnome.org/gnome-office/dia.shtml).
Various GNOME module authors have different preferences on what languages they want to use, and it will be up to each of them to choose the language they want to use for their own modules. I myself want to use Python more and want to use Java more in my own developments.
Although, just because some of our code is written in C, does not mean you are left out of paradise.
Now, a big push right now within the GNOME effort is to use Bonobo components, which are basically reusable components built on top of CORBA, with a set of standard interfaces for component programming.
Outlook Interoperability with Evolution
by CybersonicMy question actually has to do with Evolution, the upcoming Outlook killer.. :)
Will GNOME serve (Evolution) information to MAPI clients? Would be a nice way to get rid of those Exchange servers sitting in most companies' server rooms...
Miguel:
Evolution is probably the most exciting application that is being developed in the GNOME world right now.
First, Evolution is based entirely on Bonobo components. It is one of GNOME's proving grounds for component-based programming. We have spent over a year developing the Bonobo component model, and in Evolution it's beginning to pay off in a big way. Each component in Evolution (mail, calendar, tasks, notes, contacts) is a Bonobo component, fully CORBA accessible (to enable automation and scripting of applications, and yes, it is secure. We do not feed any unsecured data into components, in case you were wondering).
The component-based pluggable architecture means that we can make Evolution into a universal communicator. So, yes, we have every intention of integrating with Exchange environments. Picture an office populated by Outlook clients and an Exchange server or a Lotus Notes server; we can infiltrate that place from the bottom up by making Evolution talk to those Exchanges or Notes servers. Clients can upgrade to Evolution one by one, without the requirement of a top-down organizational decision to dump Microsoft.
This is how GNU/Linux won. This is how we will win.
But the beauty of Evolution's architecture goes much further. It is the first communications tool designed for modern users like the free software community. The free software community stays in touch thanks to e-mail and as we grow, we need more powerful and efficient tools to handle our communication loads.
For example, I receive about 2500 mails a day. Even with procmail and Gnus, filters, scoring and lots of complex scripts, I still spend about four hours a day on e-mail related tasks. And it is pretty hard to find information on the gigabyte of mail that I have archived over the last few years. Traditional mail tools are not keeping up with the demands of modern Internet citizens like myself.
We believe that the mail loads that most free software developers are handling these days are going to become the norm for normal users in the future as the Internet becomes more ubiquitous and e-mail becomes the tool of choice for communication.
Evolution scales to mammoth mail loads perfectly, though. The hackers in the Evolution team designed the entire system to scale: we avoid copying data wherever possible, we never load the whole message into memory even over IMAP, and we used asynchronous interfaces across the board.
Now, the real beauty is that we index all of the mail as we incorporate it into our mailboxes. Dan Winship wrote this beautiful indexing library called libibex which we use for indexing and Michael Zucchi is working together with him in our vFoldering setup. So you can treat all of your archived mail as a giant database, and perform queries on it (think "Altavista for your mail"). So you will finally be able to find information in your mailbox, and you will finally be able to keep track of things.
And then you can save that query as a "virtual folder" (vFolder). So in fact your folders are actually the results of searches on your mail.
Also every element in evolution can be annotated and annotations can be cross referenced, so you can keep track of your contacts, your tasks and your information flow more easily.
And that's just part of the whole system. We are working on fully networked calendaring and contact management, too. So you can schedule appointments with people over the Internet, and have servers storing address-books. We are going to have a gnome.org Evolution server with all of the address-book entries for all the GNOME hackers.
The system is still under development, of course, but it's the most fun thing to hack on, and we are applying a lot of the tricks we have learned over the past years and enjoying the result.
Evolution is not only limited to handling the standard Personal Information Management features, but through Bonobo components you can plug any sort of communication system and have it integrated with the rest of the system. So hopefully, your irc conversations will also be fully indexed, as well as any other personal messaging system that ships with Bonobo support.
Think "deep integration" and think "I can find that e-mail".
If you want to learn more about Evolution, I suggest you check its Web page here, and as with every other free software project, we would love to see you join the effort, and help us get this out and deployed.
WM interchange
by WubbyThe arguments over Linux Desktop adoption are well know. IMHO, I agree with the strength in diversity reasoning and WOULDN'T like to see GNOME/KDE/Other merge developement regardless of the benefits.
Despite this, do you think WM developers would work towards a set of interface or API standards (to facilitate interoperability) or would this place to great a restriction on innovation and the developement process?
Miguel:
Definitely. The WM spec list has been working for a few months on getting an inter-operable window manager specification for developers to use (and both KDE and GNOME as well as the various active window manager maintainers are contributing to this effort).
How important is COM-like architecture?
by PikeIt seems that the GNOME effort is throwing an awful lot of resources at a component-ized architecture (Bonobo) which aims to do for *nix what COM and ActiveX/OLE did for Windows. And yet it just doesn't seem necessary. I know it's possible for me to insert an Excel spreadsheet into a Word document, but I haven't used that feature in recent memory. None of the documents I exchange with co-workers do, either. Is Bonobo really very necessary? What does bonobo bring to the Linux desktop that users are crying out for, and how is its heavy consumption of development resources justified?
Miguel:
Bonobo is a mechanism for creating reusable software components as well as enabling users to talk to the components through a standardized programatic interface (CORBA).
As I have mentioned in the past, the GNOME project has focused strongly on building a solid infrastructure for people to use, and component programming is just another part of this equation.
The core idea of software reuse and software components is that you can reuse what other programmers did and there is a very precise contract on what the component provides, and the API it exports that you can use to talk to it (Brad Cox used to talk about Software IC, and I am convinced that Software IC did not come in the shape he expected, but in the shape of components).
Also, by writing components, you can mix and match the components: it does not matter which language you used to implement your component on (currently you can use C, C++, Java and Perl to write your components, it does not matter, as all of them will be able to talk to the others)
For example, we wanted to extend the drawing capabilities of Gnumeric, so instead of writing yet-another-half-cooked-vector-drawing-program on top of Gnumeric, we are working with the Dia guys (and in the future with the Sodipodi hackers) to use their editing engine inside Gnumeric.
This is thanks to the fact that we can have arbitrarily-shaped compound document embedding in GNOME, so when you insert a vector-based drawing into your spreadsheet, this drawing is not going to be even handled by the spreadsheet, it is handled by an actual full-blown application that does nothing but specialize on this specific task.
Reusable software components are not limited to visual components, nor embedding information. You can even have completely GUI-less components.
But your point is a valid point, we believe that it took proprietary companies 20 years to produce a few productivity applications, and they are not that fully featured, and they are not that impressive anyways. Specially, as the result is buggy software that slowly improves.
With the current proprietary tools, the whole world is waiting and depending on a few small teams around the world to provide them with their software solutions.
We are building applications that will go beyond the existing offerings: both in usability, simplicity and power. And to do this, we need to avoid the approach of building monolithic applications but rather have small applications cooperating with each other. This is pretty much like the original Unix spirit: write simple tools that do one thing correctly, and have this tool inter-operate with other tools. We have just taken the small tools to the next level: communication can be N-way and the information you exchange is rich and attribute tagged, rather than being free-text (this is the difference between HTML and XML).
You can learn more about the details of Bonobo in my Bonobo technical description.
Also, you have to keep in mind that component programming really goes hand in hand with the way Free Software is developed. With components you can isolate tasks into a module that can be easily understood and digested by a small team of programmers, instead of forcing your programmers to learn how an entire system works.
Given that free software contributors might not be able to commit to work on a project for a long time nor for a given number of hours a week (because of school, personal obligations, or other activities) it makes sense to isolate the tasks. You can then restructure components without affecting the other applications, or you can rewrite them, or you can upgrade them or you can change its behavior to work in different conditions (scalable service or doing work to simplify the code for mobile purposes).
Bonobo/CORBA fulfills the objective of having reusable software that can be shared across applications. Components go one step beyond the traditional object oriented mechanism for software reuse, as components can be implemented in any language, programmers do not depend on using a specific language or a specific application framework that is tied to a language to use components, they can choose the language and programming environment that better reflects their project needs.
Given the nature of Bonobo/CORBA of being language independent, you get the benefits that object oriented programming was designed to solve in a cross-language form.
So GNOME is developing and deploying the framework to create a component infrastructure for free systems to use, an infrastructure in which we will build the future applications. Remember, we are not in the business of selling the same application every two years, but in the business of solving the problem.
Bonobo is still a work in process project, and although various applications already use it (Gnumeric, Evolution, Glade, Nautilus, libGlade, ggv, eog, and gpdf) we are not yet ready to freeze its API.
GNOME has made a lot of advancements on the "traditional" interface front (I mean all of Xerox-derived WIMP land), both in the "easy (or efficient) to use" and "easy to learn" departments. I find case after case, subtle and not-so-subtle, where GNOME is markedly better with its main competition, Windows and Mac. My favorite example of this is Evolution -- can't wait to try it. Evolution may finally tear me away from textmode mail clients....mmmm, query-able databases :)
My question is, where do you see GNOME as fitting in to more groundbreaking user interface research? Not that anyone expects the GNOME team to start pondering lexicons for 3D interfaces (or are you contemplating such things!?!). But there's lots of crazy stuff that still goes on in traditional, 2D interface design. A lot of recent research has been in terms of PDA interface design. Do you see GNOME, with its obvious advantages of modularity and scalability, as having a role to play in that arena?
And what about fundamental changes to the way we use our desktops? I for one haven't really changed at all since the days when I used fvwm1. Sure, things have gotten much prettier, and more applet-filled :) but I'm doing fundamentally the same things, and none of the various ways of configuring things (GNOME + sawmill = many ways of configuring things) have so far seemed particularly radical or any more efficient.
How 'bout the rest of the folks? Anyone done anything truly funky with sawmill? A Turing-complete wm is a fun place to start ....
Miguel:
I definitely see GNOME playing an important role in innovative user interfaces. As I mentioned before, the GNOME foundation, the GNOME applications and the GNOME tools help users get closer to their final goal. For example, it is a lot easier to write an accounting system if you have the proper database libraries and user interface libraries than rolling your own.
So GNOME is this foundation you can start building from, and it is a foundation you can improve (given its open source/free software nature).
There are now people working on different dimensions with GNOME: from new and innovative user interfaces, to productivity applications, to embedding GNOME into small devices, to building component-based software and more.
I understand that for a seasoned Unix user GNOME might not bring a new paradigm for their way they work, but you have to think differently. You have to think how many people have or will be able to run free software on their desktops because it is easier to use.
We do plan on continuing improving GNOME, and catering to the needs of the people who are just starting to use computers and just starting to use GNU/Linux.
When did it take off?
by UrukWhen was it exactly that you knew (or had the feeling) that GNOME was a project that was going somewhere? Free software projects start with no guarantee of popularity, and for every GNOME, there's 1000 totally unknown applications.
Was there a particular application or library or component of GNOME after which you knew GNOME was going to be successful or in general "something special"? What did the GNOME project do that prevented it from sinking into obscurity like so many other free software projects?
Miguel:
I do not know if I ever thought of it that way. You have to understand that when we started the project, what we had in our minds was defending the freedom of software, and not allowing the future of GNU/Linux to be jeopardized by having its user interface be proprietary. Back when the project started I was working happily with my friend Ralf Baechle on the Linux/MIPS port for SGIs.
There are many other reasons that motivated the various members of the GNOME team to work on it: from freedom concerns, to personal joy, to friendship building, to helping other fellow humans to creating the best possible software out there, to learn how to do things and solve problems. And I bet there are many other reasons to do so.
Avoiding sinking I guess was a matter of a lot of hard work from all the involved parties, I do not think I have taken a lot of breaks from working on free software since the GNOME project started. It has been for me a non-stop effort since we began with perhaps three weeks of vacations total.
Also the Red Hat support back in the original days of the project was also very motivating, as they had the same concerns we had regarding the future of a fully-free system. They assembled a team that to this very day is working on GNOME and making the GNOME infrastructure more reliable, robust and usable: from coordinating GNOME documentation to maintaining the core libraries, to creating the new ultra kick-ass Pango architecture.
The GNOME team is large, and I can not speak for all of them, but I do love each and every contributor to GNOME, and I owe beers to them all. I actually, owe them more, but I don't want to go broke.
I love GNOME, but one thing that I really miss is good integration of sound. Let me be clear... I'm not just talking about blips and burps to coincide with user clicks on the standard window widgets... I want it to be easy for application developer to add in audio aspects to their applications UI presentation.
For example -- if I was developing a word processor, I'd want it to be straightforward for me the developer to add a pleasing click with each word that is highlighted.
I understand there are some technical problems to be solved here, but there are more than enough sharp people working on GNOME to make good sound UI happen -- if it is made a priority. I admit that I'm pretty ignorant as to how GNOME is approaching sound. Could you fill me in (and hopefully reassure me)?
Miguel:
I am not very up to date on the discussions on the sound architecture for GNOME. I know that currently we use ESound, and we provide an API for playing sounds to applications, but as your post suggests, attacking the problem correctly and coming up with a design that addresses the various requirements and needs from various sources is not a trivial problem.
And this is part of the discussions we have had these last few days on the GNOME-devel mailing list. If you have ideas that you want to contribute to, I encourage you to join the list, and help with ideas, code, or time the people who are working on this.
Mexico and OSS
by VoxHola, Miguel
As a fellow Mexican I want to know...what do you think is the impact of OSS in our country? I know all about the project of putting a whole bunch of Linux boxes in schools, so that's nice, but...what about developers? I don't really remember more than a couple of names of Mexican developers besides yours, which, in a way, also means that we don't have as much advocacy/knowledge about OSS in Mexico as we should (the MS tax kills easier here than in the U.S., for obvious reasons).
I guess as part of that question...what do you think should be done to "push" more developers into OSS here in Mexico?
Gracias por un excelente trabajo para todos nosotros.
Miguel:
I believe that Free Software will help countries with developing economies (like Mexico) to get a competitive advantage that they have lacked for so long. Most of these countries missed the industrial revolution, and for one reasons or another, they depend on external technology to keep up with the times.
Free Software helps in the fraction on depending on external technologies. For example, countries with developing economies can now avoid depending on proprietary software: they can keep the money they spent on proprietary software to themselves, and use it to either develop themselves, or they can use that money to produce free software that will solve their problems (and hopefully other countries problems).
The case of Mexico is the one I am most familiar with: Mexico does produce very little technology, depends a lot on foreign technology and pretty much our main exports are raw materials. Raw materials are extremely cheap (and in some cases it took nature a few million years to produce). For example, a barrel of petrol costs about $25 these days, and a copy of Microsoft Office and Microsoft Windows 2000 costs around $700. Which means that for each copy of Office+Windows 2000 the country is paying with 24 barrels of petrol.
Of course, it is not very easy to do a transition to free software in these countries (as it is not easy anywhere else), but the people governing the developing countries have the responsibility to their people of making the right decisions, and the right decision when it comes to software is not proprietary software.
In general, I believe that we must become software producers (and also technology and innovation producers), and not just consumers. Becoming free software users is a good first step, the next step is to become software producers.
The beauty of free software and GNOME is that part of the freedoms you receive is the freedom to learn from other people's techniques, strategies, and focus on problem solving. Something that has been unheard of in this industry (although it is a pretty common thing in science). So people have a chance to join the effort, and be part of the team of people that are producing knowledge, culture and as a result wealth.
Many smart people on the educational system realize this and that is why GNOME and free software have been very well received on the educational markets, and we are very happy to help them to provide the applications they need.
People should also know that the multi-million dollar efforts to bring computers into every classroom in Mexico and other countries should be equipped with Free Software/Open Source software. And encourage these people to become creative and become part of the creation process rather than just be users of pre-packaged solutions.
Will GNOME implement an API for installers to use? One thing that helps Windows is a common installer so that most software you put on your system is pretty easy to get on. You just click on the executable and then it installs. With GNOME's goal being to make a user-friendly system do you see this as part of that?
Miguel:
GNOME has a few applications for attacking this problem (the GIP), but the problem these days is not just being able to easily install applications, the problem is the slight, subtle and tricky fragmentation of the GNU/Linux distributions.
For example, Helix Code is shipping a pre-built GNOME for various platforms. Although we would love to just compile the code in a specific system and have it installed on the other distributions, it is not possible.
Hopefully the effort to create a standard GNU/Linux base will in the future get rid of this problem, but for now, you are right, it is a real problem and the one that might hurt more the deployment of free software.
Also Helix Code has an installer and an updater that we hope in the future will be turned into generic installer/updater programs that other people can use.
handicapped accessibility and GNOME (Score:5, Interesting) by esj at harvee
I would be interested to find out what are GNOME project's plans for handicapped accessibility. As it currently stands, GNOME is only usable by people with fully functioning eyes and hands. It would be nice to hear how GNOME will address handicapped accessibility for:
visual impairments
mobility impairments
hearing impairmentsMiguel:
I know that we have added patches to a few applications to make them usable for visual impaired people and that there are a few applications for GNOME that do address this problem.
I know that Paolo has an infrastructure for visually-impaired people to use with GNOME, and that it hooks to various GNOME applications, but I have not seen this in action myself.
But we are open to extending and changing GNOME in the ways that are required for handicapped accessibility.
Print / display font unification
by elflordHi. As the author of the font HOWTO, one issue I've had to address is the lack of a WYSIWYG font system. It boils down to what I think of as the WYSIWYG Typography Problem -- which is this: show me some code that reliably displays a typeface on the screen, and prints text using the same typeface ( at a printer resolution, of course ).
The problem, of course, is that the printing (usually ) goes through ghostscript, while the screen fonts are handled by X11, which operates independently of ghostscript. However, given a screen ( ie X11 font ), there is no canonical way to get the corresponding outline file (pf[ab]|ttf) or the detailed metric information ( such as kerning ). This problem is quite deep in some sense, because the fact that the X client and X server run on different machines means they may not have the same typefaces available. In short, Linux's right hand does not know what it's left hand is doing when it comes to font management.
Applications such as Star Office and Applixware "solve" this problem by using a text configuration file that basically consists of a catalogue of mappings from screen fonts ( in particular, XFLDs ) and printing fonts ( including outline files, metric files and the printer font name ). While these solutions are all more or less satisfactory in their own right, there are too many of them -- we need one GUI font manager that all apps can share.
It is very unfortunate that there are several incompatible solutions to the problem, because it means that the Linux user needs to install their typefaces once for each WYSIWYG app they need. A standard would be a very good thing. Personally, I like the idea of a well documented XML configuration file that could be used by any app regardless of the GUI API used.
In conclusion, my question is this -- What are GNOMEs plans for attacking the WYSIWYG typography problem? And will the solution be GTK/GNOME specific?
Miguel:
There are many-fold, and it is a bit long to explain, but here I go.
You got all the basic problems right. And this is indeed the problem.
* The solution: the solution we have planned consists of using client-side rendering (there are a bag of tricks for making this efficient, if you are interested in these I can explain, but for the sake of the discussion, assume "efficient").
The basic idea is that we want to reuse the code from GnomePrint to load, parse and render type1 fonts. Add support on top of that for TrueType fonts and use those fonts for rendering on the screen and rendering them on the printer.
The core of the idea is: ignore the X fonts as they are useless anyways, and use the system installed Type1/TrueType fonts. And they are useless for a number of reasons: they are only available as bitmaps, not as outlines, and the font naming scheme is basically useless.
* Rendering outline-based fonts (TrueType/Type1) on the screen: Now, this posses the problem of outline fonts looking very bad at low resolutions (for example 12 pixels), and given the patents surrounding hinting in TrueType, it is not clear that we can just use these font technologies alone.
What needs to happen is that someone needs to implement the Hobby algorithm for coming up with beautiful bitmaps from the outline fonts. It is my understanding that someone from the FreeType team had been working on this
* The current approach: Gnome Print currently only pays attention to Postscript fonts, and uses those fonts. And it contains a setup for "guessing" a good match for the screen presentation, but this is far from optimal and will be replaced.
* The Pango project is attacking a load of other issues when it comes to fine typography and rendering of non-Latin1 characters.
Pango will be a standard component of the GNOME 2.0 development platform, at that point the Gnome Print will use Pango.
When I first started using Linux (about a year ago), what impressed me the most was that you weren't locked into a single, all-encompassing solution. Everything was (and is) so modular. Tools like grep, ls, cat, head, etc. and the use of pipes just seemed so refreshing to me, someone who had been using MS-DOS (including Win95) for as long as I can remember. Even in the GUI, there was the display server, the font server, the window manager...
I see desktop environments as being very contradictory to the traditional UNIX philosophy of "do one thing, but do it very well". We have the two leading desktop environments, Gnome and KDE, which are rapidly expanding to include everything under the sun. Is an office suite really part of a desktop environment? Is an email client? Terminal emulator? Web browser?
Personally, I think the answer is no. I want the freedom to choose my desktop shell, my e-mail client, my Web browser, and my office suite.
To get to the point, my question is this: do you believe that the notion of a "Complete Desktop Environment" contradicts the traditional UNIX philosophy? If so, why do you feel the need to change something that has obviously worked so well for so long?
If you would like to know, I would personally prefer that Gnome consist of the panel and shell ONLY, and then we could have something like Helix which could package the panel and shell with a nice browser (branded mozilla maybe), window manager (sawmill or e), etc. I definitely believe there is a need for an open-source office suite, but I think the development should go on outside of Gnome or KDE core.
The objective of the GNU project was to create a fully free operating system. The definition of operating system that Richard used back when he stated was something like "All the things you need to get your work done", or something like that.
Miguel:
If you want to call that GNOME, or you want to call it GNOME Office, or "The Thing" it is really a naming issue. The objective we have is to enable all users to replace a proprietary system on their desktop with our solution.
The fact that internally GNOME is composed of various modules is something that some users do not care, and seasoned users like you can easily configure, customize, replace and change.
So I do not believe there is a problem in GNOME attacking more problems than just being "a panel".
You have to keep in mind that GNOME is an umbrella project that includes the GNOME development platform, the GNOME desktop, and various GNOME-based applications.
Remember: we are doing components here, and you are free to choose the components that you want for your environment.
Best wishes, Miguel.
-
Miguel de Icaza Tells All!
In his responses to the Slashdot interview, Miguel shares the deadly truth about GNOME, the shocking story of the future of Bonobo and CORBA, and the titillating tale of adventure and intrigue that lies deep within the bowels of popular Free Software development projects. Okay, so it's not all that shocking, but Miguel has brought us some really great news and answers from his neck of the open source woods.Printing and GNOME
by datazonePrinting and printer support is a major issue with the Linux desktop. How do you plan to address this in GNOME in the future? Or do you believe that it should be addressed in a lower level than at the desktop?
Miguel:
This is a very interesting question.
We have been working on the GNOME printing architecture, which so far consists of an imaging model, and some user interface elements for applications to use.
The GNOME printing architecture is interesting as it provides:
1. A postscript imaging model for programmers to use.
2. On top of the Postscript imaging model we added alpha transparency (and as an added bonus we also added anti-aliasing).
3. Native drivers (no need to generate Postscript first and manually process with Ghostscript a file for your printer, which has many problems from the user perspective, from the efficiency point of view, and from the quality point of views).
Currently the GNOME printing architecture includes a Postscript driver, an on-screen preview driver, a generic RGB driver (that can be used to generate images), a meta-file driver, and a black-and-white HP PCL driver (which needs work, and yes, we could use some help making more native drivers ;-).
Now, GNOME Print alone is not enough, it needs to be tied with the spooling system as well and have access to the features of a particular printer. So the GNOME printing system needs to integrate with these systems. We have been talking to the various people working on these projects, and GNOME print will integrate with a variety of spooling systems.
For example, GNOME print and the VA, and TurboLinux efforts for a printing architecture are complementary, so there is a good chance it will be our first spooling back-end.
So just to re-iterate, the printing problem can be divided in:
1. Application API for rendering data.
2. A spooling system: a way to query the printer queue, control the printer queue.
3. A printer capability system: which would let applications and users use the various features available in their printer.
4. User interface elements for enabling programmers to make the most out of the above features.
GNOME print is only attacking (1) and (4), and we are working with other people to provide a complete solution to the printing problems in Free systems.
Okay, alright....answer this HONESTLY
by SgtPepperJust how well do you and the KDE guys REALLY get along....don't you GNOME people ever just want to get together all the Nerf gear you can and stage an all out war?
Seriously though, how much communication really does go on between the two camps? I would imagine at least some must if you and the KDE camp are to maintain interoperatability.
Miguel:
We talk in various mailing lists about these issues. For example, the wm-spec-list is very close to releasing a joint specification for window manager features that both GNOME and KDE can use.
On the other hand, I do personally like a lot some of the KDE developers like Kalle, Torben and Matthias. I have had the chance of meeting Kalle more times than any other of the KDE developer.
Also, recently an effort has been started to share widgets across Gtk+ and Qt. Both projects will announce the details when there is a more concrete plan about it.
But all in all, it is important that we agree on file formats for documents, which is what end users are exposed to.
User interface importance?
by zhobsonFirst off, I'd like to say that I love GNOME, it's been my primary environment since 1.0 was released.
Now then, how do you think GNOME will evolve in terms of usability? GNOME has certainly conquered the stability mountain (anyone who argues otherwise probably isn't using release versions), which is almost certainly a side-effect of the Free Software development model. However, while Free Software is generally powerful and easy to use for experienced users, it's not generally the kind of thing a novice can operate easily.
I remember hearing about a "usability group" or something like that for GNOME, to concentrate on interface issues. This is a great idea, but I haven't heard much about this group since then. Are modern user-interface issues a concern for GNOME,or is it mainly trying to match the interface conventions of other popular GUIs (like NeXT, MacOS and Windows)?
We started the GNOME User Interface improvements projects last year.
During the initial development of GNOME, we did not have a lot of time to discuss and incorporate ideas that flooded constantly. But later we realized that many genuinely good ideas were dropped because we did not have time to implement them at the pace they were coming (the standard reply in the early days of GNOME was `Want something changed? send a patch'. And we have basically changed this)
So the User Interface Improvements project was started to address this problem. It is coordinated by Jim Cape, and he works with other users and programmers to bring these usability changes into GNOME.
The UI team has been focusing on usability of the GNOME desktop by taking the input from the community. They are assembling and cataloging the suggestions for improving GNOME as well as providing mock-ups of how various GNOME tools could be improved.
As a result, I believe we are a lot more receptive to people's input than we were before, and this is something we want to keep enhancing as time passes.
Now, it is very hard to come up with good user interfaces. So there is definitely an element of copying existing interfaces. User interfaces and paradigms that are known to work and bring them to free software. But this is not stopping anyone from contributing new ideas and new user interface elements that can be incorporated into the system.
Contrast this with the people who want to reinvent computing as we know it (you can identify them at parties because they will start their senteces with `What is computing anyways?'). The GNOME project is not in this realm, but we would gladly take all the good ideas that both research and production communities produce and we will incorporate them. What we have not tried to do is become a user interface research project.
That being said, you have to keep in mind that it is very hard to start innovating user interfaces if you have zero lines of code. With the current GNOME system as it stands you can start from a working application that has already a few thousand lines, and work towards innovation.
It is like trying to design a car trying to ignore all the knowledge on mechanism, thermodynamic and engineering that has been accumulated over the years. It is a simpler task to innovate if you use the existing knowledge. As Isaac Newton said, you can view a lot further away because you are standing on the shoulders of giants.
For example, it is easier to innovate user interfaces for a spreadsheet once you have a fully working product (so that you can just remove the part you think can be removed, and plug your new code there), rather than trying to innovate the user interface and having to build all the infrastructure.
There are various companies that are working together with GNOME now, and they are bringing their expertise from their previous experience, which is very good for improving the general usability of GNOME (Eazel).
Andy is someone I really like for his vision on how computers should work, and his special attention to the end user.
Talking to him has changed a lot my view on what GNOME should be. In the beginning I thought "We need a desktop for free systems", now I think "We need the perfect user interface for end users to use on a free system". Achieving the best user/computer interface is a goal that many of us share.
But this is just a first step, we are of course working and integrating the ideas that will define the desktop computer of the future.
C++/Java/CORBA/Components/Frameworks (Score: 5, Interesting) by PureFiction
Do you see object oriented design and implementation playing any part in GNOME's future?
The architecture of GTK/GNOME is technically somewhat object oriented, however, without all of the benifits of an object-oriented language (at least the parts written in C).
It would seem to me that as the scope and size of the GNOME project increases, it would be increasingly advantageous to use C++ or Java with much more CORBA support and more structured design (UML design models?) for reference by the developers. Standard components and frameworks would also fit well into this type of extension.
Do you see GNOME increasing in complexity and size to the point where these types of development techniques would be required?
Miguel:
Yes, there is a lot of object oriented design going on in GNOME.
On using UML for modeling various components in GNOME:
Recently there has been a boom in creating UML diagrams for various GNOME components (particularly for new applications) as our Diagram application has become mature (http://www.gnome.org/gnome-office/dia.shtml).
Various GNOME module authors have different preferences on what languages they want to use, and it will be up to each of them to choose the language they want to use for their own modules. I myself want to use Python more and want to use Java more in my own developments.
Although, just because some of our code is written in C, does not mean you are left out of paradise.
Now, a big push right now within the GNOME effort is to use Bonobo components, which are basically reusable components built on top of CORBA, with a set of standard interfaces for component programming.
Outlook Interoperability with Evolution
by CybersonicMy question actually has to do with Evolution, the upcoming Outlook killer.. :)
Will GNOME serve (Evolution) information to MAPI clients? Would be a nice way to get rid of those Exchange servers sitting in most companies' server rooms...
Miguel:
Evolution is probably the most exciting application that is being developed in the GNOME world right now.
First, Evolution is based entirely on Bonobo components. It is one of GNOME's proving grounds for component-based programming. We have spent over a year developing the Bonobo component model, and in Evolution it's beginning to pay off in a big way. Each component in Evolution (mail, calendar, tasks, notes, contacts) is a Bonobo component, fully CORBA accessible (to enable automation and scripting of applications, and yes, it is secure. We do not feed any unsecured data into components, in case you were wondering).
The component-based pluggable architecture means that we can make Evolution into a universal communicator. So, yes, we have every intention of integrating with Exchange environments. Picture an office populated by Outlook clients and an Exchange server or a Lotus Notes server; we can infiltrate that place from the bottom up by making Evolution talk to those Exchanges or Notes servers. Clients can upgrade to Evolution one by one, without the requirement of a top-down organizational decision to dump Microsoft.
This is how GNU/Linux won. This is how we will win.
But the beauty of Evolution's architecture goes much further. It is the first communications tool designed for modern users like the free software community. The free software community stays in touch thanks to e-mail and as we grow, we need more powerful and efficient tools to handle our communication loads.
For example, I receive about 2500 mails a day. Even with procmail and Gnus, filters, scoring and lots of complex scripts, I still spend about four hours a day on e-mail related tasks. And it is pretty hard to find information on the gigabyte of mail that I have archived over the last few years. Traditional mail tools are not keeping up with the demands of modern Internet citizens like myself.
We believe that the mail loads that most free software developers are handling these days are going to become the norm for normal users in the future as the Internet becomes more ubiquitous and e-mail becomes the tool of choice for communication.
Evolution scales to mammoth mail loads perfectly, though. The hackers in the Evolution team designed the entire system to scale: we avoid copying data wherever possible, we never load the whole message into memory even over IMAP, and we used asynchronous interfaces across the board.
Now, the real beauty is that we index all of the mail as we incorporate it into our mailboxes. Dan Winship wrote this beautiful indexing library called libibex which we use for indexing and Michael Zucchi is working together with him in our vFoldering setup. So you can treat all of your archived mail as a giant database, and perform queries on it (think "Altavista for your mail"). So you will finally be able to find information in your mailbox, and you will finally be able to keep track of things.
And then you can save that query as a "virtual folder" (vFolder). So in fact your folders are actually the results of searches on your mail.
Also every element in evolution can be annotated and annotations can be cross referenced, so you can keep track of your contacts, your tasks and your information flow more easily.
And that's just part of the whole system. We are working on fully networked calendaring and contact management, too. So you can schedule appointments with people over the Internet, and have servers storing address-books. We are going to have a gnome.org Evolution server with all of the address-book entries for all the GNOME hackers.
The system is still under development, of course, but it's the most fun thing to hack on, and we are applying a lot of the tricks we have learned over the past years and enjoying the result.
Evolution is not only limited to handling the standard Personal Information Management features, but through Bonobo components you can plug any sort of communication system and have it integrated with the rest of the system. So hopefully, your irc conversations will also be fully indexed, as well as any other personal messaging system that ships with Bonobo support.
Think "deep integration" and think "I can find that e-mail".
If you want to learn more about Evolution, I suggest you check its Web page here, and as with every other free software project, we would love to see you join the effort, and help us get this out and deployed.
WM interchange
by WubbyThe arguments over Linux Desktop adoption are well know. IMHO, I agree with the strength in diversity reasoning and WOULDN'T like to see GNOME/KDE/Other merge developement regardless of the benefits.
Despite this, do you think WM developers would work towards a set of interface or API standards (to facilitate interoperability) or would this place to great a restriction on innovation and the developement process?
Miguel:
Definitely. The WM spec list has been working for a few months on getting an inter-operable window manager specification for developers to use (and both KDE and GNOME as well as the various active window manager maintainers are contributing to this effort).
How important is COM-like architecture?
by PikeIt seems that the GNOME effort is throwing an awful lot of resources at a component-ized architecture (Bonobo) which aims to do for *nix what COM and ActiveX/OLE did for Windows. And yet it just doesn't seem necessary. I know it's possible for me to insert an Excel spreadsheet into a Word document, but I haven't used that feature in recent memory. None of the documents I exchange with co-workers do, either. Is Bonobo really very necessary? What does bonobo bring to the Linux desktop that users are crying out for, and how is its heavy consumption of development resources justified?
Miguel:
Bonobo is a mechanism for creating reusable software components as well as enabling users to talk to the components through a standardized programatic interface (CORBA).
As I have mentioned in the past, the GNOME project has focused strongly on building a solid infrastructure for people to use, and component programming is just another part of this equation.
The core idea of software reuse and software components is that you can reuse what other programmers did and there is a very precise contract on what the component provides, and the API it exports that you can use to talk to it (Brad Cox used to talk about Software IC, and I am convinced that Software IC did not come in the shape he expected, but in the shape of components).
Also, by writing components, you can mix and match the components: it does not matter which language you used to implement your component on (currently you can use C, C++, Java and Perl to write your components, it does not matter, as all of them will be able to talk to the others)
For example, we wanted to extend the drawing capabilities of Gnumeric, so instead of writing yet-another-half-cooked-vector-drawing-program on top of Gnumeric, we are working with the Dia guys (and in the future with the Sodipodi hackers) to use their editing engine inside Gnumeric.
This is thanks to the fact that we can have arbitrarily-shaped compound document embedding in GNOME, so when you insert a vector-based drawing into your spreadsheet, this drawing is not going to be even handled by the spreadsheet, it is handled by an actual full-blown application that does nothing but specialize on this specific task.
Reusable software components are not limited to visual components, nor embedding information. You can even have completely GUI-less components.
But your point is a valid point, we believe that it took proprietary companies 20 years to produce a few productivity applications, and they are not that fully featured, and they are not that impressive anyways. Specially, as the result is buggy software that slowly improves.
With the current proprietary tools, the whole world is waiting and depending on a few small teams around the world to provide them with their software solutions.
We are building applications that will go beyond the existing offerings: both in usability, simplicity and power. And to do this, we need to avoid the approach of building monolithic applications but rather have small applications cooperating with each other. This is pretty much like the original Unix spirit: write simple tools that do one thing correctly, and have this tool inter-operate with other tools. We have just taken the small tools to the next level: communication can be N-way and the information you exchange is rich and attribute tagged, rather than being free-text (this is the difference between HTML and XML).
You can learn more about the details of Bonobo in my Bonobo technical description.
Also, you have to keep in mind that component programming really goes hand in hand with the way Free Software is developed. With components you can isolate tasks into a module that can be easily understood and digested by a small team of programmers, instead of forcing your programmers to learn how an entire system works.
Given that free software contributors might not be able to commit to work on a project for a long time nor for a given number of hours a week (because of school, personal obligations, or other activities) it makes sense to isolate the tasks. You can then restructure components without affecting the other applications, or you can rewrite them, or you can upgrade them or you can change its behavior to work in different conditions (scalable service or doing work to simplify the code for mobile purposes).
Bonobo/CORBA fulfills the objective of having reusable software that can be shared across applications. Components go one step beyond the traditional object oriented mechanism for software reuse, as components can be implemented in any language, programmers do not depend on using a specific language or a specific application framework that is tied to a language to use components, they can choose the language and programming environment that better reflects their project needs.
Given the nature of Bonobo/CORBA of being language independent, you get the benefits that object oriented programming was designed to solve in a cross-language form.
So GNOME is developing and deploying the framework to create a component infrastructure for free systems to use, an infrastructure in which we will build the future applications. Remember, we are not in the business of selling the same application every two years, but in the business of solving the problem.
Bonobo is still a work in process project, and although various applications already use it (Gnumeric, Evolution, Glade, Nautilus, libGlade, ggv, eog, and gpdf) we are not yet ready to freeze its API.
GNOME has made a lot of advancements on the "traditional" interface front (I mean all of Xerox-derived WIMP land), both in the "easy (or efficient) to use" and "easy to learn" departments. I find case after case, subtle and not-so-subtle, where GNOME is markedly better with its main competition, Windows and Mac. My favorite example of this is Evolution -- can't wait to try it. Evolution may finally tear me away from textmode mail clients....mmmm, query-able databases :)
My question is, where do you see GNOME as fitting in to more groundbreaking user interface research? Not that anyone expects the GNOME team to start pondering lexicons for 3D interfaces (or are you contemplating such things!?!). But there's lots of crazy stuff that still goes on in traditional, 2D interface design. A lot of recent research has been in terms of PDA interface design. Do you see GNOME, with its obvious advantages of modularity and scalability, as having a role to play in that arena?
And what about fundamental changes to the way we use our desktops? I for one haven't really changed at all since the days when I used fvwm1. Sure, things have gotten much prettier, and more applet-filled :) but I'm doing fundamentally the same things, and none of the various ways of configuring things (GNOME + sawmill = many ways of configuring things) have so far seemed particularly radical or any more efficient.
How 'bout the rest of the folks? Anyone done anything truly funky with sawmill? A Turing-complete wm is a fun place to start ....
Miguel:
I definitely see GNOME playing an important role in innovative user interfaces. As I mentioned before, the GNOME foundation, the GNOME applications and the GNOME tools help users get closer to their final goal. For example, it is a lot easier to write an accounting system if you have the proper database libraries and user interface libraries than rolling your own.
So GNOME is this foundation you can start building from, and it is a foundation you can improve (given its open source/free software nature).
There are now people working on different dimensions with GNOME: from new and innovative user interfaces, to productivity applications, to embedding GNOME into small devices, to building component-based software and more.
I understand that for a seasoned Unix user GNOME might not bring a new paradigm for their way they work, but you have to think differently. You have to think how many people have or will be able to run free software on their desktops because it is easier to use.
We do plan on continuing improving GNOME, and catering to the needs of the people who are just starting to use computers and just starting to use GNU/Linux.
When did it take off?
by UrukWhen was it exactly that you knew (or had the feeling) that GNOME was a project that was going somewhere? Free software projects start with no guarantee of popularity, and for every GNOME, there's 1000 totally unknown applications.
Was there a particular application or library or component of GNOME after which you knew GNOME was going to be successful or in general "something special"? What did the GNOME project do that prevented it from sinking into obscurity like so many other free software projects?
Miguel:
I do not know if I ever thought of it that way. You have to understand that when we started the project, what we had in our minds was defending the freedom of software, and not allowing the future of GNU/Linux to be jeopardized by having its user interface be proprietary. Back when the project started I was working happily with my friend Ralf Baechle on the Linux/MIPS port for SGIs.
There are many other reasons that motivated the various members of the GNOME team to work on it: from freedom concerns, to personal joy, to friendship building, to helping other fellow humans to creating the best possible software out there, to learn how to do things and solve problems. And I bet there are many other reasons to do so.
Avoiding sinking I guess was a matter of a lot of hard work from all the involved parties, I do not think I have taken a lot of breaks from working on free software since the GNOME project started. It has been for me a non-stop effort since we began with perhaps three weeks of vacations total.
Also the Red Hat support back in the original days of the project was also very motivating, as they had the same concerns we had regarding the future of a fully-free system. They assembled a team that to this very day is working on GNOME and making the GNOME infrastructure more reliable, robust and usable: from coordinating GNOME documentation to maintaining the core libraries, to creating the new ultra kick-ass Pango architecture.
The GNOME team is large, and I can not speak for all of them, but I do love each and every contributor to GNOME, and I owe beers to them all. I actually, owe them more, but I don't want to go broke.
I love GNOME, but one thing that I really miss is good integration of sound. Let me be clear... I'm not just talking about blips and burps to coincide with user clicks on the standard window widgets... I want it to be easy for application developer to add in audio aspects to their applications UI presentation.
For example -- if I was developing a word processor, I'd want it to be straightforward for me the developer to add a pleasing click with each word that is highlighted.
I understand there are some technical problems to be solved here, but there are more than enough sharp people working on GNOME to make good sound UI happen -- if it is made a priority. I admit that I'm pretty ignorant as to how GNOME is approaching sound. Could you fill me in (and hopefully reassure me)?
Miguel:
I am not very up to date on the discussions on the sound architecture for GNOME. I know that currently we use ESound, and we provide an API for playing sounds to applications, but as your post suggests, attacking the problem correctly and coming up with a design that addresses the various requirements and needs from various sources is not a trivial problem.
And this is part of the discussions we have had these last few days on the GNOME-devel mailing list. If you have ideas that you want to contribute to, I encourage you to join the list, and help with ideas, code, or time the people who are working on this.
Mexico and OSS
by VoxHola, Miguel
As a fellow Mexican I want to know...what do you think is the impact of OSS in our country? I know all about the project of putting a whole bunch of Linux boxes in schools, so that's nice, but...what about developers? I don't really remember more than a couple of names of Mexican developers besides yours, which, in a way, also means that we don't have as much advocacy/knowledge about OSS in Mexico as we should (the MS tax kills easier here than in the U.S., for obvious reasons).
I guess as part of that question...what do you think should be done to "push" more developers into OSS here in Mexico?
Gracias por un excelente trabajo para todos nosotros.
Miguel:
I believe that Free Software will help countries with developing economies (like Mexico) to get a competitive advantage that they have lacked for so long. Most of these countries missed the industrial revolution, and for one reasons or another, they depend on external technology to keep up with the times.
Free Software helps in the fraction on depending on external technologies. For example, countries with developing economies can now avoid depending on proprietary software: they can keep the money they spent on proprietary software to themselves, and use it to either develop themselves, or they can use that money to produce free software that will solve their problems (and hopefully other countries problems).
The case of Mexico is the one I am most familiar with: Mexico does produce very little technology, depends a lot on foreign technology and pretty much our main exports are raw materials. Raw materials are extremely cheap (and in some cases it took nature a few million years to produce). For example, a barrel of petrol costs about $25 these days, and a copy of Microsoft Office and Microsoft Windows 2000 costs around $700. Which means that for each copy of Office+Windows 2000 the country is paying with 24 barrels of petrol.
Of course, it is not very easy to do a transition to free software in these countries (as it is not easy anywhere else), but the people governing the developing countries have the responsibility to their people of making the right decisions, and the right decision when it comes to software is not proprietary software.
In general, I believe that we must become software producers (and also technology and innovation producers), and not just consumers. Becoming free software users is a good first step, the next step is to become software producers.
The beauty of free software and GNOME is that part of the freedoms you receive is the freedom to learn from other people's techniques, strategies, and focus on problem solving. Something that has been unheard of in this industry (although it is a pretty common thing in science). So people have a chance to join the effort, and be part of the team of people that are producing knowledge, culture and as a result wealth.
Many smart people on the educational system realize this and that is why GNOME and free software have been very well received on the educational markets, and we are very happy to help them to provide the applications they need.
People should also know that the multi-million dollar efforts to bring computers into every classroom in Mexico and other countries should be equipped with Free Software/Open Source software. And encourage these people to become creative and become part of the creation process rather than just be users of pre-packaged solutions.
Will GNOME implement an API for installers to use? One thing that helps Windows is a common installer so that most software you put on your system is pretty easy to get on. You just click on the executable and then it installs. With GNOME's goal being to make a user-friendly system do you see this as part of that?
Miguel:
GNOME has a few applications for attacking this problem (the GIP), but the problem these days is not just being able to easily install applications, the problem is the slight, subtle and tricky fragmentation of the GNU/Linux distributions.
For example, Helix Code is shipping a pre-built GNOME for various platforms. Although we would love to just compile the code in a specific system and have it installed on the other distributions, it is not possible.
Hopefully the effort to create a standard GNU/Linux base will in the future get rid of this problem, but for now, you are right, it is a real problem and the one that might hurt more the deployment of free software.
Also Helix Code has an installer and an updater that we hope in the future will be turned into generic installer/updater programs that other people can use.
handicapped accessibility and GNOME (Score:5, Interesting) by esj at harvee
I would be interested to find out what are GNOME project's plans for handicapped accessibility. As it currently stands, GNOME is only usable by people with fully functioning eyes and hands. It would be nice to hear how GNOME will address handicapped accessibility for:
visual impairments
mobility impairments
hearing impairmentsMiguel:
I know that we have added patches to a few applications to make them usable for visual impaired people and that there are a few applications for GNOME that do address this problem.
I know that Paolo has an infrastructure for visually-impaired people to use with GNOME, and that it hooks to various GNOME applications, but I have not seen this in action myself.
But we are open to extending and changing GNOME in the ways that are required for handicapped accessibility.
Print / display font unification
by elflordHi. As the author of the font HOWTO, one issue I've had to address is the lack of a WYSIWYG font system. It boils down to what I think of as the WYSIWYG Typography Problem -- which is this: show me some code that reliably displays a typeface on the screen, and prints text using the same typeface ( at a printer resolution, of course ).
The problem, of course, is that the printing (usually ) goes through ghostscript, while the screen fonts are handled by X11, which operates independently of ghostscript. However, given a screen ( ie X11 font ), there is no canonical way to get the corresponding outline file (pf[ab]|ttf) or the detailed metric information ( such as kerning ). This problem is quite deep in some sense, because the fact that the X client and X server run on different machines means they may not have the same typefaces available. In short, Linux's right hand does not know what it's left hand is doing when it comes to font management.
Applications such as Star Office and Applixware "solve" this problem by using a text configuration file that basically consists of a catalogue of mappings from screen fonts ( in particular, XFLDs ) and printing fonts ( including outline files, metric files and the printer font name ). While these solutions are all more or less satisfactory in their own right, there are too many of them -- we need one GUI font manager that all apps can share.
It is very unfortunate that there are several incompatible solutions to the problem, because it means that the Linux user needs to install their typefaces once for each WYSIWYG app they need. A standard would be a very good thing. Personally, I like the idea of a well documented XML configuration file that could be used by any app regardless of the GUI API used.
In conclusion, my question is this -- What are GNOMEs plans for attacking the WYSIWYG typography problem? And will the solution be GTK/GNOME specific?
Miguel:
There are many-fold, and it is a bit long to explain, but here I go.
You got all the basic problems right. And this is indeed the problem.
* The solution: the solution we have planned consists of using client-side rendering (there are a bag of tricks for making this efficient, if you are interested in these I can explain, but for the sake of the discussion, assume "efficient").
The basic idea is that we want to reuse the code from GnomePrint to load, parse and render type1 fonts. Add support on top of that for TrueType fonts and use those fonts for rendering on the screen and rendering them on the printer.
The core of the idea is: ignore the X fonts as they are useless anyways, and use the system installed Type1/TrueType fonts. And they are useless for a number of reasons: they are only available as bitmaps, not as outlines, and the font naming scheme is basically useless.
* Rendering outline-based fonts (TrueType/Type1) on the screen: Now, this posses the problem of outline fonts looking very bad at low resolutions (for example 12 pixels), and given the patents surrounding hinting in TrueType, it is not clear that we can just use these font technologies alone.
What needs to happen is that someone needs to implement the Hobby algorithm for coming up with beautiful bitmaps from the outline fonts. It is my understanding that someone from the FreeType team had been working on this
* The current approach: Gnome Print currently only pays attention to Postscript fonts, and uses those fonts. And it contains a setup for "guessing" a good match for the screen presentation, but this is far from optimal and will be replaced.
* The Pango project is attacking a load of other issues when it comes to fine typography and rendering of non-Latin1 characters.
Pango will be a standard component of the GNOME 2.0 development platform, at that point the Gnome Print will use Pango.
When I first started using Linux (about a year ago), what impressed me the most was that you weren't locked into a single, all-encompassing solution. Everything was (and is) so modular. Tools like grep, ls, cat, head, etc. and the use of pipes just seemed so refreshing to me, someone who had been using MS-DOS (including Win95) for as long as I can remember. Even in the GUI, there was the display server, the font server, the window manager...
I see desktop environments as being very contradictory to the traditional UNIX philosophy of "do one thing, but do it very well". We have the two leading desktop environments, Gnome and KDE, which are rapidly expanding to include everything under the sun. Is an office suite really part of a desktop environment? Is an email client? Terminal emulator? Web browser?
Personally, I think the answer is no. I want the freedom to choose my desktop shell, my e-mail client, my Web browser, and my office suite.
To get to the point, my question is this: do you believe that the notion of a "Complete Desktop Environment" contradicts the traditional UNIX philosophy? If so, why do you feel the need to change something that has obviously worked so well for so long?
If you would like to know, I would personally prefer that Gnome consist of the panel and shell ONLY, and then we could have something like Helix which could package the panel and shell with a nice browser (branded mozilla maybe), window manager (sawmill or e), etc. I definitely believe there is a need for an open-source office suite, but I think the development should go on outside of Gnome or KDE core.
The objective of the GNU project was to create a fully free operating system. The definition of operating system that Richard used back when he stated was something like "All the things you need to get your work done", or something like that.
Miguel:
If you want to call that GNOME, or you want to call it GNOME Office, or "The Thing" it is really a naming issue. The objective we have is to enable all users to replace a proprietary system on their desktop with our solution.
The fact that internally GNOME is composed of various modules is something that some users do not care, and seasoned users like you can easily configure, customize, replace and change.
So I do not believe there is a problem in GNOME attacking more problems than just being "a panel".
You have to keep in mind that GNOME is an umbrella project that includes the GNOME development platform, the GNOME desktop, and various GNOME-based applications.
Remember: we are doing components here, and you are free to choose the components that you want for your environment.
Best wishes, Miguel.
-
Miguel de Icaza Tells All!
In his responses to the Slashdot interview, Miguel shares the deadly truth about GNOME, the shocking story of the future of Bonobo and CORBA, and the titillating tale of adventure and intrigue that lies deep within the bowels of popular Free Software development projects. Okay, so it's not all that shocking, but Miguel has brought us some really great news and answers from his neck of the open source woods.Printing and GNOME
by datazonePrinting and printer support is a major issue with the Linux desktop. How do you plan to address this in GNOME in the future? Or do you believe that it should be addressed in a lower level than at the desktop?
Miguel:
This is a very interesting question.
We have been working on the GNOME printing architecture, which so far consists of an imaging model, and some user interface elements for applications to use.
The GNOME printing architecture is interesting as it provides:
1. A postscript imaging model for programmers to use.
2. On top of the Postscript imaging model we added alpha transparency (and as an added bonus we also added anti-aliasing).
3. Native drivers (no need to generate Postscript first and manually process with Ghostscript a file for your printer, which has many problems from the user perspective, from the efficiency point of view, and from the quality point of views).
Currently the GNOME printing architecture includes a Postscript driver, an on-screen preview driver, a generic RGB driver (that can be used to generate images), a meta-file driver, and a black-and-white HP PCL driver (which needs work, and yes, we could use some help making more native drivers ;-).
Now, GNOME Print alone is not enough, it needs to be tied with the spooling system as well and have access to the features of a particular printer. So the GNOME printing system needs to integrate with these systems. We have been talking to the various people working on these projects, and GNOME print will integrate with a variety of spooling systems.
For example, GNOME print and the VA, and TurboLinux efforts for a printing architecture are complementary, so there is a good chance it will be our first spooling back-end.
So just to re-iterate, the printing problem can be divided in:
1. Application API for rendering data.
2. A spooling system: a way to query the printer queue, control the printer queue.
3. A printer capability system: which would let applications and users use the various features available in their printer.
4. User interface elements for enabling programmers to make the most out of the above features.
GNOME print is only attacking (1) and (4), and we are working with other people to provide a complete solution to the printing problems in Free systems.
Okay, alright....answer this HONESTLY
by SgtPepperJust how well do you and the KDE guys REALLY get along....don't you GNOME people ever just want to get together all the Nerf gear you can and stage an all out war?
Seriously though, how much communication really does go on between the two camps? I would imagine at least some must if you and the KDE camp are to maintain interoperatability.
Miguel:
We talk in various mailing lists about these issues. For example, the wm-spec-list is very close to releasing a joint specification for window manager features that both GNOME and KDE can use.
On the other hand, I do personally like a lot some of the KDE developers like Kalle, Torben and Matthias. I have had the chance of meeting Kalle more times than any other of the KDE developer.
Also, recently an effort has been started to share widgets across Gtk+ and Qt. Both projects will announce the details when there is a more concrete plan about it.
But all in all, it is important that we agree on file formats for documents, which is what end users are exposed to.
User interface importance?
by zhobsonFirst off, I'd like to say that I love GNOME, it's been my primary environment since 1.0 was released.
Now then, how do you think GNOME will evolve in terms of usability? GNOME has certainly conquered the stability mountain (anyone who argues otherwise probably isn't using release versions), which is almost certainly a side-effect of the Free Software development model. However, while Free Software is generally powerful and easy to use for experienced users, it's not generally the kind of thing a novice can operate easily.
I remember hearing about a "usability group" or something like that for GNOME, to concentrate on interface issues. This is a great idea, but I haven't heard much about this group since then. Are modern user-interface issues a concern for GNOME,or is it mainly trying to match the interface conventions of other popular GUIs (like NeXT, MacOS and Windows)?
We started the GNOME User Interface improvements projects last year.
During the initial development of GNOME, we did not have a lot of time to discuss and incorporate ideas that flooded constantly. But later we realized that many genuinely good ideas were dropped because we did not have time to implement them at the pace they were coming (the standard reply in the early days of GNOME was `Want something changed? send a patch'. And we have basically changed this)
So the User Interface Improvements project was started to address this problem. It is coordinated by Jim Cape, and he works with other users and programmers to bring these usability changes into GNOME.
The UI team has been focusing on usability of the GNOME desktop by taking the input from the community. They are assembling and cataloging the suggestions for improving GNOME as well as providing mock-ups of how various GNOME tools could be improved.
As a result, I believe we are a lot more receptive to people's input than we were before, and this is something we want to keep enhancing as time passes.
Now, it is very hard to come up with good user interfaces. So there is definitely an element of copying existing interfaces. User interfaces and paradigms that are known to work and bring them to free software. But this is not stopping anyone from contributing new ideas and new user interface elements that can be incorporated into the system.
Contrast this with the people who want to reinvent computing as we know it (you can identify them at parties because they will start their senteces with `What is computing anyways?'). The GNOME project is not in this realm, but we would gladly take all the good ideas that both research and production communities produce and we will incorporate them. What we have not tried to do is become a user interface research project.
That being said, you have to keep in mind that it is very hard to start innovating user interfaces if you have zero lines of code. With the current GNOME system as it stands you can start from a working application that has already a few thousand lines, and work towards innovation.
It is like trying to design a car trying to ignore all the knowledge on mechanism, thermodynamic and engineering that has been accumulated over the years. It is a simpler task to innovate if you use the existing knowledge. As Isaac Newton said, you can view a lot further away because you are standing on the shoulders of giants.
For example, it is easier to innovate user interfaces for a spreadsheet once you have a fully working product (so that you can just remove the part you think can be removed, and plug your new code there), rather than trying to innovate the user interface and having to build all the infrastructure.
There are various companies that are working together with GNOME now, and they are bringing their expertise from their previous experience, which is very good for improving the general usability of GNOME (Eazel).
Andy is someone I really like for his vision on how computers should work, and his special attention to the end user.
Talking to him has changed a lot my view on what GNOME should be. In the beginning I thought "We need a desktop for free systems", now I think "We need the perfect user interface for end users to use on a free system". Achieving the best user/computer interface is a goal that many of us share.
But this is just a first step, we are of course working and integrating the ideas that will define the desktop computer of the future.
C++/Java/CORBA/Components/Frameworks (Score: 5, Interesting) by PureFiction
Do you see object oriented design and implementation playing any part in GNOME's future?
The architecture of GTK/GNOME is technically somewhat object oriented, however, without all of the benifits of an object-oriented language (at least the parts written in C).
It would seem to me that as the scope and size of the GNOME project increases, it would be increasingly advantageous to use C++ or Java with much more CORBA support and more structured design (UML design models?) for reference by the developers. Standard components and frameworks would also fit well into this type of extension.
Do you see GNOME increasing in complexity and size to the point where these types of development techniques would be required?
Miguel:
Yes, there is a lot of object oriented design going on in GNOME.
On using UML for modeling various components in GNOME:
Recently there has been a boom in creating UML diagrams for various GNOME components (particularly for new applications) as our Diagram application has become mature (http://www.gnome.org/gnome-office/dia.shtml).
Various GNOME module authors have different preferences on what languages they want to use, and it will be up to each of them to choose the language they want to use for their own modules. I myself want to use Python more and want to use Java more in my own developments.
Although, just because some of our code is written in C, does not mean you are left out of paradise.
Now, a big push right now within the GNOME effort is to use Bonobo components, which are basically reusable components built on top of CORBA, with a set of standard interfaces for component programming.
Outlook Interoperability with Evolution
by CybersonicMy question actually has to do with Evolution, the upcoming Outlook killer.. :)
Will GNOME serve (Evolution) information to MAPI clients? Would be a nice way to get rid of those Exchange servers sitting in most companies' server rooms...
Miguel:
Evolution is probably the most exciting application that is being developed in the GNOME world right now.
First, Evolution is based entirely on Bonobo components. It is one of GNOME's proving grounds for component-based programming. We have spent over a year developing the Bonobo component model, and in Evolution it's beginning to pay off in a big way. Each component in Evolution (mail, calendar, tasks, notes, contacts) is a Bonobo component, fully CORBA accessible (to enable automation and scripting of applications, and yes, it is secure. We do not feed any unsecured data into components, in case you were wondering).
The component-based pluggable architecture means that we can make Evolution into a universal communicator. So, yes, we have every intention of integrating with Exchange environments. Picture an office populated by Outlook clients and an Exchange server or a Lotus Notes server; we can infiltrate that place from the bottom up by making Evolution talk to those Exchanges or Notes servers. Clients can upgrade to Evolution one by one, without the requirement of a top-down organizational decision to dump Microsoft.
This is how GNU/Linux won. This is how we will win.
But the beauty of Evolution's architecture goes much further. It is the first communications tool designed for modern users like the free software community. The free software community stays in touch thanks to e-mail and as we grow, we need more powerful and efficient tools to handle our communication loads.
For example, I receive about 2500 mails a day. Even with procmail and Gnus, filters, scoring and lots of complex scripts, I still spend about four hours a day on e-mail related tasks. And it is pretty hard to find information on the gigabyte of mail that I have archived over the last few years. Traditional mail tools are not keeping up with the demands of modern Internet citizens like myself.
We believe that the mail loads that most free software developers are handling these days are going to become the norm for normal users in the future as the Internet becomes more ubiquitous and e-mail becomes the tool of choice for communication.
Evolution scales to mammoth mail loads perfectly, though. The hackers in the Evolution team designed the entire system to scale: we avoid copying data wherever possible, we never load the whole message into memory even over IMAP, and we used asynchronous interfaces across the board.
Now, the real beauty is that we index all of the mail as we incorporate it into our mailboxes. Dan Winship wrote this beautiful indexing library called libibex which we use for indexing and Michael Zucchi is working together with him in our vFoldering setup. So you can treat all of your archived mail as a giant database, and perform queries on it (think "Altavista for your mail"). So you will finally be able to find information in your mailbox, and you will finally be able to keep track of things.
And then you can save that query as a "virtual folder" (vFolder). So in fact your folders are actually the results of searches on your mail.
Also every element in evolution can be annotated and annotations can be cross referenced, so you can keep track of your contacts, your tasks and your information flow more easily.
And that's just part of the whole system. We are working on fully networked calendaring and contact management, too. So you can schedule appointments with people over the Internet, and have servers storing address-books. We are going to have a gnome.org Evolution server with all of the address-book entries for all the GNOME hackers.
The system is still under development, of course, but it's the most fun thing to hack on, and we are applying a lot of the tricks we have learned over the past years and enjoying the result.
Evolution is not only limited to handling the standard Personal Information Management features, but through Bonobo components you can plug any sort of communication system and have it integrated with the rest of the system. So hopefully, your irc conversations will also be fully indexed, as well as any other personal messaging system that ships with Bonobo support.
Think "deep integration" and think "I can find that e-mail".
If you want to learn more about Evolution, I suggest you check its Web page here, and as with every other free software project, we would love to see you join the effort, and help us get this out and deployed.
WM interchange
by WubbyThe arguments over Linux Desktop adoption are well know. IMHO, I agree with the strength in diversity reasoning and WOULDN'T like to see GNOME/KDE/Other merge developement regardless of the benefits.
Despite this, do you think WM developers would work towards a set of interface or API standards (to facilitate interoperability) or would this place to great a restriction on innovation and the developement process?
Miguel:
Definitely. The WM spec list has been working for a few months on getting an inter-operable window manager specification for developers to use (and both KDE and GNOME as well as the various active window manager maintainers are contributing to this effort).
How important is COM-like architecture?
by PikeIt seems that the GNOME effort is throwing an awful lot of resources at a component-ized architecture (Bonobo) which aims to do for *nix what COM and ActiveX/OLE did for Windows. And yet it just doesn't seem necessary. I know it's possible for me to insert an Excel spreadsheet into a Word document, but I haven't used that feature in recent memory. None of the documents I exchange with co-workers do, either. Is Bonobo really very necessary? What does bonobo bring to the Linux desktop that users are crying out for, and how is its heavy consumption of development resources justified?
Miguel:
Bonobo is a mechanism for creating reusable software components as well as enabling users to talk to the components through a standardized programatic interface (CORBA).
As I have mentioned in the past, the GNOME project has focused strongly on building a solid infrastructure for people to use, and component programming is just another part of this equation.
The core idea of software reuse and software components is that you can reuse what other programmers did and there is a very precise contract on what the component provides, and the API it exports that you can use to talk to it (Brad Cox used to talk about Software IC, and I am convinced that Software IC did not come in the shape he expected, but in the shape of components).
Also, by writing components, you can mix and match the components: it does not matter which language you used to implement your component on (currently you can use C, C++, Java and Perl to write your components, it does not matter, as all of them will be able to talk to the others)
For example, we wanted to extend the drawing capabilities of Gnumeric, so instead of writing yet-another-half-cooked-vector-drawing-program on top of Gnumeric, we are working with the Dia guys (and in the future with the Sodipodi hackers) to use their editing engine inside Gnumeric.
This is thanks to the fact that we can have arbitrarily-shaped compound document embedding in GNOME, so when you insert a vector-based drawing into your spreadsheet, this drawing is not going to be even handled by the spreadsheet, it is handled by an actual full-blown application that does nothing but specialize on this specific task.
Reusable software components are not limited to visual components, nor embedding information. You can even have completely GUI-less components.
But your point is a valid point, we believe that it took proprietary companies 20 years to produce a few productivity applications, and they are not that fully featured, and they are not that impressive anyways. Specially, as the result is buggy software that slowly improves.
With the current proprietary tools, the whole world is waiting and depending on a few small teams around the world to provide them with their software solutions.
We are building applications that will go beyond the existing offerings: both in usability, simplicity and power. And to do this, we need to avoid the approach of building monolithic applications but rather have small applications cooperating with each other. This is pretty much like the original Unix spirit: write simple tools that do one thing correctly, and have this tool inter-operate with other tools. We have just taken the small tools to the next level: communication can be N-way and the information you exchange is rich and attribute tagged, rather than being free-text (this is the difference between HTML and XML).
You can learn more about the details of Bonobo in my Bonobo technical description.
Also, you have to keep in mind that component programming really goes hand in hand with the way Free Software is developed. With components you can isolate tasks into a module that can be easily understood and digested by a small team of programmers, instead of forcing your programmers to learn how an entire system works.
Given that free software contributors might not be able to commit to work on a project for a long time nor for a given number of hours a week (because of school, personal obligations, or other activities) it makes sense to isolate the tasks. You can then restructure components without affecting the other applications, or you can rewrite them, or you can upgrade them or you can change its behavior to work in different conditions (scalable service or doing work to simplify the code for mobile purposes).
Bonobo/CORBA fulfills the objective of having reusable software that can be shared across applications. Components go one step beyond the traditional object oriented mechanism for software reuse, as components can be implemented in any language, programmers do not depend on using a specific language or a specific application framework that is tied to a language to use components, they can choose the language and programming environment that better reflects their project needs.
Given the nature of Bonobo/CORBA of being language independent, you get the benefits that object oriented programming was designed to solve in a cross-language form.
So GNOME is developing and deploying the framework to create a component infrastructure for free systems to use, an infrastructure in which we will build the future applications. Remember, we are not in the business of selling the same application every two years, but in the business of solving the problem.
Bonobo is still a work in process project, and although various applications already use it (Gnumeric, Evolution, Glade, Nautilus, libGlade, ggv, eog, and gpdf) we are not yet ready to freeze its API.
GNOME has made a lot of advancements on the "traditional" interface front (I mean all of Xerox-derived WIMP land), both in the "easy (or efficient) to use" and "easy to learn" departments. I find case after case, subtle and not-so-subtle, where GNOME is markedly better with its main competition, Windows and Mac. My favorite example of this is Evolution -- can't wait to try it. Evolution may finally tear me away from textmode mail clients....mmmm, query-able databases :)
My question is, where do you see GNOME as fitting in to more groundbreaking user interface research? Not that anyone expects the GNOME team to start pondering lexicons for 3D interfaces (or are you contemplating such things!?!). But there's lots of crazy stuff that still goes on in traditional, 2D interface design. A lot of recent research has been in terms of PDA interface design. Do you see GNOME, with its obvious advantages of modularity and scalability, as having a role to play in that arena?
And what about fundamental changes to the way we use our desktops? I for one haven't really changed at all since the days when I used fvwm1. Sure, things have gotten much prettier, and more applet-filled :) but I'm doing fundamentally the same things, and none of the various ways of configuring things (GNOME + sawmill = many ways of configuring things) have so far seemed particularly radical or any more efficient.
How 'bout the rest of the folks? Anyone done anything truly funky with sawmill? A Turing-complete wm is a fun place to start ....
Miguel:
I definitely see GNOME playing an important role in innovative user interfaces. As I mentioned before, the GNOME foundation, the GNOME applications and the GNOME tools help users get closer to their final goal. For example, it is a lot easier to write an accounting system if you have the proper database libraries and user interface libraries than rolling your own.
So GNOME is this foundation you can start building from, and it is a foundation you can improve (given its open source/free software nature).
There are now people working on different dimensions with GNOME: from new and innovative user interfaces, to productivity applications, to embedding GNOME into small devices, to building component-based software and more.
I understand that for a seasoned Unix user GNOME might not bring a new paradigm for their way they work, but you have to think differently. You have to think how many people have or will be able to run free software on their desktops because it is easier to use.
We do plan on continuing improving GNOME, and catering to the needs of the people who are just starting to use computers and just starting to use GNU/Linux.
When did it take off?
by UrukWhen was it exactly that you knew (or had the feeling) that GNOME was a project that was going somewhere? Free software projects start with no guarantee of popularity, and for every GNOME, there's 1000 totally unknown applications.
Was there a particular application or library or component of GNOME after which you knew GNOME was going to be successful or in general "something special"? What did the GNOME project do that prevented it from sinking into obscurity like so many other free software projects?
Miguel:
I do not know if I ever thought of it that way. You have to understand that when we started the project, what we had in our minds was defending the freedom of software, and not allowing the future of GNU/Linux to be jeopardized by having its user interface be proprietary. Back when the project started I was working happily with my friend Ralf Baechle on the Linux/MIPS port for SGIs.
There are many other reasons that motivated the various members of the GNOME team to work on it: from freedom concerns, to personal joy, to friendship building, to helping other fellow humans to creating the best possible software out there, to learn how to do things and solve problems. And I bet there are many other reasons to do so.
Avoiding sinking I guess was a matter of a lot of hard work from all the involved parties, I do not think I have taken a lot of breaks from working on free software since the GNOME project started. It has been for me a non-stop effort since we began with perhaps three weeks of vacations total.
Also the Red Hat support back in the original days of the project was also very motivating, as they had the same concerns we had regarding the future of a fully-free system. They assembled a team that to this very day is working on GNOME and making the GNOME infrastructure more reliable, robust and usable: from coordinating GNOME documentation to maintaining the core libraries, to creating the new ultra kick-ass Pango architecture.
The GNOME team is large, and I can not speak for all of them, but I do love each and every contributor to GNOME, and I owe beers to them all. I actually, owe them more, but I don't want to go broke.
I love GNOME, but one thing that I really miss is good integration of sound. Let me be clear... I'm not just talking about blips and burps to coincide with user clicks on the standard window widgets... I want it to be easy for application developer to add in audio aspects to their applications UI presentation.
For example -- if I was developing a word processor, I'd want it to be straightforward for me the developer to add a pleasing click with each word that is highlighted.
I understand there are some technical problems to be solved here, but there are more than enough sharp people working on GNOME to make good sound UI happen -- if it is made a priority. I admit that I'm pretty ignorant as to how GNOME is approaching sound. Could you fill me in (and hopefully reassure me)?
Miguel:
I am not very up to date on the discussions on the sound architecture for GNOME. I know that currently we use ESound, and we provide an API for playing sounds to applications, but as your post suggests, attacking the problem correctly and coming up with a design that addresses the various requirements and needs from various sources is not a trivial problem.
And this is part of the discussions we have had these last few days on the GNOME-devel mailing list. If you have ideas that you want to contribute to, I encourage you to join the list, and help with ideas, code, or time the people who are working on this.
Mexico and OSS
by VoxHola, Miguel
As a fellow Mexican I want to know...what do you think is the impact of OSS in our country? I know all about the project of putting a whole bunch of Linux boxes in schools, so that's nice, but...what about developers? I don't really remember more than a couple of names of Mexican developers besides yours, which, in a way, also means that we don't have as much advocacy/knowledge about OSS in Mexico as we should (the MS tax kills easier here than in the U.S., for obvious reasons).
I guess as part of that question...what do you think should be done to "push" more developers into OSS here in Mexico?
Gracias por un excelente trabajo para todos nosotros.
Miguel:
I believe that Free Software will help countries with developing economies (like Mexico) to get a competitive advantage that they have lacked for so long. Most of these countries missed the industrial revolution, and for one reasons or another, they depend on external technology to keep up with the times.
Free Software helps in the fraction on depending on external technologies. For example, countries with developing economies can now avoid depending on proprietary software: they can keep the money they spent on proprietary software to themselves, and use it to either develop themselves, or they can use that money to produce free software that will solve their problems (and hopefully other countries problems).
The case of Mexico is the one I am most familiar with: Mexico does produce very little technology, depends a lot on foreign technology and pretty much our main exports are raw materials. Raw materials are extremely cheap (and in some cases it took nature a few million years to produce). For example, a barrel of petrol costs about $25 these days, and a copy of Microsoft Office and Microsoft Windows 2000 costs around $700. Which means that for each copy of Office+Windows 2000 the country is paying with 24 barrels of petrol.
Of course, it is not very easy to do a transition to free software in these countries (as it is not easy anywhere else), but the people governing the developing countries have the responsibility to their people of making the right decisions, and the right decision when it comes to software is not proprietary software.
In general, I believe that we must become software producers (and also technology and innovation producers), and not just consumers. Becoming free software users is a good first step, the next step is to become software producers.
The beauty of free software and GNOME is that part of the freedoms you receive is the freedom to learn from other people's techniques, strategies, and focus on problem solving. Something that has been unheard of in this industry (although it is a pretty common thing in science). So people have a chance to join the effort, and be part of the team of people that are producing knowledge, culture and as a result wealth.
Many smart people on the educational system realize this and that is why GNOME and free software have been very well received on the educational markets, and we are very happy to help them to provide the applications they need.
People should also know that the multi-million dollar efforts to bring computers into every classroom in Mexico and other countries should be equipped with Free Software/Open Source software. And encourage these people to become creative and become part of the creation process rather than just be users of pre-packaged solutions.
Will GNOME implement an API for installers to use? One thing that helps Windows is a common installer so that most software you put on your system is pretty easy to get on. You just click on the executable and then it installs. With GNOME's goal being to make a user-friendly system do you see this as part of that?
Miguel:
GNOME has a few applications for attacking this problem (the GIP), but the problem these days is not just being able to easily install applications, the problem is the slight, subtle and tricky fragmentation of the GNU/Linux distributions.
For example, Helix Code is shipping a pre-built GNOME for various platforms. Although we would love to just compile the code in a specific system and have it installed on the other distributions, it is not possible.
Hopefully the effort to create a standard GNU/Linux base will in the future get rid of this problem, but for now, you are right, it is a real problem and the one that might hurt more the deployment of free software.
Also Helix Code has an installer and an updater that we hope in the future will be turned into generic installer/updater programs that other people can use.
handicapped accessibility and GNOME (Score:5, Interesting) by esj at harvee
I would be interested to find out what are GNOME project's plans for handicapped accessibility. As it currently stands, GNOME is only usable by people with fully functioning eyes and hands. It would be nice to hear how GNOME will address handicapped accessibility for:
visual impairments
mobility impairments
hearing impairmentsMiguel:
I know that we have added patches to a few applications to make them usable for visual impaired people and that there are a few applications for GNOME that do address this problem.
I know that Paolo has an infrastructure for visually-impaired people to use with GNOME, and that it hooks to various GNOME applications, but I have not seen this in action myself.
But we are open to extending and changing GNOME in the ways that are required for handicapped accessibility.
Print / display font unification
by elflordHi. As the author of the font HOWTO, one issue I've had to address is the lack of a WYSIWYG font system. It boils down to what I think of as the WYSIWYG Typography Problem -- which is this: show me some code that reliably displays a typeface on the screen, and prints text using the same typeface ( at a printer resolution, of course ).
The problem, of course, is that the printing (usually ) goes through ghostscript, while the screen fonts are handled by X11, which operates independently of ghostscript. However, given a screen ( ie X11 font ), there is no canonical way to get the corresponding outline file (pf[ab]|ttf) or the detailed metric information ( such as kerning ). This problem is quite deep in some sense, because the fact that the X client and X server run on different machines means they may not have the same typefaces available. In short, Linux's right hand does not know what it's left hand is doing when it comes to font management.
Applications such as Star Office and Applixware "solve" this problem by using a text configuration file that basically consists of a catalogue of mappings from screen fonts ( in particular, XFLDs ) and printing fonts ( including outline files, metric files and the printer font name ). While these solutions are all more or less satisfactory in their own right, there are too many of them -- we need one GUI font manager that all apps can share.
It is very unfortunate that there are several incompatible solutions to the problem, because it means that the Linux user needs to install their typefaces once for each WYSIWYG app they need. A standard would be a very good thing. Personally, I like the idea of a well documented XML configuration file that could be used by any app regardless of the GUI API used.
In conclusion, my question is this -- What are GNOMEs plans for attacking the WYSIWYG typography problem? And will the solution be GTK/GNOME specific?
Miguel:
There are many-fold, and it is a bit long to explain, but here I go.
You got all the basic problems right. And this is indeed the problem.
* The solution: the solution we have planned consists of using client-side rendering (there are a bag of tricks for making this efficient, if you are interested in these I can explain, but for the sake of the discussion, assume "efficient").
The basic idea is that we want to reuse the code from GnomePrint to load, parse and render type1 fonts. Add support on top of that for TrueType fonts and use those fonts for rendering on the screen and rendering them on the printer.
The core of the idea is: ignore the X fonts as they are useless anyways, and use the system installed Type1/TrueType fonts. And they are useless for a number of reasons: they are only available as bitmaps, not as outlines, and the font naming scheme is basically useless.
* Rendering outline-based fonts (TrueType/Type1) on the screen: Now, this posses the problem of outline fonts looking very bad at low resolutions (for example 12 pixels), and given the patents surrounding hinting in TrueType, it is not clear that we can just use these font technologies alone.
What needs to happen is that someone needs to implement the Hobby algorithm for coming up with beautiful bitmaps from the outline fonts. It is my understanding that someone from the FreeType team had been working on this
* The current approach: Gnome Print currently only pays attention to Postscript fonts, and uses those fonts. And it contains a setup for "guessing" a good match for the screen presentation, but this is far from optimal and will be replaced.
* The Pango project is attacking a load of other issues when it comes to fine typography and rendering of non-Latin1 characters.
Pango will be a standard component of the GNOME 2.0 development platform, at that point the Gnome Print will use Pango.
When I first started using Linux (about a year ago), what impressed me the most was that you weren't locked into a single, all-encompassing solution. Everything was (and is) so modular. Tools like grep, ls, cat, head, etc. and the use of pipes just seemed so refreshing to me, someone who had been using MS-DOS (including Win95) for as long as I can remember. Even in the GUI, there was the display server, the font server, the window manager...
I see desktop environments as being very contradictory to the traditional UNIX philosophy of "do one thing, but do it very well". We have the two leading desktop environments, Gnome and KDE, which are rapidly expanding to include everything under the sun. Is an office suite really part of a desktop environment? Is an email client? Terminal emulator? Web browser?
Personally, I think the answer is no. I want the freedom to choose my desktop shell, my e-mail client, my Web browser, and my office suite.
To get to the point, my question is this: do you believe that the notion of a "Complete Desktop Environment" contradicts the traditional UNIX philosophy? If so, why do you feel the need to change something that has obviously worked so well for so long?
If you would like to know, I would personally prefer that Gnome consist of the panel and shell ONLY, and then we could have something like Helix which could package the panel and shell with a nice browser (branded mozilla maybe), window manager (sawmill or e), etc. I definitely believe there is a need for an open-source office suite, but I think the development should go on outside of Gnome or KDE core.
The objective of the GNU project was to create a fully free operating system. The definition of operating system that Richard used back when he stated was something like "All the things you need to get your work done", or something like that.
Miguel:
If you want to call that GNOME, or you want to call it GNOME Office, or "The Thing" it is really a naming issue. The objective we have is to enable all users to replace a proprietary system on their desktop with our solution.
The fact that internally GNOME is composed of various modules is something that some users do not care, and seasoned users like you can easily configure, customize, replace and change.
So I do not believe there is a problem in GNOME attacking more problems than just being "a panel".
You have to keep in mind that GNOME is an umbrella project that includes the GNOME development platform, the GNOME desktop, and various GNOME-based applications.
Remember: we are doing components here, and you are free to choose the components that you want for your environment.
Best wishes, Miguel.
-
Helix Code Launched, Gnome Packages Available
t-money writes, "The Helix Code Web site went live this morning. They have a pre-release of their Helix GNOME desktop, which includes the latest development version of GNOME (gnome-core 1.1.5). " Thanks to all the people who wrote in about the Helix Code launch - I've got also got some information from Nat Friedman of Helixcode about what they are doing, so read more. And can I say Wow. This looks cool.From Nat:
Hello everyone!We are proud to introduce "McKinley," the first preview of the Helix GNOME desktop. This is a beta release of the Helix Code GNOME distribution. The URL for Helix GNOME is:
http://www.helixcode.com/desktop/
The purpose of this distribution is to simplify the task of installing a fully featured, up-to-date version of GNOME on your favorite GNU/Linux distribution. You can now experience all the joy and all the excitement that goes into the wonderful world of GNOME without agonizing through long, arduous build processes.
Helix GNOME includes all of the core GNOME packages and a number of extras. The entire Helix GNOME desktop is pre-configured to be as attractive and simple as possible. You can see some screenshots here:
http://www.helixcode.com/desktop/screenshots.php3
Currently the Helix GNOME desktop is available for the following operating systems:
- Red Hat Linux 6.0 and 6.1
- SuSE Linux 6.3
- LinuxPPC 2000
- Linux Mandrake 6.1 and 7.0
- Caldera OpenLinux 2.3
In the next few weeks we will be releasing an updated version that will include support for other Linux distributions and other Unix systems. And of course, we're constantly adding packages to the build system and releasing new packages as new versions of the GNOME software become available.
How to install
--------------
We have made installing the full Helix GNOME desktop as easy as possible. You just need to download the Helix installer program, and it will take care of it for you:You can find installation instructions at:
http://www.helixcode.com/desktop/download.php3
Mailing lists
-------------
If you want to subscribe to our announcements mailing lists, drop a message to:
announce-request@helixcode.com
And in the subject of the message put "subscribe". If you want to join the list of beta testers for the Helix GNOME distribution, send mail to:
beta-request@helixcode.com
A complete list of our mailing lists is available at:
http://www.helixcode.com/about/lists.php3
Questions and Answers regarding the Helix GNOME Desktop
------------------------------------------------------
Q: What does Helix Code do?
A:Helix Code is an open source software company devoted to improving GNOME, the leading desktop environment for Linux. We want to make GNOME the best desktop on the planet, and make it available to everyone.
Helix Code believes strongly in the importance of free software, which is why all of our software is licensed under the GNU GPL, and why all development is done in the public GNOME CVS repository.
Our main task is producing free applications for GNOME. Evolution is our first project: a groupware communications suite which includes an advanced mail client, calendar software and address book service.
We are also developing and improving the Gnumeric spreadsheet. Besides that, we maintain a number of core and peripheral packages of the GNOME system.
Q: What is the Helix GNOME Desktop?
A: Helix GNOME is a service offered to the GNOME user community by Helix Code, Inc.
The purpose of this distribution is to make it easy for end-users to install a fully-featured GNOME desktop on their favorite Unix system.
Q: Is this "Helix GNOME Desktop" another GNU/Linux distribution?
A: No, Helix GNOME is an add-on to your existing GNU/Linux distribution. You need an existing GNU/Linux system to run Helix GNOME.
Q: Is Helix GNOME free?
A: Yes, Helix GNOME is completely free. We are just packaging the latest and greatest versions of the various GNOME tools and making them as easy as possible for people to use.
As with other free software, you get the freedom to copy the software, modify the software, redistribute the software, and redistribute modified versions of the software.
Q: Can I buy a copy of Helix GNOME on a CD?
A: Helix GNOME will be available on CD in April.
Q: Does Helix GNOME distribution include support for Debian/Corel Linux?
A: Not yet, but we plan on supporting these systems in the near future.
Q: Does the Helix GNOME distribution include support for BSD?
A: The initial release of the Helix GNOME distribution does not include support for the free BSD systems, but we are on it.
Q: Will you provide timely updates to the various GNOME packages?
A: Yes, we will. GNOME is constantly under development. Whenever a new version of any piece of GNOME software is released, the dutiful hackers at Helix Code will do our best to make a packaged version available to you as quickly as possible.
Better still, the "Helix Update" application allows you to automatically update your GNOME desktop from the Helix web site whenever new packages become available. You can read more about Helix Update here:
http://www.helixcode.com/desktop/updater.php3
Q: Are you improving GNOME, or just shipping binaries?
A: The Helix GNOME desktop includes a number of improvements and patches that have been posted to public mailing lists, or have been committed to the GNOME CVS repository (but might not have been yet released to the public in source package format). This is all in the interests of making the best possible desktop experience available to GNOME users.
The Helix hackers are also constantly improving GNOME and the various GNOME tools, libraries and components and submitting patches to the various maintainers of those packages.
Helix Code employees actively maintain a huge number of GNOME packages, including: Bonobo, Achtung, Gnumeric, Go, Erdos, libzvt, gnome-terminal, gnome-core, gnome-applets, bug-buddy, gmc, gdk-pixbuf, eof, gnome canvas, evolution, gb, gtkhtml, gnome-vfs, camel, gnome-pim, glade, libibex, and others.
Q: Ok, I give up. What's spidermonkey?
A: Yes.
Enjoy!
The Helix Code Team
http://www.helixcode.com -
Helix Code Launched, Gnome Packages Available
t-money writes, "The Helix Code Web site went live this morning. They have a pre-release of their Helix GNOME desktop, which includes the latest development version of GNOME (gnome-core 1.1.5). " Thanks to all the people who wrote in about the Helix Code launch - I've got also got some information from Nat Friedman of Helixcode about what they are doing, so read more. And can I say Wow. This looks cool.From Nat:
Hello everyone!We are proud to introduce "McKinley," the first preview of the Helix GNOME desktop. This is a beta release of the Helix Code GNOME distribution. The URL for Helix GNOME is:
http://www.helixcode.com/desktop/
The purpose of this distribution is to simplify the task of installing a fully featured, up-to-date version of GNOME on your favorite GNU/Linux distribution. You can now experience all the joy and all the excitement that goes into the wonderful world of GNOME without agonizing through long, arduous build processes.
Helix GNOME includes all of the core GNOME packages and a number of extras. The entire Helix GNOME desktop is pre-configured to be as attractive and simple as possible. You can see some screenshots here:
http://www.helixcode.com/desktop/screenshots.php3
Currently the Helix GNOME desktop is available for the following operating systems:
- Red Hat Linux 6.0 and 6.1
- SuSE Linux 6.3
- LinuxPPC 2000
- Linux Mandrake 6.1 and 7.0
- Caldera OpenLinux 2.3
In the next few weeks we will be releasing an updated version that will include support for other Linux distributions and other Unix systems. And of course, we're constantly adding packages to the build system and releasing new packages as new versions of the GNOME software become available.
How to install
--------------
We have made installing the full Helix GNOME desktop as easy as possible. You just need to download the Helix installer program, and it will take care of it for you:You can find installation instructions at:
http://www.helixcode.com/desktop/download.php3
Mailing lists
-------------
If you want to subscribe to our announcements mailing lists, drop a message to:
announce-request@helixcode.com
And in the subject of the message put "subscribe". If you want to join the list of beta testers for the Helix GNOME distribution, send mail to:
beta-request@helixcode.com
A complete list of our mailing lists is available at:
http://www.helixcode.com/about/lists.php3
Questions and Answers regarding the Helix GNOME Desktop
------------------------------------------------------
Q: What does Helix Code do?
A:Helix Code is an open source software company devoted to improving GNOME, the leading desktop environment for Linux. We want to make GNOME the best desktop on the planet, and make it available to everyone.
Helix Code believes strongly in the importance of free software, which is why all of our software is licensed under the GNU GPL, and why all development is done in the public GNOME CVS repository.
Our main task is producing free applications for GNOME. Evolution is our first project: a groupware communications suite which includes an advanced mail client, calendar software and address book service.
We are also developing and improving the Gnumeric spreadsheet. Besides that, we maintain a number of core and peripheral packages of the GNOME system.
Q: What is the Helix GNOME Desktop?
A: Helix GNOME is a service offered to the GNOME user community by Helix Code, Inc.
The purpose of this distribution is to make it easy for end-users to install a fully-featured GNOME desktop on their favorite Unix system.
Q: Is this "Helix GNOME Desktop" another GNU/Linux distribution?
A: No, Helix GNOME is an add-on to your existing GNU/Linux distribution. You need an existing GNU/Linux system to run Helix GNOME.
Q: Is Helix GNOME free?
A: Yes, Helix GNOME is completely free. We are just packaging the latest and greatest versions of the various GNOME tools and making them as easy as possible for people to use.
As with other free software, you get the freedom to copy the software, modify the software, redistribute the software, and redistribute modified versions of the software.
Q: Can I buy a copy of Helix GNOME on a CD?
A: Helix GNOME will be available on CD in April.
Q: Does Helix GNOME distribution include support for Debian/Corel Linux?
A: Not yet, but we plan on supporting these systems in the near future.
Q: Does the Helix GNOME distribution include support for BSD?
A: The initial release of the Helix GNOME distribution does not include support for the free BSD systems, but we are on it.
Q: Will you provide timely updates to the various GNOME packages?
A: Yes, we will. GNOME is constantly under development. Whenever a new version of any piece of GNOME software is released, the dutiful hackers at Helix Code will do our best to make a packaged version available to you as quickly as possible.
Better still, the "Helix Update" application allows you to automatically update your GNOME desktop from the Helix web site whenever new packages become available. You can read more about Helix Update here:
http://www.helixcode.com/desktop/updater.php3
Q: Are you improving GNOME, or just shipping binaries?
A: The Helix GNOME desktop includes a number of improvements and patches that have been posted to public mailing lists, or have been committed to the GNOME CVS repository (but might not have been yet released to the public in source package format). This is all in the interests of making the best possible desktop experience available to GNOME users.
The Helix hackers are also constantly improving GNOME and the various GNOME tools, libraries and components and submitting patches to the various maintainers of those packages.
Helix Code employees actively maintain a huge number of GNOME packages, including: Bonobo, Achtung, Gnumeric, Go, Erdos, libzvt, gnome-terminal, gnome-core, gnome-applets, bug-buddy, gmc, gdk-pixbuf, eof, gnome canvas, evolution, gb, gtkhtml, gnome-vfs, camel, gnome-pim, glade, libibex, and others.
Q: Ok, I give up. What's spidermonkey?
A: Yes.
Enjoy!
The Helix Code Team
http://www.helixcode.com -
Helix Code Launched, Gnome Packages Available
t-money writes, "The Helix Code Web site went live this morning. They have a pre-release of their Helix GNOME desktop, which includes the latest development version of GNOME (gnome-core 1.1.5). " Thanks to all the people who wrote in about the Helix Code launch - I've got also got some information from Nat Friedman of Helixcode about what they are doing, so read more. And can I say Wow. This looks cool.From Nat:
Hello everyone!We are proud to introduce "McKinley," the first preview of the Helix GNOME desktop. This is a beta release of the Helix Code GNOME distribution. The URL for Helix GNOME is:
http://www.helixcode.com/desktop/
The purpose of this distribution is to simplify the task of installing a fully featured, up-to-date version of GNOME on your favorite GNU/Linux distribution. You can now experience all the joy and all the excitement that goes into the wonderful world of GNOME without agonizing through long, arduous build processes.
Helix GNOME includes all of the core GNOME packages and a number of extras. The entire Helix GNOME desktop is pre-configured to be as attractive and simple as possible. You can see some screenshots here:
http://www.helixcode.com/desktop/screenshots.php3
Currently the Helix GNOME desktop is available for the following operating systems:
- Red Hat Linux 6.0 and 6.1
- SuSE Linux 6.3
- LinuxPPC 2000
- Linux Mandrake 6.1 and 7.0
- Caldera OpenLinux 2.3
In the next few weeks we will be releasing an updated version that will include support for other Linux distributions and other Unix systems. And of course, we're constantly adding packages to the build system and releasing new packages as new versions of the GNOME software become available.
How to install
--------------
We have made installing the full Helix GNOME desktop as easy as possible. You just need to download the Helix installer program, and it will take care of it for you:You can find installation instructions at:
http://www.helixcode.com/desktop/download.php3
Mailing lists
-------------
If you want to subscribe to our announcements mailing lists, drop a message to:
announce-request@helixcode.com
And in the subject of the message put "subscribe". If you want to join the list of beta testers for the Helix GNOME distribution, send mail to:
beta-request@helixcode.com
A complete list of our mailing lists is available at:
http://www.helixcode.com/about/lists.php3
Questions and Answers regarding the Helix GNOME Desktop
------------------------------------------------------
Q: What does Helix Code do?
A:Helix Code is an open source software company devoted to improving GNOME, the leading desktop environment for Linux. We want to make GNOME the best desktop on the planet, and make it available to everyone.
Helix Code believes strongly in the importance of free software, which is why all of our software is licensed under the GNU GPL, and why all development is done in the public GNOME CVS repository.
Our main task is producing free applications for GNOME. Evolution is our first project: a groupware communications suite which includes an advanced mail client, calendar software and address book service.
We are also developing and improving the Gnumeric spreadsheet. Besides that, we maintain a number of core and peripheral packages of the GNOME system.
Q: What is the Helix GNOME Desktop?
A: Helix GNOME is a service offered to the GNOME user community by Helix Code, Inc.
The purpose of this distribution is to make it easy for end-users to install a fully-featured GNOME desktop on their favorite Unix system.
Q: Is this "Helix GNOME Desktop" another GNU/Linux distribution?
A: No, Helix GNOME is an add-on to your existing GNU/Linux distribution. You need an existing GNU/Linux system to run Helix GNOME.
Q: Is Helix GNOME free?
A: Yes, Helix GNOME is completely free. We are just packaging the latest and greatest versions of the various GNOME tools and making them as easy as possible for people to use.
As with other free software, you get the freedom to copy the software, modify the software, redistribute the software, and redistribute modified versions of the software.
Q: Can I buy a copy of Helix GNOME on a CD?
A: Helix GNOME will be available on CD in April.
Q: Does Helix GNOME distribution include support for Debian/Corel Linux?
A: Not yet, but we plan on supporting these systems in the near future.
Q: Does the Helix GNOME distribution include support for BSD?
A: The initial release of the Helix GNOME distribution does not include support for the free BSD systems, but we are on it.
Q: Will you provide timely updates to the various GNOME packages?
A: Yes, we will. GNOME is constantly under development. Whenever a new version of any piece of GNOME software is released, the dutiful hackers at Helix Code will do our best to make a packaged version available to you as quickly as possible.
Better still, the "Helix Update" application allows you to automatically update your GNOME desktop from the Helix web site whenever new packages become available. You can read more about Helix Update here:
http://www.helixcode.com/desktop/updater.php3
Q: Are you improving GNOME, or just shipping binaries?
A: The Helix GNOME desktop includes a number of improvements and patches that have been posted to public mailing lists, or have been committed to the GNOME CVS repository (but might not have been yet released to the public in source package format). This is all in the interests of making the best possible desktop experience available to GNOME users.
The Helix hackers are also constantly improving GNOME and the various GNOME tools, libraries and components and submitting patches to the various maintainers of those packages.
Helix Code employees actively maintain a huge number of GNOME packages, including: Bonobo, Achtung, Gnumeric, Go, Erdos, libzvt, gnome-terminal, gnome-core, gnome-applets, bug-buddy, gmc, gdk-pixbuf, eof, gnome canvas, evolution, gb, gtkhtml, gnome-vfs, camel, gnome-pim, glade, libibex, and others.
Q: Ok, I give up. What's spidermonkey?
A: Yes.
Enjoy!
The Helix Code Team
http://www.helixcode.com -
Helix Code Launched, Gnome Packages Available
t-money writes, "The Helix Code Web site went live this morning. They have a pre-release of their Helix GNOME desktop, which includes the latest development version of GNOME (gnome-core 1.1.5). " Thanks to all the people who wrote in about the Helix Code launch - I've got also got some information from Nat Friedman of Helixcode about what they are doing, so read more. And can I say Wow. This looks cool.From Nat:
Hello everyone!We are proud to introduce "McKinley," the first preview of the Helix GNOME desktop. This is a beta release of the Helix Code GNOME distribution. The URL for Helix GNOME is:
http://www.helixcode.com/desktop/
The purpose of this distribution is to simplify the task of installing a fully featured, up-to-date version of GNOME on your favorite GNU/Linux distribution. You can now experience all the joy and all the excitement that goes into the wonderful world of GNOME without agonizing through long, arduous build processes.
Helix GNOME includes all of the core GNOME packages and a number of extras. The entire Helix GNOME desktop is pre-configured to be as attractive and simple as possible. You can see some screenshots here:
http://www.helixcode.com/desktop/screenshots.php3
Currently the Helix GNOME desktop is available for the following operating systems:
- Red Hat Linux 6.0 and 6.1
- SuSE Linux 6.3
- LinuxPPC 2000
- Linux Mandrake 6.1 and 7.0
- Caldera OpenLinux 2.3
In the next few weeks we will be releasing an updated version that will include support for other Linux distributions and other Unix systems. And of course, we're constantly adding packages to the build system and releasing new packages as new versions of the GNOME software become available.
How to install
--------------
We have made installing the full Helix GNOME desktop as easy as possible. You just need to download the Helix installer program, and it will take care of it for you:You can find installation instructions at:
http://www.helixcode.com/desktop/download.php3
Mailing lists
-------------
If you want to subscribe to our announcements mailing lists, drop a message to:
announce-request@helixcode.com
And in the subject of the message put "subscribe". If you want to join the list of beta testers for the Helix GNOME distribution, send mail to:
beta-request@helixcode.com
A complete list of our mailing lists is available at:
http://www.helixcode.com/about/lists.php3
Questions and Answers regarding the Helix GNOME Desktop
------------------------------------------------------
Q: What does Helix Code do?
A:Helix Code is an open source software company devoted to improving GNOME, the leading desktop environment for Linux. We want to make GNOME the best desktop on the planet, and make it available to everyone.
Helix Code believes strongly in the importance of free software, which is why all of our software is licensed under the GNU GPL, and why all development is done in the public GNOME CVS repository.
Our main task is producing free applications for GNOME. Evolution is our first project: a groupware communications suite which includes an advanced mail client, calendar software and address book service.
We are also developing and improving the Gnumeric spreadsheet. Besides that, we maintain a number of core and peripheral packages of the GNOME system.
Q: What is the Helix GNOME Desktop?
A: Helix GNOME is a service offered to the GNOME user community by Helix Code, Inc.
The purpose of this distribution is to make it easy for end-users to install a fully-featured GNOME desktop on their favorite Unix system.
Q: Is this "Helix GNOME Desktop" another GNU/Linux distribution?
A: No, Helix GNOME is an add-on to your existing GNU/Linux distribution. You need an existing GNU/Linux system to run Helix GNOME.
Q: Is Helix GNOME free?
A: Yes, Helix GNOME is completely free. We are just packaging the latest and greatest versions of the various GNOME tools and making them as easy as possible for people to use.
As with other free software, you get the freedom to copy the software, modify the software, redistribute the software, and redistribute modified versions of the software.
Q: Can I buy a copy of Helix GNOME on a CD?
A: Helix GNOME will be available on CD in April.
Q: Does Helix GNOME distribution include support for Debian/Corel Linux?
A: Not yet, but we plan on supporting these systems in the near future.
Q: Does the Helix GNOME distribution include support for BSD?
A: The initial release of the Helix GNOME distribution does not include support for the free BSD systems, but we are on it.
Q: Will you provide timely updates to the various GNOME packages?
A: Yes, we will. GNOME is constantly under development. Whenever a new version of any piece of GNOME software is released, the dutiful hackers at Helix Code will do our best to make a packaged version available to you as quickly as possible.
Better still, the "Helix Update" application allows you to automatically update your GNOME desktop from the Helix web site whenever new packages become available. You can read more about Helix Update here:
http://www.helixcode.com/desktop/updater.php3
Q: Are you improving GNOME, or just shipping binaries?
A: The Helix GNOME desktop includes a number of improvements and patches that have been posted to public mailing lists, or have been committed to the GNOME CVS repository (but might not have been yet released to the public in source package format). This is all in the interests of making the best possible desktop experience available to GNOME users.
The Helix hackers are also constantly improving GNOME and the various GNOME tools, libraries and components and submitting patches to the various maintainers of those packages.
Helix Code employees actively maintain a huge number of GNOME packages, including: Bonobo, Achtung, Gnumeric, Go, Erdos, libzvt, gnome-terminal, gnome-core, gnome-applets, bug-buddy, gmc, gdk-pixbuf, eof, gnome canvas, evolution, gb, gtkhtml, gnome-vfs, camel, gnome-pim, glade, libibex, and others.
Q: Ok, I give up. What's spidermonkey?
A: Yes.
Enjoy!
The Helix Code Team
http://www.helixcode.com -
Helix Code Launched, Gnome Packages Available
t-money writes, "The Helix Code Web site went live this morning. They have a pre-release of their Helix GNOME desktop, which includes the latest development version of GNOME (gnome-core 1.1.5). " Thanks to all the people who wrote in about the Helix Code launch - I've got also got some information from Nat Friedman of Helixcode about what they are doing, so read more. And can I say Wow. This looks cool.From Nat:
Hello everyone!We are proud to introduce "McKinley," the first preview of the Helix GNOME desktop. This is a beta release of the Helix Code GNOME distribution. The URL for Helix GNOME is:
http://www.helixcode.com/desktop/
The purpose of this distribution is to simplify the task of installing a fully featured, up-to-date version of GNOME on your favorite GNU/Linux distribution. You can now experience all the joy and all the excitement that goes into the wonderful world of GNOME without agonizing through long, arduous build processes.
Helix GNOME includes all of the core GNOME packages and a number of extras. The entire Helix GNOME desktop is pre-configured to be as attractive and simple as possible. You can see some screenshots here:
http://www.helixcode.com/desktop/screenshots.php3
Currently the Helix GNOME desktop is available for the following operating systems:
- Red Hat Linux 6.0 and 6.1
- SuSE Linux 6.3
- LinuxPPC 2000
- Linux Mandrake 6.1 and 7.0
- Caldera OpenLinux 2.3
In the next few weeks we will be releasing an updated version that will include support for other Linux distributions and other Unix systems. And of course, we're constantly adding packages to the build system and releasing new packages as new versions of the GNOME software become available.
How to install
--------------
We have made installing the full Helix GNOME desktop as easy as possible. You just need to download the Helix installer program, and it will take care of it for you:You can find installation instructions at:
http://www.helixcode.com/desktop/download.php3
Mailing lists
-------------
If you want to subscribe to our announcements mailing lists, drop a message to:
announce-request@helixcode.com
And in the subject of the message put "subscribe". If you want to join the list of beta testers for the Helix GNOME distribution, send mail to:
beta-request@helixcode.com
A complete list of our mailing lists is available at:
http://www.helixcode.com/about/lists.php3
Questions and Answers regarding the Helix GNOME Desktop
------------------------------------------------------
Q: What does Helix Code do?
A:Helix Code is an open source software company devoted to improving GNOME, the leading desktop environment for Linux. We want to make GNOME the best desktop on the planet, and make it available to everyone.
Helix Code believes strongly in the importance of free software, which is why all of our software is licensed under the GNU GPL, and why all development is done in the public GNOME CVS repository.
Our main task is producing free applications for GNOME. Evolution is our first project: a groupware communications suite which includes an advanced mail client, calendar software and address book service.
We are also developing and improving the Gnumeric spreadsheet. Besides that, we maintain a number of core and peripheral packages of the GNOME system.
Q: What is the Helix GNOME Desktop?
A: Helix GNOME is a service offered to the GNOME user community by Helix Code, Inc.
The purpose of this distribution is to make it easy for end-users to install a fully-featured GNOME desktop on their favorite Unix system.
Q: Is this "Helix GNOME Desktop" another GNU/Linux distribution?
A: No, Helix GNOME is an add-on to your existing GNU/Linux distribution. You need an existing GNU/Linux system to run Helix GNOME.
Q: Is Helix GNOME free?
A: Yes, Helix GNOME is completely free. We are just packaging the latest and greatest versions of the various GNOME tools and making them as easy as possible for people to use.
As with other free software, you get the freedom to copy the software, modify the software, redistribute the software, and redistribute modified versions of the software.
Q: Can I buy a copy of Helix GNOME on a CD?
A: Helix GNOME will be available on CD in April.
Q: Does Helix GNOME distribution include support for Debian/Corel Linux?
A: Not yet, but we plan on supporting these systems in the near future.
Q: Does the Helix GNOME distribution include support for BSD?
A: The initial release of the Helix GNOME distribution does not include support for the free BSD systems, but we are on it.
Q: Will you provide timely updates to the various GNOME packages?
A: Yes, we will. GNOME is constantly under development. Whenever a new version of any piece of GNOME software is released, the dutiful hackers at Helix Code will do our best to make a packaged version available to you as quickly as possible.
Better still, the "Helix Update" application allows you to automatically update your GNOME desktop from the Helix web site whenever new packages become available. You can read more about Helix Update here:
http://www.helixcode.com/desktop/updater.php3
Q: Are you improving GNOME, or just shipping binaries?
A: The Helix GNOME desktop includes a number of improvements and patches that have been posted to public mailing lists, or have been committed to the GNOME CVS repository (but might not have been yet released to the public in source package format). This is all in the interests of making the best possible desktop experience available to GNOME users.
The Helix hackers are also constantly improving GNOME and the various GNOME tools, libraries and components and submitting patches to the various maintainers of those packages.
Helix Code employees actively maintain a huge number of GNOME packages, including: Bonobo, Achtung, Gnumeric, Go, Erdos, libzvt, gnome-terminal, gnome-core, gnome-applets, bug-buddy, gmc, gdk-pixbuf, eof, gnome canvas, evolution, gb, gtkhtml, gnome-vfs, camel, gnome-pim, glade, libibex, and others.
Q: Ok, I give up. What's spidermonkey?
A: Yes.
Enjoy!
The Helix Code Team
http://www.helixcode.com