Friday, June 10, 2011

Nokia X2-00 hanging problem

I recently started using Nokia's X2-00 handset (it is my sister's handset :-) ) And from the day one I started facing problems with the phone. It used to get hanged now and then. I did a soft reset, followed by hard reset, restore factory setting etc but still no improvement. Then I searched on google and found many articles saying that this is due to the memory card. The memory card Nokia supplied with the phone, is actually not compatible with the phone. I even changed my memory card, but the problem still persisted. After googling a lot, I came to know that, the problem is not with the memory card, but with the software version of the phone. The latest firmware version for Nokia X2-00 is 8.17 and my phone's firmware version was 4.8 (you can check your phone's firmware version by pressing *#0000#) So, I just updated my phone's software to 8.17 using the Nokia Software Updater utility (just google it you will get the link to download it, or if you have Nokia Ovi suite installed then connect your phone, start Ovi suite, go to Tools -> Software updates)  and everything was working normal !!!

If most of you are also facing the same problem, then just check the version of the firmware on your phone and update it to 8.17. If it is already 8.17, try reinstalling the version. The update worked for me, hope it works for you as well.

Download Nokia Ovi suite from here

Friday, April 8, 2011

Motorola Ex 115 (Starling) : Review

Motorola EX115 Unlocked Dual Sim, Full QWERTY, 3 MP Camera, FM Radio, Micro SD Slot, International Version - Unlocked Phone - No US Warranty - TitaniumToday, I am going to write review of Motorola ex 115, also known as ‘Startling’.  
You might be wondering why the hell I am writing review of a mobile phone suddenly and that too of simple phone Motorola ex 115. The reason is simple, I just purchased this phone a week before :-) You will lot of sites on the internet that have reviewed this phone, but all of them mostly talk about the phones specification. I will try to list all the advantages and disadvantages of this phone. So, first things first, the specifications [in short :-) ]

[UPDATE]  Added PC  Sync Screenshots.

Tuesday, March 29, 2011

Out Of Browser (OOB) - Part II : Silverlight

This post is the Part II of Out of Browser (OOB). The part I can be found here

In part I, we saw what is OOB, what are the ways to take the application offline and how the application gets the update from the server. In this part we will see an example. The example is simple one, we create an application that will tell us whether it is running in browser or out of browser, whether it is connected to internet or not.

Friday, March 25, 2011

Out Of Browser (OOB) - Part I : Silverlight

Out of Browser Feature
                      Silverlight 3 applications are no longer restricted to running in a browser. They can be run in a browser or it they can be detached from the browser and run from the desktop. These out-of-browser applications allow you to bring the richness of Silverlight 3 applications directly to the desktop without the restriction of running within a browser. With the release of Silverlight 3 Beta 1, Microsoft introduced the ability for Silverlight applications to run outside the browser. These “Out Of Browser” (OOB) applications are installed on the desktop, and have associated shortcuts just like traditional Windows applications. Silverlight OOB applications are still limited by the same security sandbox as their "in-browser" counterparts, so all the security and local access rules still apply as if they were running inside of a browser.

Offline Feature
                 While the OOB feature is really useful, Microsoft also introduced the capability to run OOB applications offline. There are several different implementations and options for Disconnected Silverlight OOB applications, but updating an existing Silverlight 3 application to run disconnected can be achieved in just three easy steps. We will look at these steps further in this document.

How OOB Works
Detaching the application:
               The first time users view the application, it will be in the web context in a page. If the application is enabled for OOB experiences, the user can detach the application. There are two ways through which you can detach the application to run in OOB mode, as follows:
1.    Through the right click context menu

2.      Via a user-initiated action (e.g. context menu or button click or some function in the application that calls Application.Current.Detach()).

This action takes the browser and creates an OOB application as follows.
  • The application (XAP) is requested again via the browser
  • The XAP gets stored locally in a low trust location along with metadata, which includes the origin URI of the XAP as well as metadata, most importantly for this discussion the ETag information of when it was downloaded (essentially a timestamp).

Launching the OOB application:
               If we close the application and launch it again from the desktop, it initiates a startup of the application. In this instance, the application looks at its metadata for the origin URI of the XAP and makes a request therewith. It compares the HTTP response data (code and ETag) for comparison. If the application wasn’t updated, then the application launches and all is well.  In fact, inspecting the request it would look something like this for our application:

GET /silverlight/oob/ClientBin/OutOfBrowser.xap HTTP/1.1
If-Modified-Since: Thu, 19 Mar 2009 03:52:35 GMT
User-Agent: Silverlight
Host: timheuer.com
X-P2P-PeerDist: Version=1.0
Accept-Encoding: peerdist
  
  
HTTP/1.1 304 Not Modified
Last-Modified: Thu, 19 Mar 2009 03:52:15 GMT
Accept-Ranges: bytes
ETag: "f2e3a81746a8c91:445"
X-Powered-By: ASP.NET
Date: Thu, 19 Mar 2009 03:55:18 GMT 


                        Here, in line no. 09, we can see the response “HTTP 304 Not Modified”. No further information is sent and we can see that no content was even delivered, because the application hasn’t changed. At the API level, we can detect the changes made in the application since its last run using the ExecutionStateChanged event handler, and checking if the current ExecutionState is ExecutionStates.DetachedUpdatesAvailable, in the App.xaml file.

public App()
{
    this.ExecutionStateChanged += new 
        EventHandler(App_ExecutionStateChanged);
}
void App_ExecutionStateChanged(object sender, EventArgs e)
{
    if (App.Current.ExecutionState == 
         ExecutionStates.DetachedUpdatesAvailable)
    {
        MessageBox.Show("Restart the app to use the latest version.");
    }
}


                               In the above case, the ExecutionStateChanged event is not triggered on a state change of DetachedUpdatesAvailable.

Updating the OOB application
                Now suppose the application has been updated and uploaded to the server. The next time the user launches the application, the same requests happen.
               Again, the requests are made sending the metadata information. In this case, though, there is an update. What happens next is two-fold. Along with the response being sent with a new timestamp/ETag, the request also includes the bits of the updated application. Looking at the request, it would look like:

GET /silverlight/oob/ClientBin/OutOfBrowser.xap HTTP/1.1
If-Modified-Since: Thu, 19 Mar 2009 03:52:35 GMT
User-Agent: Silverlight
Host: timheuer.com
X-P2P-PeerDist: Version=1.0
Accept-Encoding: peerdist
 
 
HTTP/1.1 200 OK
Content-Length: 15557
Content-Type: application/x-silverlight-app
Last-Modified: Thu, 19 Mar 2009 03:56:29 GMT
Accept-Ranges: bytes
ETag: "ce39d0ae46a8c91:445"
X-Powered-By: ASP.NET
Date: Thu, 19 Mar 2009 03:56:45 GMT
 . . . 


                 Where “<data>” in the snippet above would actually be the bytes (notice the Content-Length and Content-Type headers) of the updated XAP. Two things happen now:
  • Application.Current.ExecutionState changes to a DetachedUpdatesAvailable state.
  • The XAP in the local storage location is updated to the new bits.
              Now right now there is no option to decline the updated bits. If the app is updated, the users will get them. Re-launching the application (from the local machine) would start up again with the newly downloaded bits, and the updated request would look again similar to the first:

GET /silverlight/oob/ClientBin/OutOfBrowser.xap HTTP/1.1
If-Modified-Since: Thu, 19 Mar 2009 03:56:49 GMT
User-Agent: Silverlight
Host: timheuer.com
X-P2P-PeerDist: Version=1.0
Accept-Encoding: peerdist
 
 
HTTP/1.1 304 Not Modified
Last-Modified: Thu, 19 Mar 2009 03:56:29 GMT
Accept-Ranges: bytes
ETag: "ce39d0ae46a8c91:445"
X-Powered-By: ASP.NET
Date: Thu, 19 Mar 2009 03:57:12 GMT


                    Thus, when an application is detached, metadata is stored about that application. At each launch, it does a check against that metadata to see if an update is visible. If the application is offline, it won’t block the application from launching.

In the next part, we will see an example.

Hope this helps. Happy Coding ! ! !


Out of Africa       ..A Kindle Browser HOMEPAGE ...ONE CLICK to NEWS, GMAIL, YAHOO mail, election coverage in Kindle's browser    Nintendo DS Browser    Nokia N900 Unlocked Phone/Mobile Computer with 3.5-Inch Touchscreen, QWERTY, 5 MP Camera, Maemo Browser, 32 GB--U.S. Version with Full Warranty  Skechers Men's Browser Casual Oxford,Black,11 M

Wednesday, March 23, 2011

Value Converter - Part II : Silverlight

This post is the Part II of Value Converter. The Part I can found here

http://www.silverdigita.com/2011/03/value-converter-part-i-silverlight.html


In part I, we saw about the interface IValueConverter and the members of the interface i.e. Convert and ConvertBack. Now let’s see an example. In this example, we will see how to format the decimal value. First of all, let’s create a class that implements IValueConverter interface (let’s call this class Formatter).