Schlagwort-Archive: webOS

FirefoxOS, swordJS und BibleZ

So, der Trend geht ja immer mehr weg vom Bloggen. Stattdessen wir getwittert oder Ideen und Updates in sozialen Netzwerken geteilt. Das ist auch bei mir der Fall, sodass hier in den letzten Monaten (eher Jahren) nicht mehr viel passiert ist…

FirefoxOS

Heute möchte ich ganz kurz meine Gedanken zu FirefoxOS loswerden und was weiterhin grad aktuell ist, seitdem die  schöne Zeit mit webOS langsam zu Ende geht. Noch nutze ich ja meinen Pre3 und er läuft weiterhin super, aber in näherer Zukunft muss ein anderen Gerät her. Auch wenn die Jungs von webos-ports OpenWebOS weiter nach vorn bringen, wird es wohl noch eine ganze Zeit dauern, bis man es wirklich auf aktueller Hardware einsetzen kann (Stichwort LunaNext). Deshalb habe ich mir im Sommer ein FxOS – Gerät besorgt (ZTE Open), um das neue OS einmal zu testen. Die Ernüchterung kam sehr schnell. Das Gerät ist erstens sehr billig gebaut, v.a. das Display ist nicht zu vergleichen mit Geräten aus höheren Preisklassen. Das Scrollen funktioniert nicht sehr gut und auch so ist es nicht das schnellste Gerät. Ok, es kostet auch nicht viel, aber es kam keine richtige Freude auf, zudem nicht gerade intuitiv zu bedienen ist. Wenn man sich über Jahre an webOS gewöhnt hat, scheint alles andere unintuitiv. Nichts desto trotz könnte FxOS in die engere Auswahl kommen, wenn es um ein neues Gerät geht, denn die Entwicklung schreitet schnell voran, auch wenn mir noch viele Features fehlen (wie CardDav oder CalDav Sync). In den nächsten Wochen kommt mein Entwicklergerät und ich werde mal die aktuelle Version testen und schauen, was sich in den letzten Monaten getan hat. Das ZTE Open hat die Version 1.0 am Laufen.

BibleZ und swordJS

In den letzten Jahren habe ich immer wieder Anfragen bekommen, ob ich BibleZ nicht auch auf andere Plattformen bringen könnte,  wie iOS oder Android oder Blackberry oder … Da BibleZ HD eine webOS Hybrid-App ist, d.h. es  gibt ein c++ Backend und der Rest ist in HTML/JS/CSS geschrieben, war die Portierung nicht ohne weiteres möglich. Meine Vision ist aber weiterhin, BibleZ auf möglichst vielen Plattformen anzubieten. Verschiedene Versuche die C++ Library vonCrossWire mit Emscripten in die Welt des Webs zu bringen, scheiterten. Aus diesem Grund habe ich mich im Sommer entschieden, eine Javascript Bibliothek von Grund auf zu schreiben, um auf die Module des SWORD Projekts nur mit Webtechniken zuzugreifen. SwordJS wurde geboren und grundlegende Funktionen sind bereits implementiert.

Natürlich braucht man für so eine Biliothek auch eine Referenz-App und so habe ich begonnen BibleZ nach EnyoJS 2 zu portieren. Das Projekt trägt den Namen BibleZ NG (next generation). Diese App werde ich demnächst auch in den Firefox Marketplace einreichen, doch müssen vorher noch ein paar Features ergänzt und Bugs behoben werden 😉

BibleZ NG

BibleZ NG

Leider ist meine Zeit für das Programmieren durch meinen Job sehr begrenzt und ich komme nur aller paar Monate zu coden oder bloggen. Naja, da bin ich sicher nicht der einzige, dem das so geht.

BibleZ HD Pro

Vor ziemlich genau einem Jahr habe ich damals angefangen mich mit dem neuen Framework „enyo“ und Hybrid-Apps (d.h. Javascript mit C/C++-Plugin) auseinanderzusetzen. Da es bisher kein Bibelprogramm für webOS gab, welches auf  SWORD basiert, startete ich den Versuch eine Hybrid-App zu entwickeln. Nach vielen Versuchen und Lesen von unzähligen Tutorials (cross compiling, …) klappte die Kommunikation zwischen Javascript und dem nativem Plugin. Im Sommer 2011 erschien BibleZ HD im AppCatalog. Seit gestern nun ist auch die Pro-Version im AppCatalog verfügbar. Viele Vorschläge, Verbesserungen und Features sind in die Entwicklung mit eingeflossen und einige stehen noch auf meiner Liste.

Hier ein kleiner Überblick über die Neuerungen:

  • Kommentare können installiert und angezeigt werden
  • Lesezeichen und Notizen lassen sich durchsuchen und in Ordner und mit Schlagworten organisieren
  • Parallelansicht zweier Module
  • Unterstützung für alle offiziellen Crosswire Repositories
  • Fußnoten, Querverweise, Überschriften und Bucheinführungen
  • Strongs
  • viele andere Verbesserungen (v.a. in Sachen Benutzerfreundlichkeit)

BibleZ HD Pro ist unter der GPLv3 lizenziert (Sources).

PrayerZ – organize your prayer requests!

PrayerZ hilft dir deine Gebetsanliegen zu organisieren! Gebe deine Gebetsanliegen ein und PrayerZ wird sie für dich sortieren & zusammenfassen (basierend auf Schlagworten). Du kannst zusätzlich Notizen zu einzelnen Gebeten hinzufügen.

Features:

  • Ordne deine Gebetsanliegen basierend auf Schlagworten
  • Gebete mit dem gleichen Titel werden automatisch zusammengefasst
  • Gib für jeden Wochentag Schlagworte ein, für die du beten willst

Seit heute ist diese webOS-App im AppCatalog verfügbar und erscheint in Kürze auch für das HP Touchpad. PrayerZ ist unter der GPL lizenziert (PrayerZ auf GitHub).

Sublime Text 2 – erste Erfahrungen

In der letzten Folge von mobileMacs bin ich auf Sublime Text 2 aufmerksam geworden, einen wirklich schönen (den Ruf haben crossplatform Programme ja meist nicht…) und sehr konfigurierbaren Texteditor. Bisher hatte ich für die Entwicklung meiner webOS-Apps immer Komodo Edit im Einsatz, doch es war an der Zeit, mal einen neuen Editor auszuprobieren. Bisher habe ich den Wechsel nicht bereut, im Gegenteil: die Arbeit macht mit diesem schicken Editor viel Freude!

Installiert habe ich Sublime Text 2 über folgendes PPA:

sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update
sudo apt-get install sublime-text-2

Sublime Text bringt von Haus aus keine Code-Validation für Javascript mit, allerdings gibt es ein Plugin, womit sich dieses Feature nachrüsten lässt. Dazu muss man allerdings zuerst noch eine Erweiterung installieren: Sublime Package Control. Ist dieser Schritt getan, kann man nun das Plugin bequem über die Sublime Paketverwaltung installieren. Dazu öffnet man die Command Palette (STRG+SHIFT+P) und wählt den Eintrag: „Package Control: Install Package“. Im nächsten Schritt kann man nun SublimeLinter („sublimelint“) installieren.

Achtung: Damit Sublime Linter auch funktioniert, muss node.js installiert sein!

Für mein derzeitiges webOS-Projekt (BibleZ HD) habe ich ein kleines Script geschrieben, welches das Plugin compiliert (BibleZ HD is eine Hybrid-App) und anschließend „palm-run“ aufruft, womit die App auf das Gerät/Emulator gepackt wird und automatisch die Logs ausgegeben werden. Sublime Text 2 besitzt sogenannte Build-Systems, d.h. man kann für bestimmte Dateitypen oder Projekte kleine Scripte angeben, welche dann das Projekt compilieren oder einzelne Dateien übersetzen (Coffee-Script o.ä.).

Über Tools → Build System → New Build System… kann man nun sein Script angeben. Hier ein Beispiel, wie ich mein Shell-Script eingebunden habe (das Skript habe ich vorher ausführbar gemacht):

{ "cmd": ["/path/to/my/File.sh"], "path": "/usr/bin:/usr/local/bin:/bin" }

Nun kann man bequem mit STRG+B bzw. F7 das Skript starten und den Logs in einer kleinen Console am Bildschirmrand folgen!

Ich finde Sublime Text 2 sehr gelungen und werde es definitiv noch weiter einsetzen!

5x BibleZ Pro zu verschenken

UPDATE: Aktion ist vorbei. Die Gewinner wurden benachrichtigt!

Da heute Himmelfahrt ist, verschenke ich 5 Kopien von BibleZ Pro. Voraussetzung ist, dass ihr webOS 2.x auf eurem HP/Palm – Gerät installiert habt und die aktuelle Version des AppCatalog nutzt (Promotion-Codes gelten nur für Deutschland).

Und so könnt ihr einen Promotion-Code bekommen:

  • folgt @biblez auf Twitter und schickt einen Tweet an @biblez
  • hinterlasst hier einen Kommentar, indem ihr kurz beschreibt, warum euch BibleZ gefällt

Wer sowohl tweetet als auch einen Kommentar hinterlässt, erhöht damit auch seine Chance auf einen Promo-Code. Die Aktion geht bis Sonntag (05.06.2011), 18 Uhr. Aus allen Teilnehmern werden 5 per Zufall ausgewählt!

webOS Entwickler-Tipps: Logging

Seit etwas mehr als einem Jahr entwickle ich nun mehr oder weniger regelmäßig für webOS. Im Folgenden möchte ich ein paar Tipps weiter geben, welche mir im Laufe der Zeit immer wieder geholfen haben. Heute also: Logging!

Logging von Javascript-Objekten oder JSON-Objekten:

Immer wieder kommt es vor, dass man sich den Inhalt eines Objektes ansehen will oder einfach nur schauen möchte, ob eine Variable den Wert null oder undefined hat. Dazu nutzt man am besten die Logging-Funktion von Mojo:

Mojo.Log.info("My Object: %j", myObject);

Logging auf Info-Level auf einem webOS Gerät:

Während der Emulator Logging Informationen auf dem Info-Level ausgibt, gibt ein webOS Gerät standardmäßig nur Meldungen auf dem Error-Level aus, d.h. alle Mojo.Log.info bzw. Mojo.Log.warning erscheinen nicht, wenn man die Logs auf dem Gerät verfolgt. Mit dem Befehl palm-log lässt sich jedoch das Logging auf Info-Ebene auf einem Gerät aktivieren:

palm-log --system-log-level info

Logs von einem Benutzer bekommen

Oft hat man als Entwickler das Problem, dass ein Benutzer einen Bug in der App feststellt und man gern ein paar Logging-Informationen hätte. Dies lässt sich relativ einfach in einer webOS-App implementieren. Dazu legt man einfach in der stage-assistent.js oder app-assistent.js eine globale Variable an:

logging ="----" + Mojo.appInfo.title + " " + Mojo.appInfo.version + " Log-----";

Nun kann in jedem Scene-Assistent auf diese Variable zugreifen und Logging-Informationen ergänzen, z.B.:

logging += "ERROR: Meine Fehlermeldung"  + " \n";

Damit der Benutzer diese Infos auch schicken kann, fügt man am besten im AppMenu einen Menüpunkt ein („Send Logs“), welcher daraufhin eine neue eMail öffnet mit den Logging-Infos als Nachrichtentext:

this.controller.serviceRequest('palm://com.palm.applicationManager', {
					method: 'open',
					parameters: {
						id: 'com.palm.app.email',
						params: {
							summary: "My App Logs",
							text: logging,
							recipients: [{
								type:"email",
								role:1,
								value:"foo@example.com",
								contactDisplay:"Foo"
							}]
						}
					}
				});

Wer noch weitere Tipps hat, die das Logging erleichtern, einfach einen Kommentar hinterlassen.

BibleZ – aktueller Zwischenbericht

In den letzten Wochen habe ich mir mal ein wenig mehr Zeit für BibleZ genommen und einige Änderungen gemacht. Es sind eine ganze Stange an neuen Features dazu gekommen wie z.B. eine Volltextsuche, eine Versmakierungsoption, eine bessere Integration von Notizen und Lesezeichen u.v.m. Um einen Eindruck der aktuellen Version zu bekommen, habe ich gestern mal ein kleines Video erstellt:

[youtube hQ0nnXfE0O4]

Wie man sieht, wird sich in der nächsten Version auch das Theme ändern. Das Update erscheint hoffentlich in den nächsten Tagen!

BTW: zefanjas.de hat nun auch eine eigene Facebook Fanseite bekommen!

Get it now

SaleZ – ein kurzer Zwischenbericht

Seit gestern ist SaleZ Lite nun auch im AppCatalog verfügbar (VideoDemo gibt’s hier). Ehrlich gesagt, hat mich das etwas positiv überrascht, da ich die App erst vor ca. 4 Tagen eingereicht hatte. Bei ‚BibleZ for webOS‘ musste ich da schon fast 2 Wochen warten! An dieser Stelle möchte ich auch noch mal allen Betatestern danken, die mit geholfen haben, Fehler zu finden.

In der Zwischenzeit ist auch die Arbeit an SaleZ (Pro) weiter voran geschritten. Mittlerweile kann man auch Festpreisartikel direkt vom Gerät kaufen („SofortKaufen“), die Bewertungen des Verkäufers einsehen, Suchvorschläge erscheinen, wenn man einen Suchbegriff eingibt und seit heute kann man auch seine eBay Nachrichten lesen. Für nächste Woche steht die Suchfunktion auf dem Programm. Da ist noch einiges zu machen!

Und schon wieder ist es März…

Das neue Jahr hat schon längst begonnen und der Frühling macht sich langsam aber sicher auf den Weg. Auch wenn ich den Winter sehr genossen habe, freue ich mich dennoch sehr auf die neue Jahreszeit, denn es stehen wieder einige interessante Projekte vor meinem geistigen Auge.

Seit letzten Oktober bin ich Besitzer eines Palm Pre und ich muss sagen, dass ich selten so zufrieden gewesen bin mit einem Handy/Smartphone wie mit diesem. Natürlich ist es teilweise noch etwas langsam und hier und da stören mich einige Dinge (sehr), aber im Großen und Ganzem bin ich happy mit diesem Gerät. Auch von der softwareseite her finde ich es spannend welchen Weg Palm geht – ein Betriebssystem ganz auf Basis von JavaScript/CSS/HTML5 ist schon sehr visionär, gerade weil die Entwicklung des Webs und auch der Apps in diese Richtung gehen wird. Ich meine, JavaScript ist die Sprache, welche derzeit immer stärker auf sämtlichen Websites eingesetzt wird und nirgendwo mehr wird Geld investiert als in die Verbesserung der JavaScript Engine.

Im November letzten Jahres habe ich angefangen für diese Plattform(webOS) zu entwickeln. Die Werkzeuge die Palm zu Verfügung stellt laufen unter jedem größeren Betriebssystem. Leider ist die API derzeit etwas beschränkt, d.h. auf die wichtigsten Dinge kann man zugreifen, allerdings ist es z.B. nicht möglich das Mikrofon einzubinden oder auf das lokale Dateisystem zu schreiben oder vorher angelegte Datenbanken zu verwenden oder … Trotz allem macht es mir viel Spaß Apps für den Palm Pre/Pixi zu entwickeln.

Bisher arbeite ich an drei Anwendungen: Losungen, BibleZ und SaleZ. Losungen und BibleZ waren meine ersten Projekte. Dazu habe ich hier schon mal was geschrieben. SaleZ ist eine ebay App für webOS, d.h. man kann seinen MeinEbay Inhalt auf dem Gerät sehen und nach Artikeln suchen. Auch Bieten soll mit dieser App möglich sein, doch hier warte ich noch auf eine Genehmigung von eBay. Geplant habe ich einen kostenlose „Lite“ Version und eine Vollversion, welche ein wenig später erscheinen, dafür aber einige Features mehr haben soll, wie z.B. eine bessere (erweiterte) Suche und die Möglichkeit auch SofortKaufen Angebote direkt vom Gerät kaufen zu können – nur um einige Features zu nennen. SaleZ befindet sich derzeit im Betatest und ich hoffe, dass dieser bald geschafft ist, damit die App den Weg in den AppCatalog finden kann!