Microsoft is having a competition for the best mobile development article at TheCodeProject.com. To enter all you need to do is submit a project between October 14th and January 14th. More information can be found here.
I've got my hands on the Sony PRS-505 Reader for the next 3 months and plan to test it over that course of time. So far I have lots of positives to say about the device. The display is sharp, the battery last for ever, and best of all it let's me carry a multitude of books in one small package. The device isn't without it's negatives, the largest of which being content acquisition. I'll go into more detail on all of that and more after I've had more time with the device.
Those that know me know that I almost always carry a book. When I travel I'm usually torn between what book(s) I will bring and what will be left behind. With this solution I would be able to bring as many as I like in a package the fraction of the size of one of my typical books.
Microsoft is having yet another embeded development contest. This ons is cenetered on the .Net Microframework. For more details see the contest web site. The contest has three phases with each phase eliminating contestants.
- October 8 - December 15th : Present your idea
- January 15 - May 15th : Build your idea
- April 15 - May 31: Present your idea.
The final round sounds tough; has to be presented before a board of industry experts. But if you survive the first round Microsoft will provide for you the hardware and the software that you need for the next round. The prices are worth over $100k. I don't know what they are but if nothing else the community recognition would make the contest worth the effort.
I saw a posting on WMExperts.com about Microsoft's licensing fees for Windows Mobile (the information cam from Reuters). In short the posting said that Microsoft will continue to charge licensing fees for Windows Mobile and also brings attention to the functionality packaged with Windows Mobile that isn't available with some of the free mobile operating systems.
Built-in Exchange push e-mail support.
Support for remote device management, application deployment and device policy management.
Support for full device encryption (including external memory cards).
Free sync with Windows Live Hotmail and Live Contacts.
Windows Live Search.
Live Messenger IM Client.
Software for simple Internet Sharing.
Office files reading and editing.
A pretty good e-mail application with built-in smart filtering search.
A pretty good bluetooth stack.
Access to 18000 + applications already out in the market.
Support by carriers and a wide developer community.
Security certification by recognized accreditation bodies.
Indemnification for the technology used.
I hadn't considered this before. but after reading it I have to wonder whether or not I should really consider the other OSes to be free. I see quite a few features in the above that I would really hate to be without.
I make business trips to Scottsdale, Arizona about once ever two - three months. When I came to Scottsdale on Monday I brought my AT&T Tilt (HTC TyTn II) with me. This is the first 3G phone that I've owned. The phone has been fitting my needs well for the past couple of months. Before I got on the plane to Arizona I made a few phone calls, turned off the phone, and boarded the plane. After landing my coworker and I caught a taxi to the hotel and I called home to let my family know that I had safely arrived.
Some time later I was looking at my phone and noticed it was searching for a signal. It found one and showed 5 bars for about 15 seconds then went back to looking for a signal. I watched it do this for about 30 minutes writing writing down the times the device went from having a tower fix to searching for a tower. It would get a fix 15 seconds after the devices clock changed to a time that had an even number for minutes. In this state the device was almost useless; I could send a SMS as long as it was sent during this 20 second window, but I could do nothing more.
I spoke with AT&T and a representative told me the problem was with my SIM card and that the 64k AT&T SIM cards could not be used in 3G devices. Not quite believeing this I removed the SIM from the 3G data card for my laptop and saw it used the same type of SIM card. I swapped the SIMs and found that the problem followed the phone and not the SIM. After a lot of web research I found other customers that had experienced the same problem and some one pointed out that the problem was specific to phones acting in 3G mode. The theory was that some phones were being inexplicably rejected by some towers in 3G mode.
After hearing that I began searching for programs that I could use to disable the 3G mode in my phone and stubled on something I had seen a few weeks ago but had ignored. It is called CommMgrPro. I used the program to disable 3G mode depending on what tower the phone was connected to it afterwards I was able to make phone calls again. I don't have confidence in the theory I received from the AT&T rep about the problem being caused by the type of SIM card that I am using. I can't completly accept compromising the functionality of my phone as a solution to the problem. I've forwarded the information I have on the problem to Mickey at The Cell Phone Junkie (http://thecellphonejunkie.com). He will be recording his next podcast on Sunday night and hopefully he will be able to give insight to the problem with his podcast is made available on Monday morning.
I am working with a client that usually keeps me busy with multiple projects. There are currently two projects in which I am activly engaged on a daily basis and 3 other projects for which I provide support as needed. At the end I provide a report to the client showing how my time was spent. Keeping track of how time is spent was not an effortless task especially since unexpected phone calls and unplanned meetings were frequent interruptions to my work. Instead of sticking to schedule
In the past week I've seen several post on the MSDN Smart Device forums asking essentially the same question. Some one has developed (or will develop) a program for one platform (Windows Mobile, Blackberry, iPhone) and wants to make the program run on the other. I've answered the questions as I've encountered them, but since it is a frequent question I decided to write a post about it so that I can refer people back to an answer as the question comes up.
What is a Platform?
A platform is a collection of functionality along with the methods for accessing that functionality provided to support an application. Traditionally platforms have been viewed as a combination of hardware and software; a software application would require a certain software platform (the operating system) running on a certain hardware platform (the physical computer with a certain processor). While that definition is still applicable presently we also have what would be considered pure software platforms; a developer targetting a browser can target a specific web standard as their platform with little to no concern for the hardware on which it is run. It is important to also note that platforms can be layered; one platform can exists on top of another. For mobile devices I can name 5 platforms; Windows Mobile, iPhone OS X, Blackberry, Android, and Symbian. As I type this
How do I make this program developed on platform X run on platform Y.
Unfortunatly in most cases the answer to this question is "you don't." You will need to rewrite your application for the other platforms on which you need for it to run. What's the workaround for this? Well, as I mentioned in my definition for a platform, "platforms can be layered; one platform can exists on top of another." If you have two dissimilar platforms and if those two platforms can support the same software platform then you can target that common platform and end up with a single application that runs on multiple platforms.
Web browsers are going to be the most common platform that you can target. But browser applications have their limitations (those limitations are diminishing). The two most populate virtual machine platforms are .Net and Java, but you will find that presently different devices have different levels of support for these two platfprms.
So What are you Saying
After reading the above you should be able to infer what I am about to conclude. IF you need to run a single application for multiple platforms make it a web app and adapt it to the browsers (or browser standards) that you wish to support. If it absolutly has to be a native application then you will not be able to create a single applicationthat runs on Windows Mobile, iPhone, Symbian, Blackberry, and OS X.
Looks that a lot of people are interested in Power Management. In the next 24 Hours of Windows Mobile webcast the top is "Developing Battery Friendly Programs." The following week covers "Interoperability between Managed and Native Code."
The Windows Embeded Blog had a post about a .Net Micro framework development solution that cost under 100.00 USD. For the pricepoint and the functionality this is an incredible package! I may have to pull out my notebooks for some of the automotive projects I wanted to do (I had been considering a Windows CE device for those projects but I think this package should be more than adaquate). If you are interested you can grab one of these from GHI Electronics.
Update [2008-09-18 23:20 UTC] - feeling that this is such a power product I've already submitted an order for one for myself.
The Tilt firmware update was welcomed with open arms. I installed it, and after a few failed attempts I figured out how to prevent the bloatware from installing. But the 6.1 firmware for the Tilt is not working as well as I had hoped. The most annoying problem is that if the device is suspended for more than a certain amount of time upon turning it on the device turns off again. I just found out that I am not the only one experiencing problems. Over at Tilt Site (a subsite of the Mobility Site) users are reporting many of the same problems that I have experienced since the upgrade. I'm not optimistic that another firmware update is forthcoming since AT&T must approve all firmware updates and they are planning to EOL (End of Life) the device. I may end up returning to the previous Windows Mobile 6.0 firmware image (so long threaded messages).