A customer recently inquired about our support of a mobile browser. My immediate answer was no, but the more I thought about it, the more I realized that this was one of the features we wanted to add after migrating to .NET 2.0 MasterPages. Feature creep is a terrible thing, so I'm not going to call this feature creep. I'm going to call it a re-prioritization of a planned feature.
The cool thing is that we were able to create a new master page for the mobile browser. This means that 95% of our code went unchanged. We did need to modify our dynamic view generation to separate fields by rows instead of columns and we were compelled to create new search controls. We had to touch a much of files, but most of the edits were minor. Since our list, edit and detail views are all data driven, we created new mobile versions of the views for all supported modules. This means that you can dynamically configure the layout for the mobile users.
We have tested the new system on a PocketPC and on a Smartphone. There are still a few quirks that we need to resolve, such as handling popup. These mobile browsers don't allow popups to reference their parent, so we will have to work our another way to select parent or related items.