Home | Reviews | Tips | Shop | Top 10 | Channel Navigator | Nieuwsbrief | Forums
Palmclub webclipping tutorial: maak zelf een PQA (deel 1 van 4)
Door Gonny van der Zwaag (gonny@palmclub.nl) Klik op de plaatjes voor een vergrote versie

Als het om websurfen gaat, zullen er weinig mensen zijn die hun Palm als een volwaardig alternatief voor hun PC beschouwen. Toch is het verrassend dat er voor de Palm zoveel verschillende mogelijkheden zijn om interactief informatie van het web te halen:

  • via een webbrowser, zoals AvantGo, Browse-It of Blazer
  • via een wapbrowser, zoals WapMan of Neomar Wapbrowser
  • via webclipping
Webclipping is een door Palm ontwikkelde techniek, die op een belangrijk punt afwijkt van de andere twee. Bij web- en wapbrowsers wordt bij elk verzoek om informatie een complete pagina opgehaald, inclusief layout, plaatjes en andere franje. Dat heeft nogal wat dataverkeer tot gevolg, waardoor je altijd even moet wachten voordat de gevraagde pagina in beeld verschijnt.

Bij webclipping is dat niet het geval: per toepassing installeer je eenmalig een Palm Query Applicatie (PQA), waarin zich reeds alle plaatjes en opmaak-elementen bevinden. De informatie zelf bevindt zich op een Palm.Net server. Fjodor heeft in een eerder artikel uitgelegd hoe dit werkt.
Wanneer je op zoek bent naar specifieke informatie, bijvoorbeeld de weerssituatie in Rotterdam, dan hoef je in de PQA van Weather.com alleen de naam van de stad in te voeren. De heengaande gegevensstroom bevat alleen de plaatsnaam, de terugkerende datastroom is slechts een klein tekstbestand waarin alleen de weerssituatie in de gewenste stad wordt beschreven. De term PQA geeft al aan dat er sprake is van een query: de gebruiker doet een verzoek, waarin hij aangeeft welke informatie hij zoekt en ontvangt het resultaat hiervan via internet of via een draadloze verbinding terug.
Door de beperking van de hoeveelheid dataverkeer is er bij webclipping nauwelijks sprake van wachttijden. Als je continu online bent, zoals met de Palm VII, is het resultaat al binnen 2 seconden op je scherm. Ben je aangewezen op een inbelverbinding, dan kost de hele operatie zo'n 30 seconden, maar de iets langere wachttijd is vooral te wijten aan het opbouwen van de verbinding. Zodra de verbinding tot stand is gekomen, heb je binnen 2 seconden het resultaat in beeld.

Benodigdheden
Er zijn allerlei gratis PQA's te downloaden op Palmgear en soortgelijke websites: PQA's waarmee je de betekenis van medische termen kan acherhalen, PQA's waarmee je de premie voor een verzekering kunt opvragen, PQA's die woorden en uitdrukkingen kunnen vertalen, of PQA's waarmee je een routebeschrijving kunt ophalen.
Jammer genoeg zijn de meeste PQA's gericht op gebruikers in de Verenigde Staten. Een PQA waarmee je de dichtstbijzijnde vestiging van Starbucks kunt opzoeken -- onmisbaar als je niet houdt van de slappe bakkies koffie die je normaalgesproken in de VS krijgt voorgezet -- daar heb je in Nederland natuurlijk niet zoveel aan.

Hoog tijd dus, om eens wat meer aandacht te besteden aan het maken van Nederlandse webclipping applicaties. Normaalgesproken ben je voor het programmeren van een Palm-applicatie aangewezen op prijzige ontwikkeltools, of moet je behoorlijk thuis zijn in C, Java of Visual Basic om gebruik te kunnen maken van de shareware- en freeware-tools. Het leuke van webclipping is, dat je met een minimum aan tools en met nauwelijks programmeer-ervaring al een aardige PQA zelf kunt maken.

Dit heb je nodig om aan de slag te gaan:

  • de WCA Builder (gratis!)
  • een simpele editor (bijv. NotePad)
  • enige basiskennis van HTML
Om het resultaat te kunnen aanschouwen, moet je beschikken over een Palm met PalmOS 3.0 of hoger, waarop de webclipping bestanden (o.a. Clipping.prc, INetLib.prc en WebLib.prc) zijn geinstalleerd. Je kunt ze vinden in de Mobile Internet Kit van Palm of je kunt een oudere versie van de bestanden downloaden van onze website.

Eventueel kun je ook gebruik maken van de Palm Emulator, zodat je niet steeds je Palm hoeft te synchroniseren om het resultaat te kunnen zien. Overigens bevat de WCA Builder een handige optie om gecompileerde PQA's automatisch in je Install Tool te zetten, zodat het bij de volgende synchronisatie meteen wordt meegenomen.

De eerste PQA
Vrijwel elke programmeercursus gaat van start met "Hello World". Ook in deze tutorial zullen we hiermee beginnen, omdat daarmee meteen duidelijk wordt hoe een PQA is opgebouwd.
Webclipping maakt gebruik van een beperkte versie van HTML 3.2, waardoor niet alle tags mogen worden gebruikt. Frames, cookies, scipts en applets, style sheets, image maps en geneste tabellen zijn niet mogelijk, maar eenvoudige tekstopmaak-tags, normale tabellen, lijsten en plaatjes zijn wel toegestaan.

Zet de volgende tekst in een leeg Notepad-bestand:

  <html>
  <head>
    <title>Mijn eerste PQA</title>
    <meta name="PalmComputingPlatform" content="true">
  </head>
  <body>
    Hello World
  </body>
  </html>

Let op de meta-tag <meta name="PalmComputingPlatform" content="true">, deze is noodzakelijk om ervoor te zorgen dat de PQA straks werkt.
Sla het bestand op onder de naam hello.html en start WCA Builder.

  

Klik op de plaatjes voor een vergroting!

Kies in het menu File, Open Index. Zoek het zojuist gemaakte HTML-bestand, en klik op Open.
Kies nu File, Build PQA en er verschijnt een scherm met diverse opties. Als je met een icon-editor zelf een icoontje hebt ontworpen, kun je die toevoegen. Op dit moment zijn we echter tevreden met de standaard-instellingen en klik je op Build.

Wanneer je hello.pqa op je Palm installeert, zul je bij het opstarten het hiernaast afgebeelde scherm zien. Toegegeven, het resultaat is niet echt spectaculair, maar wat we al geleerd hebben is dat het niet verstandig is om een titel van meer dan 10 letters te gebruiken.

Interactie
De PQA "Hello World" biedt nog geen mogelijkheden tot interactie of het ophalen van informatie. De meeste PQA's kunnen dat wel: ze bevatten hyperlinks of form-elementen, bijvoorbeeld een tekstveld, dropdown-box of radiobuttons met bijbehorende verzendknop. De "zonnestralen" geven aan, dat verbinding wordt gezocht met Palm.Net, wanneer je hierop klikt.
Overigens hoeft de informatie niet altijd afkomstig te zijn van Palm.Net: een PQA kan ook gebruik maken van informatie uit andere Palm-applicaties, of kan self-containing zijn. Dat laatste wil zeggen, dat de PQA zelf alle benodigde informatie bevat, die pas wordt getoond wanneer de gebruiker erom vraagt. Zo zou je bijvoorbeeld een electronisch fotoalbum of catalogus kunnen maken.

Laten we bijvoorbeeld een self-contained applicatie maken, die een overzicht biedt van de verschillende Palm- en Handspring-handhelds die er momenteel op de markt zijn. De applicatie moet worden opgebouwd uit meerdere HTML-pagina's: een hoofdpagina (index.html) met daarop een verzameling hyperlinks naar vervolgpagina's. Per model wordt een aparte pagina gemaakt, die een foto bevat en een tabel met technische specificaties van de apparaten.

Deze keer maken we de applicatie zoals het hoort, dus inclusief een zelfontworpen icoontje, een navigatiestructuur en een About-pagina.

     

     

Wil je weten hoe deze applicatie wordt gemaakt, klik dan hier.

Het maken van deze applicatie leverde weer een aantal aanbevelingen en tips op:

  • In de HTML-files komen een aantal nieuwe meta-tags voor:
    • <meta name="palmcomputingplatform" content="true"> is verplicht in alle locale pagina's. Deze geeft aan dat de pagina is aangepast voor gebruik op een Palm handheld. Het zorgt er o.a. voor dat de pagina op de juiste manier wordt afgebeeld: zou je deze tag weglaten, dan zijn de plaatjes niet zichtbaar en wordt de pagina na de eerste 1024 bytes afgebroken. Plaatjes die breder zijn dan 153 pixels worden overigens altijd weggelaten.
    • <meta name="HistoryListText" content="true"> moet eveneens in alle pagina's worden opgenomen. Het zorgt ervoor dat er een lijst wordt opgebouwd, waarmee je kunt terugbladeren naar reeds bezochte pagina's. Eventueel kun je de variabelen &date en &time" toevoegen, zodat je precies kunt zien wanneer je op welke pagina bent geweest.
    • <meta name="palmlauncherrevision" content="3.9"> wordt alleen gebruikt in de index-pagina. Het geeft het versienummer van je applicatie aan, in dit geval v3.9.
    • <meta name="localicon" content="naamvanmijnplaatje.gif"> zorgt ervoor dat er bij het compileren plaatjes en HTML-files worden meegenomen, waar nergens in de applicatie naar wordt verwezen. Dit komt bijvoorbeeld van pas, wanneer je in een weersverwachting-PQA een afbeelding van een wolkje of zonnetje wilt laten zien, afhankelijk van de weerssituatie.
  • Elke applicatie moet voorzien zijn van een index-pagina. Dit is de hoofdpagina waarop de belangrijkste hyperlinks worden vermeld. Het is tevens de pagina die als eerste in beeld komt wanneer je de PQA opstart. Elke bestandsnaam is toegestaan, zolang het maar de extensie .htm of .html heeft. Voor alle duidelijkheid is het echter aan te raden om dit bestand index.html te noemen.
  • Wanneer je in WCA Builder de HTLM-pagina's wilt compileren naar een PQA, hoeft alleen te worden aangegeven wat de index-pagina is. Het programma scant de HTML-code en zorgt automatisch dat alle plaatjes en HTML-files waarnaar wordt verwezen, in de applicatie worden opgenomen. Wanneer een bestand ontbreekt, neemt het programma aan dat er sprake is van een hyperlink naar een pagina elders, op internet. Zorg dus dat alle benodigde plaatjes en HTML-bestanden in dezelfde directory aanwezig zijn, zodat WCA Builder ze kan vinden.
  • Zorg ervoor dat plaatjes in gif- op jpeg-formaat zijn en maak ze niet groter dan 100 x 100 pixels.
  • Een icoon maak je met een tekenprogramma. Zorg voor een eenvoudig en duidelijk symbooltje in bitmap-, gif- of jpeg-formaat, die niet groter is dan 22 x 32 pixels. Tijdens het compileren kun je in WCA Builder aangeven welk plaatje moeten worden omgezet in een icoon.

Verbinding met het net
Deze eerste aflevering van de webclipping tutorial bleef beperkt tot applicaties die gebruik maken van gegevens die al op de Palm aanwezig zijn. In deel 2 zullen we laten zien dat het ophalen van informatie van internet-sites verbluffend eenvoudig is, zolang je je maar beperkt tot pagina's die niet teveel franje bevatten. Vervolgens zal in deel 3 aandacht worden besteed aan echte query-applicaties, waarbij er op de Palm alleen een zgn. form aanwezig is, en waarbij een PHP- of CGI-script op een remote server zorgt voor het toezenden van de gevraagde informatie. Dit is het type PQA waarvoor webclipping eigenlijk bedoeld is. In deel 4 tenslotte, zal worden uitgelegd hoe het zelfs mogelijk is om webclipping applicaties te laten communiceren met de ingebouwde Palm-applicaties. Handig om informatie die je van het web hebt gehaald te kopieren naar je DateBook of MemoPad.

Meer weten?
Op de website van Palm vind je uitgebreide documentatie over het ontwikkelen van webclipping applicaties. Daarnaast zijn er een aantal andere websites die nuttige informatie bieden:

Discussie/vragen
Discussie en/of vragen over deze tutorial graag via de forums

Home | Reviews | Tips | Shop | Top 10 | Channel Navigator | Nieuwsbrief | Forums

Laatst gewijzigd:     Printvriendelijke versie