Upgrade to Carbide.c++ 2.4

Those of you active on the Forum Nokia and Symbian Foundation discussion boards have likely noticed the announcement of Carbide.c++ v2.4 release.

Those counting on my Google widget however, have likely missed the news. Carbide.c++, or rather the underlying Eclipse, is using a new update engine, which stores the update information in a different format which is no longer captured by the Yahoo! Pipes script powering the widget.


Google widget busted!


I might find a way to revive that widget but its usefulness is now limited, you can have Carbide.c++ check for updates and notify you when they are available. Just make sure to activate the appropriate option in Carbide.c++’s Properties.


Automatic update check in Carbide.c++ Properties

Updates available notification


Now, back to the issue at hand: the update was announced in the forums with appropriate install instructions. Which are pretty clear although they do not give all possible details. There are many packages (plug-ins) which Carbide.c++ 2.4 will make available to you, not all of them useful to an application developer. The tool is used by the Symbian Foundation as well, and the product creators need and have access to more advanced features. It is up-to you to have a look at the packages proposed for install, evaluate whether you need them or not, and then install it. If disk space and bandwidth is not an issue you can of course go for installing all the packages available.


The following features for Symbian development are provided within Carbide.c++:

  • WINSCW compiler change – the Nokia C/C++ Compiler version 3.2.5 build 487 provides new name mangling to support critical exception handling. Without this change an exception can cause a program or system crash.
  • Support for Qt Tools 1.6
  • The Run builds concurrently option in the Builds preference panel now supports up to 50 concurrent build jobs, up from 4.

A more complete list of changes, including bug fixes, should be available soon in Carbide.c++’s Online Help pages (and is of course included in product’s help file)

You can find the installation instructions in the Forum Nokia Discussion Boards and below you can see a visual guide as well.



What is missing from this video but is already available in the thread with the release announcement is the solution to one possible glitch you may encounter during the update. If you have checked at any given time for software updates and they were not available, the tool might have saved a invalid copy of the XML file describing the available update. This is why now, although updates are available the tool will use the cached file and will inform you that no updates are available. The “Install New software …” wizard will then find new components but since they depend on those missed by the “Check for updates” tool the entire installation process is compromised.

To fix the problem you will have to identify in Carbide.c++ installation directory a subdirectory named \p2\org.eclipse.equinox.p2.repository\cache\ and delete the XML file found in it (should be named content-501168361.xml or similar). Once this file removed, perform the update as instructed in the release announcement and all should work just fine.


Upgrade to Carbide.c++ 2.4

Those of you active on the Forum Nokia and Symbian Foundation discussion boards have likely noticed the announcement of Carbide.c++ v2.4 release.

Those counting on my Google widget however, have likely missed the news. Carbide.c++, or rather the underlying Eclipse, is using a new update engine, which stores the update information in a different format which is no longer captured by the Yahoo! Pipes script powering the widget.


Google widget busted!


I might find a way to revive that widget but its usefulness is now limited, you can have Carbide.c++ check for updates and notify you when they are available. Just make sure to activate the appropriate option in Carbide.c++’s Properties.


Automatic update check in Carbide.c++ Properties

Updates available notification


Now, back to the issue at hand: the update was announced in the forums with appropriate install instructions. Which are pretty clear although they do not give all possible details. There are many packages (plug-ins) which Carbide.c++ 2.4 will make available to you, not all of them useful to an application developer. The tool is used by the Symbian Foundation as well, and the product creators need and have access to more advanced features. It is up-to you to have a look at the packages proposed for install, evaluate whether you need them or not, and then install it. If disk space and bandwidth is not an issue you can of course go for installing all the packages available.


The following features for Symbian development are provided within Carbide.c++:

  • WINSCW compiler change – the Nokia C/C++ Compiler version 3.2.5 build 487 provides new name mangling to support critical exception handling. Without this change an exception can cause a program or system crash.
  • Support for Qt Tools 1.6
  • The Run builds concurrently option in the Builds preference panel now supports up to 50 concurrent build jobs, up from 4.

A more complete list of changes, including bug fixes, should be available soon in Carbide.c++’s Online Help pages (and is of course included in product’s help file)

You can find the installation instructions in the Forum Nokia Discussion Boards and below you can see a visual guide as well.



What is missing from this video but is already available in the thread with the release announcement is the solution to one possible glitch you may encounter during the update. If you have checked at any given time for software updates and they were not available, the tool might have saved a invalid copy of the XML file describing the available update. This is why now, although updates are available the tool will use the cached file and will inform you that no updates are available. The “Install New software …” wizard will then find new components but since they depend on those missed by the “Check for updates” tool the entire installation process is compromised.

To fix the problem you will have to identify in Carbide.c++ installation directory a subdirectory named \p2\org.eclipse.equinox.p2.repository\cache\ and delete the XML file found in it (should be named content-501168361.xml or similar). Once this file removed, perform the update as instructed in the release announcement and all should work just fine.


Load your application in a running emulator

Everybody loves to hate the Symbian SDK emulator. The first reaction to it usually is: “It is slow, really slooooooow, it takes ages to start it” ;)

Yes, it is true, the emulator is slow, but considering the task it has to perform and the complexity of the system it emulates such slowness is to be expected. However, the problem is not as bad as one may think. Yes, the emulator takes time to load, but then why don’t you start it in advance and let it load while you browse your recent emails, so that you have it up-and-running at the moment you really need it.

Many developers already with some Symbian experience will tell you that you cannot do that. But yes, you can! The following video will show a basic Qt application being created, built and run into an already running emulator.

Coming up next: Rebuild without restarting the emulator.

Load your application in a running emulator

Everybody loves to hate the Symbian SDK emulator. The first reaction to it usually is: “It is slow, really slooooooow, it takes ages to start it” ;)

Yes, it is true, the emulator is slow, but considering the task it has to perform and the complexity of the system it emulates such slowness is to be expected. However, the problem is not as bad as one may think. Yes, the emulator takes time to load, but then why don’t you start it in advance and let it load while you browse your recent emails, so that you have it up-and-running at the moment you really need it.

Many developers already with some Symbian experience will tell you that you cannot do that. But yes, you can! The following video will show a basic Qt application being created, built and run into an already running emulator.

Coming up next: Rebuild without restarting the emulator.

Load your application in a running emulator

Everybody loves to hate the Symbian SDK emulator. The first reaction to it usually is: “It is slow, really slooooooow, it takes ages to start it” ;)

Yes, it is true, the emulator is slow, but considering the task it has to perform and the complexity of the system it emulates such slowness is to be expected. However, the problem is not as bad as one may think. Yes, the emulator takes time to load, but then why don’t you start it in advance and let it load while you browse your recent emails, so that you have it up-and-running at the moment you really need it.

Many developers already with some Symbian experience will tell you that you cannot do that. But yes, you can! The following video will show a basic Qt application being created, built and run into an already running emulator.

Coming up next: Rebuild without restarting the emulator.

Nokia N97 SDK v1.0 released

Those engaged in developing applications for Nokia N97 will be interested to know that the final version of the Nokia N97 SDK has been released today.

N97 SDK emulator screnshot

 

The new SDK version provides:

  • Improved support of home screen features.
  • Updated SDK documentation.
  • Support for the Chinese version of the full keyboard.
  • Updated example applications.
  • Updated default emulator theme.
  • Fixes for all other important bugs.

Read more about features and known issues in SDK’s release notes.

It is probably worth making clear a few points about this SDK:

  • Nokia N97 is and S60 5th Edition (Symbian^1) device and it is fully compatible that that platform release. Any application developed for S60 5th Edition devices using the S60 5th Edition (Symbian^1) SDK will be compatible with smartphone as well.
  • The Nokia N97 SDK is only provided as an alternative, mostly beneficial to those developing applications targeting N97′s specific features, features not supported by the platform release and thus not supported by other devices based on it, as for example the home screen widgets.
  • While the APIs in the S60 5th Edition SDK are covered by platform’s binary compatibility promise, all the additional device specific APIs provided by the Nokia N97 SDKs are provided "as is", without binary compatibility promise.

That’s it. Enjoy the new release and don’t forget to let us know what you think about it.

Nokia N97 SDK v1.0 released

Those engaged in developing applications for Nokia N97 will be interested to know that the final version of the Nokia N97 SDK has been released today.

N97 SDK emulator screnshot

 

The new SDK version provides:

  • Improved support of home screen features.
  • Updated SDK documentation.
  • Support for the Chinese version of the full keyboard.
  • Updated example applications.
  • Updated default emulator theme.
  • Fixes for all other important bugs.

Read more about features and known issues in SDK’s release notes.

It is probably worth making clear a few points about this SDK:

  • Nokia N97 is and S60 5th Edition (Symbian^1) device and it is fully compatible that that platform release. Any application developed for S60 5th Edition devices using the S60 5th Edition (Symbian^1) SDK will be compatible with smartphone as well.
  • The Nokia N97 SDK is only provided as an alternative, mostly beneficial to those developing applications targeting N97′s specific features, features not supported by the platform release and thus not supported by other devices based on it, as for example the home screen widgets.
  • While the APIs in the S60 5th Edition SDK are covered by platform’s binary compatibility promise, all the additional device specific APIs provided by the Nokia N97 SDKs are provided "as is", without binary compatibility promise.

That’s it. Enjoy the new release and don’t forget to let us know what you think about it.

Nokia N97 SDK v1.0 released

Those engaged in developing applications for Nokia N97 will be interested to know that the final version of the Nokia N97 SDK has been released today.

N97 SDK emulator screnshot

 

The new SDK version provides:

  • Improved support of home screen features.
  • Updated SDK documentation.
  • Support for the Chinese version of the full keyboard.
  • Updated example applications.
  • Updated default emulator theme.
  • Fixes for all other important bugs.

Read more about features and known issues in SDK’s release notes.

It is probably worth making clear a few points about this SDK:

  • Nokia N97 is and S60 5th Edition (Symbian^1) device and it is fully compatible that that platform release. Any application developed for S60 5th Edition devices using the S60 5th Edition (Symbian^1) SDK will be compatible with smartphone as well.
  • The Nokia N97 SDK is only provided as an alternative, mostly beneficial to those developing applications targeting N97′s specific features, features not supported by the platform release and thus not supported by other devices based on it, as for example the home screen widgets.
  • While the APIs in the S60 5th Edition SDK are covered by platform’s binary compatibility promise, all the additional device specific APIs provided by the Nokia N97 SDKs are provided "as is", without binary compatibility promise.

That’s it. Enjoy the new release and don’t forget to let us know what you think about it.

Can you write an antivirus?

The blogosphere is buzzing with a hot subject: a worm attacking Symbian smartphones. The creature has a name too, not a latin one as the living worms but a rather techie one: Trojan:SymbOS/Yxe.A. Or, among its friends, "Sexy view".

You can read Gabor Torok’s analysis of the incident at Mobile worm, Yxes.A – an analysis but in this post I want to challenge you with a more hands-on task: how to protect yourself from this worm?

We all know (I hope) the good old security advices published by Nokia at http://europe.nokia.com/get-support-and-software/learn-how/security/your-device:

  • Exercise caution when accepting applications sent via Bluetooth or opening MMS attachments as they may include software harmful to your phone or PC.
  • Do not approve or download content to a mobile device from an unknown or unreliable source.
  • In general, keep your Bluetooth connection on hidden mode unless you specifically need to be visible to others.

For the sake of this post however, let’s pretend that we want to ignore these advices and instead ensure that we can install any sis file that finds its way to our devices … except this virus, of course.

So, given that the info we have about the virus is whatever we can find from this picture from F-Secure’s blog,

 

Trojan:SymbOS/Yxe.A

 

 

the requirement is to design a component that blocks the installation of the worm without affecting any other application. If multiple solutions are proposed the winner will be the one with the simplest design and less Platform Security capabilities requirements. Only public APIs can be used for creating the solution.

Do you have the answer? Post it here or, if it has any attachments, send it to ltomuta@ovi.com

Fine print:
Since the task is trivial there will be no prize in this challenge, except of course for the antivirus protection you will implement for yourself :)

Can you write an antivirus?

The blogosphere is buzzing with a hot subject: a worm attacking Symbian smartphones. The creature has a name too, not a latin one as the living worms but a rather techie one: Trojan:SymbOS/Yxe.A. Or, among its friends, "Sexy view".

You can read Gabor Torok’s analysis of the incident at Mobile worm, Yxes.A – an analysis but in this post I want to challenge you with a more hands-on task: how to protect yourself from this worm?

We all know (I hope) the good old security advices published by Nokia at http://europe.nokia.com/get-support-and-software/learn-how/security/your-device:

  • Exercise caution when accepting applications sent via Bluetooth or opening MMS attachments as they may include software harmful to your phone or PC.
  • Do not approve or download content to a mobile device from an unknown or unreliable source.
  • In general, keep your Bluetooth connection on hidden mode unless you specifically need to be visible to others.

For the sake of this post however, let’s pretend that we want to ignore these advices and instead ensure that we can install any sis file that finds its way to our devices … except this virus, of course.

So, given that the info we have about the virus is whatever we can find from this picture from F-Secure’s blog,

 

Trojan:SymbOS/Yxe.A

 

 

the requirement is to design a component that blocks the installation of the worm without affecting any other application. If multiple solutions are proposed the winner will be the one with the simplest design and less Platform Security capabilities requirements. Only public APIs can be used for creating the solution.

Do you have the answer? Post it here or, if it has any attachments, send it to ltomuta@ovi.com

Fine print:
Since the task is trivial there will be no prize in this challenge, except of course for the antivirus protection you will implement for yourself :)