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.


Priceless Developers

When I get contacted by headhunters they are usually searching either for a developer or for a consultant and there is an interesting observation which I do see confirmed when I read forums or talk to friends:

Companies are willing to pay much more for a consultant than for a developer.

I am both - developer and consultant - and I can tell you: The best consultant cannot solve the issues that have been introduced by bad programming and software design mistakes. In a software company the whole business depends on the quality of the software released to the customers.

Only in very rare cases in my consultant role I have access to the source code of the base products in use at the customer. My daily job includes customizing bricks of software and tying them together. Of course this often means writing code on my own to make everything work together. So I am dealing a lot with APIs of software products.

During implementation of projects the vast majority of time goes into dealing with bugs, unfinished features and bad software design (or a software design that simply does not fit the needs)! And is pretty irrelevant which software product I am thinking of, it's the same everywhere. It would be better if I could focus on the customer needs and on building solutions instead.

There are people who have the opinion that most problems are just organisational problems or can be solved on the organizational level. I do not really agree with this. Of course, in most companies there is room for improving the organisation, but a software flaw should not be the reason for implementing workarounds on the organisational level.

Software vendors and their customers depend on stable, secure - good quality software. Those, who are building the software, often are poorly paid. Most of my ex-class-mates stopped the programming work completely in the meantime. In the same time I do not know any software vendor having enough good quality programmers. Instead bug lists are only getting longer over time. Really strange.

Related post: IT Dependencies.


Surveillance, privacy (NSA, PRISM, ...) and encryption

It's been now a while that the "whistle-blower" Edward Snowden caused heated discussions about the NSA and it's PRISM program. Privacy since then got a big issue for many.

Some of my friends consider to close down their Facebook accounts, their Google Accounts and think of refusing many other internet activity.

That could be a good idea - if you want to have more spare time with your children, your family or your hobby - but to avoid being spied out they ignore a root problem:
  • Most of them use Windows: As long as you are using Windows and that machine somehow is connected to the internet you are at risk. As long as there is a feature in the operating system kernel to harvest your data that can be done already before encryption happens. Linux is Open Source and can be checked by everybody who understands the programming language (C). And indeed nations are interested in having an operating system that is secure so even the NSA has contributed code to Linux (SELinux). They want to spy out others but they are not interested in getting spied out themselves by others. ;-)
  • They don't refuse email: EMail is like sending a post card. Everybody (postman or IT guy) that sits between the sender and the receipient can see the content/text of the letter/mail.
    OK: Now, the more informed people are not thinking of using PGP. They usually find out after a while that while I can help them setting up their PGP encryption they need to have their peers also having the required software. While it is very easy to get started using PGP in Thunderbird using enigmail it might get a little more difficult to get Gpg4win to run smoothly not to talk about webmail <your favourite product here>. Oh, on Android you can use K-9 Mail and APG to send and read encrypted mails on the go.
    Apart from that even less people know that using PGP only the email content is encrypted, but not the header information like sender, recipient or subject. So when sending private encrypted mail it makes sense using a nonsense subject like "Thank you for the fish" ;-).
In many cases it is not a practical short-term solution to ditch Windows completely and switch to Thunderbird + encrypt all your mails. And you should also stop using your mobile phone (you can be tracked not only via GPS but also via antenna mast your mobile phone connects to). But as long as you don't do that and also do not encrypt any other data that you have saved somewhere in the cloud, it is quite irrelevant if you close down some of those accounts. Sincerely: Are you writing serious stuff in Facebook or Twitter that may really hurt your privacy if it would be made public for everybody?

There is always a tradeoff in having security and so is in having privacy. To avoid beeing hacked you can close down as many ports and sites as you want, but in the same time you loose access to features that might boost your productivity. We can be private and secure but then you wouldn't be able to use the benefits that the technical solutions offer.

Related posts: Pros and cons of cloud solutions, Administrator ethics, Social networking sites, Your holy machine, IT Dependencies.


What the Tech Industry Has Learned from Linus Torvalds

Lately I often suppressed my gut feeling in some technical issues.

Finally I stumbled over a video that completely supports my gut feelings:

Jim Zemlin, boss of Linus Torvalds is talking about the lessons learned working with Linux:

Lesson 1: Don't dream big
Lesson 2: Give It away
Lesson 3: Don't have a plan
Lesson 4: You don't always have to be nice


Why RSS Feeds and alternatives to Google Reader

When reading about Google Reader closing down on 1. July, I was in panic because to stay on top of the news (mostly IT specific news in my case), I was depending on Google Reader. I was depending on Google Reader because I am depending on RSS feeds.

Google writes (in the article linked above):
"While the product has a loyal following, over the years usage has declined. So, on July 1, 2013, we will retire Google Reader."
I would never have imagined a decline of use in RSS (and I assume that the decline of Google Reader usage also means a decline in using RSS in general because it is very hard to find good alternatives for Google Reader). And therefore before diving into the alternatives I want to - no, I need to - go into the advantages of using RSS feeds first. And although there are plenty of articles about Google Reader alternatives out there, it was very hard for me to find the proper substitute and this is the reason why I decided to write yet another article about this topic.

The reasons why I am depending on RSS:
  • Knowledge is power
    Information overflow is a problem these days. Recently I was asked (again) why one should - in these days - foster information overflow even more by opening even more channels where the too much of information rushes in.
    Information (as long it is not misleading or wrong) can be a life changer. You want samples? Think of a company investing in technology that is about to be obsolete (like Adobe flash) loosing a lot of time and money investing into the wrong product, think of a friend who found his spouse over the internet, think of going on a cheap vacation not knowing about risk of war in the appropriate country. Oh and another example I have experienced already several times: I get informed by RSS feed about food that gets withdrawn from market because polluted or containing toxic bacteria and strangely I sometimes see them on sale in the supermarket the day after I've read the article. Who has the knowledge has the edge over the others!
    The problem is not the information, the challenge is the appropriate filtering of information! And RSS feeds help!
  • Time and information
    I do not have the time to visit each single website or blog providing (probably) interesting information. Many sites and blogs do publish very important or very interesting information - from time to time.
  • More efficient scrolling through articles
    Many sites do publish a lot of information, but I am interested only in a few articles, so searching through many articles to find one or two interesting ones is annoying. An RSS reader (be it through the web or a local application) allows more efficient scrolling through articles.
  • Different user interfaces of websites and blogs
    Different sites have different GUI (graphical user interface) and different layout. Visiting the sites one by one also implies being familiar with many different user interface styles. Many of them are not very efficient or it is difficult to find the information.
  • Ads, bulk and other time and space wasters
    Even if you use an ad blocker in your browser often big graphics already consume a third of your screen distracting from the core information. Not only because of big graphics, but also because of many third-party service-sites (like Disqus, Facebook, Twitter, Adthis, Sharebar, ...) that are integrated on websites/blogs those sites take longer to load and having you to wait for the content that ... maybe then isn't so interesting today (while tomorrow may show a very interesting story that makes it worth waiting).

The reasons why I was using Google Reader (= the 5 core requirements of the substitute):
  1. In-Sync-View on the Laptop/Web and on the mobile device (so what I've already seen on my mobile phone did not get presented when reading news on my laptop - one of the most important features for me).
  2. List view option for feeds - I hate the hyped square interface. I want to read from top to bottom - that's it.
  3. Simple and efficient user interface for dealing with the news fast.
  4. Fast and reliable feed loading.
  5. Nearly identical user interfaces on the web and on the mobile device - or at least not lacking core functionality. (Mobile device in my case is Android, Mac and iPhone users, when reading this article, Apple-only alternatives are left out here).
Reasons 1 and 2 are a must have  for me, but found that not having 3 and 4 can also drive me mad in minutes. So, now you are understanding the focus I had while choosing the alternative, here are my proposals:
  • Feedly
    Feedly was the first alternative I got aware of and I observed it was the first alternative where the masses took refuge. However, I wondered if it will continue to work after Google Reader shutdown as it seemed to be just a front-end for Google Reader. Indeed they were (or are still while writing this) relying on Google Reader but developed a new backend on their own - see comments here. Not sure if the transition will work flawlessly and if the performance can be kept due to massive increase in amount of users. While I also find it one of the best alternatives, I am not as convinced as most of the others.
    Pros: Many features, mobile app (for Android, iOS, Kindle), similar GUI, laptop stays in sync with mobile app.
    Cons: Needs a plugin for Firefox (why the hack?), No mobile interface via browser only, even no https connection, Don't see how many articles still left to scroll through (no scrollbar) on mobile app. When I want to share an article link via K-9 mail (or other mail app than GMail) from within Feedly it does not transfer the article title as email-subject which is quite annoying. Further it restarts accidentally when returning from another app back to feedly (e.g. browser view - does not happen always) which is even more annoying.
  • netvibes (= Bloglines - same GUI, same login)
    Pros: Clean, simple and compact web interface, additional widgets in addition to rss feeds. Also looks ok and is usable on mobile device in browser being very, very similar to Google Reader - but only with default browser and Dolphin (Firefox and Opera Mini displayed it totally different and it was total crap). Videos are displayed directly in the article detail view.
    Cons: No dedicated mobile client and using some browsers (in particular Firefox and Opera Mini) you get complete crap. Due to mobile app missing, it does not offer any enhanced features via menu button (normal browser menu displayed). Limited share options given (Mail, even multiple clients plus Twitter and Facebook).
  • RSSly
    Seems to use Tiny-Tiny-RSS (which you can also install on your own server, if you have enough permissions there - see below).
    Pros: Many features, mobile app, similar GUI on laptop and mobile phone, laptop stays in sync with mobile app, display in browser on mobile device is also very good (Dolphin and Firefox - which is seldom - see below), many features including list of not responding feeds or feeds that seem abandoned as well as filter settings to filter out spam posts.
    Cons: It took me a good while to find out, how articles are marked as read on the mobile device. It does not work automatically, but when you do it manually it had unexpected effects until I found out, that doing it on the first page marks the first 30 entries as read and on the last page it marks the complete feed as read. On the mobile device I have cannot switch between show all articles or only unread of a feed. And RSSly seems to load feeds respond to article clicks a little slower than Feedly. I could also not get it to display article title only without abstract on mobile device.
  • Fever°
    This is not free and no hosted service. You can buy it for about 30$/23€ and host it on your webserver. I took the risk and bought it. Installation was very easy. I only had to temporarily disable PHP securiy settings on admin interface on my hosters website for my page (for the time of installation and activation).
    Pros: This is then yours, no risk of the next RSS service closing down. Clean interface, some extra features (kindling and sparks) to make your RSS experience even more efficient.
    Cons: You need a web server with PHP support for it. If you don't have a web host with your domain then you cannot use this. Mobile client meltdown for Android still missing some features and available only for Android 4.0 and later. Refresh of feeds is not done in background (you can cron it but in my hosting case I can only cron it once in the night) and I experienced it also to be slow.
  • The Old Reader
    Pros: HTTPS connection supported. Simple - no other clutter than plain RSS feeds. Few but clean settings, you will be familiar with it fast.
    Cons: No mobile client (yet). When importing my feeds it queued me up after 12 other users. This makes me worry if they have enough servers to have my feeds stay on top of the news. Although they say that their mobile web interface is good, I had already troubles logging in from my smaller phone (small screen) and categories were completely missing and similar issues here when using Firefox or Opera Mini (complete crap is the result).

What I also looked at but excluded from closer investigation and why:
  • Pulse
    Pulse has a mobile client but no simple list view of the news feeds - they always use the squares or rectangulars and I am never sure about the direction into which to read. Also I could not find a button to set a feed to completely read. So this lacks a lot of important switches in my opinion.
  • NewsBlur
    Free version has limits which I already exceed when importing my current feeds from Google Reader.
  • Mocharoll (=former Blogroll)
    Failed importing my RSS feeds from Google Reader (took a very long time and I then gave up first. Looking back later it had imported my feeds but I had no chance to switch to list mode instead of the square view. And in general configuration options are not really existing. Also refreshing problems - so didn't look either how it behaves on the mobile device.
  • Feederator
    Looked similar to netvibes or TheOldReader, but could not find a method for importing opml files or my Google Reader feeds.
  • Good Noows
    Looked nice on my laptop, but mobile view again awful (does not wrap around text. On the laptop I also had problems getting a complete feed beeing set to read. At least it supports https connection (not all of the online services do).
  • Tiny-Tiny-RSS
    As for Fever, TT-RSS is not a hosted server. It is free, but you have to install it on your own server. I could not test it because it said that it requires open_basedir turned on which seems to be disabled by my host.
  • CommaFeed
    Looks simple but already on Dolphin sucks in display (too small but when you zoom into it, display gets mangeled.
  • Flipboard
    Mobile app only - no sync-view between mobile app and laptop.
  • Feed2Imap
    Self-hosted solution, so requires your own server and then forwards RSS news items as mails into an IMAP account. I am not sure, if my hoster supports ruby and I did not want to introduce another protocol (RSS->Mail) where again something can go wrong.
  • feeder.co
    For what I need, I would need the variant that costs monthly fee.
  • FeedBooster
    Online-Reader only with https capability but no specific mobile device/browser adapted display.
  • Flud
    Seems to have a web plus mobile client but people reporting stability problems of the mobile app and pricing is not completely clear to me (maybe because this is not 100% RSS focused) so I refused testing this.
  • news360
    Web and mobile app but no possiblity to add your own RSS feeds - just what you get from them.
  • More alternatives here...
    I skipped everything in testing that obviously
    - syncs with Google Reader (and hence die with it)
    - does not have any sync option
    - does not have a mobile app or at least a useful mobile web stylesheet in use to show an adapted GUI for small screens
    - costs money on a monthly basis
    - does not have a list view for articles
So despite this long list of alternatives (Feed2Imap apart, I have listed only those I have also tested), in reality there are 4 which are fairly useful for me: Feedly, RSSly, netvibes and Fever. All the others had too many (for me important) flaws. I have Fever up and running and I feel good with it - as it is mine (nobody can shut down the RSS-service). However, best efficiency is given by Feedly and netvibes. Reading this (Feedly gets Unity webapp integration in Ubuntu) was one reason to go with Feedly for the next weeks. I still feel bad about it's desire to read my Google profile but I hope that will be gone when they synchronize with their own alternative but with Google Reader - currently Feedly still remains in sync with Google Reader. I can work around the mailing issue with the subject by first opening it in the external browser (there is an option for this in the advanced settings) and send the link from there. What I find more alarming: Feedly already thinks of asking money for the service. They already created a survey for that. Anyway, I have 3 other alternatives now I can immediately switch to and this gives me some feeling of safety.

Related post: Efficiently following web news with RSS.


Proof of Concept

More and more companies tend to set up proof of concept projects before they buy software or IT solutions.

Apart from the fact that there is nothing wrong with that, I can see that companies do believe less and less of the stuff they get told by sales. And I think, they are right. Be it economic crisis or greed, to get a deal, salesman simply lie. When they lie they often the don't really lie explicitely, they often just choose words and phrases that can be easily missunderstood or lead to high or wrong expectations. Then of course there is usually the technical part of the story that salesman mostly don't understand well - and they guess or are just happy with the positive attitude.

Well, this is business as usual, you might argue - and you might be right.
But the product features/limits/facts and expectations of the people in the project are a crucial part not only during the evaluation period.

Who suffers?
  • The IT administrators at the customer.
  • The consultants doing the installation and configuration stuff.
  • The final end-users (some of them - they key-users - are nowadays often involved, even if often too late).
All those people are often not involved during the early project phase, although they are very relevant for the final project success.

What is worse than having few work only and a tiny amount of new customers only? When you have your consultants blocked working in projects which are always short before escalation or at high risk that customer wants unwinding the contract!

So I try not to feed high expectations and I prefer overdelivering over underdelivering. In the long run this brings more satisfied customers getting back to you for further projects.

Related post: The truth about software.


Firefox and RSS feeds in Google Reader

Update: Google Reader will be closed down at July 2013 so this article is quite obsolete - read the newer article "Why RSS Feeds and alternatives to Google Reader".

However, here is the old story:

Lately I explained RSS feeds to someone and wondered why Firefox is not behaving the same way as on my machine when subscribing to RSS feeds. I did not remember what I exactly did on my machine to get it to work because it is so long ago that I created my profile for new that I first started searching the internet. Interestingly I could not get it to work so - back home - I investigated my own settings. Interestingly they do not match what I found on the net so I think it could be worth writing this article.

Preamble: Google Reader is an online RSS news reader that is also available for Android phones which is very fine when you (as I do) use your phone a lot to read news (for example while on the bus or waiting for it). What you read on your phone is synchronized with what you see when you are back on your laptop or PC. What I show here is how to get subscriptions with Firefox:

  1. Newer Firefox versions do not show the RSS feed symbol by default any more. - Right click next to your tabs or somewhere between your toolbars and choose "Customize...". Look for the "Subscribe..." button and drag it onto your toolbar (I have it next to the refresh and abort button).
  2. Type "about:config" into your url location bar and search for "feeds".
  3. Change "browser.feeds.handler" to "reader"
  4. Change "browser.feeds.handler.default" to "web"
  5. Change "browser.feeds.handlers.webservice" to "http://fusion.google.com/add?feedurl=%s"
  6. You might also need to change "browser.contentHandlers.auto.application/vnd.mozilla.maybe.feed" to "http://fusion.google.com/add?feedurl=%s"
  7. You might also need to change "browser.contentHandlers.types.0.title" to "Google"
  8. You might also need to change "browser.contentHandlers.types.0.type" to "application/vnd.mozilla.maybe.feed"
  9. You might also need to change "browser.contentHandlers.types.0.uri" to "http://fusion.google.com/add?feedurl=%s"
Now when you are on a site that offers RSS feeds the "Subscribe" button should be active (sometimes, when there are many different RSS feeds available on a site they are available through separate links on the site while the main RSS subscribe button is inactive so you might need to dig a little for the RSS  subscription link) - however in both cases you should get the option to put the RSS feed onto your iGoogle page or subscribe with Google Reader then.

Related post: Efficiently following web news with RSS, Why RSS Feeds and alternatives to Google Reader.


The truth about software

To summarize the software-troubles:
  • Too many bugs
  • Too difficult to use
  • Too much administration and maintenance work
As you might already know, as it seems obvious for you - or maybe, if you are listening to your inner voice, you only hear it from somewhere burried deep down in your mind: software is full of bugs. There is no bugfree software.

Since I started programming, I could see the IT world complexity growing and growing. In the beginning there was one processor and one process running at a time - no other software to integrate with. Everything was easier. When I think back to times of Commodore C-64 or when I was using the MS DOS Borland Turbo Pascal or C compilers - they were all extremely robust and when there was something not working as desired, I could be to 99 % sure that it's my fault. So at least the core system and the development platform were rock-solid and stable. That did not always apply to my programs... ;-)

Nowadays, operating systems and their core services as well as development environments - and in addition to that a bunch of third-party libraries all have their issues. So the software developer doesn't even start on a rock-solid base as it happened to be back in the early eightees (at least according to my experience - YMMV). In addition to that: If you want to produce cars, toys or whatever other physical stuff, in most cases you need a factory and a lot of money before you can start. For producing software, all you need is a computer and download some tutorial from the net and even a fool can get started - and unfortunately a lot of fools do...

But the low entrance barrier is only one reason for the lot of issues around. In my opinion the complexity is the worst thing here. Even with the honest strong desire to get everything right, you can't - apart from the fact that IT world has grown far too big to be completely covered by a single person.

But the growing IT world did not bring only troubles - we do have far more possibilities since computers were invented. Software development is far easier than in the beginning of computers. We can build software with far more features in much shorter time now. The problem: The software can often do far more than the users can handle.

And last but not least: I remember times when the "installation" of a program was just copying it to the machine and run it. Today it requires dependency checks and sometimes complex installation procedures. Although still possible - only a very few programs that run fine when you just copy them. Nowadays many software products have a bunch of required preconditions and a lot of integration options that need configuration. Highly integrated software means more maintenance work regarding updates (of any of the involved components). Another reason for increased maintenance work are the customization options that most software comes with.

A normal user nowadays is working with a lot of different software products and often there are some software products that are used very seldom only. I have seen users dealing with software they need to touch only once a month. From one month to the other they need to re-find all needed menu items again because from one month to the other they always forgot.

The challenge these days is:
  • To reduce complexity (of the problem and feature set) as far as possible (while maintaining flexibility).
  • To make using the software easier - software must be intuitive to use (only a very few people do read documentation or help file text).
  • And to make configuration obvious and simple.
Related posts: IT fallout and buddhism, New user experience, Proof of concept, IT Dependencies.