Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×
Operating Systems

Journal Journal: Taking the Free Desktop to the next level

As many of you are aware, the FreeDesktop.org project aims at bringing together some common aspects of the free desktop. However, when developing applications, one is still forced to focus either on GTK or QT and in doing so direct their product at one audience predominantly. QT apps can run in Gnome (or Xfce) and GTK apps in KDE, however they don't look fully integrated. Furthermore, because of the fundamental coding differences between GTK and QT, we often have redundant efforts into relatively mirror software programs, one aimed at each major desktop.

I'm certainly not the first to suggest this, but isn't now specifically a good time to consider more fully merging the two technologies? With the major refactoring of KDE 4 and QT 4, there are some major new core technologies that any developer should be excited about. KDE is also embracing Tango, DBus, and many of the FreeDesktop.org concepts.

Furthermore, one of the major arguments for keeping GTK and QT separate technologies has been C vs C++, however both now have diverse language bindings. Developers should be able to develop in any language they choose, and not have the language be mandated by the toolkit. Honestly, the only good reason to keep them separate is in design. People who prefer GTK styles or widgets opt to develop with GTK, and vice versa. Couldn't there be a universal library that is capable of operating in appearance and usability like both GTK and QT when it comes to widgets and visuals? In fact merging the two might extend both and not only enable developers to reach a broader audience easier, but unlock more power and potential for everyone.

Choice is important, and one should never lose the ability to run their desktop how they see fit. Neither Gnome nor KDE should lose all their efforts into developing their vision of the desktop, however further merging core technologies and libraries means opening up these powerful tools to developers for all free desktops.

Imagine any application being able to tap into the potential merged technologies of:

  • Cairo - A sophisticated 2D vector graphics library.
  • Pango - A library for laying out and rendering of text, with an emphasis on internationalization.
  • D-Bus - Interprocess communication system.
  • GStreamer - A multimedia framework.
  • HAL - A specification and an implementation of a hardware abstraction layer.
  • Poppler - A PDF rendering library.
  • Tango Desktop Project - Which aims to provide a common visual standard across different platforms.
  • Solid - Making a universal hardware layer is CRUCIAL. Given that both projects utilize Hal and DBus, taking it one step further isn't a huge stretch. Further developing Solid could tie into working with kernel developers to examine how to best handle hardware from the kernel into userspace, and reexaming exactly what portions belong in each space.
  • Phonon - I hate to sound like a dissenter, but audio on the FreeDesktop leaves much to be desired. Phonon aims to fix this.
  • Sonnet - An advanced dictionary that I believe will be the successor to ASpell
  • Decibel - Project providing a service architecture to make chat and phone communication universally available to desktop applications
  • Plasma - Plasma would have to be extended to support and operate like Gnome's deskbar and desktop, but it is a powerful tool to create widgets and plasmoids that would offer great flexibility to all parties.
  • Strigi - I know there are many search technologies, and I'm assuming the best aspects of each could hopefully be factored into Strigi
  • Semantic Desktop - I am familiar with NEOMUK, and perhaps there are other projects that could be brought to this table.
  • Gnome VFS - The Gnome virtual file system.
  • Gnome Keyring - For storing encryption keys and security information.
  • Bonobo/KParts - Again, merge the best features of these two technologies to create a powerful universal component model
  • LibXML - The XML library.
  • ORBit - The CORBA ORB for software componentry.
  • A merged composite technology for nifty eye-candy. Compiz and Beryl merged though many thought it wasn't possible. Now Kwin is being rewritten with many of the same features that Compiz would provide, but is duplicating efforts. No doubt Gnome, KDE, Xfce and all the rest will want to retain separate WM's, but a core unified underlying base for composite extensions should be established.
  • Translation - Obviously different desktop projects each have different apps, and a bunch of different text, but many of the core terms and documents could be brought together to simply translation on the free desktop.

I know KDE is developing an icon-caching system given that KDE 4 is going to heavily utilize SVG to better scale everything on the desktop. I'm not sure if Gnome has a similar system.

Integrating core technologies involves on getting people who currently see things differently to come together. Some may dismiss this as an impossible goal, however that isn't the case. Ideally these technologies should be flexible enough to achieve the results that everyone is looking for while providing a unified base to avoid duplication of efforts.

Lastly, what I'm proposing is no small task. I fully understand that it involves a great deal of work, and in doing so, it would temporarily pause/strain development of projects like Gnome and KDE from moving forward in their current separate ways. However, the initial work may be daunting but imagine how much time and effort would be saved in the long run when we drastically cut down on duplicating efforts.

In many ways this is a win-win, and really such an obviously beneficial move, it should at the very least be revisited and given considerable thought. The sooner such a merge of core technologies takes place, the more time you save in the long run, and the easier such a merge takes place. As duplication in code continues, the more time consuming it will be to examine all the duplicate code and agree on how to merge the two.

At the very least, I hope existing efforts can continue and the FreeDesktop.org project should choose one or two new areas to focus on in bringing everyone together, like Strigi/Beagle or Solid. So please, before dismissing this out of hand, at the very least look over the above list and consider if any of those technologies could be or should be merged into a FreeDesktop standard library for everyone to use.


Journal Journal: People-Ready Business

Recently Microsoft unveiled their new slogan, "People-ready business". They have asked bloggers to write about what exactly this means to them. As someone who has grown up on Microsoft technologies, not only in the home, but in the workplace as well, I feel that I am very qualified to write about what this means to me.

Not everyone is a computer genius, and ever for those with strong technical skills, information technology is ever changing. It is near impossible to keep up, and thusly it is vital to design technologies that are intuitive to the end user. Time shouldn't be wasted on fighting with the technology. The tools should be designed in a way so that users can easily take advantage of them. They should also feature-rich and powerful so that advanced users can maximize productivity. Microsoft's crown jewel in this regard is likely their Office Suite. Not many people may recall, but at one time Microsoft was the underdog in Word Processing and Office software. It had to wrestle control of the market away from such giants as WordPerfect and dBase IV. Microsoft Office has become the de facto standard for how most people work and communicate.

However, being "People-ready" means the tool isn't as important as the people who use them. Our documents and databases, our emails and calendars, it is the data that we create that is so vital to us. In that regard, there has been growing concern over Microsoft's proprietary document standards. When creating a document in one version of Office, can you be assured that a user with another version of Office can open it? How sure are you that you'll be able to open your data 5 years from now, or 10? How useful is the tool, if we end losing access to everything we create with it? Shouldn't our content belong to us? Being "People-ready" means empowering the people to fully control their documents. In that regard, I recommend everyone to look into alternatives like OpenOffice and KOffice, which both utilize the Open Document Format.

Being "People-ready" also means being flexible and far-reaching. When working and communicating with others in a global environment, having open standards allows for people around the globe to connect together, even across different platforms and technologies. Again, technology should be a tool that allows us to collaborate, not intrinsically divides us. End-users don't care about hardware levels, or version-numbers. They just want to be able to connect with other people. If Microsoft were truly dedicated to being "People-ready" their products would focus more on open-standards. Their web-browser would be standards-compliant, so that people can more easily develop web-sites and know that everyone will be able to see and use them the same way. Microsoft would utilize open-standards for applications like Outlook, so they could handle contacts and appointments with anyone regardless of platform. They would open up their instant messaging network, and instead build on an open platform like Jabber so that we can simply to one address for messaging, and bring everyone together under one service and one protocol for the entire world rather than a collection of diverse networks again that divide us.

A while back Microsoft ran a campaign about believing in the people who use their products. The campaign suggested that Microsoft wanted to encourage us to innovate and be successful, when in truth, no major company has done more to stifle the growth and development of other companies. Honest competition is fine in a capitalistic society, but repeatedly Microsoft has been accused, and often been found guilty of anti-trust practices. They have bought out companies, strong-armed vendors into locking out the competition, breaking the law, and operating with hostile intent to destroy other businesses. "People-ready business" is not threating to "fucking bury that guy, I have done it before, and I will do it again. I'm going to fucking kill Google".

In fact, the Halloween Documents, which are leaked internal Microsoft documents, detail exactly how they embrace, extend and extinguish the standards and ideas of other people. They go out of their way to destroy the means of bring people together. They also put workers and companies out of business. Not exactly "People-ready".

A quick Google search will bring up countless examples of how Microsoft is evil, and why. Recently, Microsoft confirmed again that they are not only evil, but they are they very opposite of "People-ready business". Open Source Software is in many ways the epitome of "People-read business". Community developed by the people, for the people. I understand businesses serve to make a profit. No one will fault a company for doing that so long as the abide by laws. And I'm not demanding they release products for free. There is a huge difference between Gratis and Libre that many people do not understand. Open Source Software allows people freedom to choose, to cater products to their needs, to utilize open-standards and bring people together. Once again, Microsoft is working very hard to destroy that.

Even better, most successful businesses give something back. Microsoft has massive wealth, and now Bill Gates has founded the Gates Foundation. Warren Buffet handed over the bulk of his personal wealth to this foundation, which has been receiving insane donations. What is Microsoft doing with all that wealth in the name of charity? Primarily sitting on it and making interest, but they have been making investments in companies notorious for polution, waste and human rights violations. When asked about it, the Gates Foundation replied they can't be bothered to investigate the companies they are investing their billions in. If that isn't the most socially irresponsible response, I don't know what is.

"Other companies in the Foundation's portfolio have been accused of transgressions including forcing thousands of people to lose their homes; supporting child labor; and defrauding and neglecting patients in need of medical care. Overall, the LA Times says nearly $9 billion in Gates Foundation money is tied up in companies whose practices run counter to the foundation's charitable goals and social mission. And that number may be understated - the Gates Foundation has not provided details on more than four billion dollars in investments it says are loans."

Bill Gates was Time's Man of the Year. So was Hitler. It has been suggested now that The Gates Foundation is also using their "charitable donations" as a negotiating tactic. You want polio vaccines? Well, your country better change your IP laws to better suit Microsoft's political goals. How "People-ready" is that? Microsoft is paying bloggers to spam people with BS propaganda about why they are a ""People-ready business". Please post this on forums. Post this on your blog. Post it everywhere. They are hoping to boost their Google PageRank by paying bloggers to spit out ads for them in the guise of sincere opinions. However, if people spread the message of what Microsoft really is, this will all backfire in their face.

Thank you for your time.

-- T. J. Brumfield

Slashdot Top Deals

"We Americans, we're a simple people... but piss us off, and we'll bomb your cities." -- Robin Williams, _Good Morning Vietnam_