Old blogs

Class CWhatAmIDoing (am I missing a semicolon?)

Future directions, General - May 24th, 2007 - Written by Mike Trujillo

Finally I have a little time to take a few minutes to say hello to everyone.  I’m finishing up my last day of Symbian training (do you like the double play on Class in the title?)  

Sitting through this class I can see how unique Symbian development can be and the role that a good tool can play in making development go a bit easier (yes… I knew this already but now have a greater appreciation).

I was learning about Active Objects from Regan Coleman (a Symbian certified instructor and a Forum Nokia Champion) and my brain was racing around how a developer can keep all of the communication straight.  How is the semaphore handled? What happens if an AO decides to hog up the CPU?  How can Carbide help? 

I am getting a lot out of the class but now I need to ask myself what do I need to do next?  We have many feature requests on our plate and as we start to kick off the next Carbide.c++ product (version 1.3) we will need to bounce some ideas off the community.  This blog will be a great place to think about some big ideas.  I am also interested in ways to get into more detail on a feature.  For example, we have a static analysis tool in development and we would like to discuss the product with a few members of the developer community - what would be the best way to approach this?

We will be experimenting with a few methods.  First - I am sending out a survey to the developers on specific feature (#includes - using them in .mmp/bld.inf files).  I may decide to randomly ask a few developers for help, as we did for a platform security scanner tool. 

Last (and I would like your feedback on this) I would like to have a periodic webinar where we introduce a new topic (system trace, testing, on-device debug) and we review the status of our development but spend most of the time working out how you might use the product.  These would be 1 hour max and held once a quarter.

I’m always interested in your thoughts on this.  Anyway - I need to get back to studying and making up a missed lab (client - server and asynchronous operation).  Why did I leave marketing again?

Mike Trujillo

Your new Product Manager for Carbide.c++

About the author Mike Trujillo

Mike Trujillo is a veterean in the communications and technology industry and currently serves as the C++ Tools Product Manager for Nokia. [..]

  • Number of posts: 3

Comments(2)

  1. e tansen wrote

    I am new to s60 development,i am curious is how much easy/time it takes to develop a s60 application with sound knowledge of c++

  2. Mike Trujillo wrote

    A month ago I thought “overloading” meant that my boss was giving me too much work - so keep that in mind as I give you an answer :)
    Using C++ on the desktop as an entry point, you should spend some time getting familiar with Symbian and S60 (and maybe UIQ). I am not a programmer, but I spent a week in Symbian class and I can see it was well worth the effort (and I probably just scratched the surface).

    You are running on top of an embedded-like operating system. You have limited memory, battery, and CPU resources so there are many things that Symbian does to conserve. There are many concepts that at first seem silly – but when you learn more about them they are pretty smart.

    Your best resources for this are:

    • http://www.newlc.com – this is a developer oriented site run by Eric Bustarret and has excellent short introductions. Eric chose NewLC as the name of his site because NewLC is one of the ways in which Symbian creates a new object (like the NEW function).
    • Forum Nokia – you will have to dig around a bit, but there are many tutorials or white papers describing the differences of Symbian to C++ and standard C.
    • Symbian Developer Network - Symbian’s developer site.

    One more thing – S60 is the user interface that runs on top of Symbian – you need to know a little bit about both to write applications.

    Hope this helps – let me know if you need additional pointers.