Haiku

Alles rund um Haiku, Statusberichte, neue Komponenten

Neue Vektor-Cursor

Im Rahmen seiner Web+ Arbeit hat sich Stephan Aßmus einem Gebiet angenommen, dass seit frühesten BeOS Zeiten unangetasted blieb: der Mauszeiger. Seit ewigen Zeiten war das eine klitzekleine Bitmap Grafik, die in Auflösung und Farbtiefe beschränkt war.

Stippi hat sich jetzt hingesetzt und nicht nur den Standard-Zeiger als Vektorgrafik im Icon-O-Matic Format designt, sondern auch eine ganze Reihe anderer Zeiger, die Feedback über den momentanen Zustand bzw. Hinweise zu Aktionen geben, wenn man mit der Maus über einem Objekt schwebt.
Die sind wohl in erster Linie für Web+ gedacht, aber über kurz oder lang werden noch weitere Cursorformen dazukommen und in ganz Haiku Einzug halten.
Neben dem weniger pixeligen Look und der größeren Freiheit in der Farbgestaltung, hat das Vektorformat den zusätzlichen Vorteil, dass sich die Zeiger auch schön skalieren lassen. Man kann sich sogar Effekte vorstellen, wie rhythmisches vergrößern/verkleinern...

Wie sehen die Dinger denn nun aus?

Das war der alte Zeiger: Alter Cursor
Und das ist der neue: Neuer Cursor

Hier eine Übersicht aller zur Zeit verfügbaren Cursor:
Alle neuen Cursor
Sehr hübsch! Aber immer noch keine Sanduhr dabei... :)

"Hire-A-Dev" / WebKit Aktion trägt Früchte

Die Auftragsarbeit eines Entwicklers für einen gewissen Zeitraum und die dafür notwendige Spendenaktion sind ziemlich erfolgreich. In der Woche seit dem Aufruf ist das Spendenaufkommen stark angestiegen: etwa $1.200 (nach letzten Zählungen über $1.600) konnten eingenommen werden und es fanden sich auch einige, die ab jetzt monatlich einen kleinen Betrag spenden wollen.
Vielen Dank an alle, die etwas Geld locker machen konnten!

Da auch zukünftig solche Aufträge erteilt werden sollen, ist es für eine Spende übrigens nie zu spät. Wer also noch nicht dazu kam und noch an der Aktion teilhaben will, kann weiter über PayPal spenden.

Stephan Aßmus' Auftragsarbeit selbst, die (Weiter)Entwicklung von WebKit und nativen Browser, ist sogar noch erfolgreicher. In nur knappen zwei Wochen ist ein funktionsfähiger Browser entstanden: WebPositiv, als Nachfolger des simplen BeOS Browsers NetPositiv.

Stippi listet die Fortschritte seit dem ersten Blog Posting:

  • Große WebKit API Säuberung (BWebView, BWebPage, etc).
  • Bugfixe für Abstürze etc. beim Download.
  • Bugfixe für div. Abstürze.
  • Bugfixe beim Rendern von transparentem Text.
  • Stark verbesserte Desktop Integration.
  • Viel effizienteres Rendern.
  • Verbesserter Umgang mit WebCore um noch mehr Websites darstellen zu können.
  • Einführung eines Stop-Buttons.
  • Bugfix fürs Mausrad (Michael Lotz).
  • Bugfix um Tastatureingaben an den richtigen Frame zu senden (Michael Lotz).
  • Komplett neu geschriebenes Tab Management.
  • Darstellung von Favicons.
  • Noch mehr Tastaturkürzel und einige Mausaktionen (teilweise von Ryan Leavengood).
  • Neu geschriebene Timer-Implementation führte zu viel geringeren Redraw-Verzögerungen.
  • Auto-Vervollständigung im URL Feld (benutzt Oliver Tappes Spitzencode aus Beam).
  • Flüssiges Scrollen, da nicht mehr der ganze Frame bei jeder Bewegung neu gezeichnet wird.

Zwar fehlen noch einige wichtige Features wie Bookmarks, Kontextmenüs und Management von Cookies und Einstellungen, aber das Websurfen selbst funktioniert schon sehr gut, recht stabil und vor allem sehr schnell. Auch die Startzeit von unter einer Sekunde ist eine Wohltat verglichen mit dem BeZillaBrowser.

Die Entwicklung lässt sich in der "Timeline" auf der Haiku WebKit Port Seite verfolgen (die übrigens unter Haiku auf einem Rechner von Michael Lotz läuft). Dort gibt es auch "Nightly Builds" zum Testen.
Weiterhin kann man sich in Stippis Blog über die rasanten Fortschritte informieren. Hier verlinkt Stippi auch immer aktuelle Web+ Builds, die u.U. stabilere Snapshots sind, als die Nightlies.

Haiku Inc. stellt ein!

Um die Entwicklung von Haiku zu beschleunigen, möchte Haiku Inc. in Zukunft versuchen öfters mal einen Entwickler für einige Wochen Vollzeitarbeit anzuheuern. Dies bietet die Möglichkeit, sich für einige Zeit fest auf ein bestimmtes Gebiet zu konzentrieren, da man nicht auf die wenigen Stunden täglich beschränkt wird, die einem seine berufliche Arbeit lässt.

Der erste Teilnehmer an diesem Programm ist Stephan Aßmus, der für 160 Stunden an Haiku arbeiten wird.
Er hat schon in den letzten Wochen am WebKit Port und dem darauf aufsetzenden Browserprojekt "HaikuLauncher" (beides Baustellen von Ryan Leavengood und Maxime Simon) gearbeitet. Seine Auftragsarbeit wird sich ebenfalls auf dieses Gebiet konzentrieren.

Natürlich kann das durch Spenden finanzierte Programm keine marktüblichen Preise zahlen. Es versucht nur die Ausfälle ein wenig auszugleichen, um die sonst nicht für die Haiku-Entwicklung verfügbare Zeit zu kaufen.

Damit auch in Zukunft Entwickler an diesem Programm teilnehmen können, bedarf es in erster Linie Spenden. Neben Einmalspenden, findet sich auf Haikus Spendenseite auch die Möglichkeit zu kleinen monatlichen Spenden.

Wer selber gern an diesem Programm mitmachen möchte sollte sich mit seinem Angebot an info@haiku-os.org oder haiku-inc@freelists.org wenden. Wichtig dabei:

  • Länge der Auftragsarbeit
  • Stundensatz in US-Dollar
  • genaue Beschreibung des Projekts

Einzige Einschränkung für Bewerber: Man muss bereits Schreibzugriff auf Haikus SVN Repository besitzen. Dadurch ist sichergestellt, dass es sich um einen Entwickler handelt, der mit Haiku und seiner Entwicklerstruktur vertraut ist und die Zeit optimal genutzt werden kann.

OptionalPackages einfach nachinstallieren

Wer sich sein Haiku nicht selbst direkt aus dem Sourcecode baut und statt dessen auf die praktischen Nightly Builds zurückgreift, hat ein kleines Problem. Im Gegensatz zur Haiku Alpha Release ist Haiku in diesen Test-Revisionen im spartanischen Rohzustand, d.h. keinerlei Zusatzsoftware für die tägliche Arbeit. Das heißt, es fehlt auch der BeZillaBrowser, ohne den das Suchen und Runterladen von Software nur sehr schwer möglich ist.

Mit dem kürzlich von Matt Madia fertiggestellten Skript installoptionalpackage kann BeZilla und alle anderen Pakete aber kinderleicht nachinstalliert werden. Der Parameter "-l" listet alle verfügbaren Pakete, "-a" installiert das entsprechende Paket und evtl. Abhängigkeiten unter Berücksichtigung der verwendeten Haiku Revision und Kompilerversion.
Das Skript steht in allen aktuellen Images zur Verfügung, ist aber nur eine Zwischenlösung, bis der offizielle Paketmanager fertig ist.

WLAN Status

Wie läufts mit der Entwicklung des WLAN Stacks? Ausgesprochen gut, wie Colin Günthers Report verrät. Die im Rahmen der Haikuware Code Bounty geplanten drei Entwicklungsphasen des WLAN Stacks sind praktisch abgeschlossen. Der FreeBSD Stack wurde erfolgreich portiert, ein kleines Tool zur Konfiguration geschrieben und alle FreeBSD 8 WLAN Treiber lassen sich unter Haiku kompilieren.
Nicht nur das, die Treiber lassen sich nicht nur fehlerfrei erzeugen, sie funktionieren auch! Folgende Chipsätze werden so unterstützt:

  • aironetwifi unterstützt zumindest:
    • Cisco Aironet 350 Serie
    • Aironet PCI4500
    • Aironet PCI4800
  • atheroswifi unterstützt so ziemlich alle Chipsätze außer AR9285
  • broadcom43xx
    • BCM4301, BCM4306, BCM4307, BCM4309, BCM4311, BCM4312 and BCM4318
  • iprowifi2100
  • iprowifi2200
    • 2200BG
    • 2225BG
    • 2915ABG
  • iprowifi3945
  • iprowifi4965
  • marvell88w8335
    • Marvell Libertas 88W8310
    • Marvell Libertas 88W8335
  • marvell88w8363
  • ralinkwifi
    • RT2560
    • RT2561S
    • RT2561
    • RT2661
  • wavelanwifi unterstützt zumindest:
    • 3Com Airconnect
    • GLPRISM2 WaveLAN
    • Intersil Prism3
    • Intersil Prism2.5
    • Linksys WDT11
    • Netgear MA301
    • PRISM2STA WaveLAN
    • Siemens SpeedStream
    • SMC 2602W
    • Us Robotics 2415
    • Addtron AWA-100 PCI

Einzige Einschränkung: Es werden nur PCI basierte Geräte unterstützt, also PCI, miniPCI, PCI-Express, miniPci-Express und PCI-X.
PCMCIA, CardBus, ExpressCard, USB oder ISA Geräte funktionieren nicht.

Für einige Chipsätze muss die Firmware extra eingeladen werden. An sich unproblematisch, wären da nicht unterschiedliche Lizenzbedingungen der Hersteller zu beachten. So dürfen einige nicht zusammen mit dem Treiber verteilt werden, sondern müssen explizit heruntergeladen werden, und das erst nach erfolgtem Wegklicken, äh, "Akzeptieren" der Lizenzbedingungen.
Um das zu erleichtern, wurde von Matt Madia ein Skript entwickelt, das einem die Arbeit abnimmt. Es liegt den neuesten Images im SVN Repository als install-wifi-firmwares.sh bei und sollte zur Unterstützung von broadcom43xx, marvell88w8335, ipw2100 und iprowifi2200 ausgeführt werden.

Wer das Ganze ausprobieren will, besorgt sich einen aktuellen SVN Stand (z.B. als Nightly Image) und führt ggf. das erwähnte Skript aus.

Update:
Colin hat mich darauf hingewiesen, dass die WLAN Geschichte eben noch nicht in den Nightly Images enthalten ist. Dazu fehlen noch die entsprechenden Copyright-Hinweise im "AboutSystem" und vor allem entsprechende "Jam rules" für den Bau von den Images. An letzteren arbeitet bereits Matt Madia.
Alle nötigen Firmwares, Treiber und Tools befinden sich allerdings im SVN und können mit einer entsprechenden UserBuildConfig zu einem Image gepackt werden, wenn man sein Haiku selbst aus dem Sourcecode kompiliert.

Verkabeltes LAN und das neue WLAN sollten in den Network Preferences auf "DHCP" gestellt werden. Die Verhandlungen zwischen Haiku und dem Router können sich etwas ziehen, man sollte sich also zumindest eine Minute gedulden können.

Außerdem wichtig: Die Verschlüsselung und evtl. MAC-Adressen-Filter sind im Router auszuschalten. Hat die Verbindung geklappt, kann man die entsprechende MAC-Adresse freischalten und das MAC-Filtern wieder einschalten, um zumindest ein Minimum an Sicherheit zu haben.

Verschlüsselung ist der nächste große Meilenstein für den WLAN Stack. Colin selbst wird dazu wohl erst später im Jahr die Zeit finden, da er sich auf seinen Uni-Abschluss und anschließend um einen Job kümmern muss.

Es läuft allerdings bereits eine Sammelaktion für eine Code Bounty zur WLAN Verschlüsselung, die natürlich auch von anderen Entwicklern übernommen werden kann.

News Update

Einige Neuigkeiten in Kürze:

  • Seit über 2 Jahren lässt sich Haikus PPC Kernel wieder booten. Nach einigen Patches von Andreas Färber fährt er über Netzwerk gestartet auf echter PPC Hardware hoch, wo er dann recht bald in den Debugger stürzt. Aber immerhin. Alexander von Gluck hat auf seiner Haiku-PowerPC Seite alle nötigen Schritte dazu dokumentiert.

  • Ingo Weinhold hat fleißig an diversen Flaschenhälsen vor allem im VM und Filesystem rumoptimiert und konnte so z.B. das Erstellen von Haiku Images beschleunigen. Ohne genaue Messungen berichtet Rene Gollent von Steigerungen zwischen 25-40%. Die Optimierungen wirken hauptsächlich bei Systemen mit vielen CPUs/Cores.

  • Für alle, die schon immer mal ein Tutorial für BeSly schreiben wollten, gibt es jetzt ein kleines Tool, das dabei hilft.

  • Und noch ein Tool, diesmal online: Travis Reed hat ein PHP-basiertes Tool entwickelt, das die zur Lokalisierung von Haiku verwendeten "catkeys" direkt aus Haikus SVN Repository zieht und nach erfolgter Übersetzung eine entsprechende catkey Datei generiert.

  • Für den Qt4 Port gibt es ein Update, das die Stabilität soweit verbessert haben soll, dass sich nun die meisten Qt Programme kompilieren und nutzen lassen. Voraussetzung ist ein aktuelles Haiku gcc4 oder hybrid Image. (Der Arora Browser ist übrigens schon um einiges flotter als der BeZilla, aber in meiner Erfahrung um Längen weniger stabil.).

  • Andrew Bachmann macht kleine Fortschritte bei der Portierung von OpenJDK. In seinem Blog beschreibt er, wie man OpenJDKs Hotspot libjvm.so baut. Java Programme lassen sich damit zwar noch nicht ausführen, aber vielleicht ebnet das den Weg für weitere interessierte Entwickler sich am Java Port zu beteiligen.

Haiku Uni-Stipendium in Land der weißen Wolke

Die Auckland University in Neuseeland hat ein Stipendium für einen Haikuentwickler zu vergeben. Es handelt sich um ein volles PhD-Scholarship über 3 Jahre für 25.000 NZD/Jahr plus Studiengebühren. Das Ergebnis der Studienarbeit, die sich mit frei konfigurierbaren GUIs beschäftigen wird, hat gute Chancen auch wieder seinen Weg in Haiku zu finden, wie schon mit dem Auckland Layout Model und Stack&Tile geschehen.

Informationen zu diesem Traumjob in einem der schönsten Länder dieser Welt finden sich in Christof Lutteroths Mailinglisten Beitrag. Bewerbungen müssen bis zum 1. Dezember 2009 eingereicht sein!

Übersetzer für den Haiku User Guide gesucht

Nach einem kleinen Fehlstart beim Versuch Übersetzungen mittels eines Drupal-Systems zu managen, ist nun Vincent Duverts selbst gebautes Online Tool so gut wie fertig. Mit ihm werden alle Seiten des User Guides in Blöcke unterteilt, die getrennt übersetzt in eine Datenbank wandern. So können auch Änderungen im Original Englisch verfolgt werden und die entsprechenden Blöcke der Übersetzungen als veraltet gekennzeichnet werden.

Für den Übersetzer ist es denkbar einfach. Er klickt auf einen Absatz, um ihn in einem eigenen Browserfenster zu übersetzen. Ein Klick auf "OK", der Absatz wird übertragen und man kann sich dem nächsten widmen.

Die Datenbank selbst und die zusammengebauten HTML-Ergebnisse werden in das SVN Repository übertragen und können wie gehabt in Haiku Images gepackt und auch online angeschaut werden.

Noch ist das Tool allerdings noch nicht ganz einsatzbereit. Trotzdem werden schonmal die administrativen Notwendigkeiten in Angriff genommen, um dann möglichst schnell loslegen zu können, wenn's soweit ist.
Wer mithelfen will bei der Übersetzung, meldet sich bitte auf Haiku's Documentation Mailingliste und liest sich schonmal dieses Posting durch:

http://www.freelists.org/post/haiku-doc/Wanted-Translators-for-the-User-...

Alpha 1: Status nach einer Woche

Niels Reedijk beschreibt den Status eine Woche nach der Veröffentlichung der R1/Alpha1. Unter anderem hat er einige Statistiken zu bieten. So zählte die Haiku-os.org Webseite am Montag der Veröffentlichung 42.034 individuelle Besucher mit 138.942 Seitenaufrufen. Rekord!
Die Downloadseite wurde seitdem mehr als 62.000 mal aufgerufen und Haiku mehr als 32.000 mal heruntergeladen. Und hier sind die Downloads des ersten Tags und die Verbreitung durch Bittorrent Seeder noch nicht mal berücksichtigt. Erfolg!
Für diejenigen, die die aktuellen Zahlen im Auge behalten möchten, gibt es eine immer aktuelle Download-Statistik.

Neben den erfreulichen Download-Zahlen, bekam die Haiku Alpha Release auch einiges an Presseaufmerksamkeit. Die Reaktionen waren ziemlich positiv. Fast überall wurde auf Haikus Wurzeln im BeOS eingegangen, am interessantesten wohl in Thom Holwerdas OSNews Artikel. Eine Liste internationaler Pressestimmen dokumentiert das Interesse an Haiku als Opensource Alternative auf dem Desktop.

Die Ziele für den nächsten Meilenstein, Alpha 2, werden erst noch definiert. Derweil werden die zuhauf eintreffenden Bugreports ausgewertet und die Probleme nach Möglichkeit behoben. Darin besteht ja eines der Ziele der Alpha: Haiku von mehr Leuten ausprobieren lassen, um Fehler zu entdecken.
Daneben geht die Entwicklung natürlich immer weiter, so macht die Gallium3d Implementierung Fortschritte und auch die Lokalisierung und die anderen fertiggestellten GSoC/HCD Projekte finden ihren Weg in Haikus Code.

Ergebnisse vom 2009er Summer of Code

Matt Madia hat die Ergebnisse vom Google Summer of Code und dem Haiku Code Drive 2009 vorgestellt. Das dritte Jahr dieser Aktionen war noch erfolgreicher, als das Jahr zuvor. Fünf der sechs GSoC Studenten und einer der beiden HCD Studenten haben ihr Projekt erfolgreich zuende gebracht. Adrien Destugues und Bryce Groff haben sich sogar direkten Schreibzugriff in Haikus Code erarbeitet, und Maxime Simon hat sich dieses Privileg beim WebKit Projekt verdient.

Im Originalartikel werden nochmal detailliert alle Projekte und ihr momentaner Stand aufgeführt. Hier nur in Kürze die Stundenten und ihre Mentoren:

  • GSoC: Lokalisierungs-Unterstützung
    Student: Adrien Destugues ("PulkoMandy" Blog)
    Mentor: Oliver Tappe

  • GSoC: Portierung auf die ARM Architektur
    Student: Johannes Wischert ("pfoetchen" Blog)
    Mentor: Francois Revol

  • GSoC: Update von DriveSetup/Disk_Device
    Student: Bryce Groff ("bebop" Blog)
    Mentor: Ingo Weinhold

  • GSoC: Integration von WebKit in einen Haiku Browser
    Student: Maxime Simon (Maxime Simon Blog)
    Mentor: Ryan Leavengood

  • GSoC: Implementierung von ZeroConf Unterstützung mit mDNSResponder
    Student: Jie Ma (Ma Jie Blog)
    Mentor: Axel Dörfler

  • HCD: Volltext-Indizierung und Suchwerkzeug
    Student: Ankur Sethi ("AntiRush" Blog)
    Mentor: Rene Gollent

Obaro Ogbo, der unter Bruno Albuquerque einen CIFS Client implementieren wollte, scheiterte leider, weil er während der überwiegenden GSoC-Zeit keine Internetverbindung hatte.
Raghu Nagireddy wollte unter Stephan Aßmus den Datenaustausch mit andern Betriebssystemen verbessern, indem er als HCD-Student eine BFS FUSE Implementierung entwickelt. Das Projekt wurde leider nicht abgeschlossen, so dass sich von dieser Arbeit nur Teile im Haiku Code Repository befinden.

An alle Studenten und deren Mentoren herzlichen Dank! Hoffentlich wird der GSoC/HCD 2010 genauso erfolgreich!

Inhalt abgleichen