KDEConnect not Working in Fedora 23 KDE

I’ve just successfully connected KDE Connect in my Fedora 23 KDE to Android. Just before, I thought it didn’t work in Plasma 5 or broken in Fedora. Since it could not find the Android devices, although they have KDE Connect app installed. But actually, it’s just blocked by firewall config of Fedora.

According to KDE Wiki, the ports for kde-connect need to be opened, i.e 1714-1764. I’ve never thought that such essential part of the desktop environment would be blocked by firewall. So I had no idea to touch firewall config at all. It was until I found a discussion on Reddit about the same problem I had. A user pointing out about Fedora’s firewall that seems blocking kde-connect. But I could see the ports either TCP or UDP have been opened and listened in the firewall config. But then I found out that kde-connect was unchecked in the Services list.

It means that the firewall didn’t allow kde-connect to access the ports it needs. Then I just had to check it, typed password, and voila… my Android device has been found by kde-connect. So now, I can enjoy syncing Android to KDE and playing some stuffs it has.

References:
1. https://community.kde.org/KDEConnect#Troubleshooting
2. https://www.reddit.com/r/kde/comments/388fo0/kde_connect_fails_to_function/
3. http://www.bakalarczyk.com/posts/kde-connect-fw/

HTML5 App for Desktop Using Qt WebKit

Qt WebKit HTML5 App
Qt WebKit HTML5 App

It’s been a long time since the last time I wrote about Qt programming. This time I’d like to share my recent activity on developing the desktop version of my Android webapp, Hafal Quran. You can download it from Google Play Store by clicking this badge:
Android app on Google Play

My purpose is that the app can run on most platform. So it led me to choose HTML5 approach. And finally I come up with the app website which everyone can play it on http://hq.amzone.web.id. The Android app is the first platform-specific release of Hafal Quran.

While it looks like already reaches the final version, it actually lacks an important aspect, i.e dis-connectivity. We have to connect to internet to play it. Of course we cannot play it when go offline. So now, I continue its development to the next step: offline mode.

The first development should be focused on the Android version, as the users of mobile devices are the most and growing. But for now, I will make the offline version for desktop first. In this case, I choose to deploy it for Ubuntu Linux distro and the derivatives, particularly Grombyang OS Edu.

Technical overview

I utilize Qt framework for the development because I have some experiences in it. Besides, I decided to use Webkit as the engine of the app. And actually it is part of Qt framework itself. Webkit is the infamous engine for most popular browser, including Safari, Chrome, and even Opera.

But unfortunately, QWebKit module is now being deprecated since Qt 5. And it is now superceded by QWebEngine module. So, for now, I will still use QWebKit module of Qt4.

The drawbacks of using Webkit is probably about the memory usage. Since Qt modules are quite greedy in terms of consuming RAM.


FYI, the Android app was one of 50 apps that were selected at Finding Top50 Local Apps event, which was held by Baidu Indonesia last year.

KDE Connect, Link Your Android to Linux Box

[Versi bahasa Indonesia ada di halaman 2]

Recently, I had a chance to try out KDE Connect. It has KDE in its name, but you can try it on other DEs. Of course with some limitations, i.e Dolphin’s right-click menu for sending files may not available on another file manager. (I haven’t try it on another DE, though). To link your Linux to Android, you need to have KDE Connect app installed on your Android and Linux as well, and connect both devices to the same network.

You can read all about KDE Connect in its developer’s blog: https://albertvaka.wordpress.com. And these are my screenshots of KDE Connect in action:

Google Authenticator: Pengamanan Dua Langkah

Akhirnya bisa juga menerapkan otentikasi dua langkah untuk login ke Ubuntu. Pada tulisan ini, sekalian saja saya menerangkan langkah-langkah pengaturan verifikasi dua langkah untuk bermacam-macam akun daring.

Apa itu Google Authenticator?

Google Authenticator adalah nama aplikasi pembuat token TOTP (Time-base One-Time Password) untuk verifikasi dua langkah. Aplikasi ini adalah buatan Google, tersedia di Google Play untuk diinstal di Android. Ini tersedia pula versi untuk iOS dan Blackberry. Perangkat mobile lain juga ada aplikasi authenticator ini. Cari saja di app market masing-masing. Misalnya di Nokia store namanya TOTP-ME, yang mana saya menggunakannya.

TOTP sendiri adalah sesuai namanya, password sekali pakai yang berkala, biasanya 30 detik. Token yang dihasilkan terdiri dari angka berjumlah 6-8 karakter. Rincian teknisnya bisa dibaca di Wikipedia atau situs lain. Continue reading Google Authenticator: Pengamanan Dua Langkah

Qt QML untuk Aplikasi Android (dengan KDE Necessitas)

Necessitas merupakan kakas pengembangan untuk aplikasi Android dengan Qt Framework, dikembangkan oleh tim KDE Project. Kakas ini menggunakan Qt Creator untuk IDE dan Qt versi 4.8.2 sebagai frameworknya. Tetapi tampaknya tidak diperbarui lagi, atau mungkin sudah diambil alih oleh Digia, selaku pemegang hak lisensi komersial Qt Framework.

Sekarang saatnya saya membagikan cerita tentang belajar membuat aplikasi Android dengan Qt Framework (QML). Tulisan sebelumnya tentang kakas pengembangan aplikasi Android dan MVC di Qt QML merupakan pengantar untuk tulisan ini.

Contoh aplikasi ini adalah RSS feed reader sederhana. Saat membuat New Project, pilih Qt Quick Application. Pada pilihan Kit, pilih untuk Android. Jika tidak ada, tambahkan kit Android setelah berhasil membuat New project. Nanti Qt Creator akan secara otomatis menambahkan file-file yang diperlukan untuk membuat sebuah APK, seperti misalnya AndroidManifest.xml. Pastikan Android SDK dan NDK sudah diatur dengan benar di Option Qt Creator. Kalau Necessitas biasanya sudah ada pengaturan saat instalasi. Berikut ini adalah source code QMLnya:

Continue reading Qt QML untuk Aplikasi Android (dengan KDE Necessitas)

Android Development (Macam-macam Kakas)

logo android
Logo Android
Tulisan terakhir saya tentang programming adalah tentang development aplikasi Android menggunakan Qt Libs. Sampai saat itu saya menggunakan KDE Necessitas sebagai kakasnya. Versi Qt yang digunakan adalah 4.8.2. Sekarang saya tahu bahwa ternyata Necessitas tidak diperbarui dalam kurun waktu yang cukup lama, dan masih tetap versi alpha 4. Saya tidak tahu mengapa, tetapi saya menduga ini mungkin sudah diambil alih Digia dan menjadikannya Qt Mobile sebagai strategi bisnisnya.

Berangkat dari hal di atas, saya mulai mencoba Qt 5 for Android. Namanya baru belajar, ya maklumlah. Selain itu, karena ukuran unduhan Qt framework yang besar, saya perlu pertimbangan khusus untuk mengunduhnya. Dan selain mulai belajar pengembangan aplikasi Android dengan Qt, saya juga mulai belajar QML. Yang mana sudah saya simpulkan pada tulisan yang lalu, bahwa banyak developer yang memilih QML untuk pengembangan aplikasi mobile.

Tetapi kali ini saya belum akan berbagi kode bagaimana pengembangan aplikasi mobile dengan QML ini. Karena saya cuma masih bisa membuat “Hello World”. Continue reading Android Development (Macam-macam Kakas)

Aplikasi Android dengan Pustaka Qt Framework

Salah satu alasan saya mempelajari pemrograman dengan Qt Framework adalah karena dukungan multiplatform. Sesuai dengan mottonya: “Code less. Create more. Deploy everywhere“. Yang perlu ditekankan adalah deploy everywhere-nya. Walaupun tidak sama seperti Java, Qt masih punya peluang untuk running di Android. Ini dibantu oleh Ministro yang akan mengunduh library Qt untuk Android.

Saya belum menjelajah sampai jauh utuk mencari tahu seberapa potensialnya Qt dipakai untuk mengembangkan aplikasi Android. Tapi jika googling, pasti kita akan menemukan banyak sekali pembahasan mengenai ini. Sejauh ini bisa saya simpulkan bahwa untuk pengembangan aplikasi Android dengan Qt, banyak developer yang lebih memilih QML daripada Qt widget. Bahkan contoh program Ubuntu SDK untuk Ubuntu Touch juga ditulis dalam QML.

Terlepas dari itu, saya kira Java tetaplah yang paling pantas untuk pengembangan aplikasi Android. Google juga menyatakan bahwa kita memang berpeluang untuk menggunakan bahasa C++ tapi jangan karena kita lebih suka dengan C++. Kode natif memang lebih powerful untuk mengakses fitur hardware, tapi akses ke API Android tidak banyak. Oleh karena itu, ada yang menyatakan, jika kita hanya akan sekali saja membuat aplikasi untuk Android, memakai Qt tidak masalah. Tapi jika berencana untuk membuat banyak aplikasi, tentunya Java lebih diutamakan.
Continue reading Aplikasi Android dengan Pustaka Qt Framework