Join Now

This page was last modified 16:37, 11 April 2007.

FNWiki:RSS test

From Forum Nokia Wiki

Forum Nokia Blogs

  • Widget Maps
    This might be considered a bit lower tech than my usual fair but is a lot more accessible for the general public. As an aside from a presence based mobile social network project he is working on with me and Will (I will blog about it in future) my MSc student Klen Copic Pucihar knocked up this very neat little WidSets Widget called Widget Maps that allows you to get your location position using an address search facility  which then plots it on Google maps on your phone. The widget also allows you then to move the cursor to your exact location and get the corresponding latitude and longitude which you can share with your friends. The nice thing is that this will work on any J2ME phone supporting WidSets client Irrespective of having access to some form of positioning technology (sort of low tech my location). BTW its currently available as a beta widget on the Widsets site so enjoy
  • GUI application with the BitmapBuffer
        In the previous post we've developed the RBitmapBuffer buffer class that holds a bitmap buffer (sources are available at the end of this post).     Now we'll use this class in a simple Symbian UI application. It can be tied to the Symbian applications in a many ways but we'll see the one that goes for "Hello World" sample provided with Carbide.c++ IDE. So start the Carbide.c++ (I use the version 1.3). Create new project (File -> New -> Symbian OS C++ Project). Select the "3-rd Feature Ed. GUI Application". The IDE will create the project with a list of items. The file of interest for us is a "..AppView.cpp" because it defines the behavior of ..AppView class that has an access to the screen. Besides that file we, of course, need some others that establish the connections inside the program logic. The full list is: Listing 1. sources: src/..AppUi.cpp src/..AppView.cpp src/BitmapBuffer.cpp src/BufferRenderer.cpp headers: inc/..AppUi.h inc/..AppView.h inc/BitmapBuffer.h inc/BufferRenderer.h The "BitmapBuffer" and "BufferRenderer" sources are available at the end of this post. The ".." is the name of your project. First let's go to the "..AppView.h" file. We will add a new property to the ..AppView class. This property would be: CBufferRenderer*  iBufferRenderer; It would store the image buffer and will be able to render it (draw on it). To simplify the code we will make iBufferRenderer as public, for anyone can access it and draw something on it. We'll also add one new method to the ..AppView class to output the buffer. That is shown below (the file: "..AppView.cpp"): Listing 2. /**  * Function will draw the image  *  */ void ..AppView::DrawImage(CWindowGc& aGc) const {     CFbsBitmap* bitmap = iBufferRenderer->getBitmapBuffer()      ;     TSize       size     ( bitmap->SizeInPixels() )              ;         aGc.BitBlt( TPoint(0,0), bitmap, TRect( TPoint(0,0), size ) ); // Draw     } // function Also, we will append some code to the ..AppView's constructor, destructor and Draw() methods: Listing 3. // ------------- Constructor void ..AppView::ConstructL(const TRect& aRect) {     CreateWindowL();     SetRect(aRect);     ActivateL();         // - - - - - - -     // Appended code :         // Get system metrics     TInt  color, gray         ;     TRect screenSize  (Rect());     TDisplayMode displayMode =     CCoeEnv::Static()->WsSession().GetDefModeMaxNumColors( color, gray );         // Main - instantiate the Buffer Renderer object     iBufferRenderer          = CBufferRenderer::NewL(displayMode, screenSize);     } // function // ------------- Destructor ..AppView::~CBBufferEx_AppView() {     // - - - - - - -     // Appended code :         // Dealocate the memory for the Buffer Renderer object     delete iBufferRenderer;     } // function // ------------- AppView's Draw() method void ..AppView::Draw(const TRect& /*aRect*/) const {     CWindowGc& gc = SystemGc();     TRect drawRect(Rect());     gc.Clear(drawRect);         // - - - - - - -     // Appended code :     // Put the buffer on the screen     DrawImage(gc);     } // function Now, let's draw the rectangle on the phone screen when the user selects the 'Message' button from the options menu. To do that, we will go to the "..AppUi.cpp" file and append the HandleCommandL() method with the code below: Listing 4. void ..AppUi::HandleCommandL(TInt aCommand) {     switch (aCommand)     {                 //...  ommited for clarity         case ECommand1:             {             //...                          // - - - - - - -             // Appended code :                         // Force to draw the rectangle             iAppView->iBufferRenderer->drawRect(TRect(10, 10, 100, 100));             }             break;                                 //...              } // switch        } // function Don't forget to include the (#include "BufferRenderer.h") BufferRenderer to the "..AppView.h" file. You also need to include this list of libraries to your mmp file: Listing 5.     fbscli.lib     bitgdi.lib     ws32.lib The sources of "BitmapBuffer" and "BufferRenderer" classes are available in this zip file: ..BitmapBufferClassExample..zip end
  • 4th "Neu" project : N95 Touch Screen!
    Hi, It's impossible to use Touch Screen on Nokia N95? If you think so, please see the video below with my 4th "Neu" project. YouTube: DailyMotion: - Sittiphol Phanvilai
  • Collection of great materials on Symbian going open-source
    My regular readers may wonder why I've been silent on the great news of the mobile industry: Symbian is going open-source. The reason is simple: I was so shocked to hear it in the news that I just sat back watching the flood of new blogs and comments trying to digest this new information. But I've been digesting it, too. Other people whom I respect and think knowledgeable in this area have written their opinion and I'm now about to collect some of them in a blog and share it with you. Andreas Constantinou from Vision Mobile was one of the fastests in commenting the news. He concluded that it was a logical move from Nokia (and Symbian, etc.) both from technical and business point of view:   " ... [Symbian] was crippled without control of the UI, application stack and the core OS under the same entity" Eclipse (EPL) license is a weak one, which will make it desirable for OEMs to choose it. He was also the first to point out that this move would cause lay-offs and some hard times for the following industry players: SonyEricsson and Motorola: they will eventually have to give up with UIQ, since S60 will be the dominant UI and ecosystem and S60 will basically swallow both UIQ and MOAP(S). Android's royalty-free, open source business model is not the only compelling alternative for OEMs, operators, etc. On the contrary, Symbian has already proved whereas Android has not yet. Simon Judge over at Mobile Phone Development comments that " ... full access to the platform code allows for much more innovative applications using facilities that are currently hidden" and all this "only" for $1.500 is definitely a step forward. He also cleverly notes that "Nokia and Symbian now see licensing the OS as a dead end" - I wonder what Microsoft will comment on it? Finally, he raises his concerns on a technical question, backward compatibility: "... [the announcement] doesn’t explain whether this is source code, binary or application compatibility" - we wouldn't like to face with such a big break as what we did with the introduction of Platform Security, would we? Mobile Opportunity's Michael Mace hails Nokia for their courage. He suspects, though, that "... the announcement is actually half cleanup and half power move: ... The power move is that it challenges Android ... The cleanup is that the ownership situation of Symbian was unstable and had to be changed eventually, and SonyEricsson clearly wanted to get out of the UIQ business". He also asks what will drive Symbian developers after this change? While he believes that developers "respond to user excitement and the chance to make lots of money", he fails to see how the new Symbian strategy drives either one. Finally, Michael points out that the longer it will take for Symbian Foundation to kick off, the bigger the advantage for Apple and Android. What about Microsoft? "This is Microsoft's ultimate open source nightmare, becoming real. Rafe Blanford from AllAboutSymbian has written about Symbian Foundation unwrapped. He says that the tranformation of Symbian OS to a royalty-free, open-source system is according to today's industry philosophy and whilst it's a logical move forward it would not have been possible 10 years ago, since "...companies would have been unwilling to let Nokia or anyone else have such a dominant position". The new Symbian OS will challenge LiMo, Android and the likes on their own strength and "negates their key advantage". Apple's iPhone might be not affected, according to Rafe, since "it is difficult to see how Apple will expand to become a significant overall player in mobile space (rather than an individual niche player with lots of press attention)". The hypothetical ("10 years old") problem Rafe was referring to is supported by The Register, too. They say, "the most damaging problem is that Symbian's licensees may have no desire to make Nokia stronger now that it owns the operation 100 per cent". They also worry about that "the 'Foundation' may also prove to be an expensive liability for Nokia". Finally they write that "it's largely Nokia that must be blamed for failing to make Symbian phones remotely 'enchanting' ..." and "... today it's the iPhone which has the enchantment factor. ... Symbian has done everything its original designers asked of it - a twenty year lifespan is not bad at all. But it's now Apple's business to lose." Apple and world dominance. What about Microsoft? They're still bigger than Apple at least in terms of mobile OS market share, aren't they? Well, we've already got used to the style Microsoft comments similar announcements, thus it must not have come as a surprise that they have welcomed this move. To be more accurate, they have "welcomed the transformation of the Symbian mobile-phone platform into an open source project, because the software giant contends the change will create a host of new problems for the Symbian community." Sweet, isn't it? They use FUD referring mainly to the big 'F', fragmentation, saying that "there are more Linux consortiums that come and go than there are Linux phones". Which might be true, actually. But don't lump Symbian and mobile Linux together. David Wood, EVP of Research at Symbian, has written a lengthy article about how he (and Symbian) sees this problem. He argues that 1: fragmentation really is a problem, 2: Symbian has the experience and ability to handle it. As opposed to Google, for example, says the side-note. :) Finally, it's worth paying attention to Ajit Jaokar's article, who warns that "it is not possible to compare Symbian vs. Android; or Symbian vs. iPhone .. because it is not possible to mix operating systems with ecosystems". These are like "apples and oranges" in terms of "iPhone, Ovi and Android are ecosystems. In contrast, Symbian and Limo are operating systems or Operating system consortia". It's another lengthy article that is worth reading. So I've been silent and haven't commented this news yet. Why? Because there are so many people to listen to ... What about you? Tote mobile-thoughts.blogspot.com
  • Supernovas 7210 and 7610
    Last week Nokia announced four new Series 40 devices: Supernova 7210 Supernova 7310 Supernova 7510 Supernova 7610 After Bill Perry from Adobe asked me about the details of the new 7210 and 7610 devices, I realized that our devices specs are missing that information. As I do not know exactly when that information is going to be inserted on our site (this week is a "holiday" week after all) I thought I need to chip in with some facts before also biskero starts harrassing me... Both 7210 and 7610 are Series 40 5th Edition FP1 devices (which means that for Java specs, check the table in here) and they have Flash Lite 3.0. As I am not as used to dig out this information as a couple of my colleagues, I cannot guarantee the facts, but I am pretty sure I got this right.
  • maemo in Akademy 2008
    Nokia will have strong participation in aKademy 2008. Nokia is the platinum sponsor for the event. We have had a strong particiarion in GTK/Gnome community and now we would like to create similar position in Qt/KDE Open Source community and catalyst many Opeopen Source Qt projects for our Internet tablets. There will be multiple maemo related presentations. Kate Alhola and Antonio Aloiso will have a presentation "Adapting Qt for maemo hildon". We try arrange also other presentations like how to develop Qt applications to devices running maemo and how to design mobile UI to Qt/KDE applications, maemo devroom/workshop etc. If you have good ideas or have already made Qt applications for internet tablets, please let us know. The aKademy will be also a launch event for maemo/hildon Qt port. The port is developed in open source fashion. You can download current snapshot from qt4 maemo garage page. The Akademy will be a good place to meet maemo/Qt/KDE developers and to start developing your application for internet tablets. Nokia will be also hiring Qt specialists, please look http://www.nokia.com/imaginemaemo or contact Jakub Pavelek or Carlos Guerreiro to addresses which are in format forename.surnane@nokia.com.
  • Are there any updates available for Carbide.c++ ?
    The banner above is obviously not reflecting the reality anymore. Carbide might have reached an intermediary finish line but that does not mean that it stopped running :) As you might know Carbide.c++ is able to search for software updates and when found download and install them. The process is however manual and you there are no update available notifications so the question that immediately comes to mind is: "Are there any updates available for Carbide.c++ ?" This blog post is the answer to that question. As long as everything goes well with the Yahoo! Pipes script I've put together, the Flash RSS reader below will display the latest version information for Carbide.c++'s features. Since it only looks for information about the Carbide.c++ plug-ins and does not scan all the other repositories this solution is definitely faster than a regular scan for updates from the IDE. Important note: before you start updating make sure that you read carefully the upgrade instructions from Carbide's help. The basic idea is that " ... Replacing any standard Eclipse plug-in with an updated version from a non-Nokia update site can result in Carbide.c++ no longer working as intended. ... " One thing for you to do now: bookmark this page so you can check on it every now and then. That of course unless you would prefer to use Widsets and get your notifications on the phone. If so, just click on the button below:
  • Windows Mobile .NET on S60/Symbian
      Calling Windows Mobile .NET developers! S60 on Symbian is the #1 smartphone platform in the world with over 165 million devices shipped as of March 2008. For Windows Mobile .NET application developers, this is a new market made available by utilizing Red Five Labs (a Symbian Platinum Partner) Net60 SDK and Runtime, which enables existing Windows Mobile .NET CF applications to run on S60 3rd Edition devices. Attend this free webinar on July 10 to learn the market opportunity available and get a detailed technical overview of Red Five's Net60 tools and a case study/example of taking an app from Windows Mobile .NET CF and enabling it on a Nokia S60 3rd Edition device. Then come back to this blog to continue the conversation. Just post your questions, and the webinar speakers will answer. Note you need to register with Forum Nokia to post your questions. The webinar will be presented on July 10 at 9AM California (Pacific) time. Translate to time zone in your location. Speakers: Eero Kukko, Head of S60 Platform Marketing, Nokia Mike Welham, co-founder & CTO, Red Five Labs
  • Python for S60 1.4.4 is here
    Just to inform Python enthusiasts that PyS60 version 1.4.4 has just been released!   Here's a list of improvements: PC Suite synchronized contact field types broken e32.start_service() crashes pys60 1.4.2 unread(sms_id) returns 32 calendar can't see appointments on last day of a month Audio.say won't say äö print in _internalsocketobject PyS60 1.4.0 text drawing fails on Image with tuple select_access_point() and access_points() bug custom font drawing dont work with Image error import socket because e32socket error More info in the release announcement thread
  • Will iPhone Launch in India, affect Nokia ?
    iPhone is going to be launched in India soon ! Will this be a threat to Nokia's dominace in India ?  Here is what Olli-Pekka Kallasvuo, global president and CEO of Nokia has to say about this. "When iPhone comes to India, it adds to our competitors here. The entry of a new product in the market creates customer interest and it, therefore, impacts us in India"  According to Kallasvuo, Nokia would continue to focus on its branding, distribution, logistics, services and support to fend off competition from iPhone. "In India we have to scale to manage all our operations in totality. This is an advantage we have over our competitors," he said, when asked on the company's strategy to counter the cheap handsets that are increasingly being offered by Chinese players in India. Read more on this here Have a nice weekend ahead. Cheers ! Croozeus   
  • Usability lesson from Mr. Gates: Full text: An epic Bill Gates e-mail rant
    This is a company blog site, so I shouldn't comment on any products, don't matter if they are from our partners or competitors. So, I link an email with Mr. Gates' own comments. If you have 5 mins, this will probably make your day a bit brighter. And when I get to part "So I did the reboot because it INSISTED on it.", all my stress for the day is gone! Thank you!  Hope it does the same for you too. http://blog.seattlepi.nwsource.com/microsoft/archives/141821.asp
  • Screensavers - A Big No!!
    Well this being my first blog, I thought that what could be better than speaking of Environment and Gadgets combined !?! I came accross this article which highlighted on how 'Australia's new eco-warrior' Telstra was doing a bit for the environment. They had removed all the screensavers from all its 36,000 employees' desktop and laptop, thus saving energy and CO2 emissions. They claim that it cuts 646 tons of CO2 emissions, the effect equivalent to removing 140 cars from the road for a year...yes one whole year. Thats something ofcourse(Am not sure though regarding how many of their employees use car everyday to commute, but thats another issue). But anyway its nice to see corporates do their bit. What could be the quantum if each big and small company did the same. oh well..What the heck, it could start with me..and of course You!!
  • FN Tech Days 2008: Code Camp Competition winner uses Flyer Framework
    Arkanoid Flashbricks from Luis Valente and Jackson Feijó Filho of Rio de Janeiro and Manaus, Brazil. The Nokia Champions created a Arkanoid based game controlled by using "accelerometer". In only three hours Valente and Feijó were able to work on all game logic and connect Python and Flash Lite by using Flyer Framework! They won a Nokia N95 8 GB! The source code will be published very soon! I and Luciano were there helping with the contest organization =D
  • Device Profile Update #6 Available
    Via Flash Mobile Blog, Device Profile Update #6 is available for download. With this update the device library includes now over a 460 device profiles! I have selected the most popular brand phones in my blog, you can find Flash Lite Enabled Sony Ericsson, Nokia, LG, Samsung and DoCoMo phones, in my blog. Li yongfei
  • Retrieve STDERR in Open C
    During the debugging and unit test cases running phase, open source projects usually write error string or other information to STDERR file. Quite unluckily, we can not retrieve lines from STDERR in Symbian with Open C. The stdioserver program comes with Open C SDK only redirects STDOUT to a file located on disk, but left STDERR no where to check out. So in my Mozilla porting days, I have to make a workaround for retrieving information written to STDERR because most of unit test cases write error information to STDERR. There are two workarounds which could be used according to different situation. If you have only one or not so many .c source files to fix, then I would like to recommend the first way. That is to modify the source code, add these lines as the top most statement: FILE* stderr_redirect = freopen("C:\\data\\stderr.log", "w", stderr); // Top most line /* Begin of original code lines */ ... ... ... /* End of original code lines */ fclose(stderr_redirect); // Bottom most line The other case is that you have many (maybe up to several hundreds) independent .c source files,  so it's almost impossible to adopt  the first way, like NSPR test cases. We have to figure out another solution. Here I did a small trick, that is modify the stdio.h in <EPOCROOT>\Epoc32\include\stdapis in Open C SDK. The stdio.h in looks like this: ... ... #ifndef __SYMBIAN32__ #define    stdin    __stdinp #define    stdout    __stdoutp #define    stderr    __stderrp #else __BEGIN_DECLS IMPORT_C FILE *__stdin  (void); IMPORT_C FILE *__stdout (void); IMPORT_C FILE *__stderr (void); IMPORT_C char * tmpdirname(void); __END_DECLS #define stdin       (__stdin()) #define stdout  (__stdout()) #ifdef STDERR_TO_STDOUT #define stderr  (__stdout()) #else #define stderr  (__stderr()) #endif #endif ... ... These lines are located around line 265 - 283 if you are using Open C SDK v1.3. With the lines shown as light yellow marked, you could know I just let the compiler treats STDERR as STDOUT, sothat information written to STDERR are all redirected to STDOUT. Of course we have to define MACRO STDERR_TO_STDOUT in that .MMP file. And because we don't want this trick infect other projects which don't have their STDERR touched, so we use this macro to mark the  fence. Once STDERR is redirected to STDOUT, then you could use the original stdioserver program comes with the Open C SDK to check out original STDERR information in STDOUT file. All two ways are easy to understand and use, although I felt the latter one is not so perfect because this requires changing a SDK file. Hope this tip will be helpful in your daily work, and just give me any comments when you get any idea about this.
 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX