An app to register another app for a certain file type…

Here comes an app which allows to register another app for a given file type on WebOS. The app is very basic and you can’t unregister or register for urls. But anyways here comes the app which performs the registration. It still might be handy for other devs which want to have some file type registered to their apps but still want to be in the app catalog.

Download: RegisterApp  RegisterApp (10,2 KiB, 2.145 hits)

Even if the source code isn’t published separately, the app is licensed under the GPL. You can grab the source out of the ipk. Enjoy.

Juli 30, 2010 · admin · 7 Comments
Posted in: Allgemein

WebOS: register your own app as file handler

This is some info I gathered doing enhancing my app iCalImporter. If you like this info here, you could buy this app to show me your appreciation.

Have you ever tried the menu item “Default Apps” (German: Standardanwendungen) in the App Launcher’s menu? Then you know that apps can register for certain file/mime types. But how to do it isn’t documented yet. According to this forums thread one might expect to get some documentations about it rather soon. Until then, Jay Canuck and the WebOSInternals-Team both using some luna-send commands to perform the file type registration for their applications: Internalz and Preware. Translating this luna-sends into proper service calls was easy and looks like this:

this.controller.serviceRequest("palm://com.palm.applicationManager/", {
 method: 'addResourceHandler',
 parameters: {
 "appId": "de.metaviewsoft.icalimporter",
 "extension": "ical",
 "mimeType": "text/calendar",
 "shouldDownload": true
 },
 onSuccess: function() {
 }.bind(this),
 onError: function(e) {
 Mojo.Log.error("Error %j",e);
 }.bind(this),
 onFailure: function(e) {
 Mojo.Log.error("Failure %j",e);
 }.bind(this)
 });

After you registered your app with this call, your app will be called by WebOS whenever such a file is to handle. To handle this call you will need to move your app from a simple stage application into a single or multi stage application which uses an app-controller:

  • in your appinfo.json set “noWindow”:true,
  • remove the stage-assistant.js from your sources.json and add an app-assistant.js to your app
  • in your app-assistant.js you add an handleLaunch function with the launchParams as parameters

The app-assitant.js looks usually like this:

var gblLaunchParams;

var MainStageName = "main";

function AppAssistant (appController) {
}

AppAssistant.prototype.handleLaunch = function(launchParams) {
 // Look for an existing main stage by name.
 var stageProxy = this.controller.getStageProxy(MainStageName);
 var stageController = this.controller.getStageController(MainStageName);

 try {
 var params = launchParams;//Mojo.getLaunchParameters();
 if (typeof(params) == 'object') {
 gblLaunchParams = params;
 } else {
 gblLaunchParams = Object.toJSON(params);
 }
 } catch (e) {}

 if (stageProxy) {
 // If the stage exists, just bring it to the front by focusing its window.
 // Or, if it is just the proxy, then it is being focused, so exit.
 if (stageController) {
 stageController.window.focus();
 }
 stageProxy.delegateToSceneAssistant("importICal");
 } else {
 // Create a callback function to set up the new main stage
 // after it is done loading. It is passed the new stage controller
 // as the first parameter.
 var pushMainScene = function(stageController) {
 stageController.pushScene(MainStageName);
 };
 var stageArguments = {name: MainStageName, lightweight: true};
 // Specify the stage type with the last property.
 this.controller.createStageWithCallback(stageArguments, pushMainScene, "card");
 }
};

“importICal” is a function in my main-assistant.js which reads the file given in gblLaunchParam.target. If your app isn’t already open you still might be called from WebOS with some launch parameters. That’s why I call importICal also from my main-assistant.js setup method.

When using an app-assistant you need to remember that certain calls to access the sceneController aren’t possible anymore. Use this.controller.serviceRequest or this.controller.stageController.

Email attachments are stored in a non-public path. Reading the file using Ajax-Get-Request doesn’t work and results in this error message:

Not allowed to load local resource: file:///var/luna/data/attachments/bucket

Unwiredben gave then the hint to use PalmGetResource() which does the trick in reading from this path.

At the moment calling this API isn’t allowed yet:

Your App Has Been Rejected
[...]
The following issues were found:
  1. main-assistant.js: found a call to a non-public service: palm://com.palm.applicationManager/addResourceHandler
  2. main-assistant.js: found a call to a non-public service: palm://com.palm.applicationManager/addResourceHandler
  3. main-assistant.js: found a call to a non-public service: palm://com.palm.applicationManager/addResourceHandler
  4. main-assistant.js: found a call to a non-public service: palm://co  m.palm.applicationManager/addResourceHandler

And now to something slightly different: Here is an easy 3 steps walk-through of adding scroll fades to your Mojo scenes.

Juli 27, 2010 · admin · No Comments
Posted in: Allgemein

MapTool, one more

There is now another great option to create offline maps from various source: Mapc2mapc. You can read here: http://forums.precentral.net/homebrew-apps/220281-maptool-gps-logger-osm-support-more-14.html#post2571144 the post from pitsop about it. Mapc2mapc is available from here: http://www.the-thorns.org.uk/mapping/
This tool was made by John Thorn and he also added OSMtracker support which is compatible with MapTool. Very, very nice 🙂

Also I add the current developer version of MapTool for people who like to play with the hottest and newest stuff and the ones who can’t access the official app catalog. Go and grab it from here.

Download: MapTool  MapTool (380,1 KiB, 2.148 hits)

Juli 26, 2010 · admin · No Comments
Posted in: Allgemein, Developing, Palm

MapTool – offline maps on WebOS

Here are some tutorials how to use MapTool and offline maps on your WebOS device:

  • In Spanish
  • In German
  • The official thread about MapTool is here in English
  • Something more:

    Here is a thread about my current changes to the build-in calendar. Goal is to render the calendar into a productive tool. Check it out here.

  • Mai 7, 2010 · admin · One Comment
    Posted in: Allgemein

    Have some more details in calendar’s week view #webos

    I used the free day today to work on a patch which brings some more details in the calendar’s week view: it shows 2 lines of event subject and a small bell to indicate an enabled alarm for this event. The bell also shows up in the day view. I will try to put some more infos in the month view tomorrow.
    The patch worked on my phone using WebOSQuickInstall. Don’t forget to save the following files before applying the patch for later restore:

    /usr/palm/applications/com.palm.app.calendar/stylesheets/calendar.css
    /usr/palm/applications/com.palm.app.calendar/app/controllers/day-assistant.js
    /usr/palm/applications/com.palm.app.calendar/app/controllers/week-assistant.js
    /usr/palm/applications/com.palm.app.calendar/app/controllers/month-assistant.js

    Here is the patch file and also a small icon for the integration of agenda (another great homebrew app) into the calendar app. The icon goes into /usr/palm/applications/com.palm.app.calendar/images/menu-icon-agenda.png

    calendar-patch.zip

    How to use WebOsQuickInstall to apply the patch:

    * download WOQI and the WebOsDoctor for your OS version
    * switch on developer mode on your device
    * backup the files from the calendar app (menu: ‘receive files’ and use the pathes mentioned above to store the files locally)
    * apply the patch (use the + button and select the calendar.patch file which you extracted from the archive)
    * copy the icon using ‘send file’ from menu

    Wanna see some screenshots before? enhanced week view

    Btw, here comes something different: my little backup utility for webos. I use it to backup my 3rd party app directory to have a faster restore whenever I need to run the WebOSDoctor on my phone. How to use? Unpack it and copy the little executable to you internal drive and use WOQI or a local terminal app to run it. I guess you will need the developer mode on to have the restore working. Use it on your own risk, etc.

    mybackup.zip

    Do you know my latest game for webos? Reserve your place in the worldwide leaderboard:
    There is a link to install the game at the
    very bottom

    Mai 1, 2010 · admin · 4 Comments
    Posted in: Allgemein

    2TwitMe 1.3c preview #palmos

    Here is a preview of the next 2TwitMe version:
    http://www.metaviewsoft.de/2TwitMe.prc

    History:
    ——–

    1.3c

    * added “Send later” to post error alert
    * added copy to message view and text preview
    * tapping a word in message view copies this word to clipboard

    1.3b

    * added “Send later” to menu
    * unsend Msg is saved on close
    * IP addresses cached
    * option to set function of left and right key

    1.3a

    * Added option: Hide scrollbars
    * Send to memo
    * save list position on app close more reliable
    * screen buttons to cycle through accounts

    April 22, 2010 · admin · 5 Comments
    Tags:  · Posted in: Allgemein

    Sources for offline maps for use with MapTool for #webos

    Some more words how to use offline maps in MapTool for webos.

    You have 3 main sources:

    For the use of Mobile Atlas Creator read here what user AurelioB wrote about:

    If anyone’s interested, you can download tiles from Google Maps using Mobile Atlas Creator
    It’s a neat piece of software that lets you download tiles from several sources in different formats. In order for Maptool to see your tiles you must select “OSMTracker file storage” as the output format.
    It’s working great for me.

    Download the tiles you need and copy them into a folder called .MapTool (the dot is important) on your internal USB drive of your Palm Pre. Select offline as renderer in options in MapTool.

    MapTool is available for free from the AppCatalog.

    Btw, did you see my cool WebRadio project for WebOS?

    April 16, 2010 · admin · One Comment
    Posted in: Allgemein

    Developers: Use MapTool to display multiple spots on a map

    Just a small how-to for WebOS developers to use the free MapTool app to display several spots on a map. You can sublaunch MapTool from your app and give it a parameter set with a description of the spots you want to show.

    MapTool is available from the AppCatalog and the Homebrew repository on Precentral.net. In the time of writing the most current published version is 1.0.1 and is available from Precentral.net. There is a 1.0.2 already submitted to Palm but still pending since a week.

    Have a look into the launch parameters and a working example after the break:

    Read the rest of this post »

    März 27, 2010 · admin · No Comments
    Posted in: Allgemein, Developing, Palm, WintecTool

    Life moves fast. Don’t miss a thing.

    März 25, 2010 · admin · No Comments
    Posted in: Allgemein

    Adding a splah screen to your webos app

    With 1.4 you will see a instant opening of the application card in the background which might have a splashscreen and a separate icon on it. How is it done? Add this 2 lines to your appinfo.json:

    “splashicon”: “icon-256×256.png”,
    “splashBackground”:”images/splash-screenshot-default.png”,

    That was grabbed right from the calculator app. To see it you will need to restart Luna.

    Enjoy,
    Henk

    März 1, 2010 · admin · One Comment
    Posted in: Allgemein