contact and calendar management

A few years back, I wrote up a couple of blog posts on my search for the “holy grail” of contact and calendar management. Back then, I had a BlackBerry, and I was hoping to find a good way to keep things in sync between the phone, my PC, and my Mac. I went through a few less than perfect options, which aren’t worth going into at this point.

Nowadays, I’ve got an iPhone, and I’ve found that iCloud does a fine job of keeping the iPhone, iPad, and Mac in sync. On the PC, I really don’t bother trying to keep a full set of contacts in Outlook anymore, nor do I keep my calendar there. I can always look anything up on icloud.com or on my iPhone. And, while I use Gmail for most of my mail, I don’t really feel a need to keep my Gmail contacts fully up-to-date either. There’s really only a small set of people who I e-mail regularly, and they’re all in my Google contacts, so there’s no problem there.

So, since everything’s working so well, of course I’m starting to mess around with it. I installed the vipOrbit app on my iPhone this week. It’s a program for managing contacts and calendars. Right now, the iPhone and iPad clients are free, the Mac desktop client is $30, and the sync service that I would need to subscribe to is $45/year. So I thought I’d start out by trying the iPhone app, and see if it was worth going any farther with it. The app imported my contacts from the main iPhone contact app with no problems. But, I found that it did not import all the fields. In particular, it didn’t import birthdays or the free-form notes field from contacts. The app has several user-defined fields available, so maybe there was a way to map those and import the birthdays and notes into them, but it wasn’t obvious how I could do that. I played around with the app a bit, and, while I think it might be useful for a salesperson tracking leads and/or customers, it’s not really useful enough for me to justify both the price and the inconvenience of keeping my contacts and calendar outside of the normal default iPhone apps.

Next, I may choose to try out fruux. Fruux is just a sync & backup service for contacts, calendars, and tasks. So, I’d keep using the default iOS apps, but would keep things in sync with fruux instead of iCloud. I honestly have no good reason to do this, except “just for the hell of it”. Or maybe so I can say I’m not 100% tied in to the Apple ecosystem.

silliness in the Dynamics AX compare tool

I had a small issue crop up in AX a couple of weeks ago. It wasn’t big enough to spend any time on, but it was a bit of an annoyance. Well, I had some spare time yesterday, so I decided to see if I could fix it. The end result was that I did indeed fix it, but the journey to that point was kind of ridiculous, so I thought I’d write it up.

AX has a built-in compare tool, for comparing different versions of code in different AX layers, or in source control. It’s not a terribly great tool, and I’d rather have WinMerge or Beyond Compare, but it’s good enough. The initial form shows the names of the two files being compared, with a red box next to one, and a blue box next to the other, to indicate the colors that will be used to highlight the differences between the two files.

Well, the color in those little boxes mysteriously disappeared a couple of weeks ago. The tool still works, and the text is highlighted in red & blue, but there’s no visual indication of which text is from which file. Not a really big deal, but inconvenient.

Most of the tools built into AX are written in X++, and we have full source, so I went ahead and dug up the source for the form named “SysCompareForm.” I don’t think I should post any of the source here, but what I found is that those little red and blue boxes were actually HTML controls, each one displaying a web page, constructed in the code! I’d never really noticed before, but the boxes were not actually displaying solid red & blue, but rather were displaying red-to-white and blue-to-white gradients. And, of course, this being Microsoft, they were doing so in a way that only worked in older versions of IE. And, yeah, I’d recently upgraded IE on my VM from 8 to 10. So that was the problem: each of those little squares was actually rendering a web page with IE, just to get little red & blue swatches!

The cross-browser gradient situation has been a bit of a mess for a long time now, and you generally need to add about 10 lines to your CSS file just to do one gradient that works well across all browsers. So, I tried to update the code so it would render out OK in IE 10. Well, I messed around for a while, and couldn’t quite get it right. Then, I did some searching, and found this thread from a Russian web site, from someone else who had the problem and solved it. So, I just copied his code and went on with my life.

Apparently, this problem was fixed by Microsoft in a recent CU, but I guess it’s one that we haven’t applied yet. I wonder how much other stuff in AX is being done like this, and relying on HTML/CSS that only works in IE 8. Geez.