Getting Started with Angular and Accessibility

blindfold

I recently did some preliminary work adding accessibility support to an existing Angular application. At the start of this work I knew very little about website accessibility, and I suspect the evolution of my thinking during the process would be common amongst other developers who have been in the same situation. Specifically:

  1. Initial annoyance at having to do it
  2. Slow progress reworking sections of markup
  3. Growing satisfaction that the app was becoming accessible to a broader audience
  4. The realisation that the codebase itself was actually better off for the process

In this post I’ll talk about the 3 things that I’ve done so far during this journey to an accessible Angular app: accessible icons, keyboard navigation and finally, ARIA support.

Continue reading

Posted in Javascript, Web | Tagged , , , , | Leave a comment

Working With D3.js

d3js

D3.js is a JavaScript library that is used to generate visualisations, usually based on sets of data. I have been using it on a dashboard project for the past month, and wanted to share some of my thoughts and impressions as a new user.

Continue reading

Posted in Javascript, Tools, UI, Web | Leave a comment

Running Geospatial Queries with GeoTools

4331986510_bb69fd7a3c

Geospatial information analysis normally requires pretty complex calculations and transformations between different representation types.  The Google Maps APIs are a great tool because they hide all the complexity of these operations. However when the geospatial information that you need to analyse is not from Google Maps, things get more complicated.

Operations like finding polygons representing geographical places, or finding polygons that intercept other polygons, require a lot of time and intricate code to have any acceptable  solution.

At Shine we are working on a solution for a big telecommunication customer that requires being able to query large geospatial databases without degrading performance.

Continue reading

Posted in Java | Leave a comment

 

Shine excellence recognised as Innovation Finalist in NAB Supplier Awards 2014

NAB 2014 Supplier Awards

Shine Technologies is proud to be acknowledged for excellence as one of three Finalists in the NAB Supplier Awards 2014, Innovation category.  This acknowledgement demonstrates Shine’s commitment to being a partner over being a vendor.

Continue reading

Link | Posted on by | Leave a comment

Shine wins Computerworld Data+ Award!

cw_2014_cwd02_data_shine_technologies-100410219-large.idge

Shine is proud to have been awarded the Computerworld Data+ award for our work with Google BigQuery.  The innovative work is a great example of using great technology to deliver business benefit.  You can see the write up of the award here:

http://www.computerworld.com/article/2598539/shine-technologies.html

Congratulations to the Shiners on the team: Luke, Pablo, Graham and Kon!

Posted in News | Tagged , , , | Leave a comment

Shiner Ben Teese to speak at YOW! Connected on Mobile Web Development

yow-connected

Shine Senior Developer Ben Teese will be speaking at YOW! Connected next week.

Held in Melbourne, Australia on September 8 and 9, YOW! Connected covers both Mobile Development and The Internet of Things.

Ben’s talk topic is ‘The State of the Mobile Web’ and is scheduled for 3:30pm on Tuesday. It’ll include advice about when to go web and when to go native, best practices for mobile web development, and a discussion of hybrid mobile apps.

If you’re attending the conference and run into Ben, be sure to say Hi!

 

Posted in Mobile, News, Web | Leave a comment

Using ‘HugeCollections’ To Manage Big Data

OLYMPUS DIGITAL CAMERA

Introduction

When writing complex software things don’t always go as planned. You implement a new feature that works perfectly well locally and in a test environment, but when your code hits the real world everything falls apart. Sadly, that’s one of the things we all have to deal with as software developers. On a recent project for a major telecommunications client we needed to be able to process more than 20 million records every night. That equated to 5GB of storage and unfortunately the environment where our process was running had up to 4GB of memory.

Processing such a vast amount of data brings a lot of challenges along with it, especially when you also need to combine it with a few more million records that are located in a database. Adding code to retrieve associated information and transform raw data might take an extra few milliseconds per each record. However, when you repeat that operation 20 million times those few milliseconds can easily turn into hours.

So there we were asking ourselves why it was taking so long. Is it an index we forgot to add to the database? A network latency problem? These things can be very hard to pin down.

We needed to think outside the box to get around this one.

Continue reading

Posted in Java