iRails API Tech Demo

July 23rd, 2012

I’ve been wanting to make a travel planning application for a while now, here’s a prototype I made for one of its many features: iRAIL API Tech Demo.

One of the features I wish to make is a rail journey planner which shows the route on a map. This means the user can see what towns the route goes through, so if they want to break their journey up over a couple of days, they can decide where’s a good place to spend the night. Obviously Belgium is such a small country that it’s hard to find a journey that takes more than a few hours, but the original plan was to show this for the whole of Europe. Sadly at time of writing I’m struggling to find a rail timetable API that covers the whole continent.

Big thanks to the iRail team for producing such a good API.

secretcompass_slide

July 18th, 2012

hoizo_slide

July 18th, 2012

“…thank God we met him…he is the best developer I have worked with and much more…”





MSUOTC

July 16th, 2012

While at university I joined the Manchester and Salford Universities Officer Training Corps. The OTC had a website that hadn’t been updated since the turn of the new millennium. The security and functionality of the site was such dire need for improvement that as soon as it was announced that the Commanding Officer wanted a new site I instantly offered a hand.

I volunteered to create the site with the help of another Officer Cadet who created the design while I built the engine. MSUOTC was my first ever use of a PHP framework, which was CodeIgniter.

  • Search Engine Optimisation

    Some members of the university councils didn’t like (and tried to ban) recruitment at freshers fairs, so site needed to become a primary recruitment tool in preparation for this possible eventually, hence more focus shifted towards SEO than with the old site.

  • Security

    The old site had a single password that was given out to members after successful recruitment. This meant no one could be made accountable if the password got leaked, and there was no way of controlling access to individuals. I created a system that automated account creation from the members register.

  • Message Board

    The universal log-in system was also an inconvenience for the user, as they had to enter their name and email address with every post on the message board, of course this feature got abused. Obviously with individual accounts this was no longer an issue. I implemented FCKEditor meaning people could format the text in their posts and add links and images. I also created a polling system.

In Memory

July 16th, 2012

In Memory is an online memorial service. This was my first Django project, and a relatively simple one to begin with.

Like all my other products, it uses HTML5, CSS3 and jQuery. It also features the PayPal and Google Web Fonts APIs.

RNL Media

July 16th, 2012

RNL Media were an unusual case as they didn’t want a website, but tutorials. The client sent specifications for the tutorials he wanted, which I then created, with working annotated examples with highlighted syntax and illustrations.

Review left on studentgems.com (ratings out of 5.0)

Excellent quality of work, fantastic writer and strong technical skill.

Communication 4.0
Quality of Work 5.0
Meeting Deadlines 4.0
Attitude to Work 5.0

Secret Compass

July 16th, 2012

Secret Compass is an adventure travel company, who specialise in pioneering expeditions to places generally perceived to be risky, for example unexplored jungle in Mozambique, or the mountains of Iraq and Afghanistan. As I personally have an interest in this kind of adventure, I felt compelled to help out.

Secret Compass already had a well-made site built in WordPress with a custom theme and dozens of plug-ins. The services I provided include:

  • Search Engine Optimisation

    I conducted keyword analysis for the different tours on offer and home page. I also adjusted some of the HTML in the template to be more search engine-readable

  • New Template Features

    The client wanted some new features adding to the already existing template, for example the media banner at the bottom of the home page. I created it in a way that meant the client could add new links to the banner without further assistance from me.

  • Forms

    The client wanted to allow people to fill in application and booking forms on-line without having to print them off. The details are both saved to a database and also emailed directly to the company.

  • Non-JavaScript Compatibility

    As a by-product of improving the HTML for SEO, the site also became more compatible with JS-disabled browsers.

Hoizo

July 16th, 2012

“What can I say about Hussein? Firstly, thank God we met him. Without his help, patience and fantastic quality of work, the site would never be live. He is always open to chatting through new projects and site developments, giving honest straight forward feedback. He has taken on a number of complicated problems and delivered a quality product every time. He has been available to meet and discuss our requirements, he is the best developer I have worked with and is seen as much more than just a developer, we see him as a key stakeholder in our business.”

Fed up with eBay’s cumulative selling fees, hoizo’s co-founders wanted to create a simple online market place, closer to a virtual car boot sale, rather than auction house. People would pay a fixed fee for the stall, and get every penny they make for a sale would go directly to them.

Client Relationship

Living locally, I was able to meet the clients face-to-face, and consulted technical details in their design. Within two weeks of initial contact I had set up the VPS from scratch and began work on the site.

Throughout the project I regularly met up with the clients to discuss progress and ideas. I also supervised other developers who were introduced to the team to work on specific functions such as the Facebook API. In June 2012, I joined the clients in representing hoizo in a new BBC TV series, specifically to answer any technical questions that were asked.

Technical Prowess

hozio [sic] features a filtered search function, user authentication, and admin panel. I also optimised the product and store pages for search engines. One of hoizo’s user stores came 3rd in Google results for some popular Lego products, underneath Amazon and Toys R Us.

This was the first major project I used the Zend Framework (ZF) for. It’s an advanced PHP framework which utilises the MVC interface and is commonly used for large web applications. The front end features HTML5 and CSS3 to get the most out of latest browser technology and productive efficiency, and jQuery for effective JavaScript interaction. The blog is powered by WordPress.

ZF wasn’t my only first experience with hoizo. I also needed to learn a range of APIs for the project; PayPal Adaptive Payments API was used to allow seamless money transfer between the buyers and sellers without having to be redirected to the PayPal website. hoizo also uses the Facebook API for one-click login, as well as social media sharing features.

Google Maps is a favourite API of mine which I’ve used many times before, so was probably the easiest third-party integration on the site. The by-product was a Google Maps extension for the Zend Framework which I released publicly on GitHub.

What to do?

July 13th, 2012

You’re part-way through creating a product and someone gets in the market before you, but with a somewhat inferior product. Do you take them on, or do you join them?

Since university I had a project idea which over the years has built up in my head until very recently I’ve had the time and expertise to put it into practice. I begin working on a prototype and buy a domain name. For my project I have 5 stages planned, I don’t want to go into details, but here’s the general outline:

  1. The basic product.
  2. Advanced features – tier 1.
  3. Advanced features – tier 2.
  4. Social features.
  5. Marketing Features.

I plan on starting to seek investment as soon as I have the basic product launched, but not to actually get the product profitable until stage 5, which could be at least two years away, depending on what support I get.

The whole time I’ve been preparing to work on my project, I routinely checked to make sure no one was beating me to it. I discovered a lot of sites that remotely danced around my idea, but none that hit it on the head. However, this didn’t stop the occasional anxiety dream.

So as I just started, I begin looking for APIs that’d come in handy, when I discover my worst dreams had come true. A site had beaten me to it, at least, at first glance. As I examined the details, it turned out not to be so bad. So, what do I do about it?

Feature-wise, this rival site probably meets about 75% of what I had in mind for Stage 1, but they’ve already thrown in some marketing features. As for advanced stages, it doesn’t look like they have any plans to expand on the product, although they are asking people for ideas. The most annoying thing in all of this is their interface is pretty much identical to what I had planned.

On the management front, the rival site is built by a company that manages a collection of sites. This means they probably have a well-established team and funding, but on the other hand, it indicates to me that their heart isn’t solely on this project.

This is the dilema: the company is hiring, specifically developers for this rival site, and I’m pretty sure I’d have a strong case for them inviting me into their fold. However, it turns out they’re based in the Czech Republic, and they don’t have a representative in the UK I can chat with.

So, do I carry on for Team GB and compete, do I join forces with my opponent, or give up entirely?

Keep Fighting Join Forces Move On
Pros  Effort = Reward if successful.

Stay in UK.

My product is better.

Building on their success.

Life in another country – adventure!

Cz = Cheaper living costs.

They already have a product.

 ?
Cons  Effort = complete waste of time if failure.

Have to stay in UK.

Living on tuppence in the mean time

My product isn’t finished.

Potential duopoly.

 Company benefits from my ideas and I only get a portion of the rewards.

Cz = Even cheaper salary.

 ?

For now the best I can do is send them an email asking what they have to offer, while keeping my cards close to my chest, and hoping they don’t panic at the sight of a potential rival and pour investment into making it even closer to what I had in mind for my own product.

In the Dark [Dream Diary]

June 12th, 2012

Started off in a crowd of people watching security escorting a figure into a building. The figure was supposedly Bin Laden. He had the right height, but was wrapped head-to-toe in a red cloth, so I could only be suspicious. I was with four other people responsible for security of the building he was being kept in. The building was a fairly modern bungalow, with just a single room for the interior, with a metal cubicle up against one of the walls. The cubicle has solid metal walls with a small gap at the top. This heightened my suspicion of conspiracy, I’d expect to see the top of such a tall person’s head in this gap, though maybe he was just sat down. A feeling of pure evil radiated form the cubicle, meaning I couldn’t bare to study it for long before I’d have to stand outside the building again.

While standing outside, I heard a cry from the inside the building. The female of the group was upset, claiming she’d been raped by the prisoner. I was focussed on making sure the girl was OK and escorted safely out of further harm’s way. As we relieved her and sent her home, a fanatic Islamist approached us, hurriedly, and ran past us into the building, yelling about how Bin Laden must be freed. He some how got hold of a key and ran into the cubicle before we could stop him. One of my assistants leapt up the outside wall of the building, and was half-climbed through a window that overlooked the gap in the cubicle. At the same time, I was behind the cubicle as the fanatic had opened the door. The back of the prisoner’s head was now visible in the gap as it had been started, backed away from the door and was pressed up against the wall. It had curly, black, thinning hair, but the head it was sat on was far too big to be Bin Laden’s. All three of us- myself, the colleague in the window, and the fanatic, setting eyes on the prisoner at the same time, yelled “It’s not Bin Laden!”. I stepped back outside to call security, as my colleague in the window was yelling “It’s not Bin Laden” again, this time over the radio.

As I turned around the enter the building one more time, I could feel the evil radiating from the cubicle was enhanced with an essence of rage. The building was now empty. As I stepped inside, I felt a slash at my throat and my vision went black.