Entries Tagged 'Programming' ↓

Windows notifiation framework

I’m glad that my previous post has attracted comments from the developers of both Snarl and Growl systems as well as others. I wasn’t expecting much agreement by posting such writing in Growl and Snarl users’ forum. They are all bought into the idea of those systems after all.

When I think of Growl and Snarl, I think of a consumer tool. To me they are not programming frameworks like Spring or Hibernate, neither they are tools for computer savvy people like Process Explorer. I see them and I think of my Logitech diNovo keyboard.

My old Microsoft media keyboard had some “media” keys: Play, Stop, Forward and so on. But it was pain to use: They only worked with Windows Media Player until iTunes 6. After iTunes 6 came out I think Microsoft realised there are more media players in the market than WMP. So a driver update later and I starting playing nice with iTunes. But still no WinAmp or others. While ago for reasons not related to the media keys I decided to buy a diNovo keyboard. And it was then when I realised I actually enjoy using the media keys that I had always thought were for non-IT users. Not only did they play nicely with WMP, iTunes and WinAmp, but they work with Spotify too! And for those who don’t know, Spotify is newer than diNovo by far.

Now try doing that with Gmail and Snarl or Thunderbird and GFW. I am not saying it is not possible, but the experience is by far different. Don’t get me wrong, I’m not suggesting GFW and Snarl teams should carry the burden of integration themselves. It is not about doing the work yourself, it is about making it more difficult for developers to do the wrong thing which in turn would make it easier for end users. As it is, the developers have to do the installation and configuration themselves. This makes the final product, non-integrated and inconsistent.

This for me is a good end-user experience. What was the GFW or Snarl equivalent? Well you got your diNovo and you have Spotify. Now you can go and search for a piece of software that connects them, install it spearately, configure it separately, upgrade it separately and so on. And probably every time you upgrade your diNovo driver or Spotify, you’d have to worry if they still are friends.

To me, good software is not equal to good code or even nice UI. For me consumer software is a full experience and I think GFW and Snarl can improve hugely by introducing frameworks and support tools (very similar to the ones used successfully by Firefox) for their developers. At the moment the burden is on the developers although in a consumer market the blame is mostly put on “Growl” or “Snarl” not the particular plugin. If you disagree I suggest you work in an IT support department of a non-software house to appreciate the value of this experience.

I am writing this as a contributing to both tools. Not all contributions have to be in code I’d like to think.

Good luck

Why Growl for Windows and Snarl suck?

Mac users have enjoyed an almost universal support for Growl for years. Almost all good Mac applications support Growl and just use it if it is installed. This makes the whole experience with notifications very pleasant. Windows on the other hand has never had a single an unified experience for user notification. Growl for Windows (and Snarl) is trying to be that. There are some problems with that however:

  • Both Growl and Snarl have been in development/beta for a long time. Growl and Snarl are consumer software and need to be easy to find and install. You don’t really expect everyone to find the best version of a software on SoureForge and install it?
  • There is no single application directory for their plug-ins. No reviews, ranking, bug reports. Nothing. Try finding a Google Wave notifier for Snarl now.
  • The biggest problem with both Growl for Windows and Snarl is that their plugins are stand-alone applications. That is just stupid. I can write an application and use Growl for my notifications if it is installed. But why should I install a separate application if I just want to have Gmail notifications? This means a separate install, separate tray icon, separate “Start with Windows” settings and no unified configuration experience. What’s wrong with Firefox plug-in system. Snarl and Growl plugins don’t have to talk to the host application like an external tool. The external API is for external applications.

Should I start a new open source Growl for Windows replacement?!

Desparate ways for desparate websites

Today one my Google Alerts found 3 instances of new mentions of a website. They are alegedly from different websites written in form of website reviews. Have a look here:

Site number 1

Site number 2

Site number 3

Message Expired error in DotNetOpenAuth

If you are getting a message from DotNetOAuth like this “The message expired at 11/8/2009 4:28:42 PM and it is now 11/9/2009
12:15:40 AM.”, check your server’s date time and time zone. OpenId providers/relays uses UTC to communicate and a wrong clock/time zone can cause this issue.

Discover new music

Her is my new cycle for finding new music/artists:

  • Listen to my recommendations on Last.fm
  • Listen to their back album on Spotify
  • Look them up in Eventful
  • Buy the tickets from See

iContact has a new home

iContact (Google Contacts for Windows desktop) is now available from its new home here.

Staff Scheduling the right way

If you have to support an IT system like production servers of a trading system, then you know exactly how it feels to be on your “support day”. 

Many organizations use spreadsheets to track these days and allocate their staff to be on support. But these spreadsheet based solutions are not very efficient. The spreadsheets are not accieblie online, they have to be maintained manually, the changes are usually not tracked (unless combined with a source control system) and sometimes it become difficult to make sure the support days are dished out fairly.

This is when an online algorithmic scheduling system comes handy: Onyaka is just that. Onyaka is an online staff scheduling system that automatically generates support rotas (rosters) on a rotating and fair basis.

It supports vacations, different skill sets and multiple projects and most importantly allows managers to override its decisions for maximum flexiblity.

It is absolutely free with no limits. Can’t be better than that can it?!

How to find good programmers?

Really liked this one:

http://www.inter-sections.net/2007/11/13/how-to-recognise-a-good-programmer/

Software from hardware vendors

Why is it that all hardware manufacturers (for PC) write the most crappiest software ever? ASUS builds good hardware, but when it comes to software, their website support section is one of the worst and slowest (from here in the UK at least), and this is their BIOS updater: I have no idea why a BIOS updater for a motherboard should look like a spaceship why can’t they just use normal Windows controls like EVERY BODY else? 

ASUS BIOS UpdaterOr which idiot approved the use of a picture of a Mac on a Windows tool to update PC motherboard BIOS? 

But this is not why I’m so pissed off with ASUS. The problem is a software developer uses “funky” graphics for his application as if it is going to be used by 12-year olds, but leaves options like a list of ASUS FTP servers to choose from or PASSIVE/ACTIVE and Proxy connection settings in there. Couldn’t you bloody used a normal blooming HTTP for that? Was it not possible to try PASSIVE and then ACTIVE if that didn’t work and then show a link for a direct download if everything was unsuccessful? Is upgrading a BIOS somthing that people do every afternoon after picking up their kids from school?

Why should I care about which one of your FTP servers to use? Why should I care which FTP connection method I have to choose? Why should it be my problem that a company as big as ASUS can’t sign a contract with a hosting provider so I don’t get “Too many connections, try again later” in a middle of a download? 

Where do they find there “developers”? Which planet they live on? Haven’t you heard of anything called Apple? Oh wait a second, you idiots make Apple laptops in your factories. Open one up before it goes into the box. You might get something into your thick skills by chance.

More on iPhone Push

OK. So in my quest for a good push solution for my contacts and calendars, I signed up for a MobileMe trial account, imported all my contacts from Google to it (export to VCard and import it in Me), and started to export my emails to it as well (using Mail.app on my MacBook via IMAP). But I decided not to go ahead with MobileMe for the following reasons:

  1. It doesn’t support custom domains (like sajadi.co.uk which is mine) at the moment so I have to keep my hosting for this email address and forward it to Me and then setup the outgoing SMTP server to send it from my host or use the Reply-to solution which is even less elegant in my opinion.
  2. Google (Google Apps in my case) does a brilliant job in filtering spam. I hardly get any passed the filters these days. Forwarding from my Google to Me can benefit from filters though.
  3. The search features are not as strong as Google’s. No need for proof I guess!
  4. The interface is still buggy. Not much but not as good as Google’s.
  5. There are loads of tools out there for Google integration: Calendar Synchronises and more. This means I can use my Google calendars with my work Outlook and lots more (like subscribing to iCal feeds,…)

All this means that shelling out £60 for a MobileMe account is not a good idea. Also the sync on Mac and PC is not instant but every 15 minutes (you wonder how they can do it on a mobile device but not a PC or even Mac)

I mentioned earlier that I am a bit skeptical about NuevaSync because it is in beta, but I still gave them a shot and I’m glad to say that they’ve surprised me nicely. The service has worked flawlessly so far, it syncs my contacts with Google seamlessly (including pictures which is very nice) and is quick and responsive. As for the calendar, since I have 5 different calendars in my Google account and NuevaSync displays them in one iPhone calendar I’m still holding out of that service, but they’ve promised to fix this in future.

I wish NeaveSync best of luck and hope Google buys them (if they want the money!)