[Ubuntu QML] Importing Google Contacts

I have a lot of contacts in my phone… I am sure you will have more, but syncing over 500 contacts to Ubuntu phone using the command line for Syncevolution gets tedious.

So I wrote a little QML app to do the trick for you. Unfortunately, to run a system command the application has to run unconfined, so I have not yet submitted it to the store.

But if you want to install it yourself it is pretty simple:

  1. Download this file
  2. push the downloaded file to your phone, like so: adb push com.ubuntu.developer.vtuson.contactsimporter_0.9_armhf.click /home/phablet
  3. then run this to install it: adb shell “sudo -u phablet pkcon -p install-local  /home/phablet/com.ubuntu.developer.vtuson.contactsimporter_0.9_armhf.click”

You should be good to use it now, the app looks like this: (and if you want to check out the code is here)


Ubuntu Touch: Building and testing a QML extension


I found myself trying to build a QML Ubuntu Touch app project that includes a qml c++ extension and I found that I some how stumble a bit along the way. So, here are some of my notes on how I got it done. Hope that helps.

Creating the project.

Using QtCreator, create a new project and select – QML Extension Library + Tabbed Touch.  I found that it was easier to change the QML side of things than start with an extension and then add the whole project structure.

Build and Run your project locally

In QtCreator click on projects.  In Build, I set up the build path as my project root path. In run,  the executable is “/usr/bin/qmlscene” (make sure there is no spaces trailing) and then Arguments is set to “-I  ../backend/modules $@ yourapp.qml”, with a working directory of “projectroot/app”

Now if you try to run your project it should build it locally and run your app. After that you are on a roll.

Build on target device

Click Ctrl+f11 should install the platform developer tools in your device. However, I how found that this lately does not work.

Instead from the terminal:

first we will need to make the image in your device writeable:
adb shell touch /userdata/.writable_image  --> and reboot the phone.
cd /usr/share/qtcreator/ubuntu/scripts
adb devices
./device_developertools_install <device_id>

Now you are ready to build, so back to QtCreator:

Build>Ubuntu>Build Application on Device

This should build the application with only some test problems, but the main binaries would be created. To package your app you will need to get


Creating a click package

create a manifest standard manifest file. Manifest.json

"description": "your text",
"framework": "ubuntu-sdk-13.10",
"hooks": {
"yourappname": {
"apparmor": "yourappname.json",
"desktop": "yourappname.desktop"
"maintainer": "your name<yourname@yourmail.com>",
"name": "com.ubuntu.developer.yourname.yourappname",
"title": "yourappname",
"version": "0.1",
"architecture": "armhf"

You will also need a yourapp.desktop file:

[Desktop Entry]
Exec=qmlscene -I plugin $@ yourapp.qml

Note that Exec= has a -I plugin part to it. This is very important, will see later.

Now yourapp.json file that contains your confinement profile:

"policy_groups": [
"policy_version": 1

Now time to setup a folder with all this stuff, not that the plugin folder is going to contain your lib which your are importing with -I option on the desktop file:

Now you are ready to build from your project root folder:
click build ./click

This should create a .click file in your project folder.

Installing in your device

adb pull your.click /home/phablet/
adb shell
su phablet
cd ~
pkcon -p install-local your.click

This should be enough, but sometimes I find that you need to restart unity:
pkill unity8 (you might need sudo)

Introducing Techfunder for Kickstarter and Indiegogo

Since I lead the Ubuntu Edge campaign, I have been trying to keep up with other crowd funding projects.  I am mainly interested on technology and gadgets, and I have found it hard to navigate Kickstarter, but also to have to keep hoping between Kickstarter and Indiegogo to see what is going on.  Specially since now, seems like interesting projects are evently split between them.  You might share my friction on this… so I give you Techfunder:

Get it on Google Play

Techfunder is an Android app that provides an easy way to browse crowd funding projects launched across the main industry websites. Techfunder gathers Technology and Design projects from Kickstarter and Indiegogo.

Using Techfunder side navigation you can easily switch between:

  •  Popular
  •  New this week
  •  Staff Picks
  •  Design – Popular

Then you can browse as many projects on a compact scrollable list. Just click on the project you are interested to expand into a full screen view.From there you can tell the world about it using the share button. 

If you want to contribute or found out more about it, click on the “browse” button and Techfunder will launch the project page in your web browser. When you are finished, just press the Android back button to return to Techfunder.

I am currently planning to add a favourites/watchlist functionality and looking into a way to select additional crowd sourcing platform. I hope you enjoy it!

Introducing Techfunder for Kickstarter and Indiegogo

Read more of this post

Living on the edge: The campaign target

It has been over 2 months since the Ubuntu Edge campaign concluded, and I haven’t really blogged about it.  I must say, driving something like this was great fun but also a fully immersive 24-7 experience. For that reason, I wanted some time to pass before write some conclusions about it.

One of the things that made the Ubuntu Edge campaign to stand out from previous crowd funding projects was the target: $32 Million. Other successful projects (I will focus only on products) had much lower targets (~$100K). So, why was this the case?

If your company has already raised capital via “standard” funding routes or you are actively pursuing it, a successful crowd funding campaign will reduce the overall amount of equity you have to give away. It can also attract that elusive VC investment.  In this situation, your objectives are:

  • Proof the product viability 
  • Remove doubts from future investors minds
  • ensure your campaign and your product are perceived as a successes

An early achievement of your campaign target will tick all these boxes. A “sold out” effect in the first week will increase the confidence of future pledgers and investors. In that case, a campaign target of $100K can be the magic number for you. 

In the other hand, if crowd funding is your only or main avenue to finance your product, your objectives will be slightly different. These were ours:

  • Proof the product viability
  • Finance product design and factory tooling
  • Finance a fix/minimum production run
  • Market validation

An early achievement of your target is still desirable, but your main worry will be to raise enough money via the campaign to deliver on your promises to the pledgers.

Although we raised over $12 Million, we did not reach our intended target. The Ubuntu Edge was a unique proposition that was build on the premise of delivering the latest cutting edge technology.  Unfortunately, this meant that we could not pursue what I think is a better approach for 100% crowd funded products: a multi-campaign project.

In a crowd funding campaign, people contribute for different reasons:

  • The Angels: Angels are interested in supporting new innovation. They might not even necessarily want to own your product, but they appreciate the disruption you are trying to bring to the market.  For these reason, they are willing to contributed from a little as $1 to thousands of dollars to see your project succeed.
  • The Extended Team: These are passionate individuals that understand your product concept and they want one! Not only they are willing to part with some money to get one, but they are also willing to contribute their own time and energy to make your product successful. They are a great source of professional and amateur resources. The contributions we got for Ubuntu Edge ranged from advise on how to run the campaign by serious knowledge people, to PR (T-shirt designs, websites, ads) to product design.
  • The Pragmatists:  Your product might look good, but your project might just be too risky. Crowd funding projects are developing a bit of a reputation for shipping late or even worst, never happening.  Pragmatist might be put off from contributing to your project is the perceived risk is too high.  Some key questions they would like answer to are: Who are you? What is your proven record? Do you have a proto-type working?  Do you have suppliers ready to go? but they all ultimately boil down to one: Can I trust you?
  • The Shoppers: Although, it should be clear to everyone that crowd funding is not the same that shopping in Amazon, similar motivations may apply.  Shoppers will compare backing your project with buying a similar product online. Things they will care about: Are you offering a good deal? How long will it take for me get the product? What warranties do you offer?.

Pragmatists and shoppers form the bulk of the backer community out in the wild. If you are just getting started with your product development, you might find that addressing the concerns of pragmatists and shoppers is just not possible. In that case, financing your product development via multiple crowd funding projects might be a better option.

Target your first project to attract angels and extended-team. Set a campaign target that will allow you to build a prototype and start seriously talking to suppliers. Build up your credibility by delivering the first project on time.

For your second project, you will have had reduced the risk and the time to product delivery substantially. You might now be able to raise the rest of the funding or your might need a couple more iterations. Here is how the people at +Pool are doing it:

  1. First project
  2. second project




Ubuntu Edge: convergence in action

Hi everyone, I’ve been talking to a lot of you in the comments on the Indiegogo page, so I thought I’d come on here with a little video of my own computing setup.

I’m going to show you convergence. Although the hardware is getting a lot of the attention, it’s the Ubuntu Edge’s ability to be your phone and your PC that will have the biggest impact. How do I know this for sure? Because I’m already experiencing it.

For over two months I’ve been running Ubuntu for Android on a Nexus 4 phone, and even with its much slower processor and smaller storage than the Edge will have, it’s still made my working life so much simpler. With just a phone I can do pretty much anything that I could do before on my laptop.

I’ve made a quick video to show you a few examples. Remember this code is still in beta – with the final production code and the much more powerful hardware of the Ubuntu Edge, the desktop will really fly.

If you can’t see the video – click here

We’re doing great so far but there’s a long way to go, so please keep on sharing our campaign with everyone you know. You’re our best chance of making this happen!

[QML] Torch App

I was thinking about starting dogfooding Ubuntu Touch, and really for me the blocker is having a torch app! :) so here it is:


Tap in the lightbulb to turn the tourch on (tested on Galaxy Nexus). Image by  Ryan Hyde




Get every new post delivered to your Inbox.