IT Dependencies

Lately at a customer I got introduced to an application written by an employee which should be replaced. There were some special features that have been implemented for the exact needs of the company. After a while I began to wonder why they want to replace it. I thought by myself: "What could be better than an application written exactly for their needs by a person who is actually in that company for a long time now?"

Finally at the end of the meeting after the others left, I asked the project manager at the company what the real reason is that they want to replace that program. The answer was: They want to get rid of dependency of that piece of individual software development and dependency of a particular person. They want to use a standard software.

While this sounds quite reasonable, I want to clear-up potential misunderstandings:
  1. Even betting on the biggest companies and their products does not save you from the risk of software being discontinued or services shutting down.
    For example here is a list of software products discontinued by Microsoft. And this does not seem to be a complete list because from the first look I already miss the Visual Basic Classic which is also dead (and I have A LOT of experience with that which will be dead know-how in a few years).
  2. Even the largest company-group sends you individuals that do the work and guess what: In most bigger IT projects (even when using standard-software) you usually end up with an individually customized piece of software and often with several project specific extensions. And who knows best your system? - The one who has done it! Change the person and the person needs time to analyse and get into it.
  3. As time goes by most companies, when they start to buy external know-how or services, they begin to loose control. To reduce dependency you would need the source code, the know-how and the access. One effect of extreme outsourcing often comes with loosing your privacy and security.
So by switching to a standard product it is not very likely that you are reducing dependency. Often you save internal IT manpower for other things but you trade it for dependency or for privacy. Paying a developer for permanently being ready for implementing your business needs may not be the cheapest solution but you get flexibility and often reduce communication flows.

For many very tiny companies it might be perfectly ok, accepting the dependency from external services when they don't have to bother about their server-backup etc then. And so privacy is also traded (e.g. free web service for providing your personal data).

It is a matter of your values, your priorities, your time and budget etc. if you better have a server in-house or use some online-service in the web.

So what can you do?
  • Be aware of your values
  • Be aware of your business focus
  • Be aware of your (human) resources
  • Remove resolvable dependencies
    which means: Prefer forward-looking software products and plattform-agnostic open-source software over more limited alternatives.
  • Distribute work and risk (e.g. have an external partner helping you but also have an internal administrator/developer who can do the work).
Related posts:  Priceless Developers, Surveillance, Privacy (NSA, PRISM, ...) and encryption, The truth about software.


LibreOffice v4.1.* and Ubuntu 12.04 Unity-Integration

As I use Ubuntu on my productive work+private machine, I prefer to use stable versions - so I switched to use LTS versions only. However, for LibreOffice I have enabled the LibreOffice repository using

# Adding repository for getting most current LibreOffice # (taken from https://wiki.ubuntu.com/LibreOffice) add-apt-repository -y ppa:libreoffice/ppa
 That slurps the current LibreOffice release into my Ubuntu 12.04 LTS stream of updates (the poor Windows users don't have an idea of such a comfort).

The reason for this was mainly to get the latest additions for Microsoft Office formats support (Microsoft is still good in their attempt to squeeze people into staying with MS Office).

Unfortunately with LibreOffice v4.1.* a unity-related problem (users of other flavors of Ubuntu can stop reading here) was introduced that has not been addressed yet by the Ubuntu folks - at least not for 12.04 LTS:

When opening several documents in Writer, Calc etc the windows are not grouped to a single Unity icon.

As you might know from earlier posts I like the Unity desktop very much (and it also has become very stable) and so I am very glad for the workaround that has been posted to the according bug report at https://bugs.launchpad.net/bamf/+bug/1026426 (comment #166 by Marco Trevisan) which is just one command in the terminal window:
sudo sed '/StartupWMClas
s=.*/d' -i /usr/share/applications/libreoffice-*.desktop
(all one line).

Problem solved, thank you very much, Marco!

Related posts: Open Office and Libre Office starts slow, Normal.dot in OpenOffice or LibreOffice, Default Paper Size in Open Office.


Maintaining multiple Calendars

While I have to put the Outlook Calendar entries into the office calendar I do have my own private calender on Google that I share with my wife and vice versa. I want my wife to know when I am at customers or in foreign countries. That enables her to make appointments for us without the need to call me several times a day.

There are two problems:
  1. And this is a general problem of the crappy Outlook*): With version 2007 or 2010 they changed the style how invitations are sent and this means: When on an Android phone for example or you do not allow HTML display in your mails due to security reasons you don't see the Outlook appointment information on your phone or mail-client. Both is given in my case.
  2. I need to create each work-related calendar entry twice - once in the Outlook Office 2010 calendar and one on my Google calendar.

Solution for problem 1: Install Invitation Processor Pro on your Android device as unfortunately by default Microsoft Outlook inviations cannot be processed by Android (while gmail invitations and those sent with Thunderbird+Lightning which are also distributed as .ics file are displayed fine so this is not a general problem with event invitation mails). Say thanks to Microsoft.

Solution for problem 2: I thought of several possible solutions, but a) I am not using the Desktop Outlook at all (so all Outlook plugins for syncing calendars are irrelevant for me) and b) I do not want extra hosting for calendar syncing. You might be in a similar annoying situation so here is another still a little annoying, but acceptable way:
  1. Create two rules via Outlook web access 2010:
    a) Forward all mails of type meeting request to your private gmail address:
    Rule Name: Forward event invitation
    After the message arrives and...
    the message is Meeting Request.
    And my name is in the To or Cc box
    Do the following...
    forward the message to 'you@gmail.com'
    b) Delete your own meeting responses from yourself (confirming events on GMail side):
    Rule Name: Meeting response from Google Calendar
    After the message arrives and...
    the message was received from 'calendar-notification@google.com'
    And the message is Meeting Response.
    And the message includes specific words in the subject '(YourFirstName YourLastName)'
    Do the following...
    delete the message
    And stop processing more rules on this message
  2. Use Outlook (web-access) 2010 to confirm appointment requests (at work for me the 90% case). When creating appointments on your own then invite yourself (your private or your work email address).
And the good thing when solving problem 2 this way: You also solve problem 1 as GMail is able to display the invitation details (date and time) even for the .ics files originating from Outlook. I installed the Invitation Processor Pro anyway to see the event details also when currently in K-9 Mail on Android.

There are four different use cases:
  1. Co-Worker sends me a meeting request:
    => I confirm in the same way using Outlook web access 2010 and GMail. This way I have to confirm two times, but don't have to recreate the appointment twice manually (and using wrong dates or times) so I can be sure they match. And just to see it in GMail I don't even have to respond to the meeting request because on arrival in GMail I can see it in Google Calendar.
  2. I have to create a private appointment:
    => I simply create this event in my private Google Calendar.
  3. I have to create a work appointment that is completely irrelevant to my private time planning (maybe just a time blocker or reminder):
    => Just create this event in my office Calendar (using Outlook Web access).
  4. I have to create a work related appointment:
    => Create the appointment in my private calendar and invite myself (send invitation to my work/office email address) and
    => confirm the incoming message with the Outlook web access.
    => Create the calendar entry in Outlook web access calendar and invite myself (send invitation to private email-address) and
    => Confirm invitation in GMail.
The remaining little annoyance with this solution is: As I usually use Thunderbird to access my Microsoft Exchange Mail account from the office, I need to switch to Outlook web access for confirming meeting requests.

Related posts: Outlook Calendar Meetings, Outlook 2010 Meeting Requests, Thunderbird and the Outlook global address book.