| Comments

I’ve had a couple things sitting in my inbox for a week or so and rather than call them out individually and take up your precious aggregation space, I’ll summarize them here.

3rd Party Silverlight Controls

Got a note from Valentin about the roadmap for the Telerik Silverlight controls.  As they’ve previously noted, they are planning a set of controls: Window, Menu, TreeView, TabControl, PanelBar, Cube, ComboBox, Upload, Calendar, DatePicker, NumericUpDown, MediaPlayer, Range Slider, ProgressBar, WrapPanel, DockPanel, UniformGridPanel.  Right now it looks like they are incorporating the feedback provided and doing some polish work like adding Blend tool support for skinning, etc.  They also announced a Grid and Carousel control for Silverlight as well.  I particularly thought their mention of working on something similar to their RadDock for Windows for Silverlight sounded particularly interesting.

Silverlight Sidebar Gadget Template

Microsoft has a program called Student Partners.  These are individuals still in higher education and have shown their enthusiasm toward Microsoft technologies.  I’ve had the pleasure of meeting quite a few of these individuals and appreciate their energy around geekness.  Ioan Lazarciuc is one such Student Partner and took one of my previous samples of a Vista Sidebar Gadget Template for Visual Studio and Silverlight-ified it…enabling a template for creating Silverlight content-enabled Vista Sidebar Gadgets.

Ion’s got a great post about the work and the known issues that he still faces and had to get used to.  Go check it out and give some feedback on the work!

Deep Zoom and Mosaics

Creating Deep Zoom applications seem to be all the rage these days :-).  Another tool is making it more fun (and easier) to create some pretty cool visualizations with Deep Zoom and images.  The tool is Andrea Mosaic and is a tool to take a set of images and make a mosaic picture out of the images.  Then taking those mosaic collections and Doom Zoom-ifying them.  One hilarious implementation is the DeepLOL, using the various LOLCat phrases/images.  Take a look at what Rob Burke did (via Silverlight Streaming – hint: move your mouse and zoom in with the scroll wheel):


Of course you’ve probably heard of the Olympics on NBC.  The NBCOlympics.com by MSN site is serving over 3,600 hours of online content live and on-demand for your viewing pleasure.  If you install Silverlight you’ll get to enjoy the enhanced player experience that will deliver HD-quality content to your computer in the comfort of your own home.  I’m pretty excited to see some of the Olympics this year and will have to check out this experience for some of the live events.  I already like the HD experience I’ve seen so far…check it out!

That’s a few I had in my queue…more to come!

| Comments

A while back the team at the New York Times newspaper produced a digital reader for their content, dubbed ‘Times Reader.’  The technology powering that reader experience (“the digital newspaper that reads like the real thing”) is Windows Presentation Foundation (WPF), part of the .NET Framework.  It is a remarkable experience for viewing digital news in a traditional format.  It provided online and offline reading capabilities mixed with some new and innovative ways of viewing related stories.

Portions of the reader were even transformed into a starter kit framework: Syndicated Client Experiences Starter Kit.  This kit provides the initial plumbing to produce similar experiences and truly is a great starter kit to use.  Others like the Seattle PI and MSDN have put their content via this mechanism.

This experience of the Times Reader was a Windows-only experience because of the dependency of the .NET Framework.  The Times Reader does provide the best experience because of this dependency however and it is important to note that.  Mac users, unfortunately, were left out.  Until now.

Rob Larson, VP of Digital Production for the NY Times, announced that they’ve been working on a Mac version and a beta will be released soon.  Rob’s team implemented this version using Silverlight.

“We are using Microsoft’s Silverlight technology to render the pages on the Mac version. Silverlight includes a subset of the Windows Presentation Foundation (WPF) tools we use on the PC version. This allows us to keep the look and feel of the Mac version very close to the PC version and also allows us to reuse code across platforms.”  source: http://firstlook.nytimes.com/?p=46

I initially saw a lot of comments in the post about ‘why is this better’ and I think those are from people who haven’t seen the reader experience on the PC.  I have to admit that I’m not a newspaper reader at all, but as a geek, the news I do read is entirely digital…I’ve never owned a physical subscription to anything.  This digital reader experience is unique and fun to play around with (you have to see the search/related stories visualizations) and I think brings some freshness to traditional print news. 

Rob’s post has more screenshots and details about the implementation and future plans, including a comment of their commitment to bring feature parity between the versions.  I’m looking forward to seeing this implemented and hearing from the development team about their use of Silverlight to bring this experience to the Mac platform.

| Comments

Hello readers!  If you are a Foxit user, please update your reader software to the latest version ASAP.  A recent exploit was found by a security research firm and Foxit turned around an update to their reader within 24 hours.  Bravo to the Foxit team for being very agile and getting this rectified.

After some further research and discussion with the development team it was found that the ActiveX component used in the PDF Preview Handlers might also be vulnerable.  To reconcile this, Foxit has issued a patched (and updated) version of the ActiveX control for the preview handlers.  I have since patched  both the Vista and the XP versions accordingly and tested them on several Vista and XP SP2 machines accordingly.

If you are using these and have installed them PRIOR to 07-MAY-2008), please take a moment to proceed with the following:

    1. Close any instance of Outlook 2007.
    2. Uninstall any versions of the Foxit PDF Preview Handler from your system.
    3. Download the latest version of the PDF Preview Handler (Vista or XP). 
    4. Install the latest version.

Note: that the previous links have been updated with the patched versions as well just in case.

That should do it!  If you find any issues, please report them to me.  Thanks again to Foxit for being responsive and aggressive in this manner and for their support of the PDF Preview Handlers.

| Comments

Ah, the joys of using non-API APIs :-).  I say that in jest because essentially my first stab at the MSDN search gadget wasn't using any *real* API, but rather just formatting queries correctly and hoping that the format would stay the same.

Well, when you do this you run the risk of things changing.  For MSDN (and TechNet) search, things have changed 3 times now.  Mike Ormond points out that another change breaks the default MSDN gadget that I had created.  He's posted a fix that works for him (until the next change) and should for others.

Thanks Mike for posting the fix!

| Comments

i'm very frustrated now.  the title says it all.  let me explain my scenario, tell you how i found out the problem and give you the suggested workaround from apple.

the setup

i have a few phones laying around, and being the gadget geek i am, i do have an iphone that i've been using lately.  my setup consists of syncing my iphone to my pc laptop for contacts/calendering and to my macbook for music/photos/movies/podcasts.  it is a simple setup really, and allows me to keep my work machine for work (i don't have music or anything on my work machine) and my home machine attached to my media storage libraries, etc. 

everything was running smoothly even though it is quite annoying to cable sync -- i wish over-the-air was possible.

my situation

i missed an appointment the other day.  i was on the road and didn't get an alert.  it wasn't a terribly important appointment (meeting a friend for lunch), but still i was embarrassed.  my memory is not that of an elephant and i rely on technology to keep my sane.  when i returned to my laptop i noticed that my appointment was on my calendar, but it wasn't synced to my phone.  weird.  i began investigating.

i did a few tests.  i restored the phone to factory default.  i did a one-way force sync on calendars.  i synced under a new profile.  i re-installed itunes.  i did everything the troubleshooting steps said to do, which by the way included an arrogant statement of basically asking me to uninstall any other add-on that i might have and that the itunes helper should be the only add-on enabledto work.  alas, a few appointments were still not syncing.  and then i looked closer and noticed a trend.

the appointments that were not syncing were meeting requests sent from other people.

i first thought 'holy crap, no meeting requests from other people at all are being synced' but that was not the case.  i could isolate it to meeting requests from other people but it was so sporadic that it was driving me insane.  so i began to research as best i can and then i resorted to calling support...something i did not want to do, but even us techies must admit we need help...and i exhausted all my knowledge.

i called support and was told the wait time was 5 minutes.  after a few minutes i was disconnected.  argh.  immediately my phone rang though and it was apple support apologizing for the disconnect and wanting to continue the case.  very good customer service!

i explained the situation to the agent and he began to search.  he pointed me to a knowledge base article explaining the problem and asked me to read it and if i'd follow the steps while he held on.  after browsing it i immediately saw this was not going to end well for me.

the problem (confirmed)

turns out that itunes/iphone will only sync calendar items that are explicitly of a certain message class (IPM.Appointment).

a message class is basically a template.  there are defaults and then developers who create add-ons can inherit from those templates and provide added functionality.

after following the steps i could see that the two appointments that i was testing with indeed were of type "IPM.Appointment.Location" and that i immediately realized my issue. 

the agent explained that i'd have to manually alter the message class type to get them to sync. 


he further explained that this was a problem in outlook and i should contact microsoft.  um yeah, i really don't think it is a problem with outlook.  the template is the same.  i then discovered that what is happening here had nothing to do with MY add-ins, but rather the add-ins installed on the meeting organizer.  the ".Location" is indicative that someone has installed the Live Maps add-in for outlook.  it adds value to the appointment template.  but what is happening for me is that when THAT PERSON sends me a meeting request, it uses their template.  i as the end user don't see that of course (unless i follow the proposed apple steps) and thus i'm left baffled.  since i cannot control what someone sending me has on their computer, i, the apple end user am screwed.

i was then pointed to a microsoft knowledge base article explaining how to alter the message class.  okay, so let me get this straight...you want me to change my view in outlook to identify these items, then create a VBScript application to change them?  or better yet, USE A WORD DOC TO CHANGE OUTLOOK ITEMS (shame on microsoft for this one, yes that is actually the recommendation and provided template).  clearly none of this is passing the mother-in-law test.  i'm tech savvy and understand all this, but let us put this into layman situations. 

see jane.  see jane have an appointment.  see it on jane's calendar.  see jane sync.  no appointment.  see jane verify appointment exists on her calendar.  see jane confused why it is not syncing and no errors or warnings presented.

see dick.  see dick ignore that an item is on a calendar and not alert the user that there might be items that didn't sync because their developers are too lazy to figure out it is a base template and they can still get the information.  apple, don't be a dick.

so my workflow now suggested by apple went from: plug in iphone and sync to plug in iphone; sync; scan calendar to see what didn't sync; see items not syncing and verify their message class; change message class using a word doc; re-sync.  holy flippin poo man.  this is ridiculous.  seriously.  people write bad software (microsoft is not immune to this either), but when you see a problem and hear complaints, rectify it please.

the solution

sadly, the process in the word doc actually works well.  i just couldn't see myself using a word doc to do this all the time.  i took a cue from scott hanselman and took the vba code in the word doc and just imported it into an overall outlook macro.  here's what i did.

first:  download the word doc -- as lame as that implementation is, the code is already there for you with a good analyze tool as well.

second:  open the doc and get to the visual basic editor (developer tab...if you don't see this you'll have to change your office settings to show the developer tab).  in the editor expand the forms section and choose export to file:

third:  open outlook and go to the tools menu, then choose macros.  create a macro (type a name and click create):

forth:  right click on the project and choose import file...point to the form you exported in step 2 above.  it should import no problems (or at least 'worked on my machine'):

fifth:  in the subroutine for the macro add this code (this assumes you kept the same form name):


i implemented the rest by customizing my toolbar and pointing to the macro, so now i have a button on my toolbar that i can run:

and when i run it i get the functionality i need:

note in the picture above there is an 'analyze' button -- i highly recommend you use this first if you are having this problem.  the result of analyze will show you what is in the dialog to the right of it (i already cleaned mine up so it only shows the good stuff) and if you had any non IPM.Appointment items, they would show here...then you could clean them up.  the screenshot above shows the setting you would want (make sure it says "IPM.Appointment" and not the default of this tool "IPM.Appointment." [note trailing dot] -- i fixed this in my macro code after import and you could too).

when you run the tool it will change things appropriately and you can resync.  if you use this tool you will not need to change your views, etc. as recommended by the apple article.  so if you are running into this problem, make your voice heard.  add your comments to this thread, vote this thread useful and see if we can get support people to listen.  you can also submit a bug report (as i did) to the iphone feedback area.

i'm sure there will be some that argue this isn't a bug.  i'll vehemently disagree...as those arguing that will be geeks that understand the technical situation.  step back and put yourself in an end user shoe's -- you see it on your calendar and it ain't syncing -- and no errors.  i think even the tech would admit that hey, even if it is by design, you should alert the user to what didn't get synced and why.  the solution should be fairly simple.  instead of:

if (messageClass == "IPM.Appointment")


if (messageClass.contains("IPM.Appointment") {
  try {
    // sync and ensure elements are there
  catch {
    // log to file to alert user after done

c'mon apple, fix this.