Nokia Developer Day 2: Qt QML Workshop – Chiang Mai

I’ve just attended Nokia Developer Day  on 6-7 December 2011 in Chiang Mai. I’ve already written a summary about the first day dealing with Series 40 Java and Web Apps Workshop. The second day was focused on Qt/QML (Qt Meta-Language) software development for Nokia’s Symbian phones. Nokia will phase out Symbian operating system in 2016, but they’ll still support it until that time. Nokia will also port  Qt to lower end phones (e.g. Series 40) on a new operating system based on Linux called Meltemi. Overall Business Direction & Strategy The first 45-minutes for was presentation given by Grant Aaron McBeath, Managing Director, Nokia Thailand and Emerging Asia, about Nokia business direction: focus on Windows Phone for smartphones, Java/Web Apps for feature phones and future disruption. He also showed the progress of Nokia Ovi Store with 10 million downloads a day and 177 publishers with more than 1 million downloads. […]

Nokia Developer Day 1 Summary – Chiang Mai

I’ve just attended the first day of Nokia Developer Day (6-7 December 2011). The focus was on software development for Nokia’s feature phones with Java or Web Apps (HTML/CSS/Javascript) and most of the time was spent on workshops to get started for developing for Nokia feature phones such as the S40 series. Introduction to Ecosystem Business Updates During the first 15 minutes, an “Introduction to Ecosystem Business Updates” was given by Jirapat Janjerdask, Head of the Ecosystem Developer Experience at Nokia Thailand. He gave an overview of the ecosystem for features phones including the brand, developer & publisher, mobile brand, mobile operator and consumer. One interesting statistics was that there are 10 millions app downloads every single day. He also talked about the new Nokia Asha 300 and 303 features phones available for 3000 to 4000 Thai Baht (100 to 130 USD)  that are capable of running applications that usually […]

11 Recommendations for Optimizing Mobile Apps Power Efficiency

Following an AT&T Labs Research and corresponding paper entitled “Profiling Resource Usage for Mobile Applications: A Cross-layer Approach“,  AT&T found that a few simple design approaches could significantly improve mobile application responsiveness and reduce battery drain by lowering your application power consumption. They analyzed PANDORA internet radio and  discovered that the streaming music was delivered efficiently, but periodic audience measurements were draining battery life. Here is an excerpt of the PANDORA Case Study: While the music itself was sent simply and efficiently as a single file, the periodic audience measurements—each constituting only 2KBs or so—were being transmitted at regular 62.5-second intervals. The constant cycle of ramping up to full power (2 seconds to ramp up, 1 second to download 2KB) and back to idle (17 seconds for the two tail times, the first down from full-power mode and the second down from half-power mode) was extremely wasteful. Of the total […]

Finding the package that contains a particular file in Ubuntu

It often happens that a file is missing during compilation and you get this kind of error: In file included from media/audio/linux/audio_manager_linux.cc:15:0: ./media/audio/linux/alsa_input.h:8:28: fatal error: alsa/asoundlib.h: No such file or directory compilation terminated. In file included from media/audio/linux/alsa_input.cc:5:0: ./media/audio/linux/alsa_input.h:8:28: fatal error: alsa/asoundlib.h: No such file or directory compilation terminated. That usually means a development package is missing. Sometime you can just guess the name of the package or you can use aptitude to find the file. There is also another (better) method in Ubuntu: apt-file utility allows you to find the package corresponding to a particular file. First install apt-file sudo apt-get install apt-file Them the first time, you need to download the files with the data for your system apt-file update Finally, you can use apt-file to find the package. For example with alsa/asoundlib.h apt-file search alsa/asoundlib.h libasound2-dev: /usr/include/alsa/asoundlib.h   Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as […]

Get CFLAGS for a Package with pkg-config

As I tried to cross-compile an application that required glibconfig.h, I found a way to retrieve the CFLAGS for a given package. Here’s the output for glib-2.0 and gtk-2.0 in qemu for overo: pkg-config –cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabi/glib-2.0/include pkg-config –cflags gdk-2.0 -pthread -I/usr/include/gio-unix-2.0/ -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/arm-linux-gnueabi/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pixman-1 Finally, I found out that glibconfig,h was in /usr/lib/arm-linux-gnueabi/glib-2.0/include as this file is generated by configure and is platform dependent. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com

Finding a Missing Package in Ubuntu with Aptitude

When you configure a program before building, it will usually check for dependencies and if one is missing it will return an error such as: checking for OPENSSL… configure: error: Package requirements (openssl) were not met: No package ‘openssl’ found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. It could be a PATH issue, but usually that simply means the development version of the library is not installed. Sometimes the name is easy to guess and can be installed with apt-get: sudo apt-get install packagename-devel But sometimes it’s more difficult to guess and Google is not always very helpful. In that case you can use aptitude to search for the package. For example for nss3: sudo aptitude search nss3 i   libnss3                         – Network Security Service libraries i   libnss3-1d                   – Network Security Service libraries p   libnss3-dbg                – Development files for the Network Security p   libnss3-dev                […]

Installing an ARM Toolchain in Fedora

You can easily install an arm cross-compiler on Fedora as follows: cd /etc/yum.repos.d/ sudo wget http://ftp.linux.org.uk/pub/linux/arm/fedora/cross/cross.repo sudo yum install armv5tel-redhat-linux-gnueabi-gcc You can check the installation worked by checking the cross-compiler version [jaufranc@localhost ~]$ armv5tel-redhat-linux-gnueabi-gcc -v Using built-in specs. Target: armv5tel-redhat-linux-gnueabi Configured with: ../configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –enable-shared –enable-threads=posix –enable-checking=release –with-system-zlib –enable-__cxa_atexit –disable-libunwind-exceptions –enable-languages=c,c++ –disable-libgcj –with-sysroot=yes –enable-version-specific-runtime-libs –target=armv5tel-redhat-linux-gnueabi Thread model: posix gcc version 4.1.2 20070925 (Red Hat 4.1.2-33.fa1) This will only install the C compiler (gcc), to install the C++ compiler, run the following command: sudo yum install armv5tel-redhat-linux-gnueabi-gcc-c++ Tested in Fedora 12. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com

Learn How to Optimize Android Apps for Tablet

After India and the US last month, Google will organize Android Developer labs sessions in Europe to train developers to optimize their applications for Tablets. Registration is now open for the following European cities: Berlin — September 28 and 29. London — October 3 and 5. Paris — October 27 and 28. Sometimes late October…, but you can register now. This ADL series isn’t another set of introduction-to-Android sessions, nor any other kind of general overview like you may have at Google Devfest. It’s specifically aimed at optimizing Android applications for tablets, in particular creating high-quality tablet applications to provide a polished user interface and an enjoyable user-experience. Registration is open to anyone, but as Google can only accommodate a relatively small number of attendees, they will select attendees who already have an high quality Android app with the potential to be a top-tier tablet app. This series of labs will teach you: The best practices […]

Exit mobile version
UP 7000 x86 SBC