Monday, December 30, 2013

Quick update on the N9 vs Jolla sync

A step was missing; thanks to Christopher Lamb for pointing it out.

Wednesday, December 18, 2013

SailfishOS vs Self-signed Exchange server certificates

In case you self-signed your Exchange certificate, or are trying to access a server which has a self-signed certificate from your Jolla, make sure to download the certificate and copy it over to the phone. For this you will need to enable developer mode, and scp or WinSCP (if you navigate Windows waters).
  1. "Export" (download) the certificate from the website you are trying to access in PEM or CRT format
  2. enable developer mode on your Jolla
  3. copy the downloaded file to /etc/ssl/certs
  4. reboot

Thursday, November 28, 2013

Sailfish OS : dev mode of Other half / Jolla & Win 7

Developer mode under Windows 7 might not work as expected.
Reason for it seems to be Win7 host ip configuration to be not usable.
Fix for this is easy.
First, configure developer mode on the jPhone:
1) enable dev mode
2) set password
3) optional: set ip address for usb connectivity

Then configure Win7 host:
1) connect your jPhone with usb to the Win7
2) from the pc, open network & sharing center
3) select "Change adapter settings"
4) open the adapter labeled with "Remote NDIS based Internet sharing device"
5) go to properties
6) select entry  for IP V4
7) enter a static ip (in the same subnet of the phone). So if your phone has 192.168.2.15 (default), you can put 192.168.2.10 for example
8) set phone ip address as gateway & dns entries as well.

Wednesday, November 27, 2013

Sailfish OS vs N9 sync

So finally!
Sailfish OS in hand, happy me!
But! How to sync all data from n9?
Easy, four steps:
1) connect both phones via bluetooth
2) from n9, once devices are paired, go to "Settings" -> "Sync and backup"
3) select sync
From here you can select your Jolla phone, and by clicking on it you can define what to sync.
4) configure sync


Saturday, November 2, 2013

Sailfish development : application templates missing

It so happened that upgrading to the latest Sailfish Alpha release broke my QtCreator templates.
Symptom of this manifested in missing project templates for Sailfish applications. Exactly the same issue that is mentioned here . Luckily, removing   ~/SailfishOSAlpha2 directory fixed the problem.

Sunday, July 21, 2013

SailfishOS under Win7 and user's home restriction

So I have been hanging out in Jolla's waters lately.
SailfishOS comes packaged with two virtual machnes (running under Virtual Box);
one for the building tools
one for the emulator


Problem is by default the building tools vm requires projects to be placed under the user's home directory. Under Win7, that directory is C:\users\<username>;
in this folder, the installer will generate a .scratchbox2 folder, which configures (as the name says) sb2. This location is shared to the Virtual machine via VB's shared folders.
These can be relocated (whilst the machine is powered off) from the VM's configuration.

  1. Start Oracle Virtual Box
  2. Make sure MerSDK VM is powered off
  3. Open Settings page for MerSDK
  4. Select the "Shared folders" on the right
  5. Change the location of the "home" share to your wanted folder
  6. The new share will automatically be named as the same folder you just chose in step 5, rename it to "home"
Now you would think this to be enough; but whilst the machine will run fine in this setup, all your sb2 targets will be gone. Luckily copying the .scratchbox2 subfolder found in the original location (C:\users\<username>) to the new one fixes this issue.

So full steam ahead, yer scummy sea guls! No more excuses to soak the deck with your lazy ass'es swet anymore! Arr!

Friday, May 24, 2013

Planet MeeGo, Day #2 : THe lost bricks, or : if you go back now, you really are a n00b!

So!
We've landed on planet meego (intentionally or not, it is still unclear to me, but whatever).
We've understood there is more than QML on N9 : N9's soul is composed by MeeGo.
What is MeeGo? Or, wait, let me refrase : what was MeeGo?
MeeGo was meant to be the leading platform in mobile linux.
Born out of the two gods of linux Maemo and Moblin, the chimera MeeGo lasted, well, some laptops (funnily, my sister managed to get one by accident), and one mobile phone.
Reasons for this early death (Cripple Death Syndrome?) have been discussed and overdiscussed in other threads on other forums, and are not the center of the discussion here.
The center of the discussion is MeeGo, and more specifically developing under MeeGo.
So, how do you develope an application under MeeGo? You google : MeeGo Application, and this comes up. Too bad it's not MeeGo, it's QtQuick.
Let's try again:  google meego application example"; QML/QtQuick again!
"Wtf? Where is my MeeGo?". 

Right behind an obscure google term : meegotouch (third hit in Google, I mentioned even Google rules do not apply to MeeGo searches). Btw, according to some rumors, all the links should be removed by end of May by the Linux Foundation. This is not confirmed yet, so be not surprised if the links point to void. Just a heads up. In case it is going to happen, you should still be able to navigate the sites through the wayback machine (or some other mirror). Also, most likely many of the information in here might apply to SailfishOS as well, Jolla's upcoming MeeGo-based OS.

So anyway, we found our MeeGo! Wooho!
Building a MeeGo application seems easy. And it is, as can be seen from here.
According to Nokia Docs, a linux is preferred in order to build MeeGo apps.
I have been working with both WinXP and Win7 without many problems (well, maybe in WinXP some problems, but not under Win7 anymore). Yes, it is a bit more challenging, and yes, it is not as straightforward; and yes, if you are an absolute Free SW type of guy, and Wind0wz horrifies you, there is no reason to use anything else except linux (the only reason I am stuck on Wind0wz is due to lack of capacity to run a virtual machine with satisfying results). But this is not the point of the discussion now anyway.
Also, according to the above-mentioned docs, the MeeGo is referred by Nokias as part of the Platform SDK. But to me it seems more like meego *is* the PlatformSDK.

I think the most useful concept is the strictly Model-View-Controller architecture pattern of MeeGo.
As well as iOS (and probably Windows Phone), MeeGo separates the three in a very strict manner. This of course has positive and negative aspects. For example, if you do not know what MVC is, you will face a very hard time trying to figure out how to do things on your own.
Let's take the styling features as an example.
Did you know you can auto-generate styling components out of a simple interface (declared appropriately)? It is indeed, very easy. Two things are required:
  1. A (style) class declaration
  2. QtCreator declarations in .pro file to configure the helper tools to generate class stubs for the declared (style) class
Instructions on how to follow up on this can be found here.

Once the qmake is properly configured, and the files are properly included in your app, the MeeGo Application will autostyle itself, by looking up the stylesheets in predefined (Theme-based) paths.
This not only perfectly separates the look-and-feel from your C++ code; it also simplyfies your life as a programmer alot. Of course, this is deprecated technology, so it opens up doors to all kinds of weird (sometimes buggy) behaviours as well, but hey, it works, and so far I always found a work-around for some of the issues no problem.

But why MeeGo? Is this all it has to offer over, say, Qt and/or QML? Is it worth the catch?

Well, N9-technically speaking, yes. From a practical point of view, MeeGo tried to fuse the positive aspects of both worlds and combine them to a powerfull toolkit.
MeeGo escapes the clumsyness of QML (and well over its limits in many aspects, speed being the first one) and frees the programmer from the burden of managing alof of necessary UI-related functionalities, as well as giving a much better degree of flexibility and lean-ness, by providing out-of-the-box tools (like the styling, for instance) that Qt is missing.

Of course, there is also the fact that MeeGo is a dead platform (except for SailFishOS, but the extent of the compatibility with it is still to be confirmed IMHO. QML was supposed to be cross-platform, but as we have seen, on BB10 this is not the case (QtQuick vs Cascades)).