Alex Mac

Alexander McRoberts

I am 23 years old from Belfast, Northern Ireland, a Software Developer, Web Developer, Designer, Twitterer, Photographer and Hockey Goalkeeper.

I use PHP, CSS, HTML and JQuery on a daily basis. More often than not tinkering with something in C#, Java, or optimising a MySQL database. I built everything you see before your very eyes from scratch.

I have a First Class Honours in BEng Software Engineering. I've been working freelance for over five years for several large companies. I'm currently working at the University of Ulster as a Research Assistant studying Brain Computer Interfaces and in my spare time I'm participating in Code4Pizza - a group of people involved in using Open Data in Northern Ireland for the social good.

I also play hockey for Lisnagarvey HC.

Vancouver & Alaska
Thursday, 29th July 2010 at 00:16

Well, not quite - but almost.  I'm just back from Vancouver and Alaska about two weeks and I'm still struggling to get back into the way of things. Vancouver is one awesome city, in fact it's joined New York and London as places I want to visit again and again and again. Alaska is a completely amazing landscape too, with snow-capped mountains for hours on end and vast amounts of sea all around (at least, where we were sailing!).

During the trip we got 1/2 mile away from Hubbard Glacier, were 100 yards away from 13 Humpback Whales that were bubble net feeding and saw a pair of Dall's Porpoises bow riding on a whale watching trip, saw 3 bald eagles - 1 of which I shot catching a fish out of the lake, as well as spotting a couple of whales while our cruiseship was sailing.

Alaska truely is a wonderful place to go and visit - and I would highly, highly recommend it. The cruise was immense - I'd never been on one before, so I was a tad apprehensive about spending a week at sea - and the free food 24/7 really helped :D

Vancouver itself is a huge city with so much to do - that we didn't even get everything done that we had planned to do, so we're definitely going to have to go back!!!

Fortunately a while before we went I bought a really great f/2.8 70-200mm Sigma lens for my Canon 350D, but I also took a compact Canon A720 with me for dinner, and places where bringing out a 200mm lens wasn't really appropriate...

I totalled 650 shots over two weeks and out of these I picked out 49 I really wanted people to see. So far I've done post processing on about 20 of these, so I thought I'd upload a couple here. Let me know what you think.

See the full gallery on posterous


2 + 2 = 5?
Monday, 19th July 2010 at 19:46

 

I just got this article from a tweet: 
http://www.engadget.com/2010/07/19/apples-magic-trackpad-gets-fcc-approval/2#c29386823 - detailing Apple's new Magic Trackpad.  The article suggests that it is a Bluetooth Device that has been tested by the FCC.

A couple of weeks ago Crunchgear published an article:
http://www.crunchgear.com/2010/06/23/ios-to-make-its-desktop-debut-with-next-imac-revision/ they mention iOS making its way to iMacs soon.

I can imagine that by starting up the Bluetooth Magic Trackpad, the iMac transforms from OSX to iOS "magically" and the user can control their iMac iOS using the Bluetooth Trackpad. I reckon it's going to have multitouch - remember the touchscreen technology that is in iPhones and iPads, Magic Mouse originated from controlling a desktop computer from a company called Fingerworks:

Youtube: 

Now I might be adding 2 + 2 and getting 5, and I've never blogged a rumour about Apple products before, but for me - it seems like a likely combination.


so i moved...
Wednesday, 16th June 2010 at 00:39

...to posterous from tumblr. Once I get the tumblr posts imported ill
be laughing. There is api support too so nothing much should change.

*Update: That was painless.  Posterous has built in import tools for Tumblr. I had to replace the client side jQuery code querying the tumblr api with server side PHP code to query the posterous api - due to xml security restrictions, but nothing major.


How? Much? The Results
Friday, 11th June 2010 at 20:15

Since I blogged the How? Much? blog post two weeks there has been a good response to the form that I put online. Now on to the number crunching.  I think it’s safe to say that I pretty much underestimated the data that would be produced, so here goes:

Who replied?

There were 17 Designers, 20 Developers and 5 Other (3 Both, 1 Project Manager, and 1 Front End Developer).

How did they charge?

12 charged per hour, 4 per feature, 15 per project and 11 other (a combination of all 3 options, per development iteration, or per day - averaging £325 per day)

What did they charge?

*Since Google Docs forms has a bit of trouble accepting that no answer does not equate to “Other” - I’ve had to manually work through the data. This happens are you can set paths through the forms, which as it turns out is a handy feature - if they would just tweak their summary algorithm we’d be laughing.*

Per Hour

Outside of Other, there was an even split of 2 charging between £10 and £15, 3 charging between £15 and £20 and 3 charging between £25 and £30. The other non-null values as it turned out where at £45, 1 at £50 and 1 at £100. After looking through other responses 1 charged between £17 and £25.

Per Feature

1 charged between £25 and £50, 2 charged between £50 and £100. 1 other charged between £350 and £700.

Per Project

4 charged less than £500, 2 charged between £500 and £1000, charged between £1000 and £2500, 1 charged between £2500 and £5000, charged between £5000 and £7500 and 1 charged £7500 and over.

How were costs factored?

Factors considered were: the scope of the work involved, who the client is (e.g. non-profit), expenses (licenses required), the number of man hours required, is training required, time to complete the project, the size of the project (website), the project type (plain old HTML or Content Management System). Client relationship showed as a factor too - with some charging more for one off work while charging a regular client less. The most frequently raised point was the complexity of the project.

Summary

This is a pretty basic run down of the data held in the spreadsheet on Google Docs. You don’t need an invitation, and you won’t need to email me to request permission to view the document, you can just go right ahead and view it. I’ve shut the form for now, so it won’t be accepting any more responses - but the data will be kept live online and completely free to access for as long as Google Docs is.


Microformats are so un-social...
Thursday, 3rd June 2010 at 07:56

Microformats. You use them a lot and you don’t really realise it a lot of the time, from sending a friends mobile number to another friends using VCards, or downloading that latest appointment to your Calendar using hCalendar.

Wikipedia lists about 16 specific microformats ranging from news to calendar events, from products to resumes (CVs) - as well as several other microformats under development. 

The problem is they’re just so unsocial. You rarely find a directory of vcards - everybody has their own private contact list after all, or hCalendar events - although Google do have the ability to add public calendars into Google Calendar.

But it struck me - is Twitter about to socialise microformats? I’ve been reading tonight about how Twitter is about to start rolling out testing of their annotations that they announced a few months ago. They’ve listed 11 recommended annotations:

 

  • webpage
  • review
  • song
  • movie
  • tvshow
  • book
  • product
  • stock
  • offer
  • topic
  • event

So if you’re going to tweet about a new book, you can add some information about that book, such as the ISBN, the author and the year it was published.

You can see the huge potential benefits for the sellers like Amazon or iTunes where, once you’ve bought a book or an MP3 - you can automatically tweet that information along with an annotation of the item.

For movies - a review system can now be built using annotations. For events - you can now have a social calendar. For offers - you can now tweet discounts with more information than you can fit in 140 characters.

This is just new information or a new way to expand beyond 140 characters - this is a way to add useful metadata allowing the stream to become so much more than it already is. The content and context of a tweet can now be much more easily associated - and the potential for marketers, sellers and audiences to interact with each other just hit “the hockey stick”.

Prepare to watch Twitter expand its horizons much further than they go currently.


How? Much?
Thursday, 27th May 2010 at 08:53

I saw this retweet from Lee Munroe on Twitter yesterday:

“You will lose potential clients because your pricing is too high…But also because it’s too low.”

So I decided to find out whether I was charging too much or not enough for any freelance work that I do. I’ve set up a Google Docs form with just those questions in mind. It ranges between 4 and 6 questions, just multiple choice and free text answers so it only takes 2 minutes to fill in.

There are a few paths that the form can take resulting in a variation on the questioning. The questions have been set to find out how much people charge, and how they charge - per hour, per feature, per project.

So far I’ve had 6 responses in 30 minutes, but I’ll keep retweeting the link and I’ll keep accepting responses for about 2 weeks so I can reach as many people as possible. The results will always be open for review and analysis.

Links:

So if you’re a web designer or developer in Northern Ireland please fill in this form - and as the form states - if you use more than one method of determing your prices fill in the form for each method!


Favours: Don't Pay Back - Pay Forward
Friday, 14th May 2010 at 07:29

How many times have we ever owed someone a favour? Ever seen Pay It Forward? Kevin Spacey as a teacher has a class assignment that Haley Joel Osment brings his own idea to.

Think of an idea to change our world and put it into Action!

Haley Joel Osment comes up with the idea of “Pay It Forward”.  It turns the concept of owing someone a favour, into passing that favour onto someone else.

If someone helps you out, don’t help them back, but help somebody else.

It isn’t a new idea invented by the author of the novel, in fact if the article at Wikipedia is to be believed Benjamin Franklin is the first documented person to start the idea in 1784. There are numerous groups across the world running this initiative. I think we all have the potential to help each other out.

The amount of people and companies that have grown to know each other through the use of Social Media - Facebook, Twitter, LinkedIn is phenomenal and provides us all with such a massive platform of support that would have been unthinkable even 5 years ago.

This platform of support sees tidbits of knowledge go from one business and add value to another business - and they thank each other by returning the favour. But imagine if they passed on this favour.  It has the potential to build up to something massive.  It should become infectious, it shouldn’t just build up two companies - it should eventually go on to build up every company that wants to get involved.

Reach out and help other people. Expect nothing in return - except their willingness to go out and help someone else. Of course - it’s a utopian idea, but what’s the harm in trying something so beneficial?

So to summarise the concept of paying it forward:

I’ll not be so droll as to show all the maths but if I help 3 people, and they help 3 people…after 9 iterations 19,683 people will have benefited. After 13 iterations the pretty much most of the population of Northern Ireland would be affected (1,594,323 people) - how awesome is that!?

In summary:

  • Help out 3 people
  • Presuming they say thanks - just tell them to pay it forward
  • It’s probably likely you’ll need to explain the concept

Modesty is all part of the game but I think to get the ball rolling if you want to get involved and start your own chain maybe sending out a message on Facebook or Twitter along the lines of “If you need a hand, let me know, consider it a favour to pass on to someone else #pif”

Let’s get #pif trending. Go. Help. Now!


Argh! I had to think!
Tuesday, 11th May 2010 at 08:02

I started reading Steve Krug’s “Don’t Make Me Think” book at the weekend, and so far I’m about halfway through. In the first chapter, on pages 15 and 16 Steve mentions about how Book Store e-commerce sites handled search for books.

The examples he gives are ones I have frequently come across, where the user has to tell the search engine whether the search term they’ve entered is a Title, an Author or a Keyword.

This forces the user to think too much, and as I’m doing a bit of work tidying up one of the sites I’ve developed - Pinkerton Murray, I realise there is one field in the registration form which can often cause confusion.

Phone numbers. In particular Mobile Phone numbers. This is particular to a site which uses Mobile Phone numbers to contact registered users about the latest properties which have been added.

In the UK mobile numbers can be reached by the following combinations:

  • 07123456789
  • 00447123456789
  • +447123456789

(there may be more formats I’ve missed)

The API that the site uses for sending SMS messages is fairly particular in the format it needs the numbers to be sent in:

  • 447123456789

Currently I have the site suggesting to users that their number should be in the format similar to that above but I’m not convinced its working very well. So with the need to capture the mobile phone number in the right format from the user I’ve decided I’m going to implement the following plan in the next couple of days.

  1. I’m going to let the user enter their mobile number in the form warts and all . 
  2. I’m going to run a Regex on their input to see what they’ve entered.
  3. I’ll convert their input into the format I need for the SMS API to be happy.

Now my only concern is whether to do this “once” - i.e. when the user registers their account or updates their mobile number, or whether to store their number warts and all (parsing it through an SQL injection checker when the number is entered or changed by the user) and to run this regex every time.

If I use the latter method the user won’t freak out so much at seeing their number change, but there’ll be a small performance hit and formatting all the numbers every time an SMS message is to be sent if I use the former method.

Thoughts via Twitter (@webtwozero) until Tumblr enables comments!


Question Everything
Wednesday, 21st April 2010 at 07:25

Why?

I attended Refresh Belfast last night with about 50 other people. Rory O’Conor and Anita Murphy of the Creativity Hub, and of Rory’s Story Cubes fame were hosting the evening entitled “The Little Red Hen Approach”.

The slides from the evening will be online shortly, and when they are up I’ll update the post to include links to the slidedeck.

Something Anita said really struck a chord with me - in terms of work, projects and generally everything I do.

Question Everything

Anita continued - “It’s something every child does, every 2 year old will always question ‘Why’”.  It’s a thing I don’t think enough people do, perhaps as we grow up we become accepting of certain things and run with them, for fear of sticking out.

Some people have a fear that by questioning everything you will look like an upstart, that you will look like someone there to disrupt the normal, or worse - they may feel that by asking questions they will look stupid.

Someone once said:

There’s no such thing as a stupid question

So question everything - use the 5WH Acronym - question the Who, the What, the Where, the When, the Why, and the How. But do it wisely.

Use it in circumstances where people come up with blockers. Ask them Who (is causing the block), What (is causing the block), Where (is the block happening), When (is the block occuring), Why (is the block existing) or How (is the block blocking progress).


Project 'K' - HTML5 Progress
Thursday, 15th April 2010 at 09:04

Well after the whole “debacle” of Apple 3.3.1-Gate (everything truly out there gets a -gate suffix these days) its time for a bit of a status update microblog post on how I’m getting on.

Truth be told I haven’t done any solid work on Project ‘K’ of late, due to a couple of personal reasons, but I digress.

I’ve found a couple of open source examples and tutorials covering roughly what I need. Combined they’ll cover what I need, but its a case of stripping everything back to the basics and piecing together exactly what I need.

I do apologise for keeping you all on tenterhooks here with what exactly it is that I’m doing in HTML5 - and it does sound preposterous that I’m talking about HTML development…it all sounds so Windows ‘95!

Anyhow I’m in the process of getting the code back to basics from tutorials and stripping out all the unnecessary bits and pieces.

One major thing I’ve spotted with HTML5 so far (at least the element I’m working on [which I promise I’ll reveal later!]) is the lack of security.  This is most likely something lacking in the tutorials, but I think I’ll include some type of encoding at the very least to slow down any would be script kiddies. Full Blown Encryption won’t be necessary, due to the nature of the project, and the environment in which this element will be placed, but that’s not to say I’m taking security lightly.

I shall proceed with caution!


Project 'K' - HTML5 or Flex?
Friday, 9th April 2010 at 21:21

It appears Apple has answered my question for me.  I’ve now stopped coding the “core feature” that I was working on for the primary reason that Apple has banned programs compiled from CS5.

Let’s be clear, the primary reason behind Apple’s move was to get a pretty big one-up on Adobe - who quite frankly have screwed the web over for the past decade at the very least -by removing the one feature that Adobe have touted in recent months that would drive up purchases of their latest CS5 suite.

I was coding in Flex with the express thoughts, that it could then be compiled into a native iPhone app using CS5 when it was released.

Since this has now effectively been banned (in the Beta T&C anyway), I’ve decided that I’ll start again from scratch in HTML5.

I’ve researched the possibilities with HTML5 and it looks achievable - I’ve seen other amazing examples in HTML5, so I know what is possible, and since I only need a fraction of what’s in these examples it shouldn’t take me too long at all.

My only problem is that HTML5 isn’t too widely supported, especially by older browsers - so I think that’ll be where most of the compatibility issues will arise - but only time will tell.

Thankfully this happened at such an early stage in my app’s life cycle that I can easily adapt to the conditions around me.  I’d have hated for this to have happened closer to launch - but I’d like to think that all things being equal I’d still have made the jump.


I'm making Project 'K' Get Real
Thursday, 8th April 2010 at 01:31

Getting Real is a book by 37signals the design company behind the highly successful Basecamp, Campfire and Highrise.

In the book there are a huge amount of hints and tips that the company has employed and are willing to share.

Build Less - Underdo your competition

Conventional wisdom says that to beat your competitors you need to one-up them. If they have four features, you need five (or 15, or 25). If they’re spending x, you need to spend xx. If they have 20, you need 30.

Instead of one-upping, try one-downing. Instead of outdoing, try underdoing.

The primary function of Project ‘K’ had - before I finished reading the book - over 20 features on paper with about 5 of those actually working. This has now been reduced to 6 features on paper. Yes 6, as in 30% of the original total number of features, as in a 70% reduction.  The overall increase in the quality of the code has been tremendous - as I’ve not had to worry about having such a daunting amount of code to write.

I should perhaps note the reasons behind the reduction in features. This was not a cull due to lack of funding (I’m doing it in my own time). This was not to reduce my workload.

One thing I’m insanely passionate about is User Experience. By stripping away 70% of the features that I had second thoughts about, the software should be simpler, easier to use and shouldn’t require any much effort to learn to use.

Once the core feature is up and ready I’ll most likely let it loose on a few victims volunteers, but I’ll post when it’s ready!


iPhone Killers
Wednesday, 7th April 2010 at 20:43

I’m currently reading Marc Benioff’s book: Behind the Cloud: The Untold Story of How salesforce.com Went from Idea to Billion-Dollar Company and Revolutionized an Industry.

Marc makes an interesting point about positioning yourself in your industry as the leader, or the alternative to the leader.

I’ve just got my hands on a HTC Hero that runs Android.  I’m pretty sure Marc’s thinking applies to phones too, sure the iPhone is the leader, but is Android positioning itself against just the iPhone?

With its Linux platform and the talk of coming out in Tablet form (by the way isn’t it amazing that these companies all come up with similar ideas around the same time) is Android positioned against the iPhone, or against Apple?

As an aside I like the Android platform, and I’m surprised by the amount of decent apps out there for it, but I’m an iPod touch owner, and a side by side comparison of the two has the iPod touch as the clear winner on the UX.  Not all apps are equal in the land of Android - and I think this is as much down to the fragmentation of the hardware as the software.

The Android platform has too many form factors to deal with in my opinion, some phones have a “menu” button, some have a back button, and some have many more. This leads to developers writing apps that work best on their phone, while other phones suffer due to a lack of similarity in form factor.  Another gripe I have with some apps so far in their UX is that some menu’s are hidden behind the “menu” button, which sounds intuitive, until you look at the context of the apps…


Be Inspired
Wednesday, 31st March 2010 at 08:08

As I develop Project ‘K’ both on paper and in code I’m continually being inspired by other web applications. This doesn’t mean I’m ripping them off, rather I’m looking at how they’ve achieved great usability and user experience by ordering their forms and structuring their site.

It’s a pretty common occurrence to steal other people’s ideas, heck Microsoft did it to Apple when they “stole” the GUI way back when (it was later thrown out of court) and ”they” say imitation is the most sincere form of flattery - but downright cloning is out of the question - how can you create a respectable brand and image for a project that just reeks of other people’s work?

That’s where I think the distinction needs to be made.  It’s ok adapting other people’s ideas and work - provided you don’t make claims that the work is all your own, and it doesn’t look exactly the same.

To keep myself right I’ll be posting sites I’ve found inspirational, and detailing exactly what I found to be so great about them. And since I’ll tag these posts as “Inspirational”, it appears my site will have to be adjusted to show tags now too…


Jason Putorti: How Mint.com Acquired 1.5M+ Users
Friday, 26th March 2010 at 20:26

http://jasonputorti.com/post/472866002/how-mint-com-acquired-1-5m-users

Sometimes you just see a post that tells you what you need to do if you want to get big. This seems to be one of those posts.  It’s a very good read, and extremely informative.


Project 'K'
Tuesday, 23rd March 2010 at 21:56

Around July 2008 I had a pretty awesome idea. So good in fact that I registered several domain names such as the .com that would eventually serve as the holding place for Project ‘K’. Final Year at University got in the road of me coding anything at all, but now I’m working 9-5 I have some time off in the evenings to help me kickstart the idea.

Since the idea first came to fruition I’ve generated plans, ideas, strategies, features, sales tactics - the works. I’ve even got a private wiki setup to hold all my thoughts in one place since I had so much to comprehend.

At the minute I’m just getting started with coding, but I’ll keep posting as to the progress of Project ‘K’. Some local people have heard about it, and given me bits and pieces of advice - all of which I’ve taken on board and added to the plans.

I’m not ready to give any more details - but it should be ready for early release around the start of summer (not the one we’ve just had as of two weeks ago in Northern Ireland, more likely the one starting in June when we’ll be blasted with rays of sunshine making up for the coldest winter in 30 years).

The project will be be based on a release early and often schedule, and I’ll be looking for early adopters to bug hunt, suggest ideas and improvements. I might take an idea from Decisions for Heroes to incorporate a subtle feature allowing users to suggest improvements to each page.

What I’m making is a niche tool, but what I can say is that it’ll be integrated with Facebook, and it will partially use Flex (Flash) to begin with, with a HTML5 version being planned for further down the road.

Hopefully by this time next week progress report number one will read: “Stage 1.1 Done” - it’s currently Pending Completion. I’m not even sure as to how many stages and substages there are, and any progress blog posts will be numbered for the purpose of making me feel like its done.

I’ll be using Unit Testing as I go, and for those interested - at the minute I’m working inside the 1.2.6 CakePHP framework under PHP5 with a MySQL database, and Flex Builder 4.

So now that Project ‘K’ is out there to read about…I’ll get cracking on coding.


Ideas
Wednesday, 17th March 2010 at 00:00

*apologies for the stretching of the video over the tab width - i’ll get this fixed soon*

I was listening to Radio 1 last night just after 9pm about the presenter making a fan video for a song.  It covered how fan videos and official videos could turn viral and prove successful for the band, the song and indeed the video producer.

They interviewed the creator of the “Daft Hands” video, as well as the lead singer from OK Go Damian Kulash. Damian basically explained the thinking behind the videos Grammy Award winning “Here It Goes Again” where the band members used treadmills and “This Too Shall Pass” which involved 4 months of effort to produce a machine that worked in time to their song. They’ve since gone independent and have released a new version of the video and you can read about that in this open and long winded letter from the band.

His main thought was:

If you get yourself a directors chair and try to get your friends to work for you for free you are definitely going to piss off a lot of people.

He also had some top tips for generating ideas:

  • Keep it simple
  • Give yourself very strict creative guidelines, creativity will come out when you have restrictions to fight against. No Rules = No Problems to overcome.
  • The attitude you bring to [the project] is the attitude everybody will bring to it.
We never have any money to make these videos…and we do them because we love doing them, because its a lot of fun and any project you start that way you can basically have a great time doing.

I think that this pretty much applies to anything creative whether it be making a video, doing a photo shoot, making a web application or web site, or anything that involves collaboration. Follow Damian’s points - keep it simple, give yourself restrictions, bring awesome attitude, and have fun!

Daft Hands

OK Go - This Too Shall Pass - Official

OK Go - This Too Shall Pass from OK Go on Vimeo.


Notes To Self and others...
Monday, 15th March 2010 at 23:59

I’ve decided recently to attempt to get back into blogging, but I couldn’t justify a full blogging install like Wordpress or Livejournal since, when I did blog aeons ago it was extremely seldom and extremely mundane contents.

So having been inspired by reading other blogs from people in NI I’ve decided to get back into the game, as it were.

So my tumblr blog (if that’s the correct name for it) will be displayed as a small appendage on my site: http://www.alexmcroberts.co.uk - which I’ve used so far as a pointer to ways to find me online.  You’ll find details on how to find me on the social networks I’m on, as well as my email address and my skills. You’ll find contacting me on Twitter the easiest though, so you might want to try that first

I’ll be posting some posts on topics I’m engrossed in, such as #code4pizza, code development, and Project ‘K’ - my secret side project that I’m hoping to get off the ground before the summer comes rushing in.

That’s it for now, expect a post once a week or there abouts - cheers!


I'm pretty awesome at these:

  • PHP
  • MySQL
  • JavaScript
  • CSS
  • Java
  • C#
  • Project Management Techniques

I've implemented these types of Web Applications:

  • SMS Systems
  • Application Programming Interfaces (APIs)
  • Newsletter Email Facilities
  • Content Management
  • File Management
  • User Management
  • E-Commerce

You can stalk catch me at the following places