M O D E R N S O F T W A R E

Similar documents
How to use the Cloud

Student Quick Start Guide

Reputation Management for Local Businesses: Protect Your Image

You need to be assigned and logged in to the system by the Records Management Service in order to use it.

IBM Web Conferencing: Troubleshooting Guide

The Smartest Way to Get Meetings Done

Video Marketing for Attorneys

UNIT ASSESSMENT SYSTEM DOCUMENTATION FACULTY

Video Marketing for Attorneys

GrandView. Web Client Software Requirements and Recommendations. Revision

YOUR FIRST WEBSITE 5 EASY STEPS WEBSITE QUICKSTART

Don t Leak Leads. Insert Copy Here. How To Identify Leaks & Get More Customers. Insert Copy Here

Usability Test Script

The Copywriter s Guide to Analytics

SAP Cloud Identity Service Document Version: SAP Cloud Identity Service

Module 4: Identifying and Researching Career Options Transcript

Still unable to log in? one of the following people for assistance and provide your name and site.

ONLINE ACCOUNTABILITY FOR EVERY DEVICE. Quick Reference Guide V1.0

to get more customers online

+ Social = Success

How do I start a meeting?

How to Choose the Right Web Design Company for Your Nonprofit

USM Web Content Management System

Beyond Business File Sharing

Institute of Certified Bookkeepers Software Review. Bright Pay the future s bright, the future s BrightPay?

Step One Create a featured listing landing page on your website. Step Two Name your photos of the listing with the full property address

Website Design Checklist

STUDENT ADMINISTRATION TRAINING GUIDE SETTING YOUR BROWSER FOR PEOPLESOFT DOWNLOADS

How we design & build websites. Menu 2 Menu 3 Menu 4 Menu 5. Home Menu 1. Item 1 Item 2 Item 3 Item 4. bob. design & marketing

Your FREE Report The Ultimate Guide To SEO Success In 2015 How To Maximise Your Leads, Sales And Profits Via Google

All You Need to Know about KiwiSchools

Today s mobile ecosystem means shared responsibility

QUESTIONS YOU MUST ASK BEFORE HIRING A WEB DEVELOPMENT COMPANY

How to Complete the Online Course Work for an Entry Level Clinic

How to Get Your Website on the Internet: Web Hosting Basics

Hello. If you have any questions that aren t addressed here, feel free to contact our support staff.

version2.1 NetXtreme Technology

Using the owncloud Android App

STABLE & SECURE BANK lab writeup. Page 1 of 21

Getting Started with Dynamic Web Sites

mystanwell.com Installing Citrix Client Software Information and Business Systems

How To Register For Bethel Bible Institute Online Coursework

Online Dating Marketing Guide

OVERVIEW OF INTERNET MARKETING

How to make online video work for your business

Blackboard: Help & Guidance

A Guide to using egas Lead Applicant

Buyer s Guide to Hiring A Mobile Agency

Yammer Training Guide Facilitator s Notes

Blackhawk Online Banking Frequently Asked Questions Get to know a little more about Blackhawk s new online banking service.

Pinterest Beginner s Guide for Attorneys

TURN VISITORS INTO LEADS

Gladinet Cloud Access Solution Simple, Secure Access to Online Storage

Web Conferencing Version 8.3 Troubleshooting Guide

Install and End User Reference Guide for Direct Access to Citrix Applications

Generating the APNs certificate is a three-step process: Download the AirWatch-signed CSR from the AirWatch Admin Console.

Jenesis Software - Podcast Episode 3

Front-End Performance Testing and Optimization

The Social Accelerator Setup Guide

Selecting an ISP. 45% of people in the EU would change ISP if necessary to get a faster Internet connection. (Source: EC)

The Definitive Guide to. Video SEO. i5 web works Phone: Web:

SURPASS HOSTING SERVICE GETTING STARTED AND OPERATIONS GUIDE

How an Innovative Marketing Strategy Can Pave the Way to New Customers

Unified Meeting 5 User guide for MAC

Software Product Information. Faba5 Website

FREQUENTLY ASKED QUESTIONS TOPIC LIST INSTRUCTIONS FOLLOW BELOW

THINGS YOU NEED IN DOCUMENT MANAGEMENT SOFTWARE. Presented By:

NITB Guide to Being Online

Know how to publish, integrate and share using social media

Thank you so much for having me. I m really excited to be here today.

How to publish your PowerPoint presentation online

Module 2 Cloud Computing

PISA 2015 MS Online School Questionnaire: User s Manual

Help Your Book to Sell through Social Media

User Guide FOR TOSHIBA STORAGE PLACE

DroboAccess User Manual

Using 2Can. There are three basic steps involved in migrating all of your data from your BlackBerry to your Android phone:

Seagate Dashboard User Guide

How To Renew A Contract At Mymellanox Online Via Mymllanox

Making Money with Downloads

Transcription:

A Client s Guide To M O D E R N S O F T W A R E

Init() As software developers we see our fair share of software atrocities. Systems we re hired to fix, systems we need to integrate with or build upon, and I m ashamed to say, some systems we may have had a hand in creating. When we come across offending software we all ask the same question: How did this happen?. I believe the failure often lies with looking too closely at individual functions and not noticing the bigger picture, until it s too late. This document is intended to help Clients and Product Owners by highlighting some of the key problematic areas I ve witnessed. I would like to think this might be useful or at least enjoyable to developers too. LimeNinja 11.1%

No Manual, No Training User experience (UX) has been around for a decade, yet often software developers are unaware of many of the principles involved. When timescales are tight, a developer will focus on making the product work, not on making it usable. Modern software shouldn t need an instruction manual or training. If the end user requires either, the UX is bad. On public systems this will cost you active users; on internal systems this will cost you in productivity and training. Imagine if Facebook, Amazon or YouTube required you to read a manual before use. These are all complex systems yet incredibly simple to use. LimeNinja 22.2%

Error Messages Errors should be avoided wherever possible, but unfortunately some are inevitable. On these occasions information on how the system works, what inputs it s expecting etc should be gleaned from helpful, clear messaging. Example If you have an upload field that only accepts video s. Showing an ERROR NUMBER AG415 or whatever your developers may understand is not helpful to the end user. However a message like PDF is an unsupported file type, please upload a video file can guide them in the right direction. Solution Make sure informative error messages are part of your acceptance criteria and regularly do your own testing with real end users. LimeNinja 33.3%

Time Wasting Another area of UX that is often overlooked is load times. It s too easy for developers to create functions that work - even though they make multiple database connections and run some really inefficient code to parse the results. If the page takes 30 seconds to load then who cares? If the client doesn t mention it, then it s not wrong right? Example I recently heard of an internal system which had pages which take up to 8 minutes to load! Think about that, so if only 20 employees needed to access this page 2-3 times a day you are essentially losing a whole person s salary to this single page! Solution When you are writing your scope make a 10 second load time part of your acceptance criteria, you will almost certainly get the extra development cost back in savings several times over. LimeNinja 44.4%

It s Not All About IE Enterprise clients will often require web based software to work on a specific version of IE (Internet Explorer). This is normally due to a current internal system which only runs on one browser. Modern software should run perfectly on all modern browsers at any screen size, and the user experience should be the same on all of them. Example On public systems you may witness 40% or possibly more of your traffic coming from mobile bowsers. For internal systems also working to this standard will allow your employees to be more productive while off-site. Solution Your acceptance criteria should highlight the minimum version of IE your software needs to run on but also require it to be responsive and supported on all the latest versions of all major browsers (IE, Chrome, FireFox, Mac and ios Safari). LimeNinja 55.6%

It s Alive A database is a living thing. Every time someone interacts it changes. However the UI (user interface) hasn t traditionally been alive. In the past a user would load a static page and if they wanted an update they would need to refresh the page. Modern software should apply updates to the UI as they happen. Let s say you show the number of times a popular file has been downloaded in the UI, as more downloads happen this number should automatically update. If done right these small updates could actually save bandwidth and provide a really slick feel. Don t stop with just simple numbers either you can do this with graphs, comments, users anything! Whether it s a public system or internal it s these touches that increase engagement. LimeNinja 66.7%

Salt & Hash We all should be taking security seriously, clients and developers. At the very least all software which stores passwords or holds any personal information at all needs to be protected with an SSL certificate. All passwords should be salted and hashed as standard. Note If you don t know what these terms mean, ask one of your developers. If they don t know what they mean - you may have a problem! Example One system we were recently asked to work on stored passwords in plain text. In addition the software didn t utilise an SSL certificate and required the user s credentials in each API call. Solution Please make sure your software is protected with an SSL certificate and ask your developer if passwords are salted and hashed. Consider hiring a PEN (penetration) tester. LimeNinja 77.8%

Think Lego Software should be built as modular and extendable as possible. With this mindset you & your developement team should try to break your project down into smaller blocks, each with its own single responsibility. Example Hard coding all text directly into the code when a system only requires support for a single language. It s easy to think there is a time saving here but there is not. Firstly, the only way the client can check all the text in the system is to navigate to them all. Secondly, a single change may need to be done in several deeply embedded areas. Lastly, the software can longer be easily extended in future without substantial cost. Solution Tell your developers the software may need to be translated or built upon in the future. LimeNinja 88.9%

Return; Author I could go on but I think that s enough for this document. Hopefully I ve given you enough to think about. If you found it at all useful please share this document as-is wherever you like. I would also appreciate any feedback and if enough of you like this I will try to write a part two. Paul co-foundered a software development house called LimeNinja. He occasionally writes articles online so if you enjoyed this please follow him on LinkedIn: tinyurl.com/followpaul If you have any questions or feedback you can contact Paul using: 07727 100 898 paul@limeninja.com uk.linkedin.com/in/paulsapnik Or LimeNinja using: 0800 086 8767 lime.ninja @limeninjas yo@limeninja.com linkedin.com/company/limeninja 100%