The recommended book to get acquainted to Symbian C++ is:
"Symbian OS Explained: Effective C++ Programming for Smartphones" by Jo Stichbury
http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470021306.html

 

To get your computer ready to develop your applications, refer to:

http://wiki.research.nokia.com/index.php/N93HackingPages

You will find that these wiki pages are VERY useful. If you follow them by the letter you should not have any problems. Just to give you an idea, you are going to install:
- Nokia PC Suite Latest (is what you will use to install your applications on the phone)
- Active perl 5.6.1 (not newer nor older)
- Java Runtime Environment
- The SDK
- The CSL ARM toolchain (though the SDK installation procedure should ask your permission to install it automatically).
- Carbide C++ Express (if you already use Eclipse this IDE will be very familiar to you)
- Phyton (if you are going to use it) NOTE: as mentioned in the wiki pages, if you have cygwin installed you might experience some problems. The recommendation is to put the path to ActivePython before that of cygwin in your path system variable.


Helloworld Tutorial

Once you get everything installed, you can get started and see if everything works. You can generate, compile and run on the phone an helloworld application:
In carbide start a New -> Symbian OS c++ project
In the new window choose S60 3rd edition GUI application
When all the files have been created just right click on the project folder and select "active build configuration" -> "phone release ..."
Then "build all targets" (through the same menu)
Rightclick on the sis folder and choose "refresh"
You should see a .sisx file. That's the executable you want to install on your phone. Double click on it and follow the instruction to install it on your phone (when asked, install it on the phone memory).
Now if you go on your phone under applications you should find it and be able to run it.

 

OTHER RESOURCES:
- If your project involves computer vision, you might be interested in the NokiaCV, a package similar to OpenCV. You can find information about this in:
http://www.research.nokia.com/research/projects/nokiacv/index.html
- If you are going to use Python you might find this useful:
http://www.mobilenin.com/pys60/menu.htm

 

MAC USERS:
Unfortunately macs are not supported. If you still want to use your mac you have two options: you can run Windows through Parallel but you won't be able to use the phone emulator. For the debugging stage this might be a limitation. Obviously, if you run Windows natively on an Intel mac with something like bootcamp you are going to be fine.


A final note:
Every time you run Carbide Express you will get a "Carbide FLEXnet License Error". Just press OK and forget about it :)