Blog
Talk to the global leaders in fleet management, vehicle tracking and personal safety
16/02

MiX Mobile Fleet App Released!

by Chris Van Wyk

Now that MiX Telematics has officially released our latest mobile application, MiX Fleet Mobile, we chatted to a developer to dig a little bit deeper into the interesting facets of how this product came to be and what makes it so special.

Chris van Wyk, takes the time to share his thoughts on the development of MiX Fleet Mobile App…

“First of all, I’d like to give a big shout out to the FM-Web team, who completed the project as I had been moved off to another product during the later stages of the development on the project.

The MiX Fleet Mobile App is the mobile offering product based on features from the flagship product  FM-Web, our premiere web-based service for commercial fleet operators that services fleets world-wide.

With this in mind it does not take a lot of imagination to realize that this codebase has reached a substantial level of maturity and as a result has collected its fare share of legacy code.

What you must keep in mind with legacy code though is however best your intentions are, there are always areas within the system, which may be adversely affected by code changes and or additions. Thus, the development team had to approach all changes with precision and support a great deal of testing.

In addition to this, trying to introduce new approaches in development and architecture comes at a cost not everyone is comfortable with and or potentially willing to sink effort into. The approach we wanted to take going forward in terms of supporting the mobile applications on FM-Web was to introduce the mobile API as RESTFul services.

The challenge we faced was which framework to use while taking into consideration that the application stack is Microsoft based and predominantly using C#. Together with this, all existing web services were soap base and implements security and logging features specific to the solution. So if we were to introduce new services, these services would need to fit into the existing constraints of at least the security and logging features.

Having worked on a proof of concept project, introducing Ruby into the organization, the search was on to find a framework that would give us the same or similar benefits of Sinatra and Rack.

Enter NancyFX. The best way to describe NancyFX must be the following description taken from the projects website: “Nancy is a lightweight, low-ceremony, framework for building HTTP based services on .Net and Mono. The goal of the framework is to stay out of the way as much as possible and provide a super-duper-happy-path to all interactions.”

The selling point for me was the amazing balance the guys on the project achieved between the static typed and dynamic object world that exists in both the Microsoft.NET Framework 4 and the latest releases of Mono. Coupled with the implementation of pipelining and pre or post-request hooks snapping the NancyFX framework on top of the FM-Web business logic was as they say, taking “super-duper-happy-path”.

There are a number of things, which I am really excited about in terms of the final outcome of this project. The first is that there are open source projects in existence like NancyFx, which proves that the “we-did-not-build-it”, or it is not from Microsoft, mindset of the average .Net developer to be not entirely accurate. The second is that it is possible to devise simple and elegant solutions hooking into and extending systems sometimes thought of as “legacy” without rebuilding or reinventing the wheel, i.e. reusing security and logging features.

Lastly, and I would venture to say the most important in my opinion, that now having been able to introduce a RESTFul architecture into the FM-Web world and modularly exposing data as required, the possibilities for future feature rich mobile and web development is limitless and we look forward to pushing the boundaries to achieve the best development solutions possible.”
For the full press release visit http://www.mixtelematics.com/news/MiXMobileFleet.

Chris Van Wyk is a Developer at MiX Telematics in Stellenbosch, South Africa. He is currently focused on mobile development (iOS, Android, Windows Phone 7), Hypermedia driven RESTful APIs, Micro Web Frameworks and having fun with code.

Published on February 16th, 2012 in Featured, Mobile, News, Products, Software development, Uncategorized | No Comments »

11/10

The Apple and the Legend: How Steve Jobs has inspired Designers and Developers to Think Different

by Shawn Graaff

“Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do”.  - Steve Jobs, Stanford commencement speech, June 2005.

For those of us that have grown up in the digital age it’s important for us to know the forefathers of technology. There are of course the great minds throughout human history that have also propelled us forward in immeasurable ways; where would we be without Galileo and Socrates? Darwin and Newton? Einstein and Edison? The answer – possibly a very dull and boring world and most certainly one with no lights on.
Across generations and continents, it’s often said that ‘great minds think alike’ – Steve Jobs, much like his innovative predecessors, knew that not only do great minds think alike, they Think Different.

Steve Jobs not only pushed himself and his ventures to the limits of development potential, he tapped into a sphere of technological ingenuity that perhaps could not have been foreseen. He changed the way we think, the way we work, the way we live. Steve Jobs has left a legacy in many the general population’s lives via the mobile and computing devices we use, but he has also made an astounding impact on the fields of Design and Development that his legacy will forever live on in the dawn of the new Digital Age that his ‘Think Different’ mantra has given rise to.

As the co-founder, chairman, and chief executive officer of Apple, co-founder of Pixar Animation studios, a member on the board of directors of the Walt Disney Company, and founder of NeXT, the late Steve Jobs paved many roads in design and development. He was an inspirational and creative powerhouse and with the introduction of everything ‘i’ or ‘mac,’ Developer, Trevor Langeveldt, notes that “Jobs ultimately revolutionised the way we see and interact with the world digitally as well as how we model our user interface and use design principles to better serve the needs of our end-users.”

Wednesday, 5 October 2011, the world lost Steve Jobs the man, but we will never lose his contributions to the way we interact with devices and technology. “MiX Telematics’ Developers and Designers have certainly been influenced by the strides in development innovation made by Apple with Jobs at the helm, especially in terms of User Experience, Mobile App Development, and even Design principles. It’s clear that we all strive more now than ever to Think Different,” notes Charl van Wyk, MiX Telematics UI specialist, who focuses on the fusion of Design and Development.

“Here at MiX Telematics, we care about User Experience and much like Steve Jobs, our developers take their work to heart. Being passionate about what you do is the key to success and we’re proud to say that passion most definitely plays a big part in how we work as a company,” says Product Manager, Tertius Wessels.

It also goes without saying that Steve Jobs’ innovations in the field have influenced all levels of a development team. Terry Buzer, Group Director responsible for Development, feels that “keeping developers motivated and inspired is a key performance objective that MiX Telematics strives to maintain and in so doing, we are able to bring the end user the very best in telematics technology design and quality.”

MiX Telematics Developer, Chris van Wyk, says, “Mobile development and for a large part, software development, are key creative outlets for me. For me to be creative, I truly need to believe in what I’m doing. I believe the natural progression from here forward will be seeing your users experience a ‘Wow, this is great’ moment when using your products.”

Thank you, Steve Jobs, for making us Think Different, reach further, and create with more confidence.

Shawn Graaff - Digital Media, SEO, Social Media Marketing

Shawn Graaff is the Online Content & Social Media Manager for MiX Telematics International. Based in South Africa, Shawn is an American dreaming in digital with a special interest in Mobile for Africa and sustainable living. Follow her tweets about Social Media Marketing, SEO, Content Strategy, and Online Community Management @ShawnGraaff.

Published on October 11th, 2011 in Featured, Mobile, News, Software development | 1 Comment »

24/06

Testing & Quality Assurance

by Charlene

Being passionate about testing and quality in the development process, I spend a lot of time with our QA Manager and have learned so much in the last 6 months.  In any agile world, continuous introspection and improvement is a key aspect that ensures quality is maintained as we learn where we went wrong and how to do better.

This document aims directly at the testers in the team but also important to the developers as well.  Honest answers to these questions on a regular basis will give you an idea of how you are improving.
Read more..
Published on June 24th, 2011 in General, Scrum, Software development | No Comments »

3/06

The story of a themed release backlog

by Sam

I love story maps. I love that they are big and visible. That at one glance you can see what is going to be delivered in the next release. That everyone can see what is coming up next.

It worked really well in the beginning. It assisted our product owner in thinking about what he really wanted and thus empowering him to prioritise and communicate the reasoning behind that easily. Its up on the wall in the team room and everyone can see it easily.

There were some drawbacks though.  As its up on the wall – its hard to move to a meeting room for grooming sessions. That also means the product owner cant use it when hes communicating to customers/stakeholders. Another problem – as the stories get groomed they split up into smaller stories and your story map grows exponentially – and the wall couldn’t be extended… The product owner and myself were the ones updating the board … and I would prefer the team more involved in this. I believe a team that owns a story map with the product owner is the ideal to strive for.

We tried the online story map which was awesome, but as expected keeping the online map and the real wall map in sync quickly became problematic. (Especially as printing out and killing forests is something I’m loathe to do). Here is another online story map tool, that I stumbled upon toolsforagile – also very nice!

A few weeks ago I read this blog post by Roman Pichler and decided to try some out-the-box thinking with regards to our release planning.

I loved the idea of boxing the themes (as opposed to columns on a story board). I also like the product and UI design parts – but would prefer them closer(?) to the theme they belong to. The constraints filled a gap that was missing for me – but again I wanted them closer to where they impacted a story. But this was enough to kick start my imagination.

Read more..

Published on June 3rd, 2011 in Scrum, Software development | No Comments »

11/05

The Sprint Review

by Charlene

What’s the point? – Inspect and adapt

Purpose
To show customers and business partners, executives and stakeholders, as well as other teams, what has been accomplished over the sprint, why we had the sprint in the first place and an insight to where we are going next.
  • Re-iterate the vision or goal of the team
  • Review of the development work:
    The stories that were committed to.
    The stores that were completed
  • The code coverage
    Confirmation of the acceptance criteria for the stories
    Degree of testing performed
  • Key decisions that were made during the sprint that had an effect on or were related to:
    Technical aspects of the stories
    Market or customer change
    Changing priorities of the product backlog
    Unforeseen events constraining the work
  • Demonstration of working features if applicable
  • Late but  not least – briefly show the prioritized list of stories for the next  sprint

Some Golden Rules

Read more..

Published on May 11th, 2011 in Products, Scrum, Software development | No Comments »

23/03

Story Mapping – step by step

by Cara

A story map is a high level view of the application being developed, from a user’s perspective.

Story Mapping forms part of Release Planning, and is an excellent tool for identifying the Minimal Marketable Features (MMF) for the next Release. This is done with the Product Owner, ideally before starting the development of a new product, and then before each additional release.

story mapping

To prepare for the Story Mapping session you should identify beforehand:

  • A Character for each of the system users, eg. Cathy, the customer Fleet Manager and System Administrator.
  • The major activities done by this user, in line with the sections of the system he/she will use (eg. Dashboard, Vehicle Tracking, System Admin) – write these onto large Index Cards
  • Have an idea of what sub-activities each of these major activities includes

Read more..

Published on March 23rd, 2011 in Products, Scrum, Software development | No Comments »

28/02

Retrospective Format – dealing with specific issues

by Charlene
A lot of retrospectives talk around how the team “felt” at certain times etc…  in dealing with teams that consist of people who are more fact driven and would not benefit from those feeling finding sessions but instead more from fact-finding sessions, designing a retrospective needs a bit more thought.  This is one such format which I use, comments welcome!

Part 1

Declaration of the purpose of the meeting:

Reflect on the last sprint.  How did you feel about certain things in the last sprint?

  • What we did well/did not do well
  • What we can do better/improve/transfer to others (i.t.o. skill & knowledge)/encourage others to do
  • What we should continue to do/stop doing/prevent
  • Set goals going forward.

Read more..

Published on February 28th, 2011 in Scrum, Software development | No Comments »

7/02

Why we do reviews and retrospectives?

by Charlene
Charlene follows up last week’s post on the retrospective session by explaining why we do reviews and retrospectives?

Why do we do a review?

  • Assess and recognize the fully completed stories from the last sprint in order to identify and take learnings about the things that added value to the team or to business and we feel should continue doing.
  • Assess and recognize the incomplete stories from the last sprint in order to identify and take learnings about the things that didn’t add value to the team or to business and feel we should stop doing.
  • In presenting only the completed work to the stakeholders we aim to illustrate that we have met the acceptance criteria and delivered business value for those stories.
  • In not presenting the incomplete work to the stakeholders we aim to explain the reasons that we have not met the acceptance criteria and not delivered business value for those stories.
  • For any elements of the product which can be illustrated in a demo, we aim to achieve this as an illustration of having met the acceptance criteria.

Read more..

Published on February 7th, 2011 in Scrum, Software development | 1 Comment »

1/02

The retrospective session

by Charlene
The next swim without armbands will be on Monday, the review and retrospective sessions with my team. After observing two of these so far and having been with my team for one full sprint from Sprint Planning stage and knowing what they have worked on from the beginning, I feel confident that this is the perfect opportunity to take the plunge

So, yesterday I sat with the Senior Scrum Master – or should I rather say with my Scrum Master, and went over some basic meeting rules to follow to run any review and retrospective. She explained a new method being used now in the next lot of sessions she is going to be doing for the other teams. The Product Owner can participate in the retrospective but they must not be allowed to dominate the session, cannot in any way attack the Team and the Scrum Master must interject if the Product Owner over steps the boundaries. The previous two sessions which I observed, followed a different method to the one I will use on Monday, but the same basic guidelines. There I repeated it again without explanation of what these ‘guidelines’ are.

The meetings or sessions follow six basic steps, the activities or methods of following those steps are what vary.
Read more..
Published on February 1st, 2011 in Scrum, Software development | 2 Comments »

24/01

What is Scrum anyway?

by Charlene
There are thousands of definitions and explanations on Scrum and I can (and will) quote some highly respected, well-known authors and mentors, but the same grains will come through on all of the definitions.  In a backlog grooming session which I attended the other day made me think about another way of defining Scrum.

The leader of the meeting, being a very abstract person in terms of approach to any subject, in the space of an hour taught me things that I am pleased to say will serve me well in my career in Scrum.  In that session, Product Owners had brought some stories for “help and advice on” and actually take learnings from the discussion with this fairly gifted mind and go forth and conquer any business requirement thrown their way by the employment of simple guidelines.  Alas, we move the great stones of the pyramids, with all our technology, slow…. even today!

Anyhow, I digress.  Every time a story was read out to us that clearly needed some work, one simple response as it repeated enough times, began to resonate and strike that subconscious high-pitched note in my mind.

Read more..

Published on January 24th, 2011 in Products, Scrum, Software development | No Comments »