Source: My Visions
OpenOffice.org (OO.o) developer Kay Ramme has just posted his visions for the future OO.o. He outlines several major points that will really help bring OO.o into the future. Following is a
Make all of OOo MVC (Model View Controller)
MVC is a long standing application architecture that really helps separate the user interface from the code and data. Major benefits of this approach are a more flexible GUI as it is not tied to the underlying code and the ability to restructure the data without affecting the presentation. The MVC architecture has been around for quite a while and is generally accepted to be a good way to structure your application. This will make OO.o more robust and will greatly help with maintaining OO.o and reducing potential for bugs. Ruby on Rails is a popular example of how a strict MVC structure for you code will benefit your application.
See: Wikipedia: MVC
Unified application with just different work approaches
Currently OO.o is split into a few different application, Draw, Writer, Calc, Base, Impress, etc. These are all the same binary but they show significantly different interfaces and functionality. This vision talks about truly unifying the applications so that no functionality is duplicated and there is less ways to do things. For example, currently in Writer there is a table feature that is completely different from the spreadsheet functionality of Calc. What would be ideal is to unify this functionality so that tables in writer & impress are the same as the spreadsheet in Calc. There will have to additional features added to the spreadsheet functionality to make it a suitable replacement to the table function but this will help unify the application and will reduce code and then potential for future problems. Also this will make the application simpler to use as there will be only one way to interact/create a spreadsheet/table.
OO.o's main competitor Microsoft Office is slowly working on this and has made some improvements in the latest Office 2007, but still does not have this. Koffice the KDE office project is working on this exact idea as the basis for Koffice 2 and could become a major alternative to OO.o in the free software arena.
Event driven architecture
This vision also requires a major architectural shift but will make for a much more robust code base. Event driven architecture is basically changing the code to make it respond only to events. These are usually user events (clicking a button, typing, scrolling the mouse wheel). The alternative to this is batch or flow driven programming where the programmer controls the flow of the application. What this means for the user is a much more reactive application that responds to user input. All interactive application have some of this functionality but by pushing it to the next level OO.o will be much more responsive and user friendly.
See: Wikipedia: Event Driven Architecture
Common threading model
This vision looks to have a common threading model throughout the OO.o code. There is an ongoing push to make all code threaded to help with utilizing new multi-core processors and OO.o is working towards this. By using a common threading architecture you reduce code and bugs by reusing the same functionality throughout the code.
See: OO.o: Uno Threading Model
Declarative Language GUI
This vision relates to the MVC as it requires the adoption of a language to describe the user interface. This allows the presentation to be separated from the code and allows for more flexible UI creation and easier changes/themeing/customizing of the UI. Another benefit of this is that this language is easier to understand then the C++ that OO.o is mainly programmed in so this could allow for people who have trouble with the complicated code base to be able to contribute better to the GUI. In other applications this separation has allowed graphic artists to easier customize the interface and make a much slicker product.
One of the best examples of this is the Firefox/Thunderbird/Sunbird/Sea Monkey programs from Mozilla. All of these applications use a language called XUL to describe the UI. This allows all theses applications to run on a very similar code base (soon to be more the same through the use of xulrunner) with most of the differences in the XUL interface code. All of these applications allow easy customization through the use of extensions and add-ons.
See: Wikipedia: User interface markup language
Improve the Build System
OO.o has the reputation of being hard to compile, and from many reports this is very true. It's immense code base and complicated structure make it one of the largest projects within the open source community. But this reputation also hurts adoption and contribution by external developers as they can have problems modifying the code and then compiling their changes. This vision is looking to make the build process much saner and only require GNU make without any external dependencies (for the building process). This vision also calls for saner output form the compiling process to help with debugging the build process.
So that is one developers view for the future of OO.o. Please check out the original post for more information and the included links. OO.o is a great office suite and bringing ideas and visions such as these to the public eye can only benefit the project as a whole.
Monday, July 23, 2007
Source: My Visions
Monday, July 16, 2007
Source: Fedora 8 Proposed Features
Fedora 8 is currently under development and is scheduled for release in November of this year (2007). This is a quick overview of the proposed features. As these are proposed features and as it is still about 4 months from release some of these will change.
Better Startup Graphical, smooth and polished startup
This first feature is to bling up the boot sequence. Currently the boot sequence is a mix of text and graphical modes and doesn't look as professional as some of the other competing OS's logins. (Mac OSX, Windows, Ubuntu) This features calls for the hiding of some current boot up graphics such as the GRUB menu and ensuring that there is only one mode switch between text and graphical boot. This will help make the fedora (and the next RHEL) boot up slicker and adds a more professional image to the OS.
Bigboard Replacement for GNOME panel that uses online services via mugshot
This next feature is about integrating the Mugshot Online Desktop Project's bigboard application. Bigboard is basically a sidebar for linux that partially replaces some of the top and bottom panel's functionality but with "greater emphasis to personalization, search, presence and contacts, and documents."
Codec Buddy Helper app promotes Free alternatives and guides users trying to play content under restricted codecs
This is a similar feature to Ubuntu's automatic codec install. When a user tries to play an audio or video file with an uninstalled codec this feature will ask the user if they would like to install the relevant codec. It will also warn the user about illegal use of codecs and will try to educate the user. This is different from Ubuntu's auto codec install as it will recommend the purchase of Fluendo's gstreamer codecs, where as Ubuntu will install the "free" codecs after the user acknowledges that the codecs are illegal in some countries and should not be installed there. This feature will help with usability as often users are confused when they cannot play their audio or video files. This also goes along with Fedora's commitment to a completely free OS as they are pushing the completely legal alternative first.
KDE4 Integrating KDE 4.0, a new major version of KDE
Not much has to be said about this feature as it explains itself. KDE 4 is going to be released in October and Fedora would like to incorporate it as the default KDE version into their 8th release. They are working hard on this feature as KDE 4 is highly desired and with the expected release of Fedora in November it will be one of the first distros to completely incorporate KDE 4. The Fedora developers are also working hard on ensuring compatibility with existing KDE 3 applications by shipping a full set of compatibility libraries.
NetworkManager System wide default network manager integration
This is another feature that Ubuntu currently has. Fedora would like to integrate NetworkManager as the default network configuration method. NetworkManager was started by Red Hat and currently the easiest way to manage wireless networks. It is ideally suited for laptops with wireless cards. It also has plugins for different VPN implementations making it easy to use a VPN. The current weaknesses of the implementation is in the server market or with managing multiple network devices. Also there isn't any easy method to manage the networks without a GUI. Fedora is working on these issues and is hoping to implement NetworkManager as the default and only network manager for Fedora 8.
PolicyKit Easy and painless administration
"PolicyKit provides a flexible framework for granting users access to privileged operations." This will help integrate the various ways distros allow desktop users to preform privileged operations. PolicyKit is completely integrated with HAL and DBUS and will provide a cutting edge desktop-environment agnostic method of securing the desktop. PolicyKit will also fix some implementation flaws of current methods of providing privileged operations to desktop users. (such as running X applications as root)
PulseAudio Feature rich sound server
This is one of the most exciting features slated for inclusion in Fedora 8. PulseAudio is a sound server, which provides for network abstraction for sound. It also provides for full mixing of multiple audio streams and can be used to preform various effects on sound. PulseAudio allows for application independent volume control and also will allow any sound source or output to be shared or mixed over a network. For example with PulseAudio you can have Rhythmbox running of one computer but play the audio over the soundcard of a different computer on the network. It also will work for input allowing for a microphone input on one computer to be used on a different computer. This feature will bring the audio side of the linux desktop into the 21st century and will compliment the advanced visual effects available with Compiz and Compiz Fusion.
Presto Using delta RPM updates by default. Saves heavy amount of bandwidth and time for updates.
This is also an exciting new feature. Presto is a plugin for Yum to allow for the use of deltaRPM's to be downloaded instead of the full RPM's when updating. The current method of updating requires the full packages to be downloaded, this requires a lot of bandwith and often is not required as only a few files in the RPM package are changed. DeltaRPM's are much smaller as they only contain the differences between the two different packages. Currently there isn't an easy way to make use of these deltaRPM's and Presto hopes to change this. By using this plugin the bandwith required by a user to update is greatly decreased this will benefit the users with slow connections and will also decrease the infrastructure required to host a Fedora update mirror.
VirtSecurity Secure remote mangement for Xen, KVM & QEMU virtualization
Currently in Fedora 7 and RHEL 5 their is no secure remote management of installed VM's. This feature will incorporate full TLS for all communication between the VM and the management applications. It also incorporates secure migration of guests across hosts.
Bookmarks Fedora 8 Bookmarks
This is a very basic feature that just states which bookmarks should be default in Firefox with Fedora 8.
TexLive TeXLive 2007 inclusion
The current teTeX TeX distribution is no longer actively maintained and TeXLive is the new recommended TeX distribution. Debian and Ubuntu already are shipping TeXLive and this is a natural choice for any distribution that ships TeX.
Rsyslog New default syslog daemon
This feature calls for the inclusion of Rsyslog as a replacement for sysklogd. The sysklogd upstream is dead and also is missing a lot of requested features. Rsyslog has full security for logging (an often requested feature for sysklogd) and also can log to a MySQL database. Sysklogd is an ancient implmentation of the syslog functionality and is missing many requested features so upgrading is a no-brainer. There are several syslog replacements but Rsyslog is fully backwards compliant and provides most of the requested features and has an active upstream.
No More XFS Don't start XFS font server daemon by default and fix font packages. Savings on performance and bootup time.
This feature would like to disable the x font server that is currently enabled by default in all installations. The two main reasons are it will accelerate the bootup process and that the use of an x font server is not required for most installations. This is almost a no brainier but needs some testing to ensure that this will achieve the desired results. Also this will require checking all programs that make use of the xfs to ensure they use the local fonts.
XULrunner Use and integrate XULRunner which is the Gecko browser engine separated from the user interface.
Currently many applications depend upon Firefox just to make use of it's gecko rendering engine. XULrunner is a Mozilla project to separate the common features of Firefox, Thunderbird, Seamonkey, and any other gecko powered application into a separate program to make maintenance easier and to reduce duplication of code and functionality throughout their projects. This will require changes to many applications so that they use XULrunner instead of their own embedded gecko implementation. This will also increase security as if there is a vulnerability in the gecko engine it will be fixed in all programs that make use of it. This is another no-brainier as all distributions will eventually have to implement and the benefits are many.
Laptop Improvements Improved support for using Fedora on Laptops.
This last proposed feature is a blanket feature to improve the Fedora experience on a laptop. This is basically just a improvement to the suspend/resume support and the special keyboard keys that are often on laptops. It also would like to see an improvement in battery life to the previous Fedora release.
So, that is a rundown of the features in the works for the next fedora release. Please check out the wiki pages for more details and future changes.
Thursday, July 12, 2007
Nouveau: 24.86 seconds
NV: 40.78 seconds
Which is a 64% improvement over the existing Nvidia sponsored nv driver.
This is a very limited 2D only test and does not represent 3D performance but it does show that the developers are making good progress.
The Nouveau driver is quickly gaining support within the various distros. Fedora 7 shipped with an alpha version of the driver and Ubuntu has committed to assisting and supporting the project.
Nouveau Driver Homepage
To better show the improvements here is a benchmark comparing the free NV driver to the closed source Nvidia driver: NVIDIA Xserver driver Benchmark
In this benchmark (using a GeForce2 MX) the closed source Nvidia driver has a performance gain of 36% over the free NV driver. As Nouveau driver had a 64% improvement it even exceeds the Nvidia driver.
These figures should not really be treated as equal as they are using completely different Nvidia drivers. (6xxx series to hopefully the new 9x or 10x drivers.
Monday, July 9, 2007
Source: Thoughts on the Virtualization area.
With all the news about Vmware Fusion and Parallels upcoming 3D acceleration capabilities there hasn't been much about the free software projects work in this area.
Introducing VMGL, which provides OpenGL Hardware 3D Acceleration for Virtual Machines. It is a program that you install in both the host and guest and allows for virtualizing the OpenGL functions. When tested in xen with Quake 3 & Unreal Tournament 2004 it provides for up to 87% of the performance of the native implementation. It has been tested under vmware and xen but it should work under any of the other virtualization solutions out there. (kvm, qemu, virtual box)
This is major news for the virtualization field as 3D acceleration has been the one area where there has not been much progress. As this is a generic solution released under a BSD licence it can be incorporated into any of the current virtualization solutions. Also it is gpu independent and will work with any OpenGL accelerator.
Xen summit Slides
As part of the new Gusty 7.10 release of Ubuntu, Apt has be upgraded to the latest 0.7.x series slated for Lenny. Some of the benefits of this new apt have already been seen in Ubuntu. The automatic dependency removal, the unattended upgrades, and the dpkg breaks field.
One upgrade in this latest series is the addition of a https transport method. This transport method should help to further increase apt's security.
Already with Etch (and many past releases of Ubuntu) secure apt has been included. Secure apt includes cryptological signed packages. These signed packages ensure that they are the ones the developers compiled, ensuring security. This was a major step forward in apt security.
The addition of the apt-transport-https package allows for ssl secured communication between the webserver and the apt client. Now with secure apt ensuring that the packages are what they say they are, and https secured communication, the entire debian/ubuntu package stack is more secure.
Apt 0.7.0 Changes
Today marks the launch of openmoko.com the corporate site for the openmoko project. If you didn't know already the openmoko is a new cell phone designed from the ground up in an open manner. All the hardware is designed in an open manner and the software on the phone itself is gnu/linux.
Previously only the community oriented openmoko.org site was live but this did not allow actual purchase of the Neo1973 phone. (The first phone openmoko will run on) Today anyone can go to the openmoko.com store and purchase a Neo1973 phone running openmoko. The phone is initially aimed at developers and is not quite ready for mass consumption.
The Neo Base model retails for $300 US, and the Neo Advanced is $450 US. They are not tied to any network and will function on any GSM provider.
This hopefully will provide some competition to Apple's latest creation, the iPhone.
OpenMoko.org - Development Site
- OpenMoko.org - Wiki
- OpenMoko.org - Planet
- OpenMoko.org - Mailing List
- OpenMoko.org - Getting Started with your Neo1973
Posted by Peter Vander Klippe at 8:56 AM
Saturday, July 7, 2007
Source: Developing GNOME is going to rock even more very soon!
Gnome development is starting to see some interesting changes. The first is the previously mentioned gtkbuilder support in GTK+ 2.12. This adds new features over the previous libglade implementation and also is now part of GTK+ so it can be used everywhere GTK+ is used.
Another ongoing development is GVFS. Currently gnome uses something called gnome-vfs which is great but is showing its age when it comes to newer functionality such as FUSE.
These new features alongside the amazing existing language bindings for GTK+/Gnome make for a very exciting time for Gnome.
Initial plans to replace gnome-vfs
Upcoming talk on GVFS at GUADEC
GVFS Benchmarking Ideas
Source: Linux Kernel Newbies
Ever want to know what was changed in the current release of the linux kernel but can't understand the cryptic changelogs? This site rewrites the changelogs in English and adds references. A great resource for anyone interested in the linux kernel.
Kernel Terms Glossary
Current Stable Kernel Changelog
Thursday, July 5, 2007
Source: Windows Vista - 90 Day Vulnerability Report
Recently (March 2007) there was a report (pdf) released comparing the 90 day vulnerabilities of all the major operating systems. The report compares RHEL 4, Ubuntu 6.06, Novell SLED 10, Mac OSX 10.4, Windows XP, Windows Vista. One dramatic result of this is the large number of vulnerabilities for the various linux distros compared to windows. Newer articles have come out and have shed more light on this issue. Most of the reasons come from the huge number of programs installed in the typical linux distro as compared to windows. Also the enterprise class distros have a policy of very long freeze cycles before release where some security advisories are not corrected. This all adds up to a test that does not properly compare the actual security of the different operating systems.
List of all RHEL 4 vulnerabilities
List of Ubuntu 6.06 vulnerabilities
Windows Vista 6 month report
Wednesday, July 4, 2007
Source: KDE 4.0 Alpha 2 Released
KDE released the 2nd alpha of their upcoming 4th desktop environment. This release sees much more work done on the Plasma part of KDE 4. KDE 4 is tentatively scheduled to be released in October of this year.
KDE 3.91 (4 Alpha 2) info page
Source: Compiz Fusion cube aquarium - first look
Compiz Fusion has a new aquarium plugin. It makes the desktop cube transparent and adds some fish. See the full image for a better look
OpenCompositing.org - Home of compiz fusion
YouTube Video of Compiz Fusion features
Source: gtkbuilder has landed
GTK+ has just gained UI builder support. Previously this functionality was only available through the libglade library (an external gnome library). This is important as it brings more advanced functionality out of the desktop environment and into the toolkit itself. Currently the functionality is only available in the development releases (2.11.3 and later) but will be incorporated into GTK+ 2.12, which is what GNOME 2.20 will be using, and therefore, Ubuntu 7.10 Gusty & Fedora 8.
Glade currently (3.2.2) does not support gtkbuilder, but the developers are meeting July 9th, 2007 to discuss what their plans are. It may be included in Glade 3.4, but definitely in 3.6.
"Add support for UI builders in gtk+" bug
Glade Development Meeting
Source: The Real Meaning of GNU GPLv3
Interesting article at Linux Journal about the GPLv3 and what it really means. Discusses the huge amount of media coverage of this event, the much increased collaboration in the development of the GPLv3, whether RMS has compromised, and the true meaning of the GPLv3. Good read, check it out.
Source: Ktorrent 2.2 released
Ktorrent 2.2 was just released. This release is just a minor update over the past 2.1.4 release. This is also the last KDE 3 release and the developers will be focusing upon KDE 4 for the next release.
Source: Debian Package of the Day - gnu units: units converts quantities between different scales
Debian Package of the Day post about gnu units. Gnu units is a cool program that converts various units. It has an interactive command prompt interface that is easy to use.
Source: tirdc: RS480 and compiz
One of the developers of the free Radeon R300 & R500 drivers reports that compiz is now somewhat working. There are still major visual defects but it does start up.
RS420: Xpress 200 Chipset
The irregular Radeon Development Companion
Avivo Git Repo (r5xx driver for Xorg)
Source: Sun ODF Plugin 1.0 & FAQ about Sun ODF Plugin 1.0
Sun has now released an ODF plugin for MS office 2000, XP, and 2003. This plugin now supports Word, Excel, and Powerpoint documents and seamlessly integrates as a native filter. The plugin currently does not work with Office 2007 as there is a bug that hopefully will be rectified with the first Office service pack.
Source: Fading Memories
The development version of Krita has just checked in new colour mixing palette code. This allows for mixing of colours like it was real paint. Who knows how useful this feature actually will be, but congratulations on trying new and innovative ideas.