Downloading custom screensavers to your Samsung SPH-N400 phone

March 2003
One of the reasons I bought SPH-N400 phone was to be able to download custom ringers, screensavers and apps. What I did not know when I got the phone was that all the neat stuff to download costs money. I figured that the since the phone could browse the Internet, that I could just download what ever I wanted. Not the case. Seems that the cell phone buisnesses have gone to great lengths to stop people from downloading their own stuff. As such, there is no documentation on how to do this and until just recently, only the people that are making money knew how. Well, things are slowly changing and now there are a few people who have figured it out. Read on for a short explanation of things.

What can the Samsung SPH-N400 use? Seems that the Samsung SPH-N400 supports .jpg and .png images as screensavers. The pictures should be 128x80 pixels in size and can be any color depth. The use of .jpg is the recommended because of the small file size (should be around 4000 bytes). I am also interested in finding animated screensavers for the phone but for now, images will do.

What are .gcd files? Here is where the fun starts. Instead of just allowing a user to select a picture and download it as a screensaver, they had to make things difficult. When I first started looking into what a .gcd file was, I found that most people thought it was some sort of compressed file. I decided to play with a .gcd file and find out what it for myself. I downloaded a picture like picture.jpg.gcd from www.3gupload.com and renamed it to picture.jpg but my image editor said it was an invalid type of pictue. So I opened it with gVim and saw what it really was. Here is a .gcd file I made

Content-Type: image/jpeg
Content-Name: mclaren
Content-Version: 1.0
Content-Vendor: furrball
Content-URL: http://www.ee.nmt.edu/~furrball/3g/images/mclaren.jpg
Content-Size: 4398
Once you see the contents of this file, things start to make sense. This file is nothing more than a info file that points to the real picture. I see two reasons for this file; one is to inform the phone of what it is downloading and the other is to introduce a new file type that servers don't understand. The second part is where the real fun is.

So you just make a .gcd file and everything is OK? No and this is where the newsgroups helped out. When you just make a .gcd file and drop it on a web server for download, it gets treated as a text file (that is what it really is) and just displays the file. This is where I got a MIC 602 error in my phones browser. But if you click on one from www.3guploads.com, it prompts you to save it to disk. What makes the difference? The server has a file that contains all the mime types (/etc/mime.types in RedHat 7.3) and info on what to do with each. You have to add the .gcd file type and restart Apache. This is the point where the 99% of the people get stopped. Not many people have root access on the web server that they use. For those who do, edit your mime.types config file and add

text/x-pcs-gcd          gcd
So now everything is peachy? Should be, it works for me. Have fun downloading your own custom screensavers to your phones.