Friday, 23 December 2016

AngularJS style switcher

It's often the case that you want to provide more than one CSS stylesheet for your app or website. You can do this by including a style switching function in your app. Here's how to do it in AngularJS.

Monday, 19 December 2016

Useful websites for developers

There are some amazing learning resources on the web, in every area of development, design, mobile, responsive, UX, and more. Here are some of my favourites.

Friday, 16 December 2016

Useful tools for developers

There are some amazing tools available for developers on the web, from pretty-printing your code to validating it, from colour palettes for visual impairments to tools for testing APIs. Here are some of my favourites.

Tuesday, 13 December 2016

Curvy wrapping with CSS Shapes

I thought it was pretty impressive when CSS styles were developed that let you make a shape or a photo with curves on the corners, or a circle.

Eric Meyer discusses how to implement and use CSS Shapes in a responsive layout over at A List Apart, in an article entitled A Redesign with CSS Shapes.

Now there's a feature that lets you wrap the text around your circular object. It's called CSS Shapes. At the moment it is only supported by WebKit browsers, but you can still display your text using old-style wrapping in non-WebKit browsers.

Monday, 12 December 2016

Inclusive Design

The season of advent is well underway over at 24 ways, with a daily article on an aspect of web development. One title that leaped out at me was What the heck is Inclusive Design? by Heydon Pickering, who is the accessibility editor for Smashing Magazine and works with The Paciello Group as an accessibility and UX consultant. He is the author of a book on Inclusive Design Patterns which should probably be on your wish list.

How to embed a Google Doc in Blogger

So you have a Google document that you want to display on your Blogger blog or website.

It's actually fairly simple to embed Google Documents in a Blogger blogpost or page.

Friday, 9 December 2016

How to embed a Google Presentation in Blogger

So you have a Google presentation that you want to display on your Blogger blog or website.

It's actually fairly simple to embed Google Slides in a Blogger blogpost or page.

Wednesday, 7 December 2016

Using FontAwesome in Moodle

FontAwesome is a nifty icon set that you can use anywhere that you can edit HTML.

For example, you can use it in Moodle to display a symbol.

Tuesday, 6 December 2016

Submit a post request from an Angular modal and refresh the main page

I have a main controller with some data (fetched by $http.get), and when you click on one item, it pops up a modal with more details.

In my modal, there is a button to modify the data (sent by $ which then closes the modal and needs to tell the parent controller to refresh the data, because it has been modified by the event in the modal.

Monday, 5 December 2016

Getting multiple Angular modals to work with http response data

Your app will undoubtedly have more than one modal (pop-up div), and it can be hard to see how to get more than one of them working in Angular. Here's a step-by-step guide to how to do it.

Friday, 2 December 2016

Angular with a Moodle webservice

Getting Angular to work with a Moodle webservice

I am building an application to get Json data from a Moodle web service, and using AngularJs to display the data in the app. There are multiple functions on the Moodle webservice, so I need multiple controllers in the Angular app.

I am using Visual Studio and Cordova to write the app.

I have come up with a solution for getting the token from Moodle, storing it using jstorage, and displaying it on the various panes of the single-page mobile app.

Thursday, 1 December 2016

Authenticate with Moodle from a mobile app

My mobile app needs to log in to Moodle to get Json data from a webservice and display it using Angular.

In order to do that, I need to pass in a username and password and get a Moodle webservice token back, so my app doesn't need to log in again (at least until the token expires).

Wednesday, 30 November 2016


Sometimes prototyping can seem like a big investment of time, but I find it is always worth it.

In this article on User Experience Prototyping, Paul Boag, who has been in the field of user experience for over a decade, writes about the benefits of prototyping.
When most people think of prototyping they are thinking about mocking up a user interface. There is no doubt that prototyping can help in this area. Organisations use prototyping to define and test experiences using all kinds of interfaces. Interfaces from mobile apps to enterprise systems.

Tuesday, 29 November 2016

Agile and Scrum

Agile development is an iterative and flexible process. Rather than specifying all the requirements of a project up-front and adhering to them throughout the development process (as happens in waterfall development), the requirements are listed as items in a product backlog. Specifiying software in this flexible and responsive way is better for customers and better for users.

Monday, 28 November 2016


A persona describes one category of the target users of your system as a fictitious but realistic person with goals and needs.

It is useful because it summarises the user, their role, their skills and aptitudes, their preferences, and their goals. Personas give rise to user stories, and keep the user stories focused on the goals of real users.

Friday, 25 November 2016

Hallway usability testing

Many people complain that usability testing is expensive and time-consuming.

However, there is a very quick and very cheap approach to usability testing that any developer can adopt.

It's called 'hallway usability testing' because you grab someone from the corridor and ask them to test your software feature that you've just developed.

Thursday, 24 November 2016

Behaviour-driven development

Behaviour-driven development (BDD) has emerged from the practice of test-driven development (TDD).

Whereas TDD focused on making sure that code worked and caught exceptions gracefully, BDD focuses on making sure that the functionality delivers business value and satisfaction to users.

Wednesday, 23 November 2016

How to write a user story

User stories are part of the Agile process. Agile development is iterative and broken down into sprints. Each sprint delivers “shippable product” – something that can actually be used by users, and which has business value.

A user story looks like this:
“as a [role], I want to do [task], so that I can achieve [goal]”.

Tuesday, 22 November 2016

Writing style

An easy-to-read prose style is the first thing you need to get people to read your posts. Here are a few pointers:
  • Say what you mean
  • Use an appropriate tone
  • Call a spade a spade – don’t say ‘utilise’ when you mean ‘use’
  • Vary your sentence length – too many short sentences is ‘choppy’; too many long sentences is boring.
  • Avoid passive voice, e.g. ‘the business was lost by the inability of the sales team to convince the buyer of the uniqueness of their product’ (replace with ‘the sales team lost the business because they couldn’t convince the buyer that their product was unique’)
  • Avoid clich├ęs and stock phrases, e.g. France bit off more than it could chew in Vietnam, and America’s intervention was too little, too late.
  • Avoid too many qualifiers, e.g. Most people usually think that many puppies are generally pretty cute.
  • Avoid too many prepositional phrases, e.g. “the organisational culture of [your organisation]” could be replaced with “the way [your organisation] is organised”.
  • Avoid too many exclamation marks! They’re ever so annoying! Especially when you use too many of them! See what I mean?!?

Further reading

Monday, 21 November 2016

Designing for emotional response

Design can elicit many different emotions. Many designers aim for surprise and delight, but those are not the only emotions you might want to elicit.

If you are designing a site or an app for a charity or a campaign group, you might want to elicit compassion and a willingness to act - whether that is volunteering or donating. You might even want to elicit anger.

Friday, 18 November 2016

Big Data

"Big data is a term for data sets that are so large or complex that traditional data processing applications are inadequate to deal with them. Challenges include analysis, capture, data curation, search, sharing, storage, transfer, visualization, querying, updating and information privacy. The term 'big data' often refers simply to the use of predictive analytics, user behavior analytics, or certain other advanced data analytics methods that extract value from data, and seldom to a particular size of data set."

Wednesday, 16 November 2016

Search engines and the 'filter bubble' effect

There has been a lot of discussion over the last few days about social media filter bubbles and even search engines tailoring your search results to the kind of things you have previously clicked on, and therefore never showing you articles about the opposite point of view.

Friday, 11 November 2016

Plain English

A succinct and simple writing style can make communication much more effective. Here are some tips for writing in Plain English.