The Ambiguous Interface

March 1st, 2010
The Ambiguous Interface
We often tout the GUI as the most important design feature in software.  It makes sense; it is the most visible part of any software product.  But how important is the interface to the overall success of a product?   I’ve seen excellent products that have absolutely horrible interfaces – and here’s the thing:  they still sell.  An excellent product is one which fills a need, and companies will purchase it if it does the job – pretty or not.  The problem is that those needs change, and when they do it typically has been expensive and cumbersome to adapt a product to fit those changes.
We Humans are capable of learning new interfaces fairly quickly. Consider the slight variations in telephone keypads – how long does it take us to dial an unfamiliar telephone?  How difficult is it to use an unfamiliar automated cash machine?  How quickly do we learn the shortcuts for a new mobile phone?  Certainly these examples cite both excellent universally acceptable design practices but also our ability as humans to adapt and learn new designs easily.  More interesting – I propose it takes the average person less time these days to learn an unfamiliar interface than it did 15 years ago, and I attribute this to the fact that we are presented with new interfaces much more frequently now than we ever have been before.
Case in point:  Video game controllers have come a long way in the past 15 years.  Atari’s now-nostalgic one button joystick interface bears no resemblance to Microsoft’sXBox 360 ergonomic controller with it’s astounding 25 buttons.  Every year another new interface is presented, normally around the time that Santa Claus requires his wish list, and the next plastic race car wheel or wireless band instrument is marketed to eager consumers hungry for a new interface to master.
In business software, the same issues occur.  Interfaces grow and change throughout the system life cycle.  With time, all interfaces must adapt to support increased functionality – or just as likely increased marketability!
This prospect was once expensive and cumbersome for mobile software, because of the complexity and unique resources required to develop for these relatively obscure platforms. Navara partners use the Navara Design Center to quickly and visually create and modify interfaces for the most popular mobile platforms, so the interface can easily change as the users’ needs change.  So when the next change comes depend on Navara, and let’s solve the interWe often tout the GUI as the most important design feature in software.  It makes sense; it is the most visible part of any software product.  But how important is the interface to the overall success of a product?   I’ve seen excellent products that have absolutely horrible interfaces – and here’s the thing:  they still sell.  An excellent product is one which fills a need, and companies will purchase it if it does the job – pretty or not.  The problem is that those needs change, and when they do it typically has been expensive and cumbersome to adapt a product to fit those changes.

Bill McDaniel: Navara Software Engineering

We Humans are capable of learning new interfaces fairly quickly. Consider the slight variations in telephone keypads – how long does it take us to dial an unfamiliar telephone?  How difficult is it to use an unfamiliar automated cash machine?  How quickly do we learn the shortcuts for a new mobile phone?  Certainly these examples cite both excellent universally acceptable design practices but also our ability as humans to adapt and learn new designs easily.  More interesting – I propose it takes the average person less time these days to learn an unfamiliar interface than it did 15 years ago, and I attribute this to the fact that we are presented with new interfaces much more frequently now than we ever have been before.

Case in point:  Video game controllers have come a long way in the past 15 years.  Atari’s now-nostalgic one button joystick interface bears no resemblance to Microsoft’sXBox 360 ergonomic controller with it’s astounding 25 buttons.  Every year another new interface is presented, normally around the time that Santa Claus requires his wish list, and the next plastic race car wheel or wireless band instrument is marketed to eager consumers hungry for a new interface to master.

In business software, the same issues occur.  Interfaces grow and change throughout the system life cycle.  With time, all interfaces must adapt to support increased functionality – or just as likely increased marketability!

This prospect was once expensive and cumbersome for mobile software, because of the complexity and unique resources required to develop for these relatively obscure platforms. Navara partners use the Navara Design Center to quickly and visually create and modify interfaces for the most popular mobile platforms, so the interface can easily change as the users’ needs change.  So when the next change comes depend on Navara, and let’s solve the interface puzzle together.

NL: Nieuwe ontwikkelingen binnen Navara; een technisch kijkje in de keuken…

February 22nd, 2010
René Zeldenthuis

René Zeldenthuis:  Software Developer

De hoeveelheid data neemt steeds maar toe en we willen steeds meer data offline tot onze beschikking. Te denken valt aan het op het mobiele toestel beschikbaar hebben van een postcode database of misschien wel het gehele klantenbestand. Dit heeft automatisch ook tot gevolg dat de hoeveelheid data die wordt overgestuurd groter wordt; dit is eenmalig. Nog interessanter wordt het om de gegevens allemaal actueel te houden en dit op een zo slim mogelijke manier te doen. Het is nu eindelijk zover; alles is doordacht; de specificaties zijn klaar en een compleet nieuw synchronisatieprotocol wordt momenteel geïmplementeerd!

Wat er zo vernieuwend is aan dit nieuwe protocol zijn de volgende vier hoofdbestanddelen:

  • Slechts veranderingen worden doorgestuurd. Hierdoor is het niet nodig om bij een wijziging (van bijvoorbeeld één postcode) de gehele database over te sturen. Ook is het niet meer nodig om een referentie van de aanwezige gegevens over te sturen naar de server.
  • Bij het verbreken van de verbinding tijdens het synchroniseren kunnen alle gegevens dusver ontvangen toch worden verwerkt; het protocol is geheel ‘restartable’.
  • Er wordt gebruik gemaakt van http/https. Hierdoor gaat dit nieuw protocol door de aanwezige proxy servers en deze poorten staan mestal open in de firewall. Verder is het https protocol (dat bijvoorbeeld ook voor telebanking wordt gebruikt) tegenwoordig standaard voor het versturen van gevoelige data.
  • De Navara client bilijft altijd verbonden. Indien er gegevens worden ontvangen die relevant zijn voor de client worden deze direct doorgestuurd (push). Ook worden gewijzigde gegevens van de gebruikers direct teruggestuurd. Uiteraard worden deze gegevens opgespaard indien er geen verbinding mogelijk is en deze direct verstuurd zodra dit weer mogelijk is.

Uiteraard is het wel nodig dat er gebruik wordt gemaakt van een nieuwe client en server dit dit protocol kunnen ondersteunen. Dit zal even lastig zijn maar hierdoor wordt Navara nog sneller, veiliger, rubuster en actueler!

Projectmanagement methode SCRUM

February 15th, 2010

Mike Groenenberg: Manager Software Development

In elk software bedrijf waar complexe producten worden ontwikkeld, kom je op een punt dat er een verandering gewenst is om de markt nog beter te kunnen bedienen. Dit kan inhouden dat er nieuwe technologieën op de markt zijn die geïntegreerd moeten worden om toekomstige ontwikkelingen aan te kunnen of nieuwe features implementeren waar de huidige markt op wacht.

Hoe ingewikkelder het product, hoe lastiger het wordt om dit naast het onderhoud en huidige roadmaps in te plannen. Bij dit soort projecten wordt vaak gekeken of er gebruik gemaakt kan worden van tijdelijk extra capaciteit. Mogelijke keuzes zijn dan detachering of outsourcing. In het laatste geval kan er gekozen worden voor nearsourcing, wat inhoudt dat het project geoutsourced wordt maar vaak binnen Europa, in bijvoorbeeld Bulgarije of de Oekraïne.

Nearshoring heeft in ons geval als voordeel dat de ontwikkelaars maar met 1 uur tijdsverschil in een virtueel ontwikkelteam productief kunnen zijn,  het kennis niveau vrij hoog is, Engels op redelijk tot goed niveau is en last but not least er weinig cultuur verschil  is (zeker als je dit vergelijkt met outsourcing naar landen als India).

Het meest uitdagende in een out/nearsourcing project is, naast het project management, kennis overdracht. Hoe maak je duidelijk wat de specificaties van de geplannde taken zijn als je niet ‘face-to-face’ zit. Gelukkig is Oost-Europa maar een paar uur vliegen, dus met meer ingewikkelde specificaties kan het ook echt ‘face-to-face’, maar in de meeste gevallen is het makkelijker om gebruik te maken van hulpmiddelen als GoToMeeting of Skype en een goede projectmanagement methode.

Voor Navara is na onderzoek gekozen voor de projectmanagement methode SCRUM. Door de interactieve manier van werken, in vergelijking met de traditionele software ontwikkeling methodes, is het team enorm betrokken in het planningsproces-

Dit uit zich onder andere in:

  • Grooming sessies: feature specificatie rondes voor het definiëren van specifieke features. Op deze manier hoeft de specificatie niet van te voren volledig op papier te staan en kan het gehele team meedenken over de specificatie.
  • Sprints: duidelijke, korte implementatie periodes.
  • Burndown Chart: duidelijk beeld over de huidige stand van voortgang.
  • Backlog: overzicht van alle items die ingepland staan voor het project voorzien van heldere prioriteiten.
  • Task Breakdown: Features opgesplitst in taken van 1 tot 2 dagen die zelf door een ontwikkelaar binnen een Sprint opgepakt kunnen worden.
  • Daily Standup Meetings: Elke dag een korte meeting met het gehele team (vaak niet groter dan 5 tot 6 mensen) waarbij de vragen, ‘Wat is er gedaan sinds de laatste meeting?’, ‘Zijn er problemen met de taken?’, ‘Wat staat er op de planning tot de volgende meeting?’.

We zijn nu een jaar bezig, en de keuze voor nearsourcing en de SCRUM methode Blijkt een hele goede te zijn. Wij zijn uitermate tevreden.

Over SCRUM