There have been some exciting developments from our Google Summer of Code and Haiku Code Drive students, even though it is only the first of three month. Here's a brief summary from most of the students. Be sure to visit their blogs for additional information and the occasional screenshot.
Lately, his work has been focusing on the catalogs for translating applications. These provide the mappings from one language to another. The initial mechanism is functional with Haiku's API and allows any application to be translated. This functionality is better explained in his blog post. The International Components for Unicode or simply known as "ICU" and a preflet for selecting the desired locale are other major aspects to be implemented. Amongst other features, ICU will provide the formatting conversions for date, time, monetary, and locale specific characters. Further down the road (and beyond GSoC) is an API wrapper for the gettext library, which can interface with posix applications.
Maxime and his mentor, Ryan Leavengood have been working together on both laying the foundation for a native browser, as well as updating WebKit to the newest codebase. In short, some of Maxime's work has been on browser specific features, including the bookmarking library, toolbar, and designing the multiple rendering processes support. Earlier this month, his work has shifted towards WebKit. Primarily migrating the Haiku specific code from the previous port to the current codebase and continuing it. For a more in depth explanation, look at his most recent blog post.
Earlier this week, his Gumstix Overo Water and Tobi expansion board arrived. Previously he has been using Qemu to emulate a Gumstix verdex as a testbed. His work has been focusing on the kernel and u-boot loader. The u-boot loader will be capable of loading the haiku_loader, which in turn will load kernel directly from a BFS partition. MMU related code and a driver for the microSD card reader are planned to be worked on next.
Several patches have landed in Haiku's source tree; changesets: 31234, 31235, 31236, and 31237. These allow BFS partitions to be created and deleted. On a side note -- testing of DriveSetup has been done inside Haiku running inside Qemu on Haiku!
CLucene has been ported to Haiku and exists as an OptionalPackage for the build system. CLucene is the library that provides the searching APIs. The indexing daemon has some initial functionality. One of the responsibilities of the indexing daemon is to determine which files need to be indexed or to have their indexed data refreshed. Being able to search the results and handling non-plain text files via translators are two items that are on his todo list.
The FUSE module hooks for almost all the necessary functions have been implemented. Most of the remaining functions that will be implemented are of lesser importance and require some research into Haiku's kernel Virtual File System. After that, the remaining work would be to get the FUSE library compiled with fs-shell, eg adding the necessary Jam rules. Since the FUSE module is host system binary, it can be debugged using tools of his host platform.