Showing posts with label Products. Show all posts
Showing posts with label Products. Show all posts

2013-05-23

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.

2011-07-15

Outlook 2010 Meeting requests

It's been months now that I (have to) deal more intensively with Windows world now. Although you might know that I prefer my Ubuntu desktop over Windows I am not one of the "fan boys" ignoring people's or business needs. Honestly, nobody can accuse me of being ignorant on any of both worlds. And honestly, I cannot recommend anybody to go with Microsoft and Windows as a long-term strategy.

One of the recent changes introduced with Outlook 2010 I want to share with you today:
Imagine, you are using Outlook and create a calendar entry. You want to invite a customer, partner, supplier etc - an external person at another company - to this event. You may further enter some agenda or other information before sending the meeting request. So far so good.


In the past it was known that not all e-mail clients or collaboration suites do support meeting requests. There has been an independent standard defined for sending and receiving meeting requests - it's the ICS format. Even Outlook learned to use that format!

Anyway, not every client is supporting this. Before Outlook 2010 Outlook always sent the meeting information as text also (as by the way all/most other mail-clients and collaboration do also).

With Outlook 2010 they removed the event information as text which might lead to the effect that your invited persons never notice that you wanted them to invite to a meeting. The meeting information is simply missing in the email!

I noticed that just because Thunderbird does not read .ics attachments if Lightning is not installed. Only after installing the addon you get the meeting information displayed. I really don't understand why one line of appointment information text is too much to expect...

Related posts: Outlook Calendar Meetings, Maintaining multiple calendars.

2011-04-22

Thunderbird and the Outlook Global Address book

As I mentioned in an earlier post, I have switched job and while I initially had to use the Outlook Web Access (OWA) in the version of 2010 to access my mailbox. At this point I want to be fair and say: Microsoft really improved the web client. You can work with it. I prefer that interface over several others (Hotmail/Live). The other option was to use the real Outlook over a terminal server session or using a virtual machine. I tried both (in version 2007 and 2010) too so I have used all variants. The result is: Outlook still completely sucks! I talked to other people who ever used something different than Outlook in their work (e.g. Thunderbird or Notes) and everybody confirms, that Outlook sucks. People often wonder why I have problems with Outlook when "the whole rest of the world" is fine with it. The reason is: Most people don't know anything else and they got used to suffer. But enough, I want to help out everybody who is in the lucky situation that IMAP protocol got activated in their Exchange branded workplace (in my case they activated it just for me :-) - this is cool). I tried several alternatives for directly accessing the Exchange server without success and I could not occupy the internal IT for hours to figure out, what goes wrong. Opening up the IMAP protocol was the simplest and straight-forward-option.

So I can use the loved Thunderbird again!

But opening up the IMAP is only half the way. You also need to get access to the address book. And here I ran against brick walls in the first step:
  1. Trying to open an LDAP address book pointing to the Exchange server failed in getting no connection (neither port 389 nor 3268 worked).
  2. I figured out the AD (Active Directory) server of the Windows world and used that. It connected immediately to port 389, however then had problems loading the contacts. As I know now, it is a matter of filtering to the correct entry set. However, after failing continously during my first attempts I tried
  3. exporting the global address list from within Outlook into ... well ... anything, I was about to even accept any CSV file, however styled. Completely failed in that too - you can export contacts but not the global address list. You can imagine how happy I was...
Fast forward to my final solution which now supports
  • directly using the global address book via LDAP directly from the server or
  • use a local copy (export+import which you need to do manually from time to time to be up-to-date).
How it is done:
  1. Get the Apache Directory Studio or another LDAP browser tool of your choice that supports an LDIF export. In the Apache Studio case, just extract the package and start it (yes, it's that simple, it's a Java application that runs on Linux and Windows). You need this to first test your LDAP access, if you are not sure about the correct criteria.
  2. Now you need to find out where the AD is hosted. In my case I promised not to ask boring questions to IT (they were already nice enough to open up the IMAP just for me), so I had to find out on my own. I simply checked in to the Terminal Server Session and wrote a little batch file (directly going to the console is forbidden in the terminal server session due to security policies) of the content:
    set
    pause

    and just double-clicked it to find the entry "LogonServer", "UserDNSDomain" and "UserDomain".
  3. Now start the Apache Directory Studio and create a new LDAP connection. The connection parameters would be something like:
    hostname=fulldnsmachinename

    (using the information from LogonServer and UserDNSDomain, so e.g. "myserver.mycompany.com").
    Port = 389

    (default LDAP port).
    Logon with UserDomain\yourUserName and your password.
    Click on "Fetch base DNs" to find out the base DN to use - or guess it, it usually is:
    dc=yourCompany,dc=internetsuffixlikecomnetorgetc

    so for example dc=microsoft,dc=com.
  4. Now you would find a lot of stuff browsing through the AD (assuming you have enough read permissions). To find the entries that are displayed in the Outlook address book, you need to filter the information. To do so, create a new search using the base DN above and the following search filter (click on "Filter Editor..." for better formatting):
     (&
    (showInAddressBook=*)
    (mail=*)
    (mailNickname=*)
    (|
      (objectClass=person)
      (objectClass=group)
      (objectClass=groupOfNames)
    )
    )

    Here is the filter again as one-liner - this is how to use it in your Thunderbird:

    (&(showInAddressBook=*)(mail=*)(mailNickname=*)(|(objectClass=person)(objectClass=group)(objectClass=groupOfNames)))

    In the Apache Directory Studio you can now set the option to "Follow referrals manually" or ignore them completely. Leaving it to automatic can produce errors - especially if AD not well configured (in my case loops are generated when automatically following all referrals). Search scope should be the complete subtree. Check the results by executing the search.
  5. Start Thunderbird and create a new IMAP account (if you didn't already) and create a new LDAP address book (Tools-Address book; File-New-LDAP Directory). Enter Hostname, Port, Base DN as in step 3 and in the "Advanced" tab choose subtree and enter the one-liner version of the filter as in step 4.
    Now you have the direct access version. You now could change settings in Thunderbird (Edit-Preferences-Composition-Addressing) or even configure it for a single account (under Composition and Addressing) to use the LDAP directory for autocompletion, but I found that to be annoying because of the slow Exchange server in my particular case (YMMV). Hence I did not do this but pressed F9 in a new mail to show the contacts sidebar. There I switched to the LDAP address book and can now search and choose addresses if they are not already among my collected addresses. This is BTW the same you get, using Outlook - only those addresses, you already used get auto-completed and the others you need to search manually. A second annoyance is that Thunderbird takes a longer time to really disappear from memory when the LDAP search was used during runtime. So I was not really satisfied with that solution.
  6. Just for performance and to have all autocompleted, I wanted to have a local copy of the address book. I found that the Apache Directory Studio offers an LDIF export feature, which is really the best you can get. Even phone numbers and other properties from the LDAP directory finds the way into the imported address book in Thunderbird. Just right-click the search (it's in the tree on the left-hand side) and choose "Export-LDIF" from the context menu within the Studio and in Thunderbird you go to "Tools-Address Books" and choose "Tools-Import..." - done.
Now you have both - full autocompelete and you can actively search the current LDAP at the server for the case new employees joined the train without the need to export-import all the time. However from time-to-time it makes sense to do a re-import just to have the current entries in the local cache. Fortunately the search is saved in the Apache Directory Studio for later reuse. Thanks to the Apache team for this great piece of software!

Oh, BTW: The local download of the LDAP directory did not work for me (it started but never finished - maybe because of the internal loops).

Hope this helps!

Related posts: Ignorance of the different, Popular Ubuntu Desktop myths, Apple worse than Microsoft, Outlook Calendar meetings, Maintaining multiple calendars.

2010-01-29

The dawn after sunset

The announcement of Sun being bought by Oracle last year was a shock for many. Since then for months the situation was quite unsure.

As I already wrote in "Sunlight at the end of the tunnel", I had very good experiences with Sun (and that was not just a single time). It was something completely different than my Experiences with Microsoft.

What I did not emphasize in that post (but in my comments on forums and blogs out there) is that all the products managed by Sun seem to have something in common: They are AWESOME!

For example:
  • Open Office
    I used it for a very long time - even successfully for years even under Windows before switching to Linux. The stability, reliability (if you get externally written documents) and the outstanding PDF export makes it already worth using it!

  • Java
    Java is a very mature programming language and when I had to decide my programmer's future, the top favorites (after longer evaluation period) were Java and .NET (C#/Mono). Beside the fact, that platform independency was a big opportunity and the only way for software development with long-term safety of the investment, I found the libraries of Java much more complete than for .NET and especially because of the coding quite strict conventions very readable. And the libraries, toolset and frameworks available is also way bigger. - But this is not only thanks to Sun - this is thanks to the very large community! I also appreciate that they did not bloat Java with too many language features just because somebody wanted to see feature x or y. So I think it was wise to not develop the Java language core too fast.

  • NetBeans
    The best integrated development environment (IDE) I ever worked with. Although starts a bit too slow in my opinion it is still better compared to my last Windows experiences with Visual Studio .NET. I did exhaustive comparison with Eclipse and although Eclipse startup was a bit faster and refactoring options were more, the rest (stability, visual GUI editing and all those small whistles an IDE usually has) was better in NetBeans or either non-existing in Eclipse without searching hours for a matching Eclipse plugin in a version that was reasonable stable.

  • VirtualBox
    I switched over to VirtualBox first when I already planned my move to Linux and VirtualBox OSE (Open Source Edition) was there in the repository by default. So I built new test machines on VirtualBox rather than on VMWare on my Windows development machine. I noticed that it used less resources but from the features lacked a little behind VMWare in some areas. But it developed fast in the last one or two years and so you get everything you need by now. It has even a very cool seamless mode where somehow the client machine gets merged with the host and it seems to be one environment.

  • MySQL
    I think this was one of the last products that joined Sun, but nevertheless they created a very awesome toolset around MySQL that goes a lot further of what is offered along with Microsoft SQL Server.

There are a lot more products, but the above are those I use often and they are a stable and substantial part of my daily work. So Sun was a great, great company - thanks to the people behind.

Now, as the merge with Oracle is finalized, after watching the first press announcement webcasts from Oracle, I am quite positive again. Although I did not watch them all (connection speed got quite down and I was not really able to watch any more), I found the presenters very motivated and excited about the newly added manpower and product portfolio. They are not going to keep everything (Kenai for instance is going to die), but they seem to know the strengths of Sun quite well. They commited strongly to Java, NetBeans and OpenOffice as well as JavaFX for example.

And also the JavaOne conference is going to stay - just moves from the date to be held together/integrated with Oracle World.

So I hope they will continue in honor of Sun with the awareness of the responsibility for those very large communities behind the products I mentioned.

Larry Ellison said "We're in it to win it"! - I am quite positive that Oracle will do a good job. And people reading my blog (and not only those ;-) ) know that I am very critical looking at every new stuff.

Related post: Sunlight at the end of the tunnel, Popular Java myths, The future of Java.

2009-06-09

The hardware

When thinking of hardware, one of the first things I think about is hard disk capacity. A few weeks ago I could see the first tera-byte HDs available at a discounter in the neighborhood. Although my notebook has "only" a 160 GB HD, I have consumed about 4 hard disks in about a year! Not to tell that Windows didn't warn me in any of those cases...

The HD was always the part in a computer that goes rotten most often - that is usually the weak point in a computer hardware system. But as there is price pressure nowadays on memory manufacturers I fear quality going down for main memory also in the next years...

Lately I was at my parents with my 1 1/2 year old son and he likes very much pushing buttons - so "by accident" he pushed the power button of my very old 486 which I left 1997 there. I wondered why it was still connected to power supply. I could see the machine booting DOS 6.22 and I was expecting a scary noise and immediate HD crash (as manufacturers also say you shouldn't leave a HD too long without using it). - But nothing. Even Windows 3.11 started up. Then I got really curious and started a complete surface check of the 2 HDs - if I remember right a 120 and 420 MB HD - something like this. Result: Not a single bad sector! And I was using the newer disk at least from 1995 to 1997.

I am convinced that with the increase of hardware capacity and performance as well as in the same time reducing the size manufacturers do work hard on the physical limits (as currently known).

Further I lately consume one mouse per year and although the quality of the keyboard is very important thing for me when choosing a notebook, my 3 year old HP notebook now gets problems with the keys and accurracy - even the external HP keyboard.

When I look at current special offers in the neighborhood, usually some keys of the demo machines are already missing or broken. There are only two options: Either those got rotten so easily or people are stealing them because their models at home have the keys broken and people are looking for spare parts.

So what I miss is a little more focus on reliability and quality of the hardware in general!

And when looking for models that fit my needs I find notebooks with reflecting screens (they tell the colors are more brilliant - but reflecting screens are much more annoying then less brilliant colors...), horryful keyboard layouts (nothing for power-keyboard users) and strange combinations of HD size, main memory capacity and other hardware options. Netbooks currently get better, but for my needs too small for daily intensive work. Those are something for people that are permanently on the road or somewhere else where is not very much a working place and they want to look mails or surf the internet just occassionally (IMHO). And last but not least most vendors automatically include a Microsoft Windows preinstalled. For my private life I am not willing to pay that tax - I want a clean peace of hardware.

So when I went a few weeks ago to buy a new private notebook, it was difficult to find a notebook fitting my needs and the only vendor I found that was enough flexible was DELL (finally I got something assembled that was not officially available at their webshop). Although I can't tell about a long time experience right now, the overall quality seems to be better than everything else I have seen lately. - So fortunately it is still possibly to get a reasonable configuration.

But why it must be so difficult? - I think hardware vendors do not have the right to complain about bad business if they do not produce what people really need.

In many cases vendors produce configurations and focus on features, that do not fit the real-world needs of the customers.

Related posts: The operating system, The mobile device, The features, Bronce age of IT, About Dell, Ubuntu compatible hardware, The Dell Latitude 2110 and Ubuntu 10.04.1, Use cases for netbooks, The truth about hardware support.

2009-05-06

Utility libraries

While everybody is thinking of frameworks when it comes to rapid application development (RAD) needs, my experience is (and I used RAD tools in times where nobody was talking about that and I either didn't know that it was RAD ;-) ) that all kind of frameworks draw several borders that limit your flexibility. - Well, if you look at it, the name already says it and I can't avoid thinking of a photo frame - it has a certain size and if your picture doesn't have that size it doesn't fit...

There were application development frameworks like dbase, Magic II and Microsoft jumped onto that train later with Microsoft Access - which now is the most popular tool in that realm. I worked with all those mentioned above and while I found the Magic II was the most effective and efficient framework (back in the late eightees and early ninetees) it was also the most expensive one. The Magic II seems to have evolved further and is now named uniPaaS - I have not tried it yet but from the screens it looks somehow a little familiar to me :-) .

Anyway, while working with those RAD tools in the past I was very fast creating first application versions but sooner or later when it came to particular special customer desires, I was limited by the frameworks and often had to tell the customer that I cannot do it in the desired way. Mostly I found different acceptable solutions that were ok also, but nowadays there are two important changes in IT world here:
  • In former days IT was built of a lot of different isolated applications. Today everything must be highly integrated and plugable.

  • Customers (or CEOs) assume that nowadays "everything" is possible in IT. So when you tell the customer you can't do it, you are out. You must be able to do it (but furtunately you have the consultants to tell the customers or CEOs that what they desire is not the best solution to their problem :-) ).
Both changes make life hard for RAD tools. My experience from the last about 15 years is that there is another - better - approach to increase development speed and still keep being flexible:

Build utility libraries on different levels

What I do mean with this is:
  1. It sounds strange but every programming language lacks of very basic functions needed in nearly every application. - The best example I stumbled upon lately is that there is no one-liner to copy a file in Java. Can't be, you think? - I browsed several hours through the library documentation and searched the internet, without success. But I found several samples of ways to do it (and wondered how many options I have to copy a file...). Finally I wrote two methods with different focus: One method to copy a small file in a single step copying everything into the memory and a second one to copy a large file using a buffer. You need to build a library of very basic methods that you often need and can reuse in whatever type of application you are going to create. Try to have no or very, very few dependencies on that level.

  2. Logically - as many things are already missing on basic levels - when it comes to higher levels, even more is missing. Maybe having those levels served with utility classes would result in a bloated language core. But anyway, you need this stuff - we are talking here about having comprehensive toolboxes with utilities for particular realms that are not necessarily used in every application.
    So Build several specialized libraries that offer utilities for different needs like database access, GUI building, sending/handling email, transferring data over the net and so on.

  3. Having different libraries often results in more effort needed to put everything together. This is a major goal that frameworks try to solve. But if you consider the connection issue right on the beginning of building your libraries you can create your own interface objects that the different libraries on different levels know to handle. An example is to use an array or list of key-value pairs (Map) that you can pass around to different libraries so that you can receive data in such a form from the GUI library (after displaying a dialog for instance) and pass it to the database utility library to have the set of data saved to a table.
    So create interface objects and make them "well known" in all your libraries to easily connect your libraries together.
Especially when building more specialized libraries prefer convention over configuration (of your modules or components).

The big advantage of the utility library approach is that you can put things together from different levels as needed but also do things different where you like it (for instance to improve performance for particular tasks). So you have a tool set but you stay flexible.

Related post: The IDE and the libraries.

2008-12-05

My application set on Windows

For work I am using a notebook with Windows 2003 Server (which I need for developing with several server applications and in combination with several virtual machines running on that host depending on what I do).

In the last years I tried to reduce commercial closed-source products and replace them with others (free and - where possible - open source). Here is the list of free software pieces I use most:
I use others, but these are my most used free applications and tools under Windows.

Related post: Why Linux?.

2008-10-17

The features

To increase the number of items sold companies often try to pack more and more features into their products.

There are two things they often forget during feature-packing:
  • The more complex a system the easier to create confusion and problems.
  • If the focus is not kept main original purpose then the item may loose it and hence people are not interested any more.
I lately stumbled upon a digital photo frame with e-mail-feature included. What? - Can the digital photo frame now also receive viruses? - Do I have to update it for saving it from being hacked? Will somebody be able to use it as a relay e-mail server?

I already run hot, when my mobile phone takes about 30 seconds to send an SMS message - that was sent much faster on my older models. Not enough, I also had memory leaks so I had to disable some feature. Further it is still that about once a week it needs a reboot - just as a Windows Server (although there is no Windows on that phone).

Although I can write e-mails also with this phone it is slow, few memory, tiny screen to view and typing time is also longer than on a normal keyboard. Once I tried to correct a Word document while on the way. I should have waited until I am again in front of a real computer and read a book in the meantime...

The all-in-one product is a myth. Products that can much usually can do everything a little bit but nothing really good.

So I recommend that you
  • carefully think, what are your needs,
  • prioritize your needs and
  • get a few, reliable products or devices that fit your needs.
The features or functionality you need most needs to be covered by a reliable product.

Remember that for complex things usually more maintenance time and work is required. So beware of the "Total cost of Ownership".

Related posts: IT project costs explosion, IT outsourcing, The hardware.