Thursday, March 1, 2012

Rich J2ME Mobile Applications using LWUIT for Nokia Symbian S40

LWUIT is a Java UI framework for mobile devices aka Java ME.

While most mobile developers nowadays will think of smartphones, the lower end market is actually very huge. In fact Nokia has sold 1.5 billion Symbian S40 phones.
J2ME applications not only run in Nokia Symbian phones but also BlackBerry OS phones, low-end Chinese phones, entry level Samsung and Sony Ericsson phones, etc.

Developing with plain J2ME is painful. However LWUIT is a UI framework to the rescue.

With LWUIT you can develop beautiful visual user interfaces that support touch and modern controls. Of course within the limits of the devices, but it's much easier than coding plain MIDlets. it's also portable, you can develop from single source for Symbian S40 phones and BlackBerry phones.

Here is sample screenshots from a sample J2ME LWUIT app I made for DietYuk, an Indonesian healthy living site.

Friday, September 2, 2011

How to Uninstall Nokia Connectivity Framework (NCF?) - Cannot Install Nokia SDK 1.0 for Java

My first attempt at installing Nokia SDK 1.0 for Java failed due to Avira AntiVir detected a malware on it, so I had to "ignore" the Malware and cancel the installation (which it seemed to not undoing it properly) and restart installation.

However the next installation failed while giving the following message:

Nokia Connectivity Framework(NCF) is already installed. Please uninstall NCF and press 'Ok' to proceed with installation.

At this point I am stuck. I've deleted the C:\Nokia\Tools folder entirely, and I can't find the "Nokia Connectivity Framework (NCF)" entry on "Add Remove Programs. There's not even a Cancel button (to close the installer) or Override button on this dialog box. Quite annoying. :-(

If you have a solution for this problem, please help.

Saturday, August 6, 2011

How to Setup Qt Quick 4.7.3 / QML Project with Microsoft Visual Studio C++ 2008 Express

It's possible to configure Qt Quick 4.7.3 / QML Development using Microsoft Visual Studio C++ 2008 Express project.

Quick Start

  1. Install Microsoft Visual Studio C++ 2008 (Express)
  2. Install Qt Library 4.7.x for Visual C++ 2008
  3. Set environment QTDIR to C:\Qt\4.7.x
How to Create A New Qt Project in Visual Studio 2008
  1. Create a new Makefile project
  2. For Debug, set the build command as: qmake && nmake
    Set the Debug launch command as: debug\YourApp.exe
  3. For Release, set the build command as: qmake && nmake release-all
    Set the Release launch command as: release\YourApp.exe
  4. Add a YourApp.cpp file
  5. Create initial Qt .pro project file by running: qmake -project
You should get this:

TEMPLATE = app
TARGET =
DEPENDPATH += .
INCLUDEPATH += .

# Input
SOURCES += YourApp.cpp

You need to update this .pro Qt project file when you add source or header files.

A simple YourApp.cpp would be:

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QPushButton hello("Hello world");
    hello.resize(100, 30);

    hello.show();
    return app.exec();
}

You can see how this simple Qt GUI application looks on the screenshot.

How to Add Qt Quick / QML Support

To support QML / Qt Quick, add to .pro file:

QT += gui declarative

Create the .qml file :

import QtQuick 1.0

Rectangle { width: 100; height: 100; color: "red" }

Then load the .qml file from the main .cpp :

#include <QApplication>
#include <QPushButton>
#include <QDeclarativeView>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    QDeclarativeView view;
    view.setSource(QUrl::fromLocalFile("qmlvs.qml"));
    view.show();

    return app.exec();
}

You can see how this QML / Qt Quick application looks on the screenshot.

What about Visual Studio 2010?

It's possible but you'll have to download Qt sources and
build using Visual Studio compiler which can take 3 hours or more.

Download / Clone Sample Projects from Git Repository

To make it easy for you, the sample projects are freely available as Apache Licensed open source projects in my Nokia Developer Projects Git repository:

https://projects.developer.nokia.com/qmlexperiments

Learning Resources


To get started on Qt GUI / Qt Quick Development on desktop and mobile devices, check out these recommended books:

  1. C++ GUI Programming with Qt 4 (2nd Edition) - Prentice Hall
  2. Beginning Nokia Apps Development: Qt and HTML5 for Symbian and MeeGo
  3. Foundations of Qt Development
  4. Advanced Qt Programming: Creating Great Software with C++ and Qt 4

Tuesday, June 21, 2011

NewsPopper - Read your favorite news sites and share them! [Early prototypes & sketches]

With NewsPopper, you can get the latest news easily from favorite sites that interests you, and share among your friends.
Set up alerts so NewsPopper --as it name says-- will "pop" the news for you on your mobile device!
You can get notified when your friend comments on the news they read, or liked.

Sounds interesting ? It should :-)

It's a mobile application I'm currently working on. The app uses the latest powerful Qt 1.1 SDK and will run on all mobile devices that support Qt framework (which means modern Symbian S60, Symbian^3, Maemo/N900, and MeeGo devices like the upcoming Nokia N9/N950).

It will support touch and swipe gestures (on all touch devices and especially on the Nokia N9) and should be very user friendly from the first start.

The images shown are some sketches and how the current prototype looks.

When it's finished (hopefully!) you'll find it in an Ovi Store near you. :-)


I highly recommend you to get these resources to gain skills on Qt Development on desktop and mobile devices :

  1. C++ GUI Programming with Qt 4 (2nd Edition) - Prentice Hall
  2. Beginning Nokia Apps Development: Qt and HTML5 for Symbian and MeeGo
  3. Foundations of Qt Development
  4. Advanced Qt Programming: Creating Great Software with C++ and Qt 4

Wednesday, May 4, 2011

(Nokia) Qt SDK 1.1 including Qt Framework 4.7.3 Libraries Released

The Qt team is truly pleased to release the Qt SDK 1.1 for desktop and mobile development.


Using the Qt SDK you benefit from the Qt Creator IDE as a starting point for your development and you can also speed up your development - especially for touch-screens - with Qt Quick. During installation of the Qt SDK, you select the packages you need. In addition you will receive notification when new features and quality updates are available i.e. Qt Creator and / or new targets. No need to make special upgrades or extra downloads.

What is in the Qt SDK 1.1?

  • Qt 4.7.3 for desktop, Qt 4.7.3 for Symbian and Qt 4.7.0 for Maemo/N900
  • Qt Creator 2.1,
  • Qt Mobility 1.1.3
  • Qt simulator
  • Remote compiler supporting Linux and Mac for Nokia supported platforms
  • Symbian toolchain
  • Madde toolchain for N900


Get your Qt apps into the Ovi Store
Now, all your apps developed with the Qt SDK 1.1 will be accepted into the Ovi Store. Yay!


Qt Developer Days 2011 Munich Announced!

We are also happy to announce the dates of Qt Developer Days 2011 Munich: October 24-26th. Stay tuned for more information on this soon.

Learn more here.


Get More Information
Get the download links and read about the changes here.
Qt 4.7.3 and Qt Mobility 1.1.3 have been released (Labs Blog) here.


I highly recommend you to get these resources to gain skills on Qt Development on desktop and mobile devices :

  1. C++ GUI Programming with Qt 4 (2nd Edition) - Prentice Hall
  2. Beginning Nokia Apps Development: Qt and HTML5 for Symbian and MeeGo
  3. Foundations of Qt Development
  4. Advanced Qt Programming: Creating Great Software with C++ and Qt 4


(copied mostly verbatim from Qt SDK 1.1 release announcement)

Saturday, April 2, 2011

My Forum Nokia Champion 2011/2012 Diploma

2011-04-03_13

See I am now a Forum Nokia Champion again. Not kidding.. ;-) *brag mode on* hehehee :-)

Monday, March 28, 2011

I am now a Qt Ambassador :-)

Qt-ambassador-program-hendy-ir

"Congratulations! You have been accepted into the Qt Ambassador Program."

The mail just came in this morning. Thank you Nokia... :-)


Sincerely,
Hendy Irawan
Qt Ambassador ;-)

P.S. More information about Nokia's Qt Ambassador program :

The Qt Ambassador Program is a membership-only program that honors Qt development projects. All developers around the world who create products and projects with Qt are eligible to apply. Membership to the Qt Ambassador Program is free and based on your  outstanding and innovative Qt project. 

Note: In order to apply to the program, you must have a live Qt project, which you are able to post on the Qt Ambassador Showcase.

The Qt Ambassador is a recognition program that complements our Nokia Certified Qt Developer program.  We encourage all Nokia Certified Qt Developers to apply to be Qt Ambassadors and further extend their distinction in the Qt and overall developer community.