Open Club










RSS

Open Club


LATEST NEWS

Victoria’s Electoral Commission has flagged plans to expand its use of electronic voting kiosks based on Linux software in the next state election in November this year.

The state first started using the machines in a limited trial during the last state election in 2006. It appears as if the machines were used for voting for the vision-impaired, as well as for military personnel. News of the rollout was broken by Computerworld.

However, in tender documents released last week, the state revealed it would expand its use of the machines. About one hundred kiosks will be deployed to early voting centres (including mobile facilities) around the state as well as in the United Kingdom.

According to the tender documentation, the machines will consist of one in-built 19″ LCD touch-screen, one PC with an Ethernet network port, and an in-built USB smartcard reader. The machine must be able to run Linux, as the commission has requested Linux drivers for the components.

The commission stated it would install Linux on the machines itself, but it remains unclear which exact version of the open source operating system it will use.

The tender documents stated that drivers must be compatible with the "2.6 kernel/Gentoo release of Red Hat Enterprise Linux”. However Red Hat and Gentoo are quite different Linux distributions.

It appears as if Victoria’s previous e-voting system was supplied by Hewlett-Packard, in conjunction with Spanish company Scytl.

The news comes as Linux has not been making headway for desktop use in Australia — even in such limited use as customised and locked down terminals such as e-voting systems require.

One of the last stand-out Linux desktop deployments in Australia was that found at Kennards Hire. However, in December 2009 the plant and equipment company revealed it had migrated its 300 desktop machines running Fedora Linux back to Windows (thin clients) in 2008.

In contrast, the New Zealand government is currently engaged in a pilot to replace Windows PCs with desktops running Linux and open source software. However, Linux remains a force in local server deployments, where it is seen as the main rival operating system to Microsoft Windows.

Category: Open Source | Views: 0 | Added by: Root | Date: Yesterday | Comments (0) | Source: delimiter.com.au

BSI LogoIn May, Swiss company Business Systems Integration AG (BSI) will release its Scout business application framework to the open source community. A first look at the Scout project's source code will be available to attendees at this year's EclipseCon conference, taking place from the 22nd to the 25th of March, 2010 in Santa Clara, California.

The Scout framework is the foundation for a number of BSI's products, such as BSI CRM. It consists of an application model, a reference implementation, an SDK (Scout Development Toolkit) and a number of development tools. Its primary goal is to reduce development time for service-oriented architecture (SOA) and Java 2 Platform, Enterprise Edition (J2EE) compliant business solutions.

According to Andreas Hoegger, Eclipse Scout project co-leader and System Architect for BSI, opening up the framework is the next logical step. During EclipseCon 2010, Hoegger and BSI project manager Matthias Zimmermann will present a two hour tutorial on Eclipse Scout. 

BSI joined the Ecilpse Foundation in May of last year as an Eclipse Solutions Member. Eclipse Scout is currently at the project proposal status. The Scout source code to be released in May will be made publicly available under an Eclipse license.

Category: Open Source | Views: 0 | Added by: Root | Date: Yesterday | Comments (0) | Source: www.h-online.com

Simon Phipps, Chief Open Source Officer at Sun, has left the company following its acquisition by Oracle. Reflecting on his nearly ten years at Sun in a posting on his personal blog, Phipps feels he achieved some "amazing things", including the releasing of code for Unix, Java, elements of Linux and the SPARC chip under free licenses. Phipps is also proud of the part he has played in guiding the Open Document Format at Sun and his role in kick starting Sun's blogging culture. He pays credit to the people he worked with in pushing forward those ideas within Sun.

Phipps has had disappointments though; he wanted to see Apache get the Java TCK licence that they wanted, an issue which has led to constant friction within the Java Community Process, and he didn't manage to get code for some projects "permanently outside the Sun firewall". Overall though, Phipps says he is "amazed and humbled to see what the open source team at Sun has achieved". Phipps has not made a decision on what he will do next, but will be keeping people informed through his Wild Webmink blog.

Phipps joins a number of former Sun employees who have left since the acquisition by Oracle. Tim Bray, SGML and XML expert, left on March 1st, and a number of the Drizzle developers, but apparently not including lead developer Brian Akers, have moved to RackSpace Cloud.

Category: Open Source | Views: 2 | Added by: Root | Date: Yesterday | Comments (0) | Source: www.h-online.com

The SCO Group is to receive 2 million dollars from a group of investors headed by majority shareholder Ralph Yarro. Following an oral hearing, the Delaware bankruptcy court dealing with SCO has approved the loan. This means that the company now has sufficient funds for the pending jury trial against Novell. The trial, which is to address rights to Unix and the legality of protective licences for Linux users, is set to start today and is expected to last three weeks.

At the hearing, SCO was able to persuade the judge that the loan offered by a group of investors headed by Ralph Yarro represented the best of twelve offers. The injection of funds will incur interest at 6.6 per cent, which compares well with one competitor offer which set out an interest rate of 10 per cent. That offer would also have seen charges imposed for setting up the loan – the Yarro offer does not impose set-up charges.

As well as the details of the loan, SCO presented a two-part business plan for the next 13 weeks developed under administrator Edward Cahn. The two parts are the software business, which is generating revenues, and the litigation business, which has so far generated only costs. Without the loan, it would, according to Cahn, not have been possible to continue litigation. Once the trial between SCO and Novell ends at the end of this month, SCO will have sufficient funds to repay the loan – assuming it wins the case. Regarding further restructuring of the troubled company, Cahn also told the court that he had visited the company's subsidiaries in the UK and Germany and it should soon be possible to close these down. The bankruptcy court approved the transactions.

Category: Computer news | Views: 3 | Added by: Root | Date: Yesterday | Comments (0) | Source: www.h-online.com

Linux MintClement Lefebvre Linux Mint is a Ubuntu-based distribution which aims to bring a more complete, elegant and friendly desktop solution to its users. To do this, the project offers multimedia codecs, Flash and Java support right out of the box, along with some custom applications. Mint, the child of Clement Lefebvre, has attracted a lot of attention over the past three years. Some people are very happy with the product and provide the project with a steady stream of donations, while others downplay the distribution, claiming Mint is just Ubuntu with additional codecs and a different theme. It had been over a year since I last tried Mint and I decided to see what the project currently has to offer. Before setting out to test drive Mint, I had a chance to exchange e-mails with Clement Lefebvre (pictured on the right) about his creation...

* * * * *

DW: What's new in Mint 8? What are some of the new features people will enjoy in Helena?

CL: We answered many of the requests we received after the release of Linux Mint 7 and some of the changes we made were quite popular among our users. The Update Manager now allows you to ignore updates for certain packages. The level associated with each package is something we maintain so this addition gives a lot more power to the user. We also improved many aspects of the Software Manager and we implemented numerous little things to make the system more comfortable to use.


DW: One comment that comes up a lot on the DistroWatch forum is that Mint uses the Ubuntu repository, rather than host its own. Would you care to explain why that is and if there are any plans to develop your own repositories? I understand that Mint has a small repository of about 440 packages, could you tell us about that?

CL: Linux Mint isn't just based on Ubuntu, it's fully compatible with it. Unlike what Canonical does with Debian, we do not fork the Ubuntu repositories or break compatibility with our base distribution. We use two technologies to make the most of our package base while remaining independent in our choices and the changes we want to implement: APT pinning (which is well-known to Debian users) and adjustments (which is a technology of our own). When we want something to act differently than it does in Ubuntu we can either maintain the package ourselves or dynamically tell our system to adjust the changes we require. Our repositories are given a higher priority than the other ones, ensuring that Linux Mint users pick the versions we maintain rather than the ones coming from upstream.

Developing our own repositories represents a massive amount of work. If you look at the various distributions on the market you'll notice very few projects which have the resources to both maintain their own packages and develop new innovations on a regular basis. I can think of only a few, and these are backed with corporate funding - with a business model that usually requires them to shift their focus away from what matters to home users and onto more lucrative activities such as business support.

Of course, with our own repositories we would become more independent. I would personally like to slow things down and to be more conservative on the base of the system and when it comes to hardware detection, to ensure more coherence and less regressions between releases, but we're more than happy with what's done upstream, whether it comes from projects like GNOME, KDE, the Linux kernel team or even distributions like Debian or Ubuntu. Every six months our own features shine on top of a large amount of upstream improvements and the result is fantastic. If our goal is to get to a perfect desktop then we're only introducing change when we think we can do better. There's still much to do to improve the desktop and so it's not the time for us to focus away from this. We leave the system to upstream projects and we don't feel the need to introduce changes in that domain.

On the things we do want to change, APT pinning and our adjustment system give us the flexibility we need and so we don't need to duplicate and/or patch every single package in separate repositories.

With regards to server loads, both Linux Mint and Ubuntu are mature projects with mirror networks. For the distribution, a network of mirror hosts is very important. It makes it easy for people to download and use the operating system, it reduces the load on each server and it improves the overall performance for each user. For the mirrors, this is also very important as once they have the resources hosted locally, they can offer them easily to their own audience. Let's take a national ISP as an example. If many people in the country download and use Linux Mint, that creates significant bandwidth and requests from this country to our servers in Germany or Ubuntu servers in the USA. It's in the interest of the ISP to mirror both Ubuntu and Mint so that the local users find the same resources locally. To the distributions, that means fewer things to worry about. To the users that means local servers, to the ISP that means less outgoing requests.

I wish I could answer the question more briefly but there's so much to say about the hosting strategy. To summarize, there's no real advantage in maintaining our own repositories at the moment as it doesn't represent any significant issues when it comes to server loads or our independence as a distribution and it would require a lot of work, attention and focus which would inevitably be shifted away from what matters the most: improving the desktop.


DW: The Mint web site makes it very clear that the project is based on Ubuntu and, in turn, Debian. When you started with Mint was there any move to work within the Ubuntu community more? Or did you see your creation as being its own distro right from the start?

CL: The project was independent from the very start and although the system itself technically qualifies as an Ubuntu flavour (since it's both based on and compatible with it, and since the base system is almost the same) the distribution itself, in terms of direction, structure and ways of working is completely different. We consider Ubuntu as an upstream component and, as prominent as it is within the end result, it's still something we consider as a part, which can be changed, modified, patched and configured to fit in. The same way we're committed to use GNOME as our desktop, we're committed to use Ubuntu as our package base, and the reason for this is simple: these components give us the best results to get the job done. That doesn't mean we're not looking elsewhere though. We're often trying out different desktops, in particular with community editions such as KDE, Xfce, Fluxbox. And we're interested also in porting our technology to other package bases such as Debian (for which there's a project planned) and Fedora. Because of the complexity of these upstream projects and because we're focused on our main task, we're not actively involved in working with them or in developing our own desktop or package base.


DW: Your site offers professional support packages at reasonable prices. Do you have any support clients, and if so, are they mostly home or business clients?

CL: We only have a very small number of customers and they're mostly home or small business clients. We're expensive when compared to Canonical, Mandriva or other support offerings in the Linux market and that's because the support is done by the development team itself. We're also careful when it comes to support as we want to remain focused on the distribution itself rather than on commercial activities revolving around it. Our business model is extremely light and very efficient. We're funded by our user base and the on-line activity it generates and that allows us to be successful without worrying about whether or not what we're doing is lucrative.


DW: Mint seems ideal for home use. What features does it have which would appeal to businesses?

CL: It's robust, predictable, modern, comfortable, efficient - all the reasons why you'd want to use it at home also make for an ideal workstation. It's quite popular among small to medium companies. Our project is small though, and it lacks independence, long term strategies, marketing, PR and support structures. For these reasons, it doesn't appeal to large businesses, where Red Hat, Novell and, to a lesser extent, Mandriva and Ubuntu are more viable solutions.


DW: There are a lot of applications on the CD. Do you use any special compression methods to make it all fit?

CL: Yes, the live CD is compressed with Squashfs. There's about 2.5 GB compressed within these 700 MB :)


DW: What comes next? What will we see in Mint version 9?

CL: It's a bit too soon for me to talk about this but we're planning on two significant developments - a community website with a hardware database, ideas (similar to Brainstorm), blogging, social-networking, support, software portal and many other features. And a complete re-write of our Software Manager. This time we want it to be package-centric (so hopefully it will replace Synaptic) with over 30,000 packages, user reviews, combining the best from the current mintInstall, the GNOME application installer and the Ubuntu Software Center.


DW: Anything else you'd like to share? Words of wisdom, comments?

CL: We're having a lot of fun making Linux Mint. Whether it's integrating upstream projects, implementing our own ideas, interacting with the community, it's always fun. And it's a pleasure for us to see people getting excited about what we do and users happy with our releases. And then there's also so much more than Linux Mint, so many distributions to try and to download, so many other software applications to install, there's a world of fun for everyone to enjoy. I think that's the beauty of open source, that energy and how easy it is for developers to build on top of what's already there and how exciting the whole thing can be. I hope this will last. There's also important questions to be addressed and conflicts to be resolved when it comes to free software and open source and we shouldn't avoid them, but to all people who bring joy and excitement to us and who keep Linux going, I'd like to say thank you. That's the most important aspect of all and that's what we're all here for.


DW: Clem, thank you very much for taking time out of your busy schedule to answer questions. It's greatly appreciated.

* * * * *

Linux Mint comes in five different flavours, depending on the needs of the user. The Main edition is a GNOME live CD for 32-bit and 64-bit machines. There's a Universal edition, which removes certain software to make the product legally distributable all around the world and includes additional language packs. Rounding out the options are the KDE and Fluxbox editions. The disc images can be downloaded free of charge from the project's website or purchased for a small fee of US$10. While my copy of the Main edition was downloading, I took a look around the Mint site.

The distribution's web site is easy to navigate with clear menus and plenty of useful information. Aside from the download and donation pages, there is also a project Wiki which contains a lot of useful information, HOWTOs and frequently asked questions. There's a forum for people who want to chat, share experiences and ask questions. There are links to reviews, a project blog and a contact page for people who wish to speak directly with the developers. The Mint team also offers professional support agreements at a reasonable price. One of the most impressive features of the site may be the project's software portal. Mint has a small software repository of 438 packages which the user can browse through by name, by category and by popularity. Users are able to download the packages and install them with just a single click. Additionally, users can login to write reviews of the software and rate products to help future users find what they need. Some of the software modules which caught my attention were World of Goo (the demo), Opera and Google Earth.

With my latest CD image downloaded and burned to disc, I sat down to test drive Mint 8, code-named "Helena". The disc begins by showing a green-themed GRUB menu which provides a few options. The user can boot into the Linux Mint live desktop, start Mint in Compatibility Mode or kick off OEM mode. The OEM option starts the installer without booting into the live desktop and the Compatibility Mode tries to run the desktop with the VESA graphics driver enabled and APCI turned off. Selecting the default option takes the user to an Emerald City edition of GNOME where the application menu and taskbar sit at the bottom of the screen. A few icons for exploring the file system and a launcher for the system installer sit in the upper-left corner of the desktop.

The installer takes the user through the usual steps of selecting a preferred language, the proper time zone, and keyboard layout. When we arrive at the partition manager, there are three options available to the user. The system can take over the entire disk, try to install Mint alongside any other OS on the drive, or the user can manually arrange partitions. The manual partition manager is pretty straightforward, giving the user the ability to set the size, format and mount point of each partition. The installer supports most common file systems, including ext4, ext3, ext2, JFS, XFS and ReiserFS. The only feature I missed here was the ability to encrypt an entire partition, but it is possible to encrypt individual home directories. In the next step, the installer asks the user to create an account and a password. The final screen provides the option to configure the boot loader and then the installer goes to work copying over the required files.

Linux Mint

Linux Mint 8 - the system installer introduces itself
(full image size: 348kB, screen resolution 1366x768 pixels)


When booting up Mint from the hard drive for the first time, there's no further configuration required, the user is sent directly to a login screen. Once logged in, they're presented with a welcome dialogue providing helpful links. These links direct the user to the distribution's manual, the forum and the release notes. There's also a link which will connect the user to Mint's IRC chat room where members of the community can provide assistance. The next thing I noticed was a padlock icon in the system tray. This icon changes, depending on whether updates are available and it provides a subtle way to let the users know their update status. The program blissfully does not nag the user if ignored, a habit some distributions have fallen into.

Though it takes just 2.5 GB of hard drive space, Mint comes packed with useful software. The application menu is loaded with a disc burner, text editor, calculator, file search utility, GIMP, OpenOffice.org, Firefox, Thunderbird, Pidgin, a BitTorrent client, IRC client, movie player, audio player, a system information tool and a few applications to transfer files. Mint also includes the GNU Compiler Collection (GCC) for developers, popular multimedia codecs, Flash, an application to perform backups, and Java. To tweak the system, there are tools to customize the look and feel of the desktop, manage printers, configure the firewall, use Windows wireless drivers, two package managers and an update program. All of these system configuration tools can be accessed separately or via Mint's all-in-one Control Center.

Linux Mint

Linux Mint 8 - using features in the control center
(full image size: 225kB, screen resolution 1366x768 pixels)


While on the topic of software, let's explore the two package managers offered by Mint. The first is Synaptic, which will be familiar to anyone who has used Debian, Ubuntu or other members of that family. Software categories are displayed in the left side of the window and (often cryptic) package names and a description are displayed to the right. Mint uses Ubuntu's repositories, providing over 28,000 packages. The other program is Mint's own mintInstall, which has a similar look to Synaptic with a few important differences. The main difference is that mintInstall connects to Mint's small repository of 438 packages. The categories are arranged in a more intuitive fashion, and each available program is given a popularity rating. Optionally, clicking on a package displays a screenshot of the desired program in action along with user reviews, similar to the way things are arranged on the project's web site. The update manager is also customized, acting very much like Ubuntu's update tool, but with an additional rating system. The ratings (ranging 1 - 5) tell the user how important and safe an update is. Critical updates which have been tested are rated as 1 while less important updates or ones which may break existing functionality are rated closer to 5. The user has the ability to select which levels of updates will be visible to the system (allowing dangerous updates to be hidden) and which levels will be automatically selected for download when the Update Manager is run.

While much of the software in Mint is what you could expect to find in its parent, Ubuntu, there are some highlights I feel are worth mentioning. For example, the Backup Tool application is a great way to archive the user's home directory with just a few mouse clicks. The File Uploader allows users to create links to remote computers and drag-n-drop files from their local machine to the remote server. Combining these tools means a user can back up their files and send the archive over a secure connection to another machine with six mouse clicks and no typing involved - handy for users with less technical experience. Mint also comes with Giver, a file sharing tool which allows users to transfer files to other people on the network using a simple point-and-click method. I can see this being a very useful tool in a small office environment. The graphical Ubuntu firewall application is pre-installed on Mint, which is good to see.

A program called Domain Blocker gives the administrator the ability to deny access to web sites - handy for concerned parents and people who wish to block advertisements. The application menu itself is an unusual creation. It attempts to merge the main GNOME menus (Applications, Places and System) into one large menu. The new approach took me a while to get used to, but I find it's growing on me. One last application I was happy to find pre-installed was APTonCD. This tool gives the user the ability to save all cached software packages into a CD image and, optionally, burn them to a disc. The benefit of this is that a person with several computers to set up can download all the available updates onto one machine and then transfer the updates to a USB drive or CD. The updates are readily available for the next machine without using any bandwidth to re-download the packages. There are other ways of doing this, of course, but APTonCD is probably the easiest option for end-users.

Linux Mint

Linux Mint 8 - finding software and getting assistance
(full image size: 294kB, screen resolution 1366x768 pixels)


My test drive with Mint included two computers, a generic desktop machine with a 2.5 GHz processor, 2 GB of RAM and an NVIDIA graphics card; and my HP laptop with a dual-core 2 GHz CPU, 3 GB of RAM and an Intel graphics card. As far as detecting and using my hardware was concerned, Mint performed perfectly. And, to date, it's the only distribution which can make that claim. Recent versions of both Fedora and Ubuntu come very close, but Mint worked flawlessly with no manual configuration. My desktop was set to the desired resolution, sound worked out of the box, my laptop's touchpad worked properly, the webcam functioned as desired, my printer was detected as were my wireless card and Novatel mobile modem. To see how Mint would perform with fewer resources, I ran the distribution in a VirtualBox virtual machine with variable amounts of memory. I found Mint was very responsive with 1024 MB of RAM and performance continued to be good down to about 512MB. Below that point, applications became sluggish.

With such a large collection of applications and a tendency toward user-friendliness, I excepted Mint to disappoint when it came to security. By and large, I was mistaken. The Mint team walks a careful line between giving the user what they want and protecting them. For instance, when using the live CD the user is logged into the system as a non-root user, called "mint". This user is able to mount local hard drives and read from them, but write access is denied, preventing accidental data loss. Once installed locally, the Mint administrator can grant new users administration rights, regular desktop rights or set them up as unprivileged users. Though administrator tasks can be performed (by privileged users) via sudo, the root account is also available for people who wish to use it. By default, the home directories of regular users are left open for other users to read, but the root user's directory is locked down. I was happy to find that Mint doesn't run most network services by default, leaving secure shell, for example, disabled. The exception is Samba, which is running with reasonable defaults.

Linux Mint

Linux Mint 8 - creating a different look for Mint
(full image size: 265kB, screen resolution 1366x768 pixels)


During my time with Mint I experienced no application crashes, no lock-ups and no cryptic error messages. Care has been taken to make features accessible to the user without being annoying and without getting in the way, making Mint not only a user-friendly, but enjoyable experience. While Mint caters to novice Linux users, the developers have tried to make their distro appealing to the more experienced crowd as well. For example, having GCC installed out of the box is convenient for developers. For people who don't like the custom Mint application menu, it can be swapped out for a more traditional menu with a few mouse clicks. If the user isn't thrilled with the constant green theme, it can be replaced in seconds. People who don't like the Mint software manager can use the popular Synaptic instead. For free software enthusiasts who don't want to download proprietary software, there's the Universal edition of Mint. And, while some people might be concerned about bloat from all of the extra applications, Mint requires less hard disk space than Mandriva and only slightly more space than Fedora. The Mint team provides their product free of charge, but also offers support for people looking for business solutions.

Mint isn't perfect -- no distribution or operating system is -- but it does very well. There is only one thing on my wish-list for Mint: more documentation for some of the small applications, such as the Backup Tool, Giver and the File Uploader. These are great little programs and I think more users would feel comfortable with them if they came with some examples. That desire aside, I am very impressed with Mint 8, both the product and the project as a whole. It's ideal for Linux newcomers and more experienced users who want their computers to function right away. I found the system to be responsive, friendly and immediately useful. I highly recommend giving Mint a try.
More(RU)
Category: Open Source | Views: 16 | Added by: Root | Date: 02.03.2010 | Comments (0) | Source: distrowatch.com

Mozilla's mobile Firefox browser is coming to Google's Linux-based Android operating system. Although the porting effort is still at an early stage of development, it is moving forward swiftly. Mozilla's developers achieved an important milestone this week by demonstrating that the browser can run on the Nexus One smartphone.

Due to the highly experimental status of the project, Mozilla has not yet published packages for testing, but that didn't deter us from getting our grubby mitts on the goods. As our readers know, we just can't resist the doughy flavor of half-baked software, and we will gladly brave the bugs for a chance to taste test the new hotness before it really heats up. In order to get our own hands-on look at Firefox on Android, we had to compile it from source code.

About Android and the NDK

Although Android is a Linux-based platform, it has its own totally unique userspace environment that is built on top of a custom Java runtime. Android applications are typically coded in Java and compiled into Google's own bytecode format so that they can be executed on Android's Dalvik virtual machine. Due to the somewhat insular and alien design of the Android userspace stack, porting a conventional Linux application to the platform is a highly complex and non-trivial effort.

Mozilla got the job done with Android's Native Development Kit (NDK). Developers use the NDK to compile C and C++ source code into native ARM binaries that can be loaded and used by standard Java-based Android applications. The purpose of the NDK is principally to make it possible for application developers to use native code for performance-critical computing tasks that would be impractical to perform on Dalvik. One of the secondary advantages of the NDK is that it allows developers to port and reuse existing C and C++ code.

Components that are compiled with the NDK can be used and integrated into an Android Java application via the Java Native Interface (JNI), a framework that serves as a bridge between a Java virtual machine and native code. Native code functions can be exported through JNI and made accessible to higher-level Java applications.

How the Firefox port works

To make Firefox run on Android, Mozilla modified the Firefox browser's Gecko rendering engine so that it could be compiled with the NDK and used in an Android application through the JNI.

Gecko is one of the core components of Firefox's underlying architecture. It handles parsing, layout, drawing, and much of the other functionality that is needed to display and support interaction with a webpage. In addition to rendering Web content, the Gecko engine is also used to render Firefox's user interface, which is described with an XML markup language called XUL.

Mozilla wrote a very small amount of Java code that is used as glue to make the native Gecko components accessible as an application in the Android environment. This code can be found in the embedding/android directory of the Firefox for Android source code. You can see how it works by having a look at the GeckoApp.java file.

The GeckoApp class is an Android Activity that handles the basic window layout and component initialization. The GeckoAppShell class loads the native libraries and starts running a Gecko engine in a thread. The GeckoSurfaceView class is an Android drawing buffer on which Gecko will render the page content and application user interface. The surface is embedded in the GeckoApp activity and painted to the screen. The surface is also responsible for relaying input events, such as screen taps and key-presses, to the underlying engine.

It's really important to understand that Gecko is used to draw the entire browser. In the Android port of Firefox, the menus, toolbars, and dialogs are all coded with XUL and rendered by Gecko instead of being built with standard Android widgets.

If Mozilla wanted to, they could build the user interface with real Android widgets and rely on Gecko solely for rendering Web content (an approach that is similar to the one used by Maemo's MicroB browser), but there are a number of highly compelling advantages offered by XUL that make it more desirable for a mobile Firefox browser. The principal advantage of using XUL for the mobile browser's user interface is that it is more conducive to supporting Firefox's much-loved add-ons.

One of the downsides of XUL as an independent, cross-platform toolkit, is that it doesn't automatically match the look-and-feel of other applications on any given platform. Mozilla compensates for this deficiency on the desktop by using the underlying platform's theming APIs to make the XUL widgets mimic the appearance of their native counterparts.

In mobile environments, Mozilla has taken a somewhat different approach with widget styles. Mozilla's developers have built a unique user interface with XUL that is tailored for small form factors and touch interaction, but doesn't necessarily bear a resemblance to the underlying platform. This tactic has delivered pretty slick results on Maemo.

This custom mobile interface hasn't yet been adapted for use by the Android port, however, which is currently using the same XUL templates as the desktop version of Firefox. This looks silly on a mobile device, but it's a temporary measure that is suitable for testing purposes at the present time. Mozilla says that the style that is used by Firefox Mobile on the N900 will eventually be used for the Android port.

Building the browser

For those who are wise in the ways of mozconfig, building Firefox from source is generally a simple matter. The process is almost entirely automated and requires very little operator intervention. If you are trying to do anything fancy, however, it can be a huge pain. Getting the Android port to compile proved to be a bit challenging. The port hasn't been merged into the main Firefox code tree yet, but it's available from a mozilla-droid branch that is undergoing heavy active development.

The Android page at the Mozilla wiki has some preliminary documentation, including a rough sketch of the steps that are required to obtain and compile the code. The instructions are a bit stale, so I had to improvise in a few places in order to get it to work.

You start by downloading the code from Mozilla's Mercurial-powered version control system. The next step is downloading and decompressing the Android SDK and the NDK. Mozilla had to make several minor changes to the NDK in order to get Gecko to compile, but they have fortunately published a patch on the Wiki page that you can use to apply their changes to your own local installation of the NDK.

Mozilla also helpfully supplies a set of build options that you can put in your mozconfig file. You have to customize the paths on the NDK and SDK lines so that it will know where to look for those components during the build process. You can ignore the section of the wiki page that explains how to build and run the JS/NSPR components—those sections are not applicable when you are compiling the entire browser.

Before you start compiling, you will need to set up a basic Firefox build environment. It's easy to do on Ubuntu, which has packages for all of the relevant dependencies. After you have everything set up, you run the make -f client.mk command in the top-level mozilla-droid directory.

This is when the hard part starts. The build process will periodically crap out and complain about missing bits. You will have to find and supply the necessary pieces in order to continue. I suspect that the exact things you'll need will differ as the code base evolves.

The biggest missing dependency seems to be the header files for Skia, the 2D graphics library that is used by Android. I had to download Skia's source code from its Subversion repository and copy the header files from include/core to mozilla-droid/widget/src/android. In the same directory, I also had to add copies of git://android.git.kernel.org/platform/system/core.git/include/cutils and git://android.git.kernel.org/platform/frameworks/base.git/include/utils.

After I provided those items, the build process made it all the way to the linking step, where it complained that it couldn't find -landroid_runtime and -lskia. I realized that those are Android libraries and was a bit surprised that the NDK itself doesn't include them. It's entirely possible that I missed a step at some point or failed to configure something that provides them. I ended up getting the necessary libraries from a live Android environment within the emulator.

The Android SDK comes with a tool called adb that can be used to interact with an emulated Android environment in various ways. The adb push and adb pull commands are used to copy files into and out of the Android environment. You can also use the adb shell command to get an interactive root shell for controlling the emulated platform. With the help of these commands, I pushed an executable of BusyBox into the emulator and used it to tar up the contents of /system/lib within the emulator shell. I used adb pull to get the tar file out and then I expanded it in android-ndk-1.6_r1/build/platforms/android-4/arch-arm/usr/lib. After I did that, the build process was able to finish successfully.

Under normal circumstances, you would test a Firefox build by running dist/bin/firefox-bin and generate a distributable tarball by running make package in the top-level directory. But that's obviously not going to work for the Android port. The final stage of the build process for Firefox on Android is compiling the Java code and generating an APK file, an Android installation package.

You can do that by going to the mozilla-droid/embedding/android directory that we discussed earlier in the article. All you have to do is run make in that directory and it will spit out your APK files. It will generate gecko.apk and gecko-unaligned.apk. Android has a tool called zipalign that optimizes packages for memory purposes. You are technically only supposed to use aligned packages, but I didn't really have much success getting gecko.apk to run during my tests. I was, however, able to successfully install and run the gecko-unaligned.apk package.

Running Firefox on Android

You can install Firefox into a live emulator instance by using the adb install command. The APK file itself is 15MB, but it uses roughly 53MB of space when it is decompressed. You have to make sure that your emulated Android filesystem has enough room to accommodate it, otherwise it will fail. You can do this by manually starting the emulator from the command-line and setting a high value for the -partition-size parameter.

After you install the package, you can run the program by clicking the GeckoApp item in the applications list. When the program runs, it will display a button labeled "Launch" in the top left corner of the screen. You can click this to start the actual Gecko process. There is generally some lag while it is getting everything set up. It doesn't consistently work and will sometimes crash before the actual browser starts. I had to try a few times before I could get it to work.

I wasn't able to get it to do much during my tests, but I was able to ascertain that it works. As the development is still at an early stage, it hasn't received much optimization yet. The performance consequently leaves a lot to be desired. It didn't seem to respond to keyboard input, but it was able to interpret my clicks. It's not very responsive at this point, so there was a noticeable delay between when I clicked and when it responded to my click.

I tested several features, including the bookmark system and page loading. To work around the lack of functioning keyboard input, I modified the Places SQLite database and added several sites to the browser's bookmarks. I was able to use those bookmarks to get the browser to load various sites that I wanted to test. It had no trouble rendering Ars Technica, but it couldn't manage the site's relatively modest JavaScript. The browser popped up a warning window prompting me to terminate the script because it was taking so long to run.

It's important to remember that applications suffer from a performance penalty when they run inside of the emulator. It's likely that the performance will be slightly better on real hardware. The use of the full desktop Firefox interface is also a factor that could be negatively impacting performance. The mobile user interface could be more responsive. If the development history of the Maemo version is any indication, it's a sure bet that we will see Firefox's performance on Android improve considerably as the port matures.

I really want to emphasize the fact that what we tested in this article is NOT a release, a prerelease, or an official build from Mozilla. I copied the code directly from the active working branch of a Mozilla developer and poked it with a sharp stick until I got it to compile. The purpose of this article is to shed some light on the development process and provide a helping hand to other enthusiasts who want to get it to compile. The bugs, performance issues, and other limitations that I've discovered are not indicative of what the final product will be like.

Firefox on Android is obviously not something that you would want to install and run on your handset today, but it has also clearly evolved beyond the proof-of-concept stage. It may not be practical to use yet, but it's a tremendously impressive feat that demonstrates Firefox's flexibility and illuminates the value and potential that can be unlocked by using Android's NDK. When it matures, it will bring more choice to users who are surfing the Web on Android-based devices.

More(RU)
Download Fennec (Firefox Mobile)

Category: Mobile Linux | Views: 9 | Added by: Root | Date: 23.02.2010 | Comments (0) | Source: arstechnica.com

Who are you, and what do you do?

I'm Richard Stallman, founder of the Free Software Movement. I campaign for computer users' freedom -- for instance, your freedom to control the software you use, to redistribute the software to others. Software that respects the user's freedom is what we call free software.

In 1983 I announced the plan to develop a complete free operating system called GNU. The system that millions of people use, and often refer to as "Linux", is a variant of the GNU system.

What hardware are you using?

I am using a Lemote Yeelong, a netbook with a Loongson chip and a 9-inch display. This is my only computer, and I use it all the time. I chose it because I can run it with 100% free software even at the BIOS level.

And what software?

To initialize the machine and boot, it uses PMON. Above that, it uses gNewSense, one of the totally free GNU/Linux distros.

I spend most of my time using Emacs. I run it on a text console, so that I don't have to worry about accidentally touching the mouse-pad and moving the pointer, which would be a nuisance. I read and send mail with Emacs (mail is what I do most of the time).

I switch to the X console when I need to do something graphical, such as look at an image or a PDF file.

Most of the time I do not have an Internet connection. Once or twice or maybe three times a day I connect and transfer mail in and out. Before sending mail, I always review and revise the outgoing messages. That gives me a chance to catch mistakes and faux pas.

What would be your dream setup?

I would ideally like to have a machine with the speed and memory of a laptop, and the display size of a laptop too, combined with the same freedom that I have now on the Yeelong.

Until I can have them both, freedom is my priority. I've campaigned for freedom since 1983, and I am not going to surrender that freedom for the sake of a more convenient computer.

I do hope to switch soon to a newer model of Yeelong with a 10-inch display.

More(RU)

Category: Open Source | Views: 16 | Added by: Root | Date: 17.02.2010 | Comments (0) | Source: richard.stallman.usesthis.com

We are pleased to announce the Plasma Javascript Jam Session. This friendly competition will reward creators of the most original, interesting and beautiful Plasma widgets (Plasmoids) written in Javascript with some great prizes and community recognition.

Anyone (except members of the judging panel) may participate in this open challenge that starts on Friday February 12th, 2010. The rules are simple:

  • Only Plasmoids written using the Simplified Javascript Plasmoid API may be entered.
  • All submissions must be released under a Free software license in compliance with the KDE Licensing Policy.
  • All submissions must be the original work of the contestants. Third party Javascript libraries, DataEngines, etc. may be used, but the actual Plasmoid itself must be the work of the contestant.
  • Each contestant may submit one, and only one, Plasmoid for judging. Contestants may work in teams (an artist and a programmer is a common pairing in Plasmoid development, for instance) but only one prize per submission will be offered regardless of team size and contestants may not be a member of more than one submitting team.
  • Final submissions must be in the form of an installable .plasmoid file submitted to javascriptjam@kde.org by midnight (UTC) on March 31st 2010.

Plasmoids will be judged based on the following criteria:

  • Usefulness / Entertainment Quality (40%): accounting for a full 40% of the final score, this metric reflects how indispensable, fun and "recommend it to my friends"-worthy the Plasmoid is.
  • Originality (20%): the more unique the Plasmoid, the better it will do in this category.
  • Beauty (20%): for Plasmoids that inspire desire, these points go higher!
  • Technical (20%): code poetry and Plasmoids that expose the full power of Plasma will rack up technical proficiency points.

The prizes up for grabs are really exciting:

  • Grand Prize: A brand new Nokia N900, a trip to join us at a KDE developer event, such as Akademy or Camp KDE, and a KDE t-shirt
  • 1st Runner Up Prize: A trip to join us at a KDE developer event, such as Akademy or Camp KDE, and a KDE t-shirt
  • 3 Honorable Mention Prizes: A KDE t-shirt

In addition to these over-all prizes, three bragging-rights titles are up for grabs:

  • Beauty Queen: this crown is reserved for the most stunning Plasmoid in form and function
  • Technical Giant: the Plasmoid that embodies the peak of technical excellence will walk away with this badge of honor
  • Creative Genius: the Plasmoid with the most interesting and original concept will claim this title

Additionally, everyone who submits a working Javascript Plasmoid that meets the contest requirements will receive a personalized certificate of participation by email. All submissions will be published for download on kde-look.org after the results are announced on April 9th.

Contestants will also be able to take advantage of training and support from the KDE Plasma team! Training sessions will be held on Friday the 12th, Saturday the 13th and Sunday the 14th of February at 16:00 UTC on irc.freenode.net in the #plasma-training channel. Each session, led by Plasma developers, will cover the Simplified Javascript Plasmoid API in detail along with Plasmoid development tips and tricks.

In addition, contestants are welcome to ask questions and solicit development advice on #plasma on irc.freenode.net and plasma-devel@kde.org, the official Plasma development mailing list, during the competition. We won't write your Plasmoid for you, but each contestant will have access to the same level of Q&A support that all Plasmoid developers normally have. Helpful reference materials can also be found in the Plasma tutorials section on Techbase as well as in the KDE Examples module.

The judging panel will be comprised of:

  • Aaron Seigo, Persona Plasma
  • Marco Martin, Plasma Zen Master
  • Nuno Pinheiro, Graphics Design Machine
  • Richard Moore, Javascript Bindings Artiste
  • KDE Community: Yes, that's you! A poll hosted on the KDE Community Forums will allow everyone in the KDE community to have a say in who wins.

Panel members will rate each entry individually in each of the four categories. The scores from the five judges will then be added up to create the final results.

The contest timeline is as follows:

  • February 12th: The Javascript Jam begins!
  • February 12th and 13th: Online training sessions at 18:00 UTC in #plasma-training on irc.freenode.net
  • March 24th: Contest entries can be submitted for inclusion by sending them to javascriptjam@kde.org
  • March 31st: The Javascript Jam is finished, no more entries may be made after this date!
  • April 2nd: All valid entries are published on the contest website and on KDE-Look.org
  • April 9th: Winners announced

Finally: a huge round of "Thank-You!"s to Nokia for donating the N900, KDE e.V. whose support makes this event possible and Nuno Pinheiro and Sean Wilson for artwork.

More information along with the official rules can be found on the Plasma website which is is devoted to the Javascript Jam for the duration of the contest. After the Javascript Jam concludes, the Plasma website will relaunch with new content and an updated design.

More(RU)

Category: Open Source | Views: 27 | Added by: Root | Date: 14.02.2010 | Comments (0) | Source: www.kdenews.org

1 2 3 4 5 »
Hosted by uCoz