Notifications – I Think You Told Me Already


December 21st, 2011

Didn't you just tell me that?

People use an ever increasing number of applications, services and platforms to communicate or collaborate with each other. Each of these services needs to send out notifications to their users to inform them that certain events have occurred.

An event can be absolutely anything:

  • Comment
  • Status update
  • Task completion
  • Blog post
  • Uploaded picture
  • etc

We have an enormous amount of ways through which we can inform users that one of these actions has occurred i.e Email, Instant Message, Text message, On screen notification, Phone call (automated), RSS, Push notifications etc.

The internet, its users, creators and facilitators should all have enough experience at this stage to understand how to effectively handle notifications. Yet here I am writing a blog post about how much notifications annoy me because they are not done right.

So what is the notification problem?

Companies have a mindset that says “Oh oh oh quick! Something happened. Tell the user every which way you can so that they know!”.

I am going to single out Yammer here as my example – but many big internet companies are guilty of notification overload.

We use Yammer in the office. It is a decent tool for intra-company communication that is more flexible that email while also being quick and easy to use. It is basically Twitter for companies.

You can add messages in Yammer via their website or through their desktop client. If you are running the desktop client when someone posts a message then you’ll see a flash up notification on your desktop outside of the client – completely in your face – cannot miss it. If you then bring the client into focus on the desktop – it’ll have a red box with a number in it (indicating how many posts you’ve missed). Below that will be a big box that you have to click to load the new messages. On top of this you’ll also get a link to click “load new messages” within each thread that has new messages.

If someone has directly replied to a comment of yours – then you’ll also get ANOTHER red box at the top with a number in it (this one representing the replies you’ve missed).

How many notifications or prompts, within the desktop client alone, was that?

Outside of the desktop app – you’ll also receive an email for all comments/messages that are relevant to you. I’m glad they don’t have my mobile phone number.

If you are anything like me, you cant have all of these red boxes and emails screaming at you to be read and cleared so you feel force to give them your attention.

How about some context?

Informing users through every communication mechanism available is clearly not the answer and essentially leads to tired, irked users.

Notifications can be clever. They can ask questions about the users they need to contact and make a decision about the best way to get in touch.

Is the user logged in on the website or the desktop client? Yes – then trust that your notification mechanism will get the message through. If the user is not logged in – then send an email.

Any tricks for the website notifications being noticed?

How about checking if the window has focus? If you are using jQuery you could do this:


$(window).blur(function() {
    // Inform my app that the user
    // is not going to see my notifications
});

$(window).focus(function() {
    // Inform my app that the user will
    // be able to see notifications
});

Don’t blast me with updates. Make me like your service without having to consciously think why.

Tags: ,

Categories: General, Programming

Multiple Safecracker Instances in One Expression Engine Template


June 22nd, 2011

Are you getting heavy with User Generated Content (UGC) ? Using Expression Engine 2 and Safecracker? If so, then you could run into a nasty surprise relatively quickly.

Having only once instance of Safecracker in your EE template is just fine and dandy – everyone is happy. What happens when you add more than one instance of Safecracker is a big let down and one of the reasons I feel let down by Ellislabs decision to bundle Safecracker with EE2.

If you place two or more Safecracker forms on a page you may hit PHP errors or a complete inability for the template to be rendered at all (internal server error etc). The reason for this is that Safecracker messes with some of the internals ($this->EE variables) of Expression Engine with a complete ignorance for anything that might come after it in the template.

In essence, the first instance of Safecracker is being outputted fine. It is the second instance that hits the road block. Here is a quick fix for this issue and it will allow you to place as many Safecracker instances as you like in a template.

Edit this file:

/system/core/expressionengine/third_party/safecracker/libraries/safecracker_lib.php

before line 758 (the foreach)

put this:


foreach($this->EE->cp->js_files as $type => $files) {
     if(!is_array($files)) {
        $files  =       explode(',', $files);
    }

    $this->EE->cp->js_files[$type]  =       $files;
}

Any questions – hit the comments.

Tags: , ,

Categories: Expression Engine, Programming

Affection in Expression Engine Code Base Comments


May 12th, 2011

Bad Comments in Expression Engine

Sometimes it is necessary to delve deep into the heart of a CMS in order to bend it into doing what you want. Mostly that is because nothing ever seems to fulfil all existing requirements.

As a result we developers need to get into the heart of the application to see how things work. I suppose it’s a bit like being a mechanic – all they want to do is take an engine to pieces “just to see how it works“. That is a quote from my brother, a mechanic and all things (de)construction guy.

When we get into the intimate parts of an application’s code base it’s nice to see comments from the developer – indicating what this little section of code is all about. The Expression Engine (EE) developers must have gone through some dark days when programming the Extensions class in EE and decided to take a swipe at it’s users with the following comments:


// There is a possiblity that there will be three extensions for a given
// hook and that two of them will call the same class but different methods
// while the third will have a priority that places it between those two.
// The chance is pretty remote and I cannot think offhand why someone
// would do this, but I have learned that our users and developers are
// a crazy bunch so I should make shite like this work initially and not
// just fix it later.

// However, it makes no sense for a person to call the same class but different
// methods for the same hook at the same priority.  I feel confident in this.
// If someone does do this I will just have to point out the fact that they
// are a complete nutter.

Now, I don’t know about you – but this is quite the rant and not all that useful. While I might not actually ever program something that would fall into the use-case that the developer is referencing here I just don’t see why a professional product needs this kind of crap (the comments) in it.

Have you found any other great Expression Engine code comments that you’d like to share?

Categories: Programming

DietingDiet.com Soft Launch


August 16th, 2010

Dieting Diet has just been soft released to the public. We have high hopes for what this Diet and Weight Loss site can become. It currently allows its users to follow a range of their favourite diets and tracks their progress over time.

Each week a user has to weigh in and complete a milestone towards the completion of their diet. Progress is graphed against expected outcomes and shows if the user is on track to meet their target weight. This allows the user to focus on where they currently are in regards to where they should be at the current stage of their diet.


Head over to Dieting Diet now and signup.

Tags: , , ,

Categories: dietingdiet.com

Disgusting 118 118 UK Mobile Charges


August 15th, 2010
If you are with 02 (the UK mobile network provider) and need a number urgently … DO NOT CALL 118-118!

I used the 118-118 number the other day. The service is prompt – but that is exactly what you’d expect seeing as they charge your a highly disgusting amount for it.

Conversation goes like this:

118-118: Hi, How can I help you?
Me: Can I have the number for XXXXXXX please?
118-118: Certainly Sir. 1 Second please.
(5 seconds later)
118-118: the number is XXXX XXX XXXX. Do you want me to put you through to that number?
Me: Why yes – that’d be great thanks.
…. call forwarded.

I was then on the phone to the person I initially needed to talk to. I spoke with them for about 11mins.

Today I received my phone bill from 02 :-{

Call duration for 118-118 was tallied at 12 minutes and cost £15.319 (and hence rounded up to £15.32).

118-118 keep the call open on their line when they “put you through”. It is an scam beyond belief.

How many people are lazy enough not to lift the yellow pages or the phone directory when they are at home and instead call 118-118 for the number they need? I’d hazard a guess at 3% of the UK population.

How many people need access to numbers when they are out and about, hence using their mobiles? I’d go a lot higher than the initial number.

Where people have a choice (at home) I’m sure that 118-118 has a low cost. Their largest customer base sits squarely in the mobile arena and it is here that they are truly screwing every last penny out of anyone that dares call their service.

Be warned!

Categories: General

Ubuntu – Create a Desktop Shortcut For ScribeFire


August 13th, 2010

Ever get fed up of starting up Firefox just to get at ScribeFire so that you can unleash your next flood of pointless drivel creative masterpiece that will drive millions of page views to your site?

Well then look no further than here.

This is an excellent step-by-step procedure to set ScribeFire up as a desktop shortcut within Prism. Kudos to the writer. I tried to leave a thank you note on his website but the security on his comment form was way to restrictive …. Who has time to login???

So – get down and give me 20 soldier! I’ve just helped to increase your productivity!

Tags: , ,

Categories: General

The Pain Of A Linux Blogger (Ubuntu)


August 12th, 2010

Blogging on Linux (Ubuntu) Sucks!Using a browser to blog feels very restrictive to me – so this may all read as completely irrelevant to you if you do not feel the same way.

Touting myself as a regular blogger would be lies – so I won’t do that – but when I do blog I like the freedom that I get by editing at my leisure offline in a non-browser client.

When I removed Windows Vista from my trusty laptop recently I installed Ubuntu 10.04 and have truly loved it so far. There had to be a down side though – right?

Here is your task:

Go to Google and search for : gnome blog editor

Have a good look through the results and make sure to note down the features.

Glance through the features and scribble out all of the blog editors that do not support image/file uploading. How many are left?

I’m guessing that you are going to find NONE. Very disappointing.

Sure – you’ll bump into loads that will half do the job and must only be used by people who love text only browsers. You’ll get the odd one that does support image uploading like Gnome Blog but go ahead and try using it. You’ll soon find that positioning that image in your blog post is impossible and any kind of text formatting other than the cryptically iconified  (pretty sure iconified is not a word – but you get the idea right ? icons… etc) bold and italics is out of the question.

What to Use

ScribeFireIt deeply saddens me to say this but the only option is ScribeFire. Don’t go thinking that you can use ScribeFire in Chrome though – because that version doesn’t support image uploading either. No – you are stuck with the Firefox version.

In order to make it feel like an independent client, I open up Firefox and then open ScribeFire in a new window – then close down the main Firefox window. Utterly useless approach but it works.

The reason I am saddened in having to use ScribeFire is because the WYSIWYG interface is clunky and doesn’t support half of the standard HTML tags you’d expect – e.g Header tags.

What Does The Future Hold

Not a lot if you go by the suggestions that get created in the Ubuntu brainstorm site, here, you’ll see that there is clearly limited inclination from the Ubuntu programmers to implement something great for the everyday blogger using Gnome. Granted, it should not just be their job to do this – but they own the most popular Linux desktop platform so responsibility has to lay somewhere – right?

Ubuntu needs to nail the Social aspect of the OS and has made good strides with Lucid (10.04) but for me – this is a major black hole in their arsenal when trying to sell their wares to MAC and Windows users.

       … Create a Gnome version of Windows Live Writer and watch ‘em flock around …

Tags: , ,

Categories: General, Linux

Aptana Studio 3 – Beta – SQL Explorer : Could not connect to your database alias


August 4th, 2010

I have been an avid user of Aptana Studio 2 for some time now and have used SQL Explorer within it a lot as well – because lets face it – having an SQL editor within your development environment is extremely productive if you are a web developer.

In order to keep up with the constant motion of life long learning I upgraded Aptana Studio 2 to version 3 Beta.

It’s slick. I like it a lot!

However I did run into an issue where SQL Explorer refused to connect to my remote MySQL server.

The exact error message was:

Could not connect to your database alias; the exact message was:
Cannot connect to Dev/root. Check your URL

This annoyed me for a good long while – even to the point that I was considering rolling back to version 2 of Aptana. It turns out that the reason I could not connect was due to the fact that I did not specify the database name at the end of my connection details.

i.e my connection string was this:
jdbc:mysql://192.168.2.5:3306

But it should have been this:
jdbc:mysql://192.168.2.5:3306/mysql

See the difference? The second string has “/mysql” on the end. In essence “/mysql” could actually be any database contained on the server you are connecting to.

SQL Explorer in Aptana Studio 2 never made the database part of the connection string compulsory. This most probably has more to do with SQL Explorer than Aptana – but the two work in tandem so I cannot rule it out. As I cannot compare version numbers (my old Aptana Studio 2 install has been blown away) – I will never know for sure if this was simply an update to SQL Explorer or some Aptana interference.

It also seems like there is NO ONE out to the interwebs talking about SQL Explorer for Eclipse and Aptana – the reasons for which I cannot explain. I had tried searching for resolutions to this issue before but found very limited references to SQL Explorer.

So, there you have it.

Tags: , , ,

Categories: General, Programming

Facebook Closed The Doors on Page Usernames


July 20th, 2009

So the landgrab came and went, you got your facebook username – didn’t you?

Most did, others didn’t.

I got mine - which is just my name. For some disgusting reason that I’ll never understand, others didn’t choose their names. Instead they grabbed buzzwords, keywords, trademarks and even other peoples names.

One instance of the stupidity that some people went to was for one user to set their username to “default.aspx”.

Yeah, yeah, I get the joke. Ha ha. Its the default page of a .NET web application. Of course only programmers and technology folks are going to get this – so if you hang around with anyone outside of this industry they are going to look at you funny.

It has been said that some people have grabbed the valuable keywords in order to sell the account later – but most people have actually built up a personal account already and then done set their username. What this means is that whomever purchases the account will then have 210 random friends, a tonne of useless and unrelated notes and updates along with numerous pictures of the previous owner on nights out on the tiles.

Effectively you have a mess. Which devalues the keywords dramatically and hence makes buying the account a non-starter.

For those that are not going to sell their accounts – they just thought it would be cool to set their username to something random like “musicnews” when they seem to exhibit no musical interest at all. On top of that, their privacy settings are set to only show the account to friends.

This makes me frown a lot.

The only reason to set your username to musicnews should be for SEO reasons. The keywords are valuable if your contents are musically inclined.

I’m sure, down the line, a lot of people will abandon their accounts and create new ones with their actual name as their username, so that they’d get:

http://www.facebook.com/theiractualname

The fad will fade, they’ll realise that their username is stupid and jump ship. Since Facebook doesn’t allow you to change your username after you set it, they are effectively forcing these people into creating another account. Maybe this makes their stats look good, but it costs them money to store the extra data – so they are getting bitten for no gain.

This in turn leaves valuable usernames dormant. They could have been put to better use on user pages – which are usually places that would actually warrant the keyword attention.

Take MusicReviewZone.com‘s Facebook page, here, as an example:

http://www.facebook.com/pages/Music-Review-Zone/93777063419

I wanted to make this pages username :

http://www.facebook.com/musicnews

… as the keyword value passed through to the domain would re-enforce that my site provides music news. Hence – great SEO. Instead, someone called Roberta Ferguson from Cleveland, with her locked down account has the username. Brilliant value.

When the username landgrab became available in April, pages with less than 1000 fans were excluded. Facebook stated at the time that these pages would be able to set their usernames after June 28th. That date has come and gone yet Facebook is still exluding them from setting their usernames.

So what gives?

Tags: , ,

Categories: My Sites, SEO

You know What Would Be Useful…


July 14th, 2009

…. A WordPress plugin that allowed me to search Google Images for a certain keyword, with image dimensions – if I so desired – and bring me back the results i.e Just the images.

I’d then be able to click on the image I wanted, view it, uploaded it if I wanted and auto magically inserted it into the post that I am writing.

Now you are going to say “Insights” does this. But no. It doesn’t.

Anyone know if one already exists with the functionality I am looking for? Its a real pain having to leave the post editing window to trek off to Google, do the search, upload the file, insert it etc.

Hopefully I wont have to write this myself – but I’m thinking about it.

Tags: , ,

Categories: Wordpress

"Thought leadership is how winners are differentiated in business."