tag:blogger.com,1999:blog-50956153939554411042024-03-05T10:31:54.182-08:00Sviox's blogSvioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.comBlogger23125tag:blogger.com,1999:blog-5095615393955441104.post-62298682455240482302014-02-02T10:45:00.003-08:002014-02-02T10:45:53.141-08:00Hydra for Sailfish progressMany of you may already know about it, but let's make this official. Hydra is being ported to Sailfish. I don't have an ETA just yet, but I can give you some sense of the work involved and the current progress on it. Currently the biggest challenge seems to be the web layout engine used by Sailfish QML components, more specifically Webkit's version 2. On MeeGo, Webkit version 1 was used, but Sailfish strongly discourages use of that (it is forbidden for Harbour application store) and this is understandable due to the newer version being significantly better in performance. The drawback is that due to the improved multithreaded architecture of Webkit2, interaction with controlling application is very limited.<br />
<br />
Known limitations of Qt5's Webkit2 implementation:<br />
<br />
<ul>
<li>Web storage (including cookies, web storage and web sql, but excluding preferences) is stored between web applications, posing a security threat</li>
<li>Web access cannot be controlled, i.e. all web applications may access any URIs without restrictions</li>
<li>Synchronous JavaScript platform APIs are challenging/impossible due to not being able to invoke C++ code synchronously</li>
<li>Web application folder based localization is not possible (always reverting to default language)</li>
<li>Unable to change user agent string of the web interface, possibly resulting in denied access to Firefox Marketplace (working to overcome this somehow..)</li>
</ul>
<div>
<br /></div>
<div>
Current overall progress with the Sailfish port:</div>
<div>
<ul>
<li>Core functionality port to Qt5: Done</li>
<li>Sailfish manager UI: Ongoing (~70%)</li>
<li>Sailfish web application UI: Ongoing (~50%)</li>
<li>Sailfish cover view supporting minimized web application: Ongoing (~50%)</li>
<li>Refactoring Widget API to work with Webkit2: 0%</li>
<li>Refactoring platform APIs to work with Webkit2: 0%</li>
<li>Reintegrate Cordova: 0%</li>
<li>Rewriting Firefox OS config parsing: 0%</li>
<li>Multiprocess support via D-Bus: 0%</li>
<li>Update embedded widgets for new resolution and feature set: 0%</li>
</ul>
</div>
Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-14868844522638271522013-11-19T12:54:00.000-08:002013-11-19T12:54:22.850-08:00Going multi-platformLately I've been busy doing a major overhaul of the Hydra code base in order to better support multiple target platforms. I wanted to share a glimpse of the progress with you, in form of the screenshot below.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5iIZxXKzORJ0GambXz5siKRMziurmU0xBiuEjBTAq9g4cA2QOrOlgqTK4326lPvjs_UXkJFhwk-ZQ0_9CD9ZbzL8cacXMwsWavZ9z5Sag_kLrHBqEj9VODJK2PXeprUsPSpSrgbpG9v75/s1600/win32-GMaps_cropped.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5iIZxXKzORJ0GambXz5siKRMziurmU0xBiuEjBTAq9g4cA2QOrOlgqTK4326lPvjs_UXkJFhwk-ZQ0_9CD9ZbzL8cacXMwsWavZ9z5Sag_kLrHBqEj9VODJK2PXeprUsPSpSrgbpG9v75/s640/win32-GMaps_cropped.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Hydra running Google Maps web application on Windows XP.</td></tr>
</tbody></table>
<br />
And no. There won't be a Windows version release of Hydra (at least in the near future). This is merely a proof-of-concept that the same code can be architecturally modified into working on two as different platforms as MeeGo and Windows.<br />
<br />
The real goal of the ongoing changes are, of course, to enable porting Hydra to other mobile platforms with Qt support. Guess which comes first!Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-13582047933417344802013-09-13T07:43:00.003-07:002013-09-13T07:43:21.673-07:00Firefox OS apps have just landed on your N9 for freeGood news for everyone who has been waiting for the free version of Hydra to support Firefox OS applications. Version 1.4.3 is now out and available via <a href="http://store.ovi.com/content/302071" target="_blank">Nokia Store</a>. It has all the same features as the <a href="http://store.ovi.com/content/345697" target="_blank">PRO version</a> (except for encryption) that has been out for a couple of weeks now. If you like Hydra and want to be among the first to receive new features, please consider buying the PRO version to support the ongoing development.<br />
<br />
To install web applications from Firefox Marketplace, you must use the bundled Marketplace application. If you are interested in using <a href="http://here.com/" target="_blank">HERE Maps</a> provided by Nokia, you can find an installation shortcut from the bundled Feature Demo application (the app is no longer directly available from Firefox Marketplace!).<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv2UqzDfV2Ag0h4Crh1fRfnzjqqweKtzU8NuDC38FMfJkTjso54n9IHASoEuA3-W7VN8myQdNnZBCd2VHP7K6-ZkAKZUnz1ocoV92LpLSHRqOi42RlCKYXUQXu_hqN9ooNZ2s4KtZ-yxQM/s1600/launcher_some_apps.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="285" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgv2UqzDfV2Ag0h4Crh1fRfnzjqqweKtzU8NuDC38FMfJkTjso54n9IHASoEuA3-W7VN8myQdNnZBCd2VHP7K6-ZkAKZUnz1ocoV92LpLSHRqOi42RlCKYXUQXu_hqN9ooNZ2s4KtZ-yxQM/s320/launcher_some_apps.png" width="320" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Screenshot of Nokia N9 application launcher with some web applications installed.</td></tr>
</tbody></table>
<br />
<br />Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com4tag:blogger.com,1999:blog-5095615393955441104.post-47068392192549842352013-05-27T09:48:00.000-07:002013-05-27T09:48:12.058-07:00Version 1.4.0 has arrivedVersion 1.4.0 of Hydra widget platform (PRO) is now available from <a href="http://store.ovi.com/content/345697" target="_blank">Nokia Store</a>! Besides the improvements for packaged Firefox OS applications described in my previous text, it introduces a very significant usability boost by changing the default device-pixel-ratio from 1 to 1.5. In practice this means that all applications are by default scaled by a factor of 1.5 to compensate for the high pixel density of N9. This makes all the touchable areas such as buttons much more pleasant to use.<br />
<br />
In case you find an application that does not work well with the new UI magnification, it can be turned off (per app) from settings using the Hydra manager (see screenshot below). Version 1.4.0 also adds support for <a href="http://developer.android.com/guide/webapps/targeting.html" target="_blank">viewport meta element</a>, which can be used by applications to dynamically customize and/or override the visible viewport and scale factor.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg_OP9-zksPVHXTTEiGBb1eIsYolZ1TOus0ym2JNkb6pa-eosW-fCqoP6AWMfOONK6eAYQKK89C4shD6DunzmTEAMscF7KFe1v5rkZ25zpgI4pvW_6GnGtYU67H_YNvcpAOLzGlI9JOVWh/s1600/2013-05-27_19-43-16.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg_OP9-zksPVHXTTEiGBb1eIsYolZ1TOus0ym2JNkb6pa-eosW-fCqoP6AWMfOONK6eAYQKK89C4shD6DunzmTEAMscF7KFe1v5rkZ25zpgI4pvW_6GnGtYU67H_YNvcpAOLzGlI9JOVWh/s400/2013-05-27_19-43-16.png" width="222" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">New widget settings view introduced in version 1.4.0.</td></tr>
</tbody></table>
<br />Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com3tag:blogger.com,1999:blog-5095615393955441104.post-44745101719620711832013-05-16T11:22:00.001-07:002013-05-16T11:22:42.575-07:00Hydra and Packaged Firefox OS Web AppsHydra widget platform (PRO) 1.3.7 has now been available for a few weeks and a major issue has risen with the Firefox OS compatibly. As you may know by now, Firefox OS supports two kinds of deployment mechanisms for it's web applications, called <i><b>hosted </b></i>and <b><i>packaged</i></b>. Usually applications are distributed in the hosted format, but apps that require a certain level of device access can only be deployed in the packaged format, which is in many ways similar to <a href="http://www.w3.org/TR/widgets/" target="_blank">W3C's widget packaging format</a>. While Hydra supports both of these formats, it is currently only possible to install hosted applications from the <a href="https://marketplace.firefox.com/" target="_blank">Firefox Marketplace</a>.<br />
<br />
When I originally developed the support for Firefox OS web apps, packaged applications could be installed without any issues. But it seems that since then the Marketplace has changed the way it detects what kind of device is used to view it's content. The reason they have done this change is to properly detect Android devices and block packaged apps from being available (hosted web apps can be installed on Android using <a href="http://www.mozilla.org/en-US/mobile/aurora/" target="_blank">Firefox Aurora</a>).<br />
<br />
To make up for this inconvenience, I'll shortly release an updated version of Hydra and the Marketplace widget that the Marketplace once again recognizes as a genuine Firefox OS device. In addition to that, packaged applications are getting support for automatic update detection (see the teaser below).<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV2J3paByf6E-F-GL2JzDqgKCe4L2Rkrrzp8OHbLtoau_xyQnoxFtxqEGXNZ_B7aE0FXxho87OOuaSRu477fa_wjiKX0dtWgfzog0c6x-rGr0xBUnJFGQb8yMygJmpWjQu5nHVTQ-UqVEI/s1600/2013-05-13_12-45-48.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV2J3paByf6E-F-GL2JzDqgKCe4L2Rkrrzp8OHbLtoau_xyQnoxFtxqEGXNZ_B7aE0FXxho87OOuaSRu477fa_wjiKX0dtWgfzog0c6x-rGr0xBUnJFGQb8yMygJmpWjQu5nHVTQ-UqVEI/s400/2013-05-13_12-45-48.png" width="223" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Updates will be indicated in the Hydra manager app and device notifications area.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh321K_0ynFyY_o5j3Tf-zYMgLGtm9hDT5ZYCtsnHCo6eBDvbExiVLypHfJRTNiZEE3Qu-noxvrGIqnO9u_TYdd5hB-RNQ_lQA-pII-6G8dRVd8BrFyBKlpLtYKpmMDDFsyK0DTSS-zm0Eb/s1600/2013-05-13_12-46-04.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh321K_0ynFyY_o5j3Tf-zYMgLGtm9hDT5ZYCtsnHCo6eBDvbExiVLypHfJRTNiZEE3Qu-noxvrGIqnO9u_TYdd5hB-RNQ_lQA-pII-6G8dRVd8BrFyBKlpLtYKpmMDDFsyK0DTSS-zm0Eb/s400/2013-05-13_12-46-04.png" width="222" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Updates will be fully supported for packaged Firefox OS web apps.</td></tr>
</tbody></table>
<br />Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-90206943743356536082013-03-19T08:06:00.000-07:002013-03-19T08:06:49.605-07:00Mozilla web appsToday I will demonstrate the simple steps required to install <a href="https://marketplace.firefox.com/" target="_blank">Mozilla web apps</a> on your N9. To begin, you will need <a href="http://store.ovi.com/content/345697" target="_blank">Hydra WRT</a> installed (at least version 1.3.7 that will be released in the near future - hang in there for a while longer!).<br />
<br />
<b>Step 1</b>. The first step is to install the Firefox Marketplace shortcut widget. You can do this by opening the Hydra management application ("Web apps" in the launcher), then selecting the paper clip icon in the toolbar. From the shown list, pick Firefox Marketplace and hit the Install button (as shown in the screenshot below). After this, details of the Marketplace widget are shown and you must confirm the installation.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAnZNXlsKlbkio0X_8q4iNSrVsHbSGuHvuuxbAyKDeBPQOEvWHkljbz5490OPL34i_GM8E783BmHkraCD96aT1ukAIiEK28Dr7Ms6_2iZhCzwWwFwSwvF_PLdjBRZeip6cYsuy2XfUcrqt/s1600/2013-03-19_15-31-55.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAnZNXlsKlbkio0X_8q4iNSrVsHbSGuHvuuxbAyKDeBPQOEvWHkljbz5490OPL34i_GM8E783BmHkraCD96aT1ukAIiEK28Dr7Ms6_2iZhCzwWwFwSwvF_PLdjBRZeip6cYsuy2XfUcrqt/s400/2013-03-19_15-31-55.png" width="223" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Step 1 - Installing Firefox Marketplace widget<br /></td></tr>
</tbody></table>
<b>Step 2</b>. When the installation is complete (it really only takes a second), you can use the normal web interface of the Firefox OS Marketplace to browse it's content. Please note that you the system's default browser is <b>not </b>compatible with the Marketplace and the installed shortcut widget must be used to browse and install new content from the store (a "Marketplace" shortcut is created in the application launcher view during installation). To install an item from the store, simply hit the blue colored "Free" button shown on app details view. The button's text will change into a progress spinner (as shown in the screenshot below) and soon an installation confirmation view will be shown.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjmy7m3Bw-WDiQoAli7q6AqU8-yvxDM4Kj0xDni2E-k7F0fSgMlqzFatf3rTzr2DuEYeQLkBCaNmP0IWbILr0gMAF0CfD_XGpLx-SJZOuTqXRzazXW5seO-rvQPptMzRDLNSJsU1xVxlkr/s1600/2013-03-19_15-33-20.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjmy7m3Bw-WDiQoAli7q6AqU8-yvxDM4Kj0xDni2E-k7F0fSgMlqzFatf3rTzr2DuEYeQLkBCaNmP0IWbILr0gMAF0CfD_XGpLx-SJZOuTqXRzazXW5seO-rvQPptMzRDLNSJsU1xVxlkr/s400/2013-03-19_15-33-20.png" width="223" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Step 2 - Installing content from the Marketplace</td></tr>
</tbody></table>
<br />
<b>Step 3</b>. After installing a web app, you can find a shortcut to launch it from the system's regular application launcher view. Enjoy.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNhOGxOqw-P6fGB85rJ_JCWbq2U-OjV_Zi349SAab9p8uaWyCOrLROG279fqO2hEOloJujLTL1Ri89B2eZsccFQzioyrjMG-CX1enwD79UbzGksjebhWYVqAay7KH_I6ied6Z_P8DRbJKi/s1600/2013-03-19_15-34-02.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="223" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNhOGxOqw-P6fGB85rJ_JCWbq2U-OjV_Zi349SAab9p8uaWyCOrLROG279fqO2hEOloJujLTL1Ri89B2eZsccFQzioyrjMG-CX1enwD79UbzGksjebhWYVqAay7KH_I6ied6Z_P8DRbJKi/s400/2013-03-19_15-34-02.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Step 3 - Running the apps</td></tr>
</tbody></table>
<br />
Known issues and limitations:<br />
<br />
<ul>
<li>Only a few web app permission requests are recognized, for any apps requesting Firefox OS specific APIs the installation will simply fail</li>
<li>Apps requiring geolocation are allowed to be installed, but geolocation is not actually provided</li>
<li>Marketplace widget shows some minor graphical errors</li>
<li>Marketplace widget crashes randomly (appears to be a webkit issue - actual installation is done by another process so there is no risk of corrupting any files)</li>
<li>Marketplace sometimes returns corrupted app manifest, which will cause the installation to fail (Marketplace bug, though it seems possible to create a work-around for this)</li>
<li>Some unsupported web app management APIs such as uninstall, check for updates, request app details and request apps installed from same origin</li>
<li>App details returned by the JavaScript API after successfully installing a web app contain a timestamp that is (slightly) different from timestamp stored to disk by Hydra</li>
<li>HTML5 offline cache and web storage are not supported (yet) </li>
</ul>
<br />
<br />
My top-3 web app recommendations so far:<br />
<br />
<ul>
<li><a href="https://marketplace.firefox.com/app/pasjanssolitaire/?src=mkt-category" target="_blank">Pasjans/Solitaire by Budnix</a> (Impressive HTML5 UI)</li>
<li><a href="https://marketplace.firefox.com/app/twitter/?src=mkt-home" target="_blank">Twitter</a> (Official Twitter for Firefox OS)</li>
<li><a href="https://marketplace.firefox.com/app/here-maps-packaged/?src=mkt-category" target="_blank">HERE Maps by Nokia</a> (I suppose Nokia won't be officially releasing this one for N9)</li>
</ul>
Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com11tag:blogger.com,1999:blog-5095615393955441104.post-44961911524439677632013-03-09T07:52:00.002-08:002013-03-09T07:52:48.765-08:00Next frontier in web applications<div class="separator" style="clear: both; text-align: left;">
Just wanted to give you a bit of a teaser for a very special upcoming new feature for Hydra WRT. In a few weeks (a bit longer for non-pro version users), I'm going to release a version with an experimental support for Firefox OS web apps. The nice thing about Firefox OS platform is that there is already an app store with some content available at <a href="https://marketplace.firefox.com/" target="_blank">https://marketplace.firefox.com/</a> and I will also be releasing a web application that makes it possible to install apps directly from the store.</div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGIgdtvHtHj3hMv-2QqyHopD6Hx_7dztPaNH86SN_PUH3UTlWYl6BsTB8W0oUFo6RA6kuKWajnCtHkJXRPoycf7UXnXHI1LViV-JMQIux9HlbcowkHIHkntzuKoGPkPwA04mzGILjfuHSo/s1600/mozilla_marketplace.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGIgdtvHtHj3hMv-2QqyHopD6Hx_7dztPaNH86SN_PUH3UTlWYl6BsTB8W0oUFo6RA6kuKWajnCtHkJXRPoycf7UXnXHI1LViV-JMQIux9HlbcowkHIHkntzuKoGPkPwA04mzGILjfuHSo/s1600/mozilla_marketplace.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Firefox marketplace app details view on N9</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV6tBvZ3dtcirGCkvjHUoWS-c35oG_V_61vQQ4cD25pRD4BgRFYf4PgdoJcjFI0SrPQfaxtZx9FVVncltwDHUAf0Hyw2JQB1BdFksrA-UQu045xaaU1g3LHzqKVSt2UZEEGzfrTwzWjOGa/s1600/mozilla_twitter.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV6tBvZ3dtcirGCkvjHUoWS-c35oG_V_61vQQ4cD25pRD4BgRFYf4PgdoJcjFI0SrPQfaxtZx9FVVncltwDHUAf0Hyw2JQB1BdFksrA-UQu045xaaU1g3LHzqKVSt2UZEEGzfrTwzWjOGa/s1600/mozilla_twitter.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Installed Twitter web app running on N9</td></tr>
</tbody></table>
<br />Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com3tag:blogger.com,1999:blog-5095615393955441104.post-22344334614310532512013-02-02T09:35:00.001-08:002013-02-02T09:35:21.378-08:00To become PROAs most of you already know, the Hydra widget platform is currently supporting most of the available widgets implemented for the major widget platforms in mobile market, including Tizen, Symbian WRT, Opera widgets, Samsung widgets and any generic W3C widgets. In addition, Hydra supports loads of widget functionality defined by <a href="http://cordova.apache.org/" target="_blank">Apache Cordova</a> and <a href="http://www.wacapps.net/what-is-wac" target="_blank">Wholesale Applications Community</a> projects.<br />
<br />
I'm continuously working to improve compatibility with all the specifications and APIs released by W3C, Cordova and WAC. In the future, there might even be a port of the software to other platforms, especially the promising MeeGo continuation provided by <a href="http://jolla.com/" target="_blank">Jolla</a> in form of Sailfish OS. I'm also considering open sourcing the application at a later time.<br />
<br />
If you want to support this continuous effort, there is now an opportunity to purchase a<a href="http://store.ovi.com/content/345697" target="_blank"> professional version of the Hydra widget platform</a>. All contributions are highly appreciated. For the money, You get all the features from the free versions, as well as getting the latest new features and improvements before the users of the free version do. In addition, the PRO version automatically encrypts all installed widgets and their data to provide top level security.<br />
<br />
The first available PRO version is based on Hydra 1.3.5 and contains the following changes:<br />
<br />
<ul>
<li>New widget that enables access to files stored on Google Drive</li>
<li>Added cookie support for embedded webviews (WAC extension)</li>
<li>Separated shortcut widgets to their own category in the manager app</li>
<li>Modified automatic update checking only happen when there is a network connection instead of prompting for one</li>
<li>Several bug fixes</li>
</ul>
<div>
Please note that installing widgets with the PRO version is slightly slower due to the encryption. When installing big widget packages, the system might say "Not responding", but the installation will finish successfully in a few seconds. I'm working on providing a nicer installation flow for the next version.</div>
Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-56964640561485920302012-10-26T04:34:00.002-07:002012-10-30T10:33:18.901-07:00Project HydraFirst snow fell from the sky today here in Helsinki and to celebrate that I decided to write a status update. From now on, the Widget runtime for MeeGo will be called <b>Hydra widget platform </b>and should no longer be considered a beta. It's a name that I feel symbolizes well the purpose of the project, which is to create a widget runtime capable of running web applications created for any mobile web runtime, all in one environment. Just like the beast of same name has many heads, the widget platform shall support many web standards and platforms.<br />
<br />
Version 1.3 is almost ready at the moment, just running some final tests before releasing it. Main improvement on the runtime side is integrating Cordova core functionality and APIs to the list of supported features. Cordova (previously known as PhoneGap) is an extremely popular HTML5-based open source cross-platform application development tool that offers developers a rich set of device APIs and the ability to embed a web application into a native application package for distribution over app stores. This means that a single Cordova application is basically just another widget. There is even a handy cloud service called <a href="https://build.phonegap.com/" target="_blank">PhoneGap Build</a> that lets a developer convert a web application using W3C standard packaging format with a <a href="https://build.phonegap.com/docs/config-xml" target="_blank">few extensions</a> into native packages. From version 1.3 forward Hydra will support the Cordova APIs and packaging extensions, so that you can use Cordova applications even without converting them to native packages. Version 1.3 will contain Cordova 2.1 MeeGo port with the exception of File and Contacts APIs, which will be supported later once I figure out how to make them secure.<br />
<br />
<b>Update 30.10.2012:</b> Version 1.3 is now out! You can get it from <a href="http://store.ovi.com/content/302071" target="_blank">http://store.ovi.com/content/302071</a>. Here is the full changelog:<br />
<ul>
<li>Implemented support for Cordova 2.1.0 core and plugins (excluding file and contacts API)</li>
<li>Fixed Cordova Camera plugin to work with DATA_URI destination type</li>
<li>Fixed Cordova Acceleration plugin to return timestamp in ms instead of micro seconds</li>
<li>Implemented simple caching support for wiget preferences to preserve IO</li>
<li>Implemented support for widget.onExit event</li>
<li>Changed application name</li>
<li>Improved widget update support by no longer 'downloading' local update description files</li>
<li>Added system notification for discovered widget updates</li>
<li>Added support to enable fullscreen mode via preference 'fullscreen' with value 'true'</li>
<li>Added support to control orientation via preference 'orientation'</li>
<li>Changed default view-mode (i.e. 'maximized') to no longer show application toolbar</li>
<li>Widget information dialog now shows if widget update is supported</li>
<li>Rewrote geolocation handling</li>
<li>Fixed some vertically pannable widgets allowing slight horizontal pan</li>
<li>Improved GMaps widget with Street View and Places search support as well us graphical presentation of location accuracy</li>
<li>Fixed Feature Demo Geolocation page getting stuck</li>
<li>Updated Feature Demo widget with Cordova examples</li>
<li>Added vibration support for StopWatch widget</li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtXz-e8fvBRShn5JYQzHzvPeMANiu5CK2_7vGQJKdcXC_qFSgIcuk7zyH75LcGgOqFT3qpnWbrM9pzTmRnWzEbwN20w3hQ2SGQeVN-Nx7pqH3dHr9afJDL8TH8Q9TU13D5oZfgrXw7dMdz/s1600/icon-l-hydra.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtXz-e8fvBRShn5JYQzHzvPeMANiu5CK2_7vGQJKdcXC_qFSgIcuk7zyH75LcGgOqFT3qpnWbrM9pzTmRnWzEbwN20w3hQ2SGQeVN-Nx7pqH3dHr9afJDL8TH8Q9TU13D5oZfgrXw7dMdz/s1600/icon-l-hydra.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">New application icon.</td></tr>
</tbody></table>
<br /></div>
<div>
After updating to 1.3, you should automatically see updated versions of the bundled widgets offered to you as updates on the manager app. If you don't see the available updates, that means that you are using really old version of the widgets and should update them manually (selecting the attachment icon from toolbar and selecting each of the widgets). Please also notice that the Google Maps widget may randomly crash due to an issue in the platform components and unfortunately there seems to be nothing I can do to fix this issue.</div>
<br />Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com2tag:blogger.com,1999:blog-5095615393955441104.post-14571702506466636542012-10-04T05:14:00.000-07:002012-10-04T05:14:26.688-07:00Small appetizer from next version...<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfRAtfIbDWhinTcRBrY-x0cIktRRHL_9z_Tkct7SK8bwHqOS8RDzg0N4yGKhhMvlu-9A8SACMiDaFbxZT1uy10uovyOXgwOQG13qRc7944rJCvM-TN3aKWJH9Jpo-VVjuc2CBBAfU1EqZ6/s1600/2012-10-04_15-04-45.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfRAtfIbDWhinTcRBrY-x0cIktRRHL_9z_Tkct7SK8bwHqOS8RDzg0N4yGKhhMvlu-9A8SACMiDaFbxZT1uy10uovyOXgwOQG13qRc7944rJCvM-TN3aKWJH9Jpo-VVjuc2CBBAfU1EqZ6/s400/2012-10-04_15-04-45.png" width="224" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Google Street View on N9</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBoSp9iwnerELiUtcVfW6LXNu-KT_YvBM5X4mdIvrnWA-XTqcdvB0o8MA2EDdq06dQ3D14wZ4Gxnl0UXrINjiVdQLUkDJkLsy0Wf1Pfbp0Vc8bXaIZTqiTFQ8kS2qeApM9n14HG8zOgYj9/s1600/2012-09-29_11-34-13.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBoSp9iwnerELiUtcVfW6LXNu-KT_YvBM5X4mdIvrnWA-XTqcdvB0o8MA2EDdq06dQ3D14wZ4Gxnl0UXrINjiVdQLUkDJkLsy0Wf1Pfbp0Vc8bXaIZTqiTFQ8kS2qeApM9n14HG8zOgYj9/s400/2012-09-29_11-34-13.png" width="224" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Google Places local search</td></tr>
</tbody></table>
<br />Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-49194342049127882402012-09-29T01:27:00.001-07:002012-09-29T01:27:34.093-07:00Top-3 Opera widget games on N9Besides the Tizen games that are obviously created for touch screens, it gets a bit harder to find the smartphone and touchscreen friendly games from Opera widgets. I went through some of the available games and here are a best three games that I discovered.<br />
<br />
1. Bubbles (<a href="http://widgets.opera.com/widget/10982/" target="_blank">http://widgets.opera.com/widget/10982/</a>)<br />
<br />
Very addictive game that also happens to work great on the new 1.2.1 version of Widget runtime. Keeps track of your high score so that you can compete against your previous best. Only annoyance is that if you change the orientation, the game resets itself. Also, the game will be shown as live icon in widget manager even though it is not playable in that mode.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghuMfFUPwAvfDakl9XN6pPrNDiLi1Zl9aB1GpzopIXPbhyZ2Qy39kMgz3rnPaSuf0Zc4djMNQDNa3XIUghZUy7stX80aQInMEgu1zyt1HziXCyVOWJhVv2A2rLDjF9MIhz7o-dmPSuCXq8/s1600/2012-09-21_10-07-11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghuMfFUPwAvfDakl9XN6pPrNDiLi1Zl9aB1GpzopIXPbhyZ2Qy39kMgz3rnPaSuf0Zc4djMNQDNa3XIUghZUy7stX80aQInMEgu1zyt1HziXCyVOWJhVv2A2rLDjF9MIhz7o-dmPSuCXq8/s400/2012-09-21_10-07-11.png" width="224" /></a></div>
<br />
2. Game FiFteen (<a href="http://widgets.opera.com/widget/27001/" target="_blank">http://widgets.opera.com/widget/27001/</a>)<br />
<br />
A classic mechanical puzzle game with 15 movable numbers to sort on a grid of 16 spaces. Works great on portrait mode.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH4SN-mOCfPM5ZRs_Eh3jXnnFiXL24C5HciCijQix3LDBC6Pw_8-LN3d12-XKd9HswRMGFxTx1HGkRzz8OSMooNE1vB2aFHKAe6qqRvvqGaksWnh1Lpk6PYLSPtPqt58BGXh3-UnlGXwS9/s1600/2012-09-21_10-11-45.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH4SN-mOCfPM5ZRs_Eh3jXnnFiXL24C5HciCijQix3LDBC6Pw_8-LN3d12-XKd9HswRMGFxTx1HGkRzz8OSMooNE1vB2aFHKAe6qqRvvqGaksWnh1Lpk6PYLSPtPqt58BGXh3-UnlGXwS9/s400/2012-09-21_10-11-45.png" width="223" /></a></div>
<br />
3. Tic Tac Toe (<a href="http://widgets.opera.com/widget/6608/" target="_blank">http://widgets.opera.com/widget/6608/</a>)<br />
<br />
A clear and simple game of noughts and crosses. Works best in portrait mode.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOu978Ue_CgYJukCMB_LJIgCQpGIui6sM5a3AUhWQSB7vUvwuVevoCadD-lPO4RxoFy-cHtd7nlr0k8oRSzYp4SuhEAHkm_CKS720bfqhZCQ7U1taZuxr6bnEvCjcRXsqhtMdLu0ERS7cf/s1600/2012-09-21_10-08-04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOu978Ue_CgYJukCMB_LJIgCQpGIui6sM5a3AUhWQSB7vUvwuVevoCadD-lPO4RxoFy-cHtd7nlr0k8oRSzYp4SuhEAHkm_CKS720bfqhZCQ7U1taZuxr6bnEvCjcRXsqhtMdLu0ERS7cf/s400/2012-09-21_10-08-04.png" width="223" /></a></div>
<br />Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-87725954958099360022012-09-26T03:13:00.002-07:002012-09-26T03:13:54.455-07:00Widget runtime 1.2.1 availableA new version has just become available in the Nokia Store. It comes with a long list of improvements and fixes. The most important change in it is the way web viewports are sized. Earlier versions tried to follow the content size and automatically scale based on that. It wasn't a very stable method and some web applications behaved poorly with it, so I changed the logic to no longer use scaling by default. Any widget with dimensions specified in the configuration document will still be scaled to provide a viewport that matches the defined size. In addition, Tizen widgets will now be recognized and will automatically use viewport of size 1024x600 unless otherwise defined so there is no longer any need to define that in the configuration file. Similarly, Opera widgets will use default viewport with width of 300px, since that seems to be a default resolution in some Opera products.<br />
<br />
Full changelog:<br />
<br />
* Refactored widget viewport and scale calculations<br />
* Improved widget manager UI by putting all the actions to a toolbar and adding a search function<br />
* Added a feature demo widget to show how the widget APIs work<br />
* Implemented support for W3C Widget Updates specification<br />
* Implemented support for W3C Widget Access Request Policy specification<br />
* Implemented support -o-widget-mode and view-mode media queries via hackish means of converting them to -webkit-view-mode<br />
* Implemented support for sms URI scheme<br />
* Implemented settings page<br />
* Added option to always start Symbian widgets in 2x magnified view<br />
* Added option to enable or disable WARP<br />
* Fixed regressions in 1.1.0 regarding notification id storing and comparison<br />
* Fixed automatic input reveal to also pan when typing on the input field modified html and places input behind VKB<br />
* Fixed Opera widgetmodechange event to fire with proper values expected by Opera widgets and separated it's listeners to a separate stack from W3C viewmodechange event listeners<br />
* Fixed Symbian widget.isrotationsupported to properly return boolean true value<br />
* Fixed Symbian widget.wrt references<br />
* Fixed cleared preference values drawn from configuration defaults<br />
<br />
* Fixed a random crash after uninstalling a widget with live icon<br />
* Fixed remote widget instances initiated before the manager not closing when uninstalling<br />
<br />
<br />
Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-30480720196321395412012-09-09T08:25:00.001-07:002012-09-09T08:25:33.189-07:00More widgets?<div>
The most common user issue I get is basically "too few widgets". Well, good widgets targeted for mobile devices will surely be more common after Tizen comes out. Meanwhile, there are quite many widgets available for Symbian WRT and Opera. </div>
<div>
<br /></div>
<div>
Opera widgets are mostly intended for desktop and often work poorly on mobile devices. But there are some good ones there. All of them are accessible through <a href="http://widgets.opera.com/" target="_blank">http://widgets.opera.com/</a>. Just go to that address with your N9 and try them out.</div>
<div>
<br /></div>
<div>
Symbian widgets are a bit harder to get (albeit more suitable for mobile devices) because you can't just download them from the Nokia Store. Some of them, like the <a href="http://accuweather-com-widget.en.softonic.com/symbian" target="_blank">AccuWeather</a>, are also available through the author's website if you know what to look for. There is also a good collection of 50 small games available at <a href="http://www.drjukka.com/50Widgets.html" target="_blank">http://www.drjukka.com/50Widgets.html</a> (though these are designed for devices with traditional keypad).</div>
<div>
<br /></div>
<div>
Let me know if there is a good place out there filled with good widgets!</div>
Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-65060837433890524092012-08-29T06:15:00.003-07:002012-08-29T06:15:55.368-07:00Update for Widget RuntimeA new version of Widget runtime (1.1.0) is now out. It contains the following changes:<br />
* Refactored architecture so that each widget is ran on it's on process<br />
* Implemented support for WAC Webview API<br />
* System's 'application not responding' dialog should now have correct widget name in case JavaScript is taking too long to execute<br />
* Improved responsiveness during JavaScript-heavy operations by processing event loop<br />
* Fixed upgrading a widget with version in format x.y to x.y.z to be considered a newer version if x, y and z are numbers<br />
* Fixed uninstalling a widget not cleaning up any included hidden files<br />
* Fixed links that use _blank as target<br />
* Implemented error page for URLs that couldn't be fetched<br />
<br />
More coming a bit later...Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-47732611702196378392012-08-10T13:11:00.003-07:002012-08-10T13:11:54.350-07:00Widget Runtime for MeeGo is out!Get it from <a href="http://store.ovi.com/content/302071">http://store.ovi.com/content/302071</a> - and let me know what you think about it.Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-1207732949828442882012-08-05T00:36:00.001-07:002012-08-05T00:37:40.738-07:00How to run Tizen widgets?Before you even start asking, here are some instructions on how to get and run Tizen widgets on N9 with the widget runtime. At this time, you can get some example widgets from <a href="https://developer.tizen.org/resources/sample-web-applications" target="_blank">Tizen's developer resources</a> but unfortunately those are meant for developers and are not properly packaged. Luckily we can make them work with a few small modifications. Follow these steps for each of the example widgets you want to try out:<br />
<br />
<ol>
<li>Download the widget to your computer, it comes in a .zip package</li>
<li>Extract the package into an empty directory</li>
<li>Go into the directory and follow the directory structure deeper until you get to a directory with the actual content (it should always have config.xml file in it)</li>
<li>Open this config.xml in any text editor (don't use Windows' Notepad if it looks like all the content are on a single line... Notepad does not understand Linux-style line breaks, use some other editor instead, such as <a href="http://notepad-plus-plus.org/" target="_blank">Notepad++</a>)</li>
<li>To avoid wrong scaling on N9 resolution, you need to define the correct resolution for the widget. Usually Tizen widgets seem to be using 1024x600 resolution which means you need to insert <span style="background-color: #7f6000;">width="1024" height="600"</span> attributes to the widget element.</li>
<li>Since all the example widgets seems to require landscape orientation, you can force this orientation by adding <span style="background-color: #7f6000;"><feature name="http://wacapps.net/api/viewport"><param name="orientation" value="landscape"/></feature></span> inside the widget element's content.</li>
<li>After editing the config.xml, you need to rezip the content. You need to make sure the directory where the config.xml file resides in is the <b>top level directory in the zipped package</b>. I recommend using <a href="http://www.7-zip.org/" target="_blank">7-Zip</a> to easily do this from the context menu after selecting all the files and folders in the directory.</li>
<li>The last and very important step is to <b>rename the .zip file to use .wgt extention instead</b>. After this, the widget package (.wgt file) is ready to be sent to your device. Bluetooth is likely the easiest way to send it to your device. After receiving the file, just open it from the transfers UI and the widget should open up, ready to be used!</li>
</ol>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF_-wT4d9f7Uonjfflp2tYUB1_kQsM3w7OEN3IZ0InMYc0r3A64fBQLmHaGppG93IuHKqMjGxTuY0qmBnS_pRplgE52sUo7KJK34ehWw_yJTwtmfdQS6v62lHioMYfgd-US_7JXA6KSu_z/s1600/tizen-config.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjF_-wT4d9f7Uonjfflp2tYUB1_kQsM3w7OEN3IZ0InMYc0r3A64fBQLmHaGppG93IuHKqMjGxTuY0qmBnS_pRplgE52sUo7KJK34ehWw_yJTwtmfdQS6v62lHioMYfgd-US_7JXA6KSu_z/s1600/tizen-config.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Example Tizen configuration file with the recommended modifications</td></tr>
</tbody></table>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG9LIjTHfSz06Yf1qcTvY-Qjen-U-V7TkefFiN5wIlp7JSgItC5zCvrer-V-rvcN8nRdX1WbdsBYv9wZ0TyvSai_mmbtCjp7vtY6EcHC9V74111F57ut57EK33YKBlJg9qEQdLYz6fAgzh/s1600/2012-08-01_18-07-42.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhG9LIjTHfSz06Yf1qcTvY-Qjen-U-V7TkefFiN5wIlp7JSgItC5zCvrer-V-rvcN8nRdX1WbdsBYv9wZ0TyvSai_mmbtCjp7vtY6EcHC9V74111F57ut57EK33YKBlJg9qEQdLYz6fAgzh/s400/2012-08-01_18-07-42.png" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The same example widget running fullscreen on my N9</td></tr>
</tbody></table>
<br />
<br />Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com4tag:blogger.com,1999:blog-5095615393955441104.post-58447644861521412562012-08-01T08:48:00.000-07:002012-08-01T08:48:55.352-07:00Widgets!Back with some good news. I've developed an application simply called "Widget Runtime" for the N9 that allows you to run your favorite web widgets on your favorite device. To be more exact, it currently supports widgets created for <b>Symbian </b>(.wgz file extension) and any W3C widget standards based widget (.wgt, such as ones created for <b>Opera </b>or <b>Tizen</b>). The application will come with a manager interface and a few bundled example widgets. It's still currently in a BETA stage so it will contain some bugs, but I'm working to make it better when ever I have the time. It will appear in the Nokia Store shortly.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimpx7ffJx8ebzr9hef6oflTgcUWHVVY_Tv8GiMIGCyY6fF1A4CfyNP_z7x8bRU0ZPPwq4zHzPr0RMkDNRT3u0GFiBO_BPFtSvBvPc-fmcRPIGi103mdf5tI0Kq22VBqPCJOKOEeux62RV0/s1600/2012-07-31_13-46-04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimpx7ffJx8ebzr9hef6oflTgcUWHVVY_Tv8GiMIGCyY6fF1A4CfyNP_z7x8bRU0ZPPwq4zHzPr0RMkDNRT3u0GFiBO_BPFtSvBvPc-fmcRPIGi103mdf5tI0Kq22VBqPCJOKOEeux62RV0/s400/2012-07-31_13-46-04.png" width="225" /></a></div>
<br />
<br />
Where are we on compatibility? Currently the focus is on W3C standards as well as basic support for Symbian widgets. At the moment here are the supported standards:<br />
<br />
<ul>
<li><a href="http://www.w3.org/TR/widgets/">W3C compliant widget packaging</a> will be installable (I've reached 97.05% pass rate in W3C test suite)</li>
<li><a href="http://www.w3.org/TR/widgets-apis/">Widget Interface specified by W3C</a> (100% pass rate!)</li>
<li><a href="http://www.w3.org/TR/geolocation-API/">W3C Geolocation API</a></li>
<li>Widgets created for Opera runtime should mostly work, including "Live Icon" support (API compatibility reached, though there might be some issues left)</li>
<li>Install and run basic Symbian widgets (some APIs are supported, but not the platform services)</li>
<li><a href="http://specs.wacapps.net/viewport/index.html">WAC2.0 Viewport Feature</a></li>
</ul>
<br />
<br />
Some things that are planned for future releases:<br />
<br />
<ul>
<li>Proper <a href="http://www.w3.org/TR/view-mode/">view-mode</a> support (currently it is only supported through webkit prefixes)
</li>
<li>WAC2.0 compatible platform services</li>
<li>Symbian compatible platform services</li>
<li>Better architecture where each widget is ran on it's own process</li>
</ul>
<div>
<br /></div>
<div>
I was for a long time very frustrated that Google Maps wasn't available to the N9 as I prefer it's maps to Nokia's. With my Widget Runtime, I was able to create a basic touch-enabled widget (see the screenshot below) in just about an hour! This widget comes bundled with the Widget Runtime and might get expanded features in the near future as well. Sadly, however, the widget crashes randomly due to a bug in QtWebkit that plagues the device :(</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNPe8V8oqyQgVMbGS78l6G8UFQOUDqJH9U_wS1Xzf4fvwc3lu2bNY2sjgwT2kBOR3RSKLlNVkYHXM6wI5s8kX5KfNvx2Unh4iIb_7GrdjDmnPl8A4OZyozI1SRxkRR0AAxhpyul-aE3aHM/s1600/2012-07-31_13-48-21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNPe8V8oqyQgVMbGS78l6G8UFQOUDqJH9U_wS1Xzf4fvwc3lu2bNY2sjgwT2kBOR3RSKLlNVkYHXM6wI5s8kX5KfNvx2Unh4iIb_7GrdjDmnPl8A4OZyozI1SRxkRR0AAxhpyul-aE3aHM/s400/2012-07-31_13-48-21.png" width="400" /></a></div>
<div>
<br /></div>Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-5501148641384471552012-06-28T02:46:00.000-07:002012-06-28T02:48:12.240-07:00Something entirely new<div>A few days ago, a new application I've created called <a href="http://store.ovi.com/content/275876">Caller ID</a> was released in Nokia Store. It's a handy application that gives you an opportunity to find out who calls you from any number not stored in your address book. You can either use the application to manually resolve identities behind any phone number or you can enable automatic resolution of unknown callers, which attempts to resolve the identity before you even answer the call. Usually resolving a number takes somewhere between 5 and 60 seconds depending on your carrier and selected service provider.</div>
<div>
<br /></div>
<div>
Caller ID uses public SMS services to find out the identity of the caller. These services are not provided by me and are unfortunately not free to use (since the application uses regular short messaging service, the costs are applied in you next carrier bill just as if you had manually sent the SMS to the service).</div>
<div>
<br /></div>
<div>
Currently Caller ID is only available in Finland because I don't know any foreign services working the same way as Finnish ones do. If you know a similar service in your country, please let me know and I'll add it to the application. Thanks!</div>Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-86690020771053638202012-03-01T01:06:00.001-08:002012-03-01T01:06:31.087-08:00MeeCatalog and N9 1.2 updateIt seems that some people are having issues with the new 1.2 system update for N9 failing at 0%. The problem has been identified (see comments by Santtu Ahonen at <a href="http://www.developer.nokia.com/Community/Blogs/blog/n9-developer/2012/02/28/patience-is-a-virtue-when-waiting-for-a-platform-update">Nokia developer blog</a>) to be caused by configured repositories that cannot be reached. The issue is NOT caused by MeeCatalog and MeeCatalog does not by default add any repositories.<br />
<br />
If you have added custom repositories via MeeCatalog settings it is advised to disable them and refresh the catalog lists (the button in the middle of the toolbar on MeeCatalog) before updating your system software. Note that you cannot disable repositories added by other applications using MeeCatalog.Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-27663979317063293932012-01-18T12:48:00.000-08:002012-01-18T12:48:47.413-08:00New version is out!Just a few hours ago, a new version of MeeCatalog was made public in the Ovi Store. The main improvement is the support for configurable application catalogs. Catch it from <a href="http://store.ovi.com/content/220215">http://store.ovi.com/content/220215</a>.Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com2tag:blogger.com,1999:blog-5095615393955441104.post-31159900688603554262012-01-09T12:22:00.000-08:002012-01-09T12:22:44.811-08:00Two weeks down the roadIt's been exactly two weeks now since MeeCatalog was released in Ovi Store. It has been downloaded more times than I dared to hope two weeks ago, coming to a total of about 2300 downloads from 95 different countries. I'd like to thank you all for these outstanding figures with a sneak peek of a feature I'm working on.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmOoLBEpFMJxKQytXzWUm2nrG95cRyKS4L6XoSQP6JABmjQq7k9Pysx_p4vZqMe9rIOCw4xpArYk_krJSLfy32aKBvGunZdpbnyHJzQhD1TKfwwpBHMbqrjh8u2ri8ur4ZjcySOibXl1bW/s1600/Screenshot_meecatalog_repositories.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmOoLBEpFMJxKQytXzWUm2nrG95cRyKS4L6XoSQP6JABmjQq7k9Pysx_p4vZqMe9rIOCw4xpArYk_krJSLfy32aKBvGunZdpbnyHJzQhD1TKfwwpBHMbqrjh8u2ri8ur4ZjcySOibXl1bW/s400/Screenshot_meecatalog_repositories.png" width="223" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MeeCatalog settings view</td></tr>
</tbody></table>
<br />
Thank You!Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-20452362645382517522011-12-16T11:02:00.000-08:002011-12-29T01:32:36.923-08:00Introducing MeeCatalog for N9<div class="separator" style="clear: both; text-align: left;">
I've lately been busy developing a couple of applications for Nokia's MeeGo smartphone, the N9. First of these applications (I'll get back to the second one another time) is called MeeCatalog, and in all simplicity it is used to browse and install applications available from the Debian repositories configured to the device. You can also use it to restore pre-installed software such as Angry Birds in case you have uninstalled it for some reason. Please note that the available content may vary between device software variants.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmEbQWU2dJvkk-OnbNgJ5ox-BO27vMfMQqJRX1QDVyCISOmyAH73PGhk-p28S4tN2H-ZJOa3Pf_ARhMCvvhmHYdj7bgZEKAtwlGlPMtbMqwmtA0nVEif4BeoSqIknrcCE1fsx2bl9KOffF/s1600/2011-12-16_21-40-41.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmEbQWU2dJvkk-OnbNgJ5ox-BO27vMfMQqJRX1QDVyCISOmyAH73PGhk-p28S4tN2H-ZJOa3Pf_ARhMCvvhmHYdj7bgZEKAtwlGlPMtbMqwmtA0nVEif4BeoSqIknrcCE1fsx2bl9KOffF/s400/2011-12-16_21-40-41.png" width="223" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MeeCatalog main view</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilbuxBimfwKjiGlWc-FSBiNqLpgjE67jEks1B3-utCFXzEPSGCsjdFuqXDaN4kypj1SUDpFzu5U-CbjFEkb7xXKqT6-AWfTfJwadAlTL0HarzzYE4k5HT9ASJEGFuZi-YdnzM67HnpWVUg/s1600/2011-12-16_21-41-37.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilbuxBimfwKjiGlWc-FSBiNqLpgjE67jEks1B3-utCFXzEPSGCsjdFuqXDaN4kypj1SUDpFzu5U-CbjFEkb7xXKqT6-AWfTfJwadAlTL0HarzzYE4k5HT9ASJEGFuZi-YdnzM67HnpWVUg/s400/2011-12-16_21-41-37.png" width="223" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">MeeCatalog package details view</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Update: MeeCatalog is now available from Ovi Store (<a href="http://store.ovi.com/content/220215">http://store.ovi.com/content/220215</a>). Please let me know what you think.Svioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0tag:blogger.com,1999:blog-5095615393955441104.post-67567124138839222082011-12-07T04:24:00.001-08:002011-12-07T04:54:55.198-08:00Welcome to Sviox's blog<br />
It's been a long time since I last maintained any kind of web entity of myself in the Internet (besides social media of course). I used to run a domain of my own and kind of always expected myself to create a new one from scratch. Lately I've come to realize that what I want to share can be achieved with a lot less time and energy by creating a simple blog. So here it is, you've found it.<br />
<br />
What will this blog be all about? I'm not sure about the exact content yet, but at least I'm planning on writing about software I develop on my free-time as well as creating some tutorials for the technologies I'm fond of.<br />
<br />
And who might I be? In a nutshell, I'm a technology enthusiast who wants to share some of the ideas I have with the big audience. In civilian life, I work as a software designer specialized in user interface design and implementation for mobile devices. I've got a total of around eight years of working experience in a number of device platforms including MeeGo, Maemo, Android, Symbian S60, Java 2 ME, web applications and various other proprietary platforms.<br />
<br />
Stay tuned.<br />
<br />
-SvioxSvioxhttp://www.blogger.com/profile/02056702392838928359noreply@blogger.com0