Welcome to DevAuthority.Com Sign in | Join | Help
For the last few days, I've been playing around with a menu control with Security Trimming enabled. It seems like a really good idea, the documentation from Microsoft is mildly informative, there's a fairly extensive exploration of the new navigation controls going on over at 4GuysFromRolla, and there's a few other people that have put together some demos of creating menus and treeviews from .sitemap files.

While all of these shine in one way or another, none of them let you know one very crucial point that if you're not aware of will cause entire menu nodes to disappear before your very eyes.

Here's the scenario which lead me to this grizzly and time wasting discovery.

I wanted to add a vertical menu for navigation to the left side of a site that I'm developing. Pretty simple requirement.

The way the .sitemap file is structured, there is one, and only one, root <siteMapNode> tag, and all the other <siteMapNode> tags are nested below this root.

Given that structure, my menu would have the "Home" menu node as the only menu node being displayed. Pretty simple solve here, too...switch the SiteMapDataSource's "ShowStartingNode" property to 'False' and now all of your child nodes become the "root" nodes of the menu.

In my solution, these child nodes that have just been promoted to parent/root nodes need to have child nodes of their own to allow access to the various pages. Simple enough...I just added more child <siteMapNode>s to the parent/root nodes.

Here's where it all goes downhill...in my application, I don't want the parent/root nodes to have any navigation unto themselves...merely display the triangle at the right to indicate there's more below. So, I go to my sitemap file and remove the url property from the parent/root node, and *poof* the whole menu for that parent/root disappears.

I've spent a few more hours trying to find a resolution to this, but there doesn't seem to be one out there. The control itself doesn't have any easily identified property that will "cancel" the navigation capabilities of the parent/root node, either.

Is it me, or is this rather poorly thought out? If you go to the 'History' menu item in Firefox, you're not directed to a magical "History" page...it spawns the child options available from that parent. Why can't the web control behave in the same manner?

I'd love your thoughts, or suggestions if I'm missing something obvious that will give my menu the desired behavior.

It's Bowl Selection week for colleges around the nation, and after the brawl that Miami had with FIU earlier in the season, I encourage all bowl committees to say "NO" to the folks in Miami.

Does this seem harsh? I don't think so. Two years ago, South Carolina and Clemson got into a fight during the final game of the season. Both teams were bowl eligible, but both teams' coaches and college administrators did not accept any invitations as a way of telling the players that this type of behavior would not be tolerated.

I think it's safe to say that after the pathetic slap on the wrist handed down by Miami administrators to the team, an invitation would be eagerly accepted just to keep the team in the spotlight.

So, the responsibility now falls to the bowl selection committees. I know it's a strong temptation to invite a school like Miami because of the following they have. Your committee can send an even stronger message by not inviting them. Yes, it's going to be a tough decision to make, but it's the right one.

This past week I received my Windows Mobile 5.0 (WM5) CD to upgrade my Dell Axim X50v and had the opportunity Thursday night to start the process of upgrading the Axim.

And just because I'm beating the customer service horse a bit...the CD was supposed to ship from Dell by the end of October but it did not ship as promised. Odd, considering that Dell started selling the X51v which came with WM5 installed.

Anyway, the upgrade comes as a two CD set - the Getting Started CD with ActiveSync 4.0 and other documentation and the Upgrade CD itself. Included with mine was an additional note explaining that if you own the Dell GPS system (which I do) you will need to download an upgrade from the web. That was an appreciated touch. The printed documentation flyer does a pretty good job of explaining that ActiveSync 4.0 must be installed prior to doing the rest of the upgrade, and directs the user to the Getting Started CD for additional help.

ActiveSync setup is fairly routine and worked wthout incident.

After ActiveSync setup finished, I loaded the Upgrade CD and was presented with a web page to drive the update. Again, pretty good documentation and straight-forward presention for the upgrade steps.

The first thing to ugrade is the firmware. This process kills all the information from the Axim, so you must make very sure that you have a backup. Your data *should* be preserved on the desktop, but I made a specific backup just in case. You must pay attention to the documentation, though, because you will need to write down the current name of your PDA because the upgrade will rename your device, and then you won't be able to restore your backup should you need to.

Firmware upgrade takes about 15 minutes total and requires a couple of hard resets to the PDA during the process. Overall, a pretty painless process considering your turning the PDA into a glorified paperweight for a few minutes.

Once the firmware upgrade is done you can proceed to update the operating system. Again, the documentation is straight-forward and the process is fairly clear. Once both the firmware and the OS updates are completed you will need to sync to get your data back on the Axim and then re-install any third-party applications or utilities. This is where the backup can come in handy, however, it is not 100% reliable.

I started to run into problems right from the beginning when establishing a partnership with the Axim and synching data for the first time. Unfortunately, ActiveSync wants Outlook 2000 to be set as the default mail application in order for it to properly sync email, contacts, calendar and notes entries. I do not have Outlook 2000, I have Outlook 2003 and it's not my default mail application, anyway - Thunderbird is. The only way I could get the sync process to start was to deselect synchronization of email. I didn't sync my email when I was running PPC2003, so it's really no big deal from a data standpoint, but it is a bit of a pain until you figure out to disable the email sync.

My second problem was with Landware's Pocket Quicken for Pocket PC. Installation seemed to go without incident, but the prompt letting me know that I'm trying to install something is a bit redundant to me. Of course I'm installing something...that's why I clicked on the .exe to do the install. Duh! Unfortunately, even though the install seemed to work fine, I was unable to sync my accounts/transactions to the PDA. The error log states that it was unable to connect to the PDA even though the rest of the tasks (calendar, contacts, etc.) have no problem locating and connecting to the device. My guess is that Landware needs to update a portion of their code to handle WM5, but a search of the support area of their site did not reveal any new updates to address my issue. I have emailed their support staff and look forward to a response from them soon.

Next to install was the updated map loader for the GPS system. This update was not included on the CD, but was available for download from the web. A fairly large download (~20Mb) contains the update and the same "read me" type of documentation that was included with the CDs from Dell. The setup was straightforward with very few options such as selecting the desktop location and where you want the app loaded on the PDA - either built-in storage or an available expansion slot. Again, when it came time to install on the Axim, I was presented with the alert mentioned above. Unlike Pocket Quicken, this installation worked quite well. Granted, there is no synchronization with this application, but I was able to download the new maps that I received from Navteq without any issues.

My last application to install was Skype. Everything went as expected with the installation, including the installation permission request. My problems with Skype are not Skype related, they are Bluetooth related as I will describe below. I'm still looking foward to placing my first "call" via Skype on the PDA. I'm excited to see what the performance is like considering the Axim has 802.11b and not g.

As I just mentioned, my biggest problem has been with Bluetooth. I did not like the Bluetooth manager that was part of PPC2003 - it was too confusing, had too many options with little explanation, and seemed to always want to activate when powering up the Axim. The new Bluetooth "manager" has gone the other way...there are very few options and almost no explanation of what options are there. I tried to pair the Axim with two different Bluetooth headsets (an IOGEAR and a Motorola HS520) and although the Axim could discover them they did not present any services to use and neither one would permit the selection of the option for "use as headset". I was also unable to get the Axim to pair with my Motorola E815 phone.

The only thing that I can pair with is the Bluetooth GPS receiver which does not have to be discovered through the Bluetooth "manager". It is discovered by the Navigation software much easier than it did in PPC2003.

I contacted Dell only to find out that there are some known defects specific to Bluetooth pairings and that Microsoft is "days" away from releasing an update to WM5 that will correct these issues. I'm not entirely sure what to believe, especially since I couldn't find any mention of these issues on Google and there's nothing on the Microsoft site that would indicate problems such as this being reported.

Dell suggested that I roll back to PPC2003. I might do that if I don't get favorable response from the folks at Landware on Pocket Quicken as this is a definite requirement for me.

Visually, WM5 is much more appealing than PPC2003 was. Having action "buttons" at the bottom of the screen are convenient. I am noticing that the battery seems to be used much quicker in WM5. There is probably no real way to test this, it's just a "seat-of-the-pants" observation, and I do put a higher demand on the Axim by using it as an mp3 player.

While I was trying to troubleshoot the Bluetooth issue, I did see on Microsoft's site that there is an update for ActiveSync to version 4.1 out already. I have downloaded and installed it. I'm not entirely sure what they fixed in the 4.1 release, but I know from experience that if an update is released quickly after the major release, it's probably because something "bad" was in the original.

Overall, I'm excited to get WM5 up and running. I'll be downloading the developer's toolkits as soon as I get it stable as I have some software that's just begging to be written for this new OS.

In my previous post about my experience with Dell "customer service" I failed to mention yet another feature that was provided with this purchase: out-dated map software for the GPS system. My August purchase apparently didn't qualify me to get the most recent release of the maps.

Navteq - the company the does the maps/software for Dell and others - released updated maps in June, 2005. I had to go check my calendar again thinking that for the past 39 years I had been wrong because the calendars at Dell are different. In their world, software released in June is not considered current for purchases made in August. Never mind that my purchase qualified me for a free upgrade to the future release of Windows Mobile 5.0, software that was going to be release two months after my purchase.

Shiteer, Hashish or Potash (who the f**k cares, really) continued to tell me that I could not get the June maps unless I paid the $99 upgrade fee. $99 to get the software that was available two months prior to my purchase. Essentially, they wanted me to pay to upgrade something that I didn't own at the time to something that was released prior to my original purchase. It must seem logical to these idiots, because two supervisors (each with equally unpronouncable names) said the exact same thing. I even tried an analogy - It would be no different than buying a brand new Dell computer and buy Photoshop from them at the time of purchase. When I receive the computer, I notice that they sent Photoshop 5.0. I call customer service and they tell me that I'll have to pay to get the CS2 version of Photoshop, even though I just paid full price to get an out-dated release.

It just boggles the mind. This is what companies should expect when they send customer service off shore. I have dealt with 28 people at Dell during this ordeal. 28 people that have absolutely no concept of customer service.

So, now that I'm sick and tired of trying to deal with Dell, I decide to contact Navteq directly.

From their website, I selected the "Contact Us" link from their home page, answered a few drop-down questions to refine my question, and then ultimately filled out a two field form (email address and comments) where I explained - briefly - my dilemma.

Within four hours, I received my first email response from their customer service department asking for some minor clarification. I responded the following morning and within another four hours received a response asking me to fax a copy of my dated receipt. That was Tuesday, and when I got home yesterday there was a box waiting for me from Navteq with my June maps in it.

Thank you, Navteq - you have a 100% Customer Service rating, and I should probably give you extra credit for picking up the ball that Dell dropped.

Oh, and Dell...if you're wondering what your Customer Service rating is? How does "F**k You!" sound?

Apparently, I'm not the only one who shares that opinion!

 

OK, first off, Adam, you've got an Indian accent so I highly doubt your name is Adam. Of course, it's probably very long and since I can't understand you through your accent, do I really care what your "real" name is? Ummmm...no!

This all started out so happy and romantic...my (relatively) computer novice wife bought me a Dell Axim X50V for my birthday in July. Man, I was psyched...Windows Mobile 2005 is just about out (which I want to do some development on), it has the cool VGA screen, and it was even bundled with a GPS system.

Now, after the initial order was processed, everything went to Dell Hell in a hand-basket. To date, I have spoken with 27 "customer service" agents spending over 10 hours including time on hold and time having to re-explain the situation to these morons.

Here's what happened...

1st - Ordered the system from a "Dell Store" - you know, one of those kiosks that are popping up in major malls. Everything seemed to go fairly well. The guy working there started the order online, took my name and information for shipping and put in my wife's information for the billing. Well, two days later, someone at Dell saw that the last names didn't match between billing and shipping so he cancelled the order. Even though he had three different phone numbers and two email addresses for us he didn't bother contacting us, he just cancelled the order.

2nd - Contacted Dell to see what was happening and why the order was cancelled and was informed that it was cancelled because we used too many coupons when placing the order. Ummmm...we didn't use a single coupon when placing the order, it was a bundle deal offered by Dell. So much for "customer service" rep #1.

3rd - Called them back and finally got the order reinstated - get this...using the same information we had used on the original order. But, because the order was originally cancelled, we were dropped back in the shipping queue which resulted in an additional delay of over two weeks from the original order.

This angered me. We didn't cancel the order...why should we have to wait an additional two weeks for shipment? Of course, Dell has no way of reinstating a ship date. They gave me plenty of "sincere apologies" but nobody wanted to do anything to improve my customer experience.

I'm going to do the Reader's Digest condensed version here...suffice to say, I did finally receive the Axim, bitched at enough people and finally was "compensated" with a $50 coupon for a future purchase at Dell.

Now, on October 3rd, less than 30 days after finally receiving my order, the GPS receiver died. Oh, goody...just what I want to do, contact Dell again.

So, I call Hardware support. I explain to them that the GPS receiver is no longer working and one of their suggestions was that because I was moving, the GPS was unable to receive my position from the satelites. Hmmm...let me think about that for a second. The Global Positioning System was unable to update my position because I was moving. Yeah, that makes ALOT of fucking sense. Even better, they said because I was away from where I had last shut it off, it was unable to locate me.

In other words, the receiver is working correctly, it's my fault that it doesn't work and I just needed to go back home and let it establish my position before I could continue.

OK, let's look at that for a second, I needed to return home. Stand still until the GPS system obtained my position, and it would be fixed. So, how does that explain their previously proposed theory that because I was moving, the GPS system couldn't update my position? I guess GPS only works when you're standing still. Somebody better go tell the Military...those smart bombs that they guide by GPS will only be able to update their position when they're standing still.

So, I finally managed to convince the rocket surgeon that I needed a new GPS receiver and they promised to ship it out within "3-5 Business Days" since part of my original order was the Advance Exchange program. Well, it's now 10 business days after the entry of the replacement part order and I still don't have the unit. It's not stuck on a truck, it hasn't left Dell yet.

Back to contacting Dell...more sincere apologies but nothing whatsoever to indicate that anyone is doing anything to get me my GPS receiver. Oh, they're expediting the order (so they say) but nobody is doing anything to try to make this situation any better.

The best part about all of this is when I'm done talking to their agents, they always encourage me to look to Dell for my next computer purchase and they sincerely hope that I will recommend Dell to my friends and colleagues. Not fucking likely!

Michael Dell...I hope somebody brings this situation to your attention. I would love to discuss this matter with you. Maybe you'd like to hear from a customer that has had a truly awful customer service experience.

Dear Visual Studio 2003,

It is with much respect and admiration that I politely make the following request: please quit reformatting my code.

I've heard that this have been fixed in your younger brother, Visual Studio 2005, but unfortunately, I can't upgrade to 2005 because (a) it's not "officially" out yet, and (b) I'm on a team of developers and Lord only knows what kind of incompatibilities would exist when trying to run both versions.

If there is anything you can do to service pack this reformatting "feature" out, or a hidden setting I can make to keep this from happening, I would really appreciate it.

Thanks for your time,
Ric Castagna

In all seriousness, this has got to be one of the most frustrating things that happens in VS2003. I know I'm not the only one that has experienced the frustration of this. You would think that M$ would have listened to their customers...oh, wait...why even bother completing that sentence. I know that M$ doesn't listen to anyone, anyway.

Actually, this isn't all M$'s fault, either. There is one control out there - specifically FreeTextBox - that has some of the oddest behavior when being reformatted by VS2003. All of a sudden, and "ID" attribute appears for the FTB <TOOLBARS> tag which is not supported by the FTB codebase so when you try to compile/run your project, you get an error thrown. Then you have to go into the HTML and take out the ID attrib before it will run properly. I guess this also means that you can't programmatically add to the TOOLBARS, but I digress. I just wish we didn't have to use that particular piece of...code...yeah, that's the word I was going to use...in our app.

OK, now that I'm done ranting, I'm going to go back to reformatting the code that VS2003 just screwed up (again) and continue cursing FreeTextBox.

The following is a repost from my blog at http://www.castagna.net/CS/blogs/ric_castagna/default.aspx

On Friday, June 17th, a friend and co-worker lost her fight with cancer. She was a wife of 28 years, a mother to two daughters ages 14 and 11, and she touched everyone she knew in a very special way.

I had the opportunity to know her for almost ten years but did not get to see her as the disease relentlessly devoured the person that I knew to be happy, witty, intelligent and loving to her husband and children. I remember days fondly at the company we all were trying to get off the ground - she would be interjecting comments and opinions that kept our great imaginations from running away with us. She was always encouraging us to do the absolute best we could for ourselves and for the company we were building.

Cancer is a hideous disease. I've only thought about it briefly in my 38 years. My father has had a couple of mild bouts with it but it's always gone into remission. I had a friend who suffered through Hodgkins Disease and although she certainly felt the affects, she battled it successfully. This is a the first person I have ever know personally to die from cancer, and certainly the first person to have it attack with such relentlessness.

In the end, all the doctors could do was try to minimize and manage her pain. The cancer was in her bones and her chest cavity. She could not sleep and she could barely walk but fortunately she was coherent which gave her family the opportunity to say their good-byes and prepare themselves the best they could for the end of her time on this earth.

Fortunately, her pain and suffering have stopped. She is now in a place where she does not have to endure life with the affects of the cancer. Her body has been restored to health, she can sleep and she can enjoy the company of those that have gone before her. I know her family and friends will have lingering feelings of "why?" and have to endure the final pain and ultimate recovery after laying a mother, a wife and a friend to rest.

Last November, I made a commitment to my wife, and I would like to call on any and all of my fellow developers out there to take up the challenge:

Grow your hair for cancer!

I am in the initial stages of organizing an official "cutting party" where we will all get our hair cut at the same time. Once cut, it will be dontated to an appropriate organization that will turn the hair into hairpieces for cancer victims. Since this is in the beginning stages, very few details are available, but stay tuned to this blog to learn more and register your "hair".

Greetings to all my former DotNetJunkies virtual friends, and all who took the time to look at my previous posts. Hopefully, the posts from DNJ will make it over to my new home here fairly soon. I know Dave is working on a way to transfer the messages now the DNJ has converted everything over to Community Server. An interesting and unproductive by-product of the conversion at DNJ is that I can no longer add posts. Oh, well...I'm happy to be here at DevAuthority and will be content to post my .NET (and somewhat .NET related) entries here.

As some of you know, I also take great interest in politics, especially how the current state of affairs in the United States has diverted from the government envisioned by the framers of the Constitution. I will continue to post my political observations, but I will spare the servers at DevAuthority - check out http://www.castagna.net/CS/blogs/ric_castagna/default.aspx for those and (possibly) a podcast coming soon. Podcasting is something that I'm just starting to research, but I've got some good ideas that might help us all take back our country from the well intentioned yet mis-guided souls that are running it at the present time at all levels of government.

So, to all that my be reading - Welcome! I hope you will find my posts informative and helpful in some small way.

Take care,
Ric