|
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.
|
 In 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.
|
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.
|
 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.
|
  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 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 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 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 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.
|
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 NDKAlthough 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 worksTo 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 browserFor 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 AndroidYou 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)
|
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)
|
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)
|
Hosted by uCoz
|
|