{"id":243,"date":"2006-05-29T09:12:39","date_gmt":"2006-05-28T22:12:39","guid":{"rendered":"http:\/\/www.somethinkodd.com\/oddthinking\/2006\/05\/29\/samsung-pc-studio-3-versus-microsoft-outlook\/"},"modified":"2007-09-10T18:40:42","modified_gmt":"2007-09-10T08:40:42","slug":"samsung-pc-studio-3-versus-microsoft-outlook","status":"publish","type":"post","link":"https:\/\/www.somethinkodd.com\/oddthinking\/2006\/05\/29\/samsung-pc-studio-3-versus-microsoft-outlook\/","title":{"rendered":"Samsung PC Studio 3 versus Microsoft Outlook"},"content":{"rendered":"<div class=\"aside\">In a previous post, I did a <a href=\"http:\/\/www.somethinkodd.com\/oddthinking\/2006\/03\/30\/a-new-owners-review-of-the-samsung-d600-mobile-phone\/\">review of the Samsung D600<\/a>. One of my major complaints was about the Windows software used to talk to the phone, called Samsung PC Studio 3. In this article I get a lot more detailed about one key aspect of its brokenness.<\/div>\n<p>I&#8217;ve have been doing some forensic analysis of Samsung&#8217;s PC Studio 3 to work out why it sucks so very badly when synching my Outlook 2003 calendar and my Samsung D600.<\/p>\n<p>I put aside the issues of the frequent crashes, the frequent inability to recognise the phone is connected and the duplicate contact problems (which largely seem to have settled down). Instead I focussed on why Outlook claims I have a busy day of meetings while my phone claims my day is free of any plans.<\/p>\n<h3>D600 Model of my Calendar<\/h3>\n<p>First, let&#8217;s understand the phone&#8217;s model of my calendar.<\/p>\n<p>The phone has three different types of &#8220;events&#8221;. The following table lists their corresponding fields.<\/p>\n<table cellspacing=0 cellpadding=2 border = 1>\n<tr>\n<th>Type<\/th>\n<th>Subject<sup>1<\/sup><\/th>\n<th>Details<sup>2<\/sup><\/th>\n<th>Start<\/th>\n<th>End<\/th>\n<th>Location<\/th>\n<th>Alarm<\/th>\n<th>Recur: Never<\/th>\n<th>Recur: Daily<\/th>\n<th>Recur: Monthly<\/th>\n<th>Recur: Yearly<\/th>\n<\/tr>\n<tr>\n<th>Appointment<\/th>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr>\n<th style=\"align=center\">Miscellaneous<\/th>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td>&nbsp;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr>\n<th style=\"align=center\">Anniversary<\/th>\n<td>&nbsp;<\/td>\n<td style=\"text-align:center;\">&bull;<sup>3<\/sup><\/td>\n<td style=\"text-align:center;\">&bull;<sup>4<\/sup><\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td style=\"text-align:center;\">&bull;<sup>5<\/sup><\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<td>&nbsp;<\/td>\n<td>&nbsp;<\/td>\n<td style=\"text-align:center;\">&bull;<\/td>\n<\/tr>\n<\/table>\n<p><strong>Footnotes<\/strong><\/p>\n<p><sup>1<\/sup> Subject field is limited to 14 characters.<\/p>\n<p><sup>2<\/sup> Details field is limited to 100 characters.<\/p>\n<p><sup>3<\/sup> Field is displayed as &#8216;Occasion&#8217;.<\/p>\n<p><sup>4<\/sup> Start limited to date, not date and time.<\/p>\n<p><sup>5<\/sup> Alarm reminder set as absolute time of day, rather than relative to start time.<\/p>\n<p>It can be seen from the table above, that the Daily, Weekly and Monthly recurring Appointments are scheduled to end on a set date. The yearly recurrences (i.e. Anniversaries) are left open to continue forever.<\/p>\n<p>The D600&#8217;s universe starts on Jan 1, 2000, and finishes sometime in 2098.<\/p>\n<p>I have learned about this model by playing with the user interfaces to the phone and the PC Studio 3. It is possible that there are other constraints underneath the hood.<\/p>\n<h3>Outlook Model of my Calendar<\/h3>\n<p>Outlook has a far more sophisticated <a href=\"http:\/\/msdn.microsoft.com\/library\/default.asp?url=\/library\/en-us\/vbaol11\/html\/OutlookVBAWelcome_HV01136199.asp\">model of a calendar<\/a>.<\/p>\n<p>Outlook&#8217;s UI pretends to have a number of different objects &#8211; Appointments, All-Day Events, Meetings, Recurring Appointment, Recurring Events and Recurring Meetings &#8211; but these are all unified into one type, <a href=\"http:\/\/msdn.microsoft.com\/library\/default.asp?url=\/library\/en-us\/vbaol11\/html\/olobjAppointmentItem_HV05247816.asp\">Appointment<\/a>, in the underlying data model.<\/p>\n<p>Each appointment has access to all of the recurrence options of the D600 Appointments and Anniversaries &#8211; e.g. Daily, Weekly, Monthly and Yearly &#8211; but they also have access to more powerful options. They can recur every <em>n<\/em> weeks. They can recur weekly on a &#8220;day mask&#8221; &#8211; e..g every weekday, or every Monday <em>and<\/em> Wednesday. They can recur on a given day of a given week of each month (e.g. last Friday of the month). They can also recur on a given day of a given week of a given month each year (e.g. third Saturday in June).<\/p>\n<p>Unlike the D600, Outlook allows all recurring frequencies to continue forever, or to stop at a certain end date. (Outlook also supports setting the count of the number of reccurrences, but that is merely a convenient way to set the end-date rather than indicative a more powerful calendar model.)<\/p>\n<p>Another major difference between the naive D600 model and the more sophisticated Outlook model is that Outlook Appointments supports &#8220;<a href=\"http:\/\/msdn.microsoft.com\/library\/default.asp?url=\/library\/en-us\/vbaol11\/html\/olobjExceptions_HV05247838.asp\">Exceptions<\/a>&#8221; to recurring Appointments. Exceptions occur when the regularly scheduled Appointment is modified only for a particular date. Outlook allows a set of Exception objects to be associated with an Appointment. Each Exception contains the (original) date of the scheduled meeting, and the new details for the appointment on that day.<\/p>\n<p>Outlook supports Location information on all Appointments.<\/p>\n<h3>Ignored Details<\/h3>\n<p>Both Outlook and the D600 have a number of other items, which I have elected to ignore because they aren&#8217;t causing me direct grief at the moment. Some of the more obvious items are listed below.<\/p>\n<table cellspacing=0 cellpadding=2 border = 1>\n<tr>\n<th>D600 Item<\/th>\n<th>Outlook Item<\/th>\n<\/tr>\n<tr>\n<td>To-do item<\/td>\n<td>Task<\/td>\n<\/tr>\n<tr>\n<td>Phonebook<\/td>\n<td>Contact<\/td>\n<\/tr>\n<tr>\n<td>Email<\/td>\n<td>Mail<\/td>\n<\/tr>\n<tr>\n<td>SMS<\/td>\n<td>&nbsp;<\/td>\n<\/tr>\n<tr>\n<td>Memo<\/td>\n<td>Note<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>Distribution List<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>Journal<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>Post<\/td>\n<\/tr>\n<\/table>\n<h3>Mapping Difficulties<\/h3>\n<p>A sync program, like PC Studio 3, has its work cut out for it. It needs to &#8220;paper over the cracks&#8221; caused by the differences between these two models of the calendar, and allow synchronisation of appointments in both directions.<\/p>\n<p>The D600 model is much more naive than the Outlook model, so going from D600 to Outlook is fairly straightforward, but the other direction is tricky.<\/p>\n<p>Here are some of examples of Outlook appointments that the phone cannot natively support:<\/p>\n<ul>\n<li>Declaring a day to be pay-day &#8211; e.g. an all-day event once-per-month or once-per-fortnight.<\/li>\n<li>Having a single appointment to double-check the safe is locked, every weekday at 5pm.<\/li>\n<li>Moving a regular team meeting forward a day, once, due to a public holiday.<\/li>\n<li>Reminding you once per quarter to check your bank statement.<\/li>\n<\/ul>\n<p>Of course, a majority of Outlook appointments do fit the D600 model; the tricky part is recognising when they do and when they don&#8217;t, and deciding the best way to deal with the odd ones out.<\/p>\n<h3>PC Studio 3&#8217;s Approach<\/h3>\n<p>How does PC Studio 3 go about solving this problem?  By giving up before it starts!<\/p>\n<p>It never creates Appointment objects or Anniversary objects on the D600! Two of the three types of Calendar objects it supports it doesn&#8217;t use! Instead, it moves all Outlook appointments into Miscellaneous.<\/p>\n<p>One impact of this is that the Location information is always discarded, even when it is not necessary.<\/p>\n<p>The other impact is that recurring meetings don&#8217;t. They only occur once.<\/p>\n<p>Now, if you are thinking that the PC Studio maps from a single recurring appointment in Outlook to multiple non-recurring Miscellaneous events on the D600, then you are quite on the ball, but completely wrong. It merely books the first meeting, and forgets the rest.<\/p>\n<h3>(Im)Practical Results<\/h3>\n<p>My phone has a hard-coded limit of a possible 400 events. Of those, I have a total of 315 that are recurring appointments that, according to my phone, happen exclusively in the past. My weekly meetings are all missing; despite the fact that they dominate my daily calendar. The birthdays of my friends and family are all hidden from view, despite the fact that the phone supports birthdays perfectly adequately with the Anniversary objects. None of the appointments records <em>where<\/em> the event is going to be.<\/p>\n<p>The PC Studio 3&#8217;s inability to handle recurring meetings makes it, in my eyes, not of merchantable quality. I have to warn people who are considering purchasing a phone with the plan of synchronising it with their Outlook calendar to avoid the Samsung D600 (and related Samsung phones).<\/p>\n<p>I am currently considering starting a trial of a <a href=\"http:\/\/www.en.mobile-master.de\/\">third-party<\/a> synch program. I have also been playing with interfaces to Outlook to see if it would be easier to use my old recurring meetings to generate a set of non-recurring ones to make them more digestible to PC Studio 3. Neither of these seems acceptable to me.<\/p>\n<p>Lift your game, Samsung!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In which I continue to bitch about the Samsung D600 &#8211; but particularly about the PC calendar synching software that is bundled with it.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_s2mail":"","footnotes":""},"categories":[29,25,47,34],"tags":[],"class_list":["post-243","post","type-post","status-publish","format-standard","hentry","category-influencing-others","category-insufficiently-advanced-technology","category-review","category-software-development"],"_links":{"self":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/posts\/243","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/comments?post=243"}],"version-history":[{"count":0,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/posts\/243\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/media?parent=243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/categories?post=243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.somethinkodd.com\/oddthinking\/wp-json\/wp\/v2\/tags?post=243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}