Showing posts with label cellphone. Show all posts
Showing posts with label cellphone. Show all posts

Thursday, April 26, 2007

Amtrak Trains - a cruise on land beats flying

Planning
Over Christmas, we went from Dallas, Texas (Union Station) to Austin, Texas, via train. We have grown tired of the hassle of flight security, and since we were just going overnight, we felt that if we drove, most of our time would be spent driving in stop and go traffic, which is annoying for at least one person in the car. So, I went to the Amtrak website and looked at the schedule. Unfortunately, because the run from Chicago to San Antonio is not well-travelled, there is only one train going each direction per day, so you don't get a lot of choice on schedule. I hear that other parts of the country are better.

Cost
The price of the trip was only $90 for the four of us each way, which seemed like a great value. In fact, it was so good that I looked for other options that I could now afford to make it a more pleasant trip. Each train consists of about six cars. There is a dining car with full service, a snack car with booth tables, an engine, a crew car, a couple of coach-seating cars, and a sleeper car, along with a lounge car.

Dining car
Dining is easy on a train; there are no seat-belt lights so you can just make an appointment for the dining car or go into the snack bar anytime. In the dining car, you are seated by a hostess and your order is taken and brought to your table. It is a fairly limited menu, but the food is decent. If you're staying in a sleeper room, the meals are included, so that makes it a no-brainer to do the sleeper if you're going to be on the train for any length of time.

Lounge car
Most cars on the train are two stories. The Lounge car is one big room with individual seats and huge picture windows. The seats face diagonally toward the windows, so you can sight-see with your friends and still chat with them. The route taken by the train from Dallas to Austin is not the same old route you've seen from I-35. Travelling by train takes you out into the boondocks for some interesting terrain.

Sleeper cars
The sleeper cars have a variety of rooms, depending on what train you are on. We had two two-person roomettes, which consist of two seats that can be folded into two beds, one bed above the other. There was a slightly bigger room available too, but it wouldn't accomodate two adults and two teens, only smaller children would have worked out. Each sleeper was a $40 upgrade, but well worth it since meals are included. Coach seating isn't bad, though; it's like a first-class seat on an airplane.

Cell Service
Since I write about cell phones a bit, I feel I should report on the usability on the train. Amtrak claims that you can get service along most lines, which makes sense because they kind of parallel major highways, at least close enough to get service. I never had trouble getting service anywhere along the line, and unlike planes you are not made to turn off your phone ever. Secondly, if you get games for your phone, you can play those on your phone too, as you will probably have some time on your hands.

Time
A lot of people don't take the train because they are concerned how long it takes to get there. This is definitely one of those journey-not-the-destination situations. Even though it was 6-7 hours each direction, we all felt that it wasn't long enough and want to do it again. It's not just 6 hours chained to a seat, you can walk around the cabin, eat, play board games, and so on, and no one has to drive. They'll even rent you a media device if you want. If you've never done it before, I highly recommend it.

Security
Overall, a train is fairly secure just by itself. It is rare anymore that someone will ride down a train on horseback and loot the vault. It would be hard to hijack a train to make it go somewhere else, too. We purchased tickets online, then showed our ID at the train station and got tickets. The conductor showed us to our rooms without eve looking at our tickets; he already knew which rooms were booked. We stowed our luggage downstairs from the room on a luggage rack, and had the run of the place after that. We could still get to our luggage during the trip. I think it will be obvious to frequent fliers how much less of a hassle all this was.

Thursday, March 15, 2007

Google really is working on a cellphone

According to this article on Noticas.com (I provide the translation below):


Isabel Aguilera, Director General of Google in Spain and Portugal, has confirmed to Noticias.com that the company is working, “among other things”, on the development of a mobile telephone. “Part of the time of our engineers has been dedicated to the investigation of a mobile telephone which can access information”, Aguilera said to this portal.

The speculations on the possible entrance of Google into the area of design and sale of mobile telephones arose after the company recently published an ad in which it looked for engineers and analysts specializing in telecommunications. In that same ad, Google specified that it is in the experimentatal phase with diverse systems of wireless communications.

At a conference on the integration of Internet into business strategy, organized by the Association for the Progress of the Direction of the Mediterranean Zone, Isabel Aguilera has explained to Noticias.com that although 70% of the engineers' time is dedicated “to develop our nucleus of business, that is to say, search and advertising”, and 20% to develop “products that they have something to do with this nucleus”, is clear that 10% of that time is centered on product development “that at some time could have to do with our business”.

Within this last scope, Aigulera has indicated that “it has been investigating” a mobile telephone which can “access information”, in “a manner which extends the information society to devloping countries”. In this sense, the Director General of Google in Spain and Portugal has said that while “the products can seem strange, all comprise of our process of innovation”.

At the moment, the search engine has 36 products and “18 others that are in laboratory” and, therefore, in the experimental phase, including the above mentioned mobile telephone.


This confirms weeks of speculation. I apologize for any errors in translation; they are my own. Please post a comment if you see any such errors. Thanks. p.s., I told you so (update 4/12/2018)

Wednesday, March 14, 2007

Phone features I thought I'd never use

Data plan
When I was in Orlando last week, I had occasion to use a few phone features that I had never used on my w300i, and as it turned out, I used almost all of them. I went out of my way to use the few remaining features that I had not tried yet, and now I can give a full accounting of most of the features of this phone. I was pulled away from my own work on a software release to attend a family function, and as such I was afforded the opportunity to be as obnoxious as necessary in order to stay in contact with work during the trip. I had recently added a text/data bundle from Cingular, and as a result they gave me a free trial of unlimited text/data for one month.

Messenger
The phone comes with an instant-messenger application which can be logged in to AIM, MSN, Yahoo, or ICQ. My co-workers use MSN, so I entered my information and was able to see that they were online, and to send and recieve instant messages, just by knowing my e-mail address and password. The phone let me save the password on it, so that I wouldn't have to keep entering it through the awkward phonepad password interface. The instant messages were not quite as instant as they are through the computer, but it would altert me that I had a message even if the phone was closed, as long as I was signed in.

E-mail
There is a simple e-mail client included under messaging, which requires only knowing the pop3 server name and the user name/password. Again this information was saved on the phone for my convenience. If I lose this phone I will have to change passwords. The client would only receive 20 messages at a time, but on that small screen that was about all I could handle anyway. There is a simple interface for marking e-mails for deletion, and I downloaded headers only to make sure I could quickly eliminate spam and find the pertinent e-mails particularly from FogBugz. I didn't set up the client for sending e-mails, because I figured it would be easier just to call someone if I had to respond rather than to use the phonepad to type.

Google Maps
Because I have semi-debranded my phone, I was able to use Google Maps quite efficiently without the headaches of java security overkill. This is a cool applet that runs on your phone to give you map information and directions on the fly. Since we would be in a strange town, it came in handy to know where we were and how to get to other places, but also what was nearby, such as restaurants and attractions. There are tons of things to do in Orlando, so this was very useful. On the way to the airport, it was a simple matter of bringing up the menu and pressing # to see what the traffic was like. This is very cool; it was up to the minute accurate.

Music ID
An interesting feature that I noticed on the phone came in handy while driving in the rental car. It did not have a digital readout on the radio to identify the songs, and an old song came on that I liked. So I opened up the phone and chose Music ID, and held the phone up to the speakers. It recorded a snippet, then sent it off for analysis. In a few seconds, I got back the information that it was a song by 4 Non Blondes called "What's Up". It saved this information in a list of ID's. I'm not sure how much this service actually costs, but it was really cool that it worked.

AA.com
There is a mobile site for mini-browsers on WAP phones at www.aa2go.com. This has quick access to flight information and schedules, without the overhead of pictures and flash on the regular American Airlines site. I found this quite easy to navigate and use on the go. You can even get flight notifications sent to your voicemail or text messaging if you set it up on their site.

Radio
I have previously talked about the great FM radio and Walkman features of this phone, but it is also equipped with a feature called MobiRadio. Since I have unlimited data usage, I figured I would give this a try. The idea is that it streams continuously from some genre of music that you select, similar to XM or Sirius radio. It gives you a free trial, but in the end it is a paid subscription service on top of whatever data charges you incur. However, in my limited trial of this service, I found it to be utterly worthless. The music crapped out after just a few minutes, and continued to lose signal without me even moving. They seem to bring data across the regular built-in internet service, and without 3g or something, which this phone does not support, it is entirely worthlesss.

Modem
Our flight was overbooked on the way there, but we were given the opportunity to surrender our seats for a flight voucher of $300 apiece. We were told that we would be booked onto the flight at 2:20 rather than our scheduled 10:30 flight. Given this long a wait, I naturally wanted to get on the Internet. I pulled out my laptop and connected the USB cable made for this phone, and ran through the Mobile Networking Wizard that is attached to the Sony Ericsson PC Suite software available from SE. This set up a connection through the phone's internet connection so that the laptop could browse the Internet. I noticed on the AA site that there was another flight available at 12:00, and asked if we could get on this one. They agreed, and in fact said that it, too, might be oversold and give us another opportunity to get a voucher. This didn't happen, but at least we got in to Orlando sooner. While I was on the internet, I booked our trip to Discovery Cove for the next day.

Weather
Yesterday, I ducked in to my local watering hole to avoid the rain. I wasn't sure how long the rain would last, but the local yokel next to me pulled out his Blackberry, and showed me a display of live weather radar of the storm we were in. I think this is only available on Blackberry for now, but I can't wait until we get that kind of feature too. On the other hand, if it is through WeatherBug, and WeatherBug is the same spam-magnet spyware it ever was, no thanks. Still, I think there is a brave new world of mobile information that we are just beginning to tap in to. This market is beginning to penetrate into the joe-sixpack arena as we speak, and I think that speaks volumes for the near future.

Wednesday, February 21, 2007

Debranding w300i walkthrough


Why debrand?
First I want to talk about the pros/cons of debranding. If you have already decided to do it, skip this section; however if you don't know the cons I recommend you read this. I debranded from Cingular; your pros/cons may vary somewhat. I have a Sony Ericsson w300i phone that I got new for Christmas. I immediately began developing software for it. By debranding it, I was able to overcome a major weakness in development, namely I can now test my Bluetooth applications on my phone without getting them signed by Cingular. So, the biggest pro is that you can set permissions on even unsigned Java apps to fairly reasonable defaults if you debrand. Second pro is that some carrier-added limitations are removed. You have to research this to find out what they are. For my phone, Cingular disabled Flash themes. To me, this is not a big deal, because I don't care much about ringtones/themes/etc. Some carriers disable mp3 ringtones; a much bigger deal as far as I'm concerned. On the con side, debranding caused my phone to lose mobiTV, mobiRadio, and mobile e-mail applications that Cingular had installed. It is not currently possible to put these things back on, because they are signed by a Cingular certificate that is stored in the Cingular-branded phones only. Generic debranded phone will not have this certificate. Menus and such moved around, and a few buttons that used to do one thing now do another, but these are minor points. More problematic is that you will void your warranty on the phone, and you might break the phone to the point that you need a service cable to fix it. Finally, as a con, the debranding process will destroy anything you had in your phone, including ringtones and Java games you have purchased, themes, contacts, music, etc. Even if you move your Java games to the memory stick, they will not be there after you debrand. Finally, if you do anything that ruins your phone, I am not responsible. Don't use this as your only source of information. Read up on things first if you don't know what you are doing.

Debranding services
Some cell phone service centers will debrand your phone for you. You can find them with a simple Google search. They charge about $60 for this service, and you generally have to get the phone to them physically, perhaps waiting overnight. If you are not highly technically inclined, go this route. If you might make a typo or you might not understand all of the following instructions, have someone else do it, by all means. Better yet don't do it at all, because you have no real reason to.

Quick and easy debrand
For this phone, it is my belief that if you do a Master Reset from the General Settings menu, you will debrand your phone. The default configuration is to go back to a generic Sony Ericsson file system with only Sony Certificates, etc. This will have the same effect as debranding. You lose the ability to back anything up this way, however, and you also lose all your carrier-provided features, such as ringtones, e-mail programs, etc.

Debranding Servers
There are two companies that I know of that will sell you some software and credits to debrand your phone. These are Wotanserver and Davinci Team. I started to use Wotan Server, which is fairly straightforward, but in the end I opted to do it myself, as described in the rest of this post. To debrand through Wotan Server, you just sign up on the server, pay a little money for a credit, download their client, and you're ready to go. To actually do the debranding, you start the software and follow the instructions. What you have to do is remove the battery from your phone, take out the SIM card and memory card, put the battery back in, and you are ready to connect. To connect, you start the software and wait for it to ask you, then you hold down the "c" button on your phone as you plug the USB cable into it with your other hand. The software will then proceed to flash your phone. As noted earlier, this wipes the phone clean as if you had just bought it. No contacts, etc. You have to go through the setup wizard all over again. If you don't like some of the new settings, you can't really change them unless they are already configurable on the phone. This disadvantage is somewhat mitigated by doing it yourself, because you can go back and hack back into the phone to fix things.

Do-it-yourself
I only recommend this method to programmers and such. With this procedure, you can get into the guts of the phone and look around, and make changes. You can also do all kinds of things that may not even be legal, so be careful. In this instance you are breaking in to the phone. The best-case scenario of doing this, right now, is that you downgrade your main firmware to a more generic version that is not quite compatible with Cingular's file system. Fully charge your phone before you begin.

Requirements
You will need the following software to get started:
Phone XS++V1.2 or later. At this link are links to the program; it is a free community-created tool for do-it-yourselfers. It comes in a RAR file, so you will need WinRar. You can also get Far manager 1.70 from the same place. Finally, you will need some drivers that some with the Sony Ericsson Update Service. The drivers that come with this will work for your purposes. XS++ installs to the folder you unrar it to; FAR manager and the rest install like normal windows programs and are run from the start menu. Each of these programs may have its own requirements, like Macromedia Flash player, .NET framework, Windows XP, and so on.

Once you have all these programs installed, you will need to add a plug-in to FAR manager. First get SEFP v010044 and unzip it to your computer. This will unzip to a folder called SEFP010044, which contains another folder called SEFP. Click on the SEFP folder can copy it. Then go to C:\Program Files\Far\Plugins, and paste SEFP at that level. Next get SEFP v010051 and unrar it and do the same copy/paste trick with SEFP. You do need both SEFP's because the second is an update to the first. This time Windows will warn you that you will
overwrite files, etc., just click yes. Finally, get the final file for your CID49 phone, and unrar it. This is called .zip, but it is actually rar'ed. This, too, has an SEFP folder under it, which again gets pasted into C:\Program Files\Far\Plugins, and again overwrites several files in that folder. Once you are done, go to the folder called C:\Program Files\Far\Plugins\SEFP, and you will see a program called sefp0.10.0.51patch.exe. Click on this program to run it, and it will ask you to apply a patch. Click do it. Nothing much seems to happen, but it is done. Close the window. If you miss any of these steps, you will get various error messages. Note that you are also required to have a regular COM port set up on your computer, even though you won't use it.

The final requirement is to get the firmwares that you are intending to use on your phone. These can be obtained, for example, from TopSony.com. Note that this is primarily a Spanish site, which can present some challenges to registration, etc., which is required. You may also have to pay a couple of Euros to get access to the download area. On there, you can get R9A036 main and R9A036 file system, which are the ones you want for the w300i phone only. If you have some other phone, you are responsible for gettting the right firmware files. These won't work, and will kill your phone. You also want the customization files. Unzip/unrar all these and put them in the same folder with PhoneXS++V1.2, which is called that. Then go to your db2010cid49_4_alpha folder, and also get w300_p3k_dcu.49R.ssw and put it in the same folder with the rest. Note that there should be a couple of subfolders called files_to_upload and own_custpack which came from the customization files. Leave this folder structure intact.

Getting started
The first step is to remove your battery so you can take out your SIM card and memory card. Put the battery back in. Then run XS++ by double-clicking on its executable. This will bring up a small screen on which you can press the Start button. Once you do that, you will need to connect the phone, which you do by leaving it off, but holding down the "c" button while you attach it to the USB cable. If it recognizes your phone it will tell you so in the status window and switch to a view where you can put a MAIN file, an FS file, and customize. You may have to unplug the phone, take out the battery, and try again the first time, after it finds the device and so on. You don't ever want to customize with XS++1.2, because it doesn't work right on the w300i. Also, unless you are debranding your phone you don't want to update your file system. Even if you are debranding, you don't want to flash the file system just yet, because you want to back up your old one. It may some day be possible to restore branding when the R4EA031 firmware is found.

Flashing the phone
Now we reach the point of no return. Once you flash the first break-in file, you will be forced to at least update your main firmware (which will probably actually downgrade it to R9A036, unless you can get the right firmware). Click on the ... button on the right of the Main Firmware box in XS++. Then browse to whereever PhoneXS++V1.2 is located, which is where your w300_p3k_dcu.49R.ssw file should be. Choose that file for Main firmware, and make sure you have only checked Flash Main firmware. Click on the Flash button at the bottom, and it will begin. It will only flash 5 blocks this time, and it will probably hang at the end. This should only take about 20 seconds. Once it says 5/5, finishing flash, it will hang, and you can click Stop button, and ignore the warnings. It will say error and it failed, but it didn't. At this point your phone will not turn on, so don't turn it on. Unplug it from the USB cable, and pop the battery out and back in.

Far manager
Now run FAR manager from the start menu. Once it comes up, hit F11, which isn't even onscreen. This will give you access to the Plugins menu. From here, choose SEFP. This can be done by hitting the S key, which in the future you will want to do to not upset your settings. Here are some troubleshooting tips from se-nse.net:

  1. If you get the error: "Unknown exception", Exception address: 0x7C812A5B...... The plugin will be Unloaded!
    This is a bug. It's because you don't have any COM-ports, so create a fake COM-port connection. I did it with my BT Dongle.
  2. if you get the error: " can be used with Service Cable ONLY".... browse to the SEFP folder and patch sefp.dll with sefp0.10.0.51patch.exe.
Choose DCU-60 cable, 115200, and w300_w810_z550_ in the three menus. Note that you make your choices simply by browsing over these choices without even clicking. This is easy to mess up. When you have your choices solid, approach the Enter The Matrix button from the bottom so you don't browse over your choices.
  1. If you get the error: "Script error code 0"
    This is because you didn't put in the SEFPv010044 before you put in the SEFPv010051. You have to do both, because the second one is just an update to the first. Then after that you have to do the sefp0.10.0.51patch.exe as described above.
This will ask you to connect your phone, which you do by holding down the C button and plugging it in. Soon a menu will come up on the left side with the words FLASH and FS. The flash feature doesn't work for FAR manager, so choose FS by double-clicking. This will then download some more things to your phone, and eventually after a nervous pause, your phone's file system will appear on the left side of the screen. Since you didn't yet flash your file system, you can make a backup of the one on the phone. That is accopmlished by choosing each of ifs, tpa, etc., and choosing the copy option from the bottom of the screen. This will coply the folder and all its contents to the location on the right side of the screen (C:\Program Files\Far by deafult). Once you have backed up your file system, click the .. on the left side. It will ask you if you want to close the CSFS loader, just say yes.

Flashing and customizing
Note that this section is unnecessary if you just wanted to hack in to your phone and not debrand it. You can still do all kinds of things with FAR manager without debranding, but you will need to do the next section steps to get your phone to run again. For now you will pop the battery out and put it back in, and start XS++ back up. Choose the start button, connect the phone as usual with "c" button held down, and select Flash File System. Now go choose the W300i_R9A036_FS_AMERICA_1_RED49.fbn file that you downloaded earlier, and start the flash. This will erase everything in your phone and start fresh. This task should complete normally without hanging. When it is finished, you are still not done. Disconnect, pop the battery out and in, and go back to FAR manager. Choose F11, S, keep the settings and Enter The Matrix, then FS. This time, you will want to find the folder where you put your customization files, called own_custpack. Open that folder on the right panel, and you should see the tpa folder on the right. There will also be a tpa folder on the left. Select the lone tpa folder on the right, and choose copy. This puts the folder from the disk onto the phone to customize it. Now the phone is debranded. Click the .. again on the left, until it asks you to exit CSFS loader, say yes. Finally you are done and ready to restore the main firmware. Remove and replace the battery.

Restoring the main firmware
This is the step that is necessary whether you debrand your phone or not. Start XS++ again. Check the Flash Main firmware checkbox only. Select the W300i_R9A036_MAIN_NAM_1_RED49.mbn file, and then choose the Flash button. This will start the process of copying about 336 blocks to the phone. When this completes, which should finish normally, your phone is ready. Disconnect it, take the battery out and put the SIM card and memory card back in, and turn it on. This should be the first time you actually turn on your phone since you started. It won't work anywhere in between. It will go through the original setup if you debranded it, otherwise it will just start as your normal phone; however some things will no longer work because of the step backward in firmware. In particular, a Cingular branded phone will have the Cingular Music menu item show up as Missing, but it will still work. Other things may not work so well.

Friday, February 16, 2007

Cingular cripples Google Maps on Cingular-branded phones

Draconian policies
Cingular's highly-restrictive Java security policies make using even popular applications like the Google Maps Java plug-in very tedious on Cingular branded phones. The policies are far more restrictive than the defaults for manufacturers of the phones. What this policy means is that we developers of applications must have a special relationship with Cingular, and get our applications signed by Cingular (who don't even trust us to get our own certificate; we must send our application to them), in order to even test our applications on our own phones.

Google Maps
Even Google's own Google Maps application is rendered more or less useless because the user is prompted over and over to make a connection to the web during casual use of the Google Maps Java plug-in. Granted Google could probably get their applications signed, but note that signing an application with a Cingular Preferred certificate will make it not install on non-Cingular phones. I assume this practice is similar amongst the other carriers, and so you would have to make numerous versions of your application to make it work, creating a different kind of problem for both users and developers.

Contrast with (better) more open policies
The manufacturers default firmware makes the phones far less restrictive. For example, Sony Ericsson will allow you to connect through bluetooth even from an unsigned application, but it will require prompting the user when the applictaion trys to connect. It will allow you to choose permissions on an app-by-app basis, and if you are silly enough to trust someone like Google, you can set a blanket permission on the app or at least an ask-once-per-session permission. Not the case if the phone is branded by Cingular; it is impossible to make such a connection without a Cingular Preferred certificate. The process for obtaining such a certificate is quite opaque; their website simply states that they are only handing out certificates to those with whom they already have a buisness relationship.

Legal trouble?
See these threads on their developer forums for several discussions between developers and Cingular representatives (free registration may be required). As outlined in this post from ArsTechnica a couple of days ago, this could result in legal trouble for the monopoly carriers once attention is paid to the problem. Perhaps we can stir up some attention by digging this post.

Solutions?
Currently, the only option open to an end-user (since we can't control what Google or Cingular do) is to go to sites such as Davinci Team or Wotan Server and get your phone debranded. This process is different from (and more risky than) unlocking the phone. It involves putting a new firmware on the phone, which causes you to lose all manufaturer-placed applications and features, along with any information you have stored on the phone. Aternately, you can get an unbranded, unlocked phone like this one.

Monday, February 12, 2007

Cell Phone development - w300i



History

In November, the two-year contract on my cell phone ran out. This allowed me to upgrade my phone to a new phone. I really only needed to get a new battery, because the one I had was down to about a four-hour recharge cycle. However, it was cheaper to get a new and better phone than to get a new battery, because of the contract extension. I initially looked at the Motorola RAZR, and while researching it, found some hacking information. As a professional developer, this got me thinking about programming the phone in more official ways than hacking, and this led me to the Java 2 Micro Edition (J2ME). I also wanted a phone that had good mp3 playback, so I wouldn't have to carry a separate iPod. What I really wanted was the iPhone, of course, but it hadn't been announced yet. In the end, I selected the Sony Ericsson w300i, a nice Walkman phone packed with features for the price (it was $9.99 with the Cingular contract extension, since reduced to $0.00). As a consolation, a few days after the iPhone announcement, Sony Ericsson announced eight new phones, which have similar development environments to the w300i.

w300i features
The w300i has J2ME support, including the JSR184 3D gaming API as well as a Mascot Capsule micro 3D. It also supports bluetooth for headset use, computer USB connection, FM radio, mobile TV and e-mail, and multiplayer gaming. As you will see, this last bit was something of a sticking point with me, but as of today it has a happy ending! More on that later; first I want to walk you through getting started with development for this device.

Developer signup
Having received the phone just in time for Christmas, I immediately began looking around for software development kits (SDK's). The best place to start, if you are a Cingular customer, is here, at developer.cingular.com. You will have to create an account, but it is free. Within that site is a lot of good information about phones, including Sony Ericsson. If you want to jump right in and get started with an SDK for the SE phones, it is here. The sites seem to follow the pattern of developer.x.com, including Motorola and others. Before you install the SE SDK, though, you will have to click on the release notes link to get your prerequisites set up. This includes the Sun J2SE SDK if you don't already have it. You will also need DirectX 8.1 or later, to run the emulators. With these installed, you are ready for the SE SDK mentioned above.

Sample projects
Once you have installed the SDK, you will have a new set of menu items under Sony Ericsson/Java ME SDK for CLDC. CLDC and MIDP are abstractions/subsets of Java that work for mobile phones. The w300i and most modern mobile phones use CLDC 1.0 and MIDP 2.0, which means your phone emulator will appear under the WTK2 menu under Sony Ericsson/Java ME SDK for CLDC/WTK2. You can also integrate all of this into an IDE, but you don't need to; it runs fairly smoothly as it is. The first program to run is Default Device Selection, which you only need to run once. Choose SonyEricsson_w300_Emu from the dropdown and hit ok. Done. Now you will want to run ktoolbar under the same menu (WTK2). There should be a number of sample projects prepopulated into this program, so you can just pick Open Project and choose one to run.

Bluegammon
There is one sample that is a fairly complete application, called Bluegammon. It plays backgammon as single or multi player, through bluetooth. Or at least it would, if Cingular's security on this phone weren't so draconian. At any rate, without even connecting the phone you can run this program in the emulator, simply by opening the project, selecting the phone you want to emulate, and choosing run. A phone interface will come up, and the important thing to note is that the only way to interact with the application is through the buttons of the phone. You will try clicking on the phone screen itself, just out of habit, but when it doesn't work, you will remember that the buttons of the phone are what you need to click on. When you are ready to build the .jar and .jad files, which are the actual distributable executables, you just go to the ktoolbar Project menu and choose Package/Create Package. Don't worry about obfusacting or signing for now. If you have a Cingular-branded phone, the signing won't do much anyway unless you are already a Cingular Preferred vendor. I'll cover debranding your phone in a later post.

Installing programs
This post will walk you through installing .jar files onto the phone, through the data cable, without even using the SDK. Anyone can do this, without signing up as a developer. Here, I will cover on-device debug, and installing the projects that you have built from sample code or on your own.

Connecting to phone
From ktoolbar, you can open and build a project, run it, and create the .jar files, as I have discussed. Once you have done that, what you really want to do is run the program on the phone. The documentation is not very clear on this, but I will clue you in to the simple steps you need to do. From the "All Programs/Sony Ericsson/Java ME SDK for CLDC" menu on your computer, there is a program called "Connection Proxy Settings". This opens a file in notepad. The only thing you need to do in that file is change the comm: setting to comm: COM4. This should work for most computers, but you may have to go higher. Save that file and exit notepad. With your phone plugged in, and in Phone mode (not File Transfer), then choose the DeviceExplorer from the same CLDC computer menu. (It's OK if you have PC Suite installed and it connects to that too). The DeviceExplorer will automatically start the Connection Proxy. If the Connection Proxy fails to connect to your device, you might have to choose the settings icon (looks like a little green gear) from its menu. This will let you choose a port and baud rate. Again you want COM4.

Connection troubleshooting
In order to get connected, I had to open the PC Suite program (the little cell-phone icon in your system tray) and from its menu choose Tools/Phone Monitor Options... which brings up a dialog box. In that dialog box, there is a tab called COM ports. Here you want to make sure that any real com ports you have on your computer are disabled. That's a little anti-intuitive, but the device proxy drivers set up a fake com port above the ones on your computer. Reserved can be left at No. IMPORTANT NOTE: never shut down your computer with the phone connected. This messes up PC Suite and causes a program called generic.exe to crash when you reboot. It also makes your computer really slow. If this happens, just connect and unconnect the phone again, and restart the computer (this may take a while).

On-device debugging
Contrary to what I thought at first, you don't have to install anything special onto your phone to do on-device debugging. Once DeviceExplorer is connected and running, you should see a menu of stuff on your phone on the left, and a WTK applications folder on the right. If you open up this folder, you will see all of your projects from ktoolbar under it. If you open one of these, such as Bluegammon/bin, you will see your .jad and .jar files. To install to the phone, just right-click the .jad or .jar and choose Install. Note that this lets you skip all the stuff outlined in my other post. This puts the program on your phone, on the left. Then you can select the item on the left, and click the "play" icon in the menu above it. This starts the program on your phone. Now you can see the output from that program running in the window below. This includes System.out.println output, as well as exceptions. If you have Cingular, just go to the menu on the phone and try to play via bluetooth and set up a server. This will cause a security exception unless you sign the program with a Cingular Preferred certificate, and turn on bluetooth manually on the phone. Alternately, you can debrand the phone to overcome this limitation, through something like wotanserver.com or davinciteam.com. This is different from and independent from unlocking. I will walk through this process in a future post.

Final important note:
Once you have DeviceExplorer running, the order of shutdown is important, or it will cause their programs to hang. Start by shutting down the device explorer. This will leave the device proxy running and connected. Disconnect before shutting this down, or it will hang. You can disconnect the phone without exiting the PC Suite program; that is, leave it minimized in the system tray. It will show up with a red X again when you exit it. You can shut down ktoolbar whenever you want; I haven't had issues with it.