Join Now

A software engineer living in Vancouver, Canada - http://www.antonypranata.com/

A New Symbian OS Book - Quick Recipes on Symbian OS

antonypr | 01 May, 2008 21:39

It's Friday now. Is it a good time for announcement for a new book?

Today, I proudly announce a new Symbian OS book from Symbian Press, Quick Recipes on Symbian OS. The book is available for pre-order from Amazon today.

The book is authored by Michael Aubert and a bunch of other people that you may be familiar with, i.e.:

 Quick Recipes on Symbian OS

What this book is all about? Unlike existing Symbian OS books, it is structured like recipes book. Each recipe solves one specific problem, for example: how to write data to a file, how to load JPG/PNG images, how to handle incoming message, how to dial a phone number, etc.

All the recipes are categorized in 10 different technology areas, i.e.:

  • File Handling
  • Contacts & Agenda
  • Networking
  • Messaging
  • Graphics and Drawing
  • 3D Graphics
  • Multimedia
  • Telephony
  • Connectivity
  • Location-based Services

The example source code will be available soon on Symbian Press web site soon (once the book has started selling).

For now, you can download the source code of our Quick Recipes Taster booklet. The booklet is basically the stripped-down version of the book.

Quick Recipes Taster

Screenshot v3.01 Released

antonypr | 04 February, 2008 21:07

It's been a while since I released the last version of my open source application, Screenshot for Symbian OS. The new version (v3.01) is now available at SourceForge.net.

Unfortunately, only the unsigned version is available right now. As you may know, it takes a while for Symbian Signed to sign freeware/open source applications. So, please be patient to wait for the official signed version. Meanwhile, you can just download and sign it using your own developer's certificate.

What's new in this version?

  • A new shortcut, i.e. <#>+<*>. It's been a challenge to introduce this shortcut due to conflict with phone application on the idle screen. It is related to a known issue published at Forum Nokia (KIS000708). Fortunately, there is a tricky workaround to this issue.
  • Support for more applications. The previous version has some problems capturing some applications, especially the ones with direct screen access. The new version does not solve the problem completely; but it should be better than the previous one. For example, the new version is able to capture N-Gage games, which has just been released today.
  • License upgraded to GPLv3. As recommended by Free Software Foundation, it is better upgrading from GPLv2 to GPLv3.
  • Some bug fixes. For example, Camera key now works fine on most Nseries devices.
  

New Symbian Signed Test Criteria

antonypr | 28 November, 2007 23:17

Symbian has just issued the new document of Symbian Signed Test Criteria. It is marked as valid from December 1, 2007; but practically it won't be in force until the new Symbian Signed process is generally available (which is expected in early December 2007).

The new test criterias now are divided into two categories, i.e.:

  • Universal tests (11 test cases), which focuses on install, uninstall, reliability, robustness and normal operational behavior. Most of the test cases come from the old ones. There are some old test cases that are merged into one.
  • Capability-related tests (5 test cases), which include additional tests for applications that use certain specific capabilities only. All test cases in this category are new.

Here are some changes that I noticed in the new document.

  • Backup/restore feature is not mandatory. The developer has an option of not supporting backup/restore.
  • Auto-start feature. By default, an application shall not enable auto-start feature. There should be an option for the user to change it.

The following criterias have also been removed in the new document:

  • PKG-03: File Creation Location.
  • GEN-04: SIP session establishment.
  • CON-03: Billable events. There is, however, similar test case for applications with NetworkControl and MultimediaDD.

 For more information, please visit Symbian Wiki page.

Using Accelerometer on Nokia N95

antonypr | 01 November, 2007 22:58

The blogosphere has been hot since yesterday about accelerometer on Nokia N95. Apparently, Nokia 95 has a built-in accelerometer. You can find discussion about this on:

In the latest firmware, we can even get the raw data from the accelerometer using Sensor Plug-in for S60 3rd Edition. You can download the plug-in and start experimenting with accelerometer on Nokia N95

The usage of the API is very straightforward. You just need to create an instance of CRDAccelerometer and then receives the accelerometer data from its observer, MRDAccelerometerObserver. Note that the API still has "RD" prefix in the class name and file name; so it is still an R&D version.

Having access to accelerometer raw data gives us many possibilities. For example, we can use it as control for games. Arto Holopainen has shown similar idea; but he is using human muscle to control games.

As developers, the first question that you may have is, how to process raw data from the accelerometer. You need to know about "g" unit, which is a standard unit of acceleration. There are several papers that discuss "g" unit in accelerometer, for example:

Platform Security on Apple's iPhone?

antonypr | 17 October, 2007 23:42

Thanks to petrib who pointed this out. Apple just announced that they are going to support third party applications on iPhone and iPod touch. This is not surprise because developers have been crying for SDK for iPhone. Many people have predicted that Apple will open their platform soon or later; otherwise they will have difficulty competing with "open" smart phones.

What made me surprise is the statement from Steve Jobs in the news. They will have an advanced system that allows developer to access iPhone's software platform while at the same time protecting users from malicious programs. It sounds like Platform Security in Symbian OS, doesn't it?

It will take until February to release an SDK because we’re trying to do two diametrically opposed things at once—provide an advanced and open platform to developers while at the same time protect iPhone users from viruses, malware, privacy attacks, etc.

...

Some companies are already taking action. Nokia, for example, is not allowing any applications to be loaded onto some of their newest phones unless they have a digital signature that can be traced back to a known developer. While this makes such a phone less than “totally open,” we believe it is a step in the right direction.

There is no detail of how they will implement the system. It could be similar to Symbian's PlatSec or totally different. Let's wait and see on February next year.

Bonus Links

Agile Software Methdology: An Interview with Jim Coplien

antonypr | 13 September, 2007 21:38

Agile software methodology is very hot topic these days. Many companies have been starting to use agile in their software development. Jo Stichbury, the author of Symbian OS Explained and The Accredited Symbian Developer Primer books, has recently interviewed Jim Coplen about agile software methodology. The interview in PDF format is available on Symbian Developer Network. Here is a small quote from the interview:

When people inquire about what “Agile” means, I always return to the source: the Agile manifesto. There are so many branches of Agile, individual practices and individual methodologies that have been equated with the word Agile. Like most popular terms it ceases to have much useful meaning any more, so I like to go back to the source. The source is brilliant and there’s some really good stuff there for people to think about and to get their teeth into, but it probably isn’t what most people think it is.

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan


If you are a fan of agile software methodology, you have to read the interview. It contains valuable information. If you don't know about agile or haven't used agile, I highly recommend reading the interview and then.... (this is the most important one) discuss with your team to start applying agile. :)

Links

The King of "Mobile Rules '08"

antonypr | 12 July, 2007 23:02

Nokia together with some other high-profile companies announced the second annual competition for mobile developers and entrepreneurs. It is called "Mobile Rules '08".


What is it all about? It is a competition to develop new applications or services for the mobile lifestyle. There are two tracks of the competition:

  • Mobile applications. It includes four categories, i.e. multi player/connected game, multimedia, enterprise and infotainment.
  • Mobile business plan. It is about creating a plan for the mobile business that is innovative and has value for customers and investors.


What is the timeline?
The deadline submission for mobile applications is January 25, 2008. The deadline for business plan is November 16, 2007.


What is the prize?
The prize for mobile applications is fast-track contract negotiations with one of the sponsors as well other prizes. If there is no contract after a year, US $10,000 will be granted.


The prize for business plan is the same, that is business contract with Nokia or other sponsors as well as other prizes. If there is no contract after a year, US $20,000 will be granted.


For more information, please visit http://www.mobilerules.org/.

Save Our Planet

antonypr | 11 May, 2007 21:33

Environmental issue seems to be keyword these days. We hear global warming, energy saving and many other terms almost everyday.

Yesterday, Nokia announced that they become the first phone makers to add energy saving alerts to their devices.

The alerts are one of a series of environmental initiatives that mobile manufacturers, led by Nokia, agreed to take action on this year. Nokia is the first of these manufacturers to implement the alerts into its products.How to save the climate - Join the energy revolution

This is not the first action from Nokia to become a "greener" company. They have started a program last year, called Take-back and recycle, where we can send our unused phones to be recycled.

Nokia’s idea is to make it easier for consumers to act green by offering the possibility to return old, unused phones and accessories. Authorized Nokia Service Points, flagship stores, municipal collections, industry association's collections, or retailers' campaigns are all possible channels for returning used products.

Many other big companies are serious about these environmental issues. Steve Jobs from Apple wrote an open letter about "A Greener Apple" last week.

And we plan to bring other environmental issues to the table as well, such as the energy efficiency of the products in our industry. We are also beginning to explore the overall carbon “footprint” of our products, and may have some interesting data and issues to share later this year.

As the end users as well as mobile developers, should we do something? Yes, for sure. We need to take actions to save our planet. It's not for us, but for our children. There is a free booklet from Greenpeace, Your Personal Guide to Helping Save the Climate, which discusses some tips to save our lovely planet. Here are some of them:

  • Buy the most energy-efficient products.
  • Do your PC a favor and let it get some sleep.
  • Don't leave chargers and transformers plugged in. This is exactly the reason why Nokia adds energy saving alerts into their latest devices.

Free Booklets from Symbian

antonypr | 02 May, 2007 20:22

These free booklets from Symbian are intended for developers. They discuss various development topics in hand and consie format. They are normally less than 100 pages long. The terms "free" here mean you can download it from Symbian web site and get the printed book for free.


Currently there are 9 booklets plus some translations to Chinese and Japanese and the list is growing. Here is the current list:


Essential Symbian OS booklets

  • Signing Tips
  • Coding Tips (also available in Chinese, Japanese and Korean)
  • Performance Tips (also available in Chinese and Japanese)

Essential Symbian OS booklets


Using Symbian OS booklets

  • Getting Started (also available in Chinese)
  • Java ME on Symbian OS
  • P.I.P.S
  • Carbide.c++
  • Data Sharing Tips

Using Symbian OS booklets


Essential UIQ booklets

  • UIQ Essentials Getting Started (also available in Chinese)

 Essential UIQ booklets

Always Remember that Mobile Device has Limited Battery Power

antonypr | 24 April, 2007 05:30

Recently I had a strange problem with my Nokia E61 device. The device needs to be charged every day. I was quite sure that the battery was still okay. The device was relatively new, about 1 month old. Before it happened, I could use my device for 3 - 4 days without charging.


I thought it must be from one of the applications that I have installed recently. I suspected one of the applications that I have just installed. Then, I decided to uninstall it (I am not going to disclose the name of the application). What happened after that? The problem with my battery was solved. I can use my device normally.


Why did it happen? Apparently, the application installed a server that runs in the background. I am not sure what the server is doing, but it empties the battery very fast.


As a mobile developer, how can we avoid this? Forum Nokia has a good paper, S60 Platform Effective Power and Resource Management. I won't repeat everything here; just highlight some of the important points:


  • Continuous timers, ticking too frequently (for example, more than once every five seconds), can adversely affect power consumption.
  • If an application is moved to the background, it should, where appropriate, be paused and timers should be stopped.
  • The backlight shall not be kept on without a good reason. It is turned off after a short period of inactivity is to conserve power; therefore overriding the system defaults should only be done if there is a compelling reason.
  • Communication technologies, such as Bluetooth and WiFi, should be used carefully, as there is always some drain on the battery when any network interface is active.
  • The camera has to be powered off when it is no longer used. Even if the camera is not being actively used, it is still consuming power if it is not powered off.


Please, always remember that mobile device has limited battery power. It is not the same as desktop world where the power is "unlimited".

Example Code of Using XML Parser in Symbian OS

antonypr | 14 April, 2007 00:05

A couple of weeks ago, I had a plan to write an article and example code of using XML parser in Symbian OS. It seems that another Forum Nokia Champion, Paul Todd had the same idea. He posted a nice article about XML parser in Symbian OS 9.x to Forum Nokia Blogs. It's good that I don't need to write the same article. :)


What I would like to share here is a complete example code of XML Parser in Symbian OS. The example code can be run on Symbian OS 8 and 9 phones, which means it can be compiled under S60 2nd Edition FP2/FP3 SDK or S60 3rd Edition SDK. I am planning to release the same example code for UIQ3 soon.


Click here to download my example code of XML parser


The example  basically parses an XML file, dataexample.xml, to the main window. The content will be displayed on CEikEdwin control (see picture below).


Example code of using XML Parser in Symbian OS

Note that the code is written as an example; thus it is designed to be as simple as possible. Do not use it in the production code!


One more thing, this is not the official example code from Forum Nokia. It is just my personal example code.

Screenshot for Symbian OS Goes Open Source!

antonypr | 28 February, 2007 07:24

Actually I don't want to reveal this today because there are still some other things to do. Unfortunately (or may be fortunately) cyke64 has smelled this new project. That's why; I decided to officially announce it today.


Ladies and gentlemen... I am proudly announcing Screenshot for Symbian OS goes open source. The source code is hosted by SourceForget.net at http://sourceforge.net/projects/screenshot-sos/. The project is distributed under GPL (General Public License) scheme.


Screenshot for Symbian OS (S60)


Why do I decide to make the application as an open source project?

  • I want to give this application to the Symbian OS community out there. I have chosen GPL scheme to make sure that everybody can receive the copy of the binary as well as the source code free of charge.
  • As you may know, there are more and more Symbian OS devices coming out. Since I cannot buy and test on all of those devices, I need a way for people to helping me to debug and fix any problem and/or binary breaks.

As a starting point, I publish the source code and binary (unsigned) of the beta version of Screenshot for Symbian OS version 2.70.


I hope that my small contribution is useful for the whole Symbian OS community.

P.I.P.S Is POSIX on Symbian OS

antonypr | 18 January, 2007 08:00

Symbian has just released P.I.P.S in Beijing, China. P.I.P.S. stands for "P.I.P.S. Is POSIX on Symbian OS". It is a recursive acronym. It reminds me to GNU, which is a recursive acronym for "GNU is Not UNIX".

P.I.P.S. - PIPS Is POSIX on Symbian - will enable C programmers to more easily migrate existing middleware and applications, either commercial or open source, to Symbian OS by providing standard POSIX C APIs on Symbian OS.

For me, this is very good news. It proves that Symbian is listening to developers' feedback. As you may know that many developers have been saying that Symbian OS has "uncommon" programming paradigms, such as active object, leave/trap mechanism, etc.


Bringing POSIX to Symbian OS is a big step to attract more third-party developers to develop applications for this platform. Furthermore, it would reduce the cost of porting code from other platforms to Symbian OS. With so many cool open source projects out there, the sky is the limit....


What is actually POSIX? According to Wikipedia:

POSIX or "Portable Operating System Interface for uniX" is the collective name of a family of related standards specified by the IEEE to define the application programming interface (API) for software compatible with variants of the Unix operating system.

POSIX basically contains APIs that are compatible across many operating systems. One example of the APIs, which is also part of P.I.P.S, is Standard C Library. Another example, which is part of POSIX.1c, is thread libraries to handle thread creation, scheduling and synchronization. If you are interested to read more about POSIX including the list of header files, you can visit Open Group's Single UNIX Specification.


There is not so much information from Symbian's press release about P.I.P.S. implementation, such as how many POSIX functions that have been implemented on P.I.P.S. We have to wait until the end of Q1 2007 to download the first beta version of P.I.P.S.


So, what's coming to Symbian OS after POSIX? C++'s STL (Standard Template Library)?

Shortcuts Tips in Carbide.c++

antonypr | 30 December, 2006 23:40

After using Carbide.c++ for quite a while, I would like to summarize some shortcut tips in Carbide.c++. They should apply to both version 1.0 and 1.1 as well as Eclipse IDE. Hope you find them useful too... :)


Editing

  • Ctrl+F - Find/Replace.
  • Ctrl+K - Find next -> Be careful, it is not F3, like many other applications.
  • Ctrl+L - Go to line -> Be careful, it is not Ctrl+G, like many other applications.
  • Ctrl+Space - Code completion. For example, if you type "do" and press Ctrl+Space, the IDE will display code template for "do while" loop. Furthermore, you can display a list of class member by pressing Ctrl+Space too. Normally, they are displayed when you type ".", "->" or "::" after a member class variable. In some cases, you may need Ctrl+Space, for example when you move to another line and then come back to the previous line.
  • Ctrl+Shift+Up and Ctrl+Shift+Down - Go to the next or previous methods and/or functions.
Navigation
  • Ctrl+F6 - Navigate to the next file editor. This is always useful shortcut, especially when you are working with several files at the same time.
  • Ctrl+F7 - Navigate to the next view, for example you can switch from the file editor to file tree view.
  • Ctrl+F8 - Navigate to the next perspective, for example you can switch from the Symbian perspective to the Debug perspective.

Building and Running

  • Ctrl+B - Build the current project.
  • F11 - Debug the current project.
  • Ctrl+F11 - Run the current project.
  • Ctrl+. and Ctrl., - Go to the next and previous annotation. You may find this useful when you have several error messages from the compiler. You can use these shortcuts to walk through the list of error messages.

Debugging

  • Ctrl+Shift+B - Toggle breakpoint. Note that you can only use this shortcut in the Debug perspective. For some reasons (that I don't know), you cannot use this shortcut in Symbian perspective.
  • F5 - Step Into.
  • F6 - Step Over.
  • F8 - Resume.
  • Ctrl+R - Run to line.

Configuring Shortcuts


Note that you can configure shortcuts in Carbide.c++ by selecting Window | Preferences | General | Keys. This may be useful, for example if you already got used to Visual Studio's shortcuts.

 

Configuring shortcuts in Carbide.c++ IDE

How to Start Symbian OS C++ Development?

antonypr | 13 December, 2006 07:57

I write this blog because so many questions at Forum Nokia Discussion, such as "How do I start Symbian OS C++ development?", "Which SDK should I use?" etc.

 

Download SDK

The first thing to do is download the Symbian OS C++ SDK. Which SDK to download? There are several SDKs depending on the UI platforms of the phones, i.e.:

  • S60. This is the platform of the most selling Symbian OS phones. Many of phones are manufactured by Nokia. S60 is mostly used in one-handed phones, but it supports full keyboard (QWERTY) too.
    The S60 SDK is available at Forum Nokia. Before downloading any SDKs, check the SDK version that you need. For example, to develop applications for Nokia N95, you need S60 3rd FP1 SDK.
     
  • UIQ. This platform is mostly used in PDA-like phones that are operated with stylus. However, there are some UIQ phones operated with keyboard too. Many of UIQ phones are manufactured by Sony Ericsson.
    The UIQ SDK is available at UIQ Technology.
     
  • Series 80. Series 80 is the platform for Nokia Communicator Series, such as Communicator 9500 and 9300. I am not sure about the future of Series 80 because I haven't heard any upcoming Communicator models.
    The Series 80 SDK is available at Forum Nokia.

Actually, there is one more UI platform for Symbian OS, i.e. Series 90 from Nokia. Unfortunately, the platform has been discontinued. The only product that came out to the market is Nokia 7710. I don't think you should start development on Series 90 unless there is a specific need to support Nokia 7710.

 

Download IDE

Another question that usually comes up from developers is "Which IDE to use?" Once again, there are several IDEs supporting Symbian OS C++, i.e.:

  • Carbide.c++. This IDE will be the future for all Symbian OS C++ development. If you are new to Symbian OS world, I would recommend starting with Carbide.c++. Although the current version of Carbide.c++ is not perfect yet, Nokia has put a serious effort to make it better.
     
  • CodeWarrior. This is an old IDE that is originally developed by Metrowerks but then bought by Nokia. I would not recommend this IDE because Nokia may discontinue the support of CodeWarrior any time.
     
  • Visual Studio .NET 2003  + Carbide.vs. As you may know Visual Studio .NET is one of the best IDEs out there. There is plug-in from Nokia to support Symbian C++ development under Visual Studio .NET. The plug-in is called Carbide.vs.
    Some people have been asking whether there is Carbide.vs for Visual Studio .NET 2005. As far as I know, the answer is no.
     
  • Linux-based IDE. If you are a fan of UNIX, there is "unofficial" tool to support Symbian C++ development in Linux platform, called sdk2unix.

As summary, if you are developing for Windows, I highly recommend to start using Carbide.c++. Note that there is a free version, called Carbide.c++ Express. The other two versions, Developers and Professional, cost some money.

 

Buy Books

There have been many concerns about the quality of SDK documentation, which is not good enough. That's why I would recommend buying one of Symbian OS C++ books, e.g.:

Technical Articles, Sample Codes and Forum Discussion

Sometimes books are not enough, so you may want to read some technical articles about Symbian OS C++ as well. There are several good sources, i.e.:

  • Forum Nokia. There are tons of technical articles and sample codes from Forum Nokia. 

  • Sony Ericsson Developer World - Similar to Forum Nokia, but mostly for UIQ platform. 

  • NewLC - Independent Symbian OS c++ web site that hosts many technical articles.

The last thing that I want to mention is forum discussions. Whenever you have problems or questions, you can always fire your questions to the developer communities. All the three sites above have forum discussions.

1 2  Next»
 
 
Powered by LifeType