Rapportx

auburnhairSoftware and s/w Development

Dec 13, 2013 (3 years and 10 months ago)

89 views

MAXSEA INTERNATIONAL

Final Internship

February


August 2012


Thomas
ROUGIER

(rougie_a)







During this intership, I was in charge of creating a new user interface for MaxSea software using
windows presentation foundation technology.




PART ONE



This document present
s

all
information

that a new employee has to know
about MaxSea International. The society hi
s
tory, the organization, the
different
development
teams
and the projects will be
explained

all around
this document
.




S
UMMARY


I.

MaxSea Internationnal

................................
................................
................................
.........

3

1.

General presentation

................................
................................
................................
.......

3

2.

Signet Group

................................
................................
................................
.....................

3

3.

MaxSea in key date

................................
................................
................................
..........

4

4.

Project Management

................................
................................
................................
........

5

II.

Projects

................................
................................
................................
................................

7

1.

MaxSea Timeze
ro

................................
................................
................................
.............

7

a.

Presentation

................................
................................
................................
.................

7

b.

Technologies

................................
................................
................................
.................

8

2.

NavNet TZT

................................
................................
................................
.....................

10

a.

Presentation

................................
................................
................................
...............

10

b.

Technologies

................................
................................
................................
...............

11

3.

Ipad

................................
................................
................................
................................
.

12

a.

Presentation

................................
................................
................................
...............

12

b.

Technolog
ies

................................
................................
................................
...............

12

III.

Global Architecture

................................
................................
................................
........

13




I.

M
AX
S
EA
I
NTERNATIONNAL


1.

G
ENERAL PRESENTATION



MaxSea International
is
a

maritime navigation

software
publisher
. It offers a range of
products address
to
the three ma
r
itime sectors:
boating, fishing and shipping.

Software developed by MaxSea
provides

access to comprehensive information through
the fusion of nautical maps, satellite photos and 3D data.

Today,
leader of the European market, MaxSea International also expanded abroad with

over 35,000 installations worldwide. MaxSea software are sold in
over than
25 countries on
five continents, and available in English, Spanish, Portuguese, Danish, Italian, Norwegian,
Swedish, Dutch, French, Icelandic, German, Chinese and Thai

languages
.

T
he company headquarters is located

in

Bidart

(France, 64


Pyrénées Atlantiques)
, which
are managed software development, map production, financial and general management.



2.

S
IGNET
G
ROUP



MaxSea International is part of Signet Group, established i
n

2001
. Signet also includes
MapMedia
and
MaxSea
Naval.

MapMedia is a
n

electronic
ma
p
ping company specializing in scanning and processing of
map data. The comp
a
ny offers two types of cards: Raster and Vector charts, developed from
the official maps of the Hydrog
raphic and Oceanographic Department of the Navy (
SHOM)
:



Raster maps are produced by scanning the same maps produced by national
hydrographic offices. They simply allow the screen to find the official paper charts
and are therefore very reliable
.



Vector cha
rts are reproductions of maps suitable for display on a computer screen.
The data are processed and digitized in a format that allows the addition of
information: information about buoys, lighthouses and harbors,
s
pecial
regulations

guidance
....

MapMedia h
as developed a collection of over 6000 charts throughout the world
including Europe, the Mediterranean, Africa, Indian Ocean, Greenland, South America, the
Caribbean, new Zealand, Polynesia ... All of these cards available are produced and
distributed with

the authorization of the Hydrographic Services and integrate charges.

Based in Barcelona (Spain), Naval MaxSea provides the sales, marketing development and
technical support to customers of MaxSea International.

In 2009, Signet has purchased Nobeltec
, which
were

the main rival and leader in the
United State.



3.

M
AX
S
EA IN KEY DATE


The first important date is 1984, Brice Pryszo, actual president of MaxSea International,
has developed a routing algorithm. Originally naval architect with a passion for sai
ling, Mr.
Pryszo has used his computer skills to calculate the quickest way to navigate from one point
to another dep
ending on currents and weather forecasts.

Following this routing algorithm in 1985, the company name
d

"Informatique et mer"

was
born includ
ing its first software
called MacSea.

In 1994, creation of MapMedia society, in order to offers a complete range of nautical
charts specially designed for MacSea.

Since then, the company gradually expanded its market in Iceland, the Scandinavian
countries
and more widely in Europe, the United States ... In 1999, the transition from Mac
to PC was accompanied by the change of company name and software to "MaxSea."

In
2004
, MaxSea and Furuno (world leader of
maritime electronic

software) make an
alliance (fina
ncial and technical) to create new product. Client will buy

all in one


product
(
Radar, GPS, Fish Finder, AIS, weather information and more
in

a multi
-
station integrated
navigation network
).

The creation of “MaxSea Naval” took place in 2007.
The Spanish
subsidiary

permits to
separate software development and sales, marketing…



4.

P
ROJECT
M
ANAGEMENT


The development team has more than twenty peoples separated in four teams. Each
team has a team leader who makes the connection with the
management
.
Between a
developer and p
roduct management there is only one h
ierarchical level, the discussions are
easier than a big company. The developer could discuss with product owner and find a
compromise if the
requested works was too hard or will

impacted too much functio
nality
.

Since two years the developers decided to change their ways to work
.
The old way was
unstructured;

if the product manager has an idea to improve the software,
developers’

teams have to do this immediately.
The new working method is based on scrum
method:



Scrum is an iterative and incremental
agile software development

method for
managing software projects and product or application development. Scrum has not
only reinforced the interest in
project
management
, but also challenged the

conventional ideas about such management.
Scrum focuses on project management
institutions where it is difficult to plan ahead. Mechanisms of empirical process
control, where feedback loops that constitute the core management technique are
used as opposed

to traditional
command
-
and
-
control

oriented management
.

It
represents a radically new approach for planning and managing projects, bringing

decision
-
making

authority to the level of operation properties and certainties.




This new method permit
s

to each developer to know the current state of functionality,
bec
ause all new functionalities have to pass by the same steps:




Validation

If all step succeed, the functionnality will be in the next software udpate.

Test

Test team checks all possible bug, if bug happens the story go back to developer.

Development

Developer team implements this new functionnality.

Story registration

Product owner writes a story presenting the new functionality.

II.

P
ROJECTS


Be a software developer in MaxSea means to know
each

products, because you
will work

on
every ones
. You
are
able to
work

during two weeks on a product, the week
s

after change
to another
.
Each

t
eam

work
s

on the same project

as the same time.


1.

M
AX
S
EA
T
IMEZERO


a.

P
RESENTATION


“TimeZero” is the main product of MaxSea
International. It includes chart positioning, worldwide
tide database, creating, managing and customiz
ing
your waypoints and routes, weather

display directly on
your software.


This software includes ultra
-
fast chart engine with
marine cartography, 3D data and satellite photos. It
allows moving smoothly on
nautical

charts with
ongoing zoom and instantaneous display, while offering a greater vision around the ship to
better anticipate dangers.


MaxSea Time Zero now includes the AIS feature
,

c
onnected to your AIS
transceiver;

this
function allows you to simply display all AIS targets a
round your ship (cargo, vessels
...) on
your chart zone.


Each type of navigation is a product line with specific functionality
, here the TimeZero
range:



MaxSea TimeZero Navigator : is for sailin
g or motor boater;



MaxSea TimeZero Explorer :
designed for Furuno users;



MaxSea TIME ZERO ECS

: designed for professionals mariners (Super Yachts, Workboats)
;



MaxSea TIME ZERO
PLOT:

is for
professional

fishermen

including all the features of MaxSea
TIME ZE
RO ECS and goes beyond with its PBG
function
.










M
AX
S
EA
T
IME
Z
ERO IN PLANNING MODE



b.

T
ECHNOLOGI ES


Since
2004

and the migration to Windows, the code was written in c# (currently t
he 4.0
version).


The user interface
(menu, grid, etc.)
was designed
using Windows Form (WinForms)
technology.


Win
F
o
r
m is the name given to the
graphical

application programming interface

(API) included as a part of
Microsoft

.NET Framework
, providing access to native
Microsoft

Windows

interface elements by wrapping the extant
Windows API

in
managed code
.



The charts and every
symbol

(route, boat,
waypoints, etc…)

are
d
i
splayed
us
ing

DirectX
technology.
DirectX provides the interface to access
the frame buffe
r and advanced features of the
display adapter. When DirectX was introduced,
display adapter

vendors were quick to develop
DirectX drivers that would expose low
-
level functions
of their hardware to th
e application.





The last

important

technology used is GDI+ (Graphic
Device Interface)
. GDI+

is a graphical subsystem of Windows
that consists of an application programming interface (API) to
disp
lay graphics and text
s
. GDI+ is the easier way to display

specific information formatted as the product owner wants.





2.

N
AV
N
ET
TZT


a.

P
RESENTATION



Max
S
ea & Furuno economic alliance gave birth to
the NavNet product
. NavNet m
e
ans navigation network,
the software shared on the network all navigation
information,
and if

a sailor got two

or more

NavNet
TZT
all information will be shared to others
.


The current version name
d

TZ Touch,

TZ


is for
TimeZero

and “Touch” is because this board is all
controllable by fingers.

You can scroll, pan,
and zoom

in/out with a smo
oth, fast and
seamless graphics engine. Navigating in a fully 3D environment offers a true perspective and
wider area of view around the ship
.


In this product Furuno and MaxSea teams get specific works. Furuno
works on hardware
(including the operating
system) and MaxSea on the software.

Only two
range

products exist, and they differ by the screen size: 9 and 14 inches:





b.

T
ECHNOLOGI ES


The technologies are quite the same as TimeZero for the 3D and GDI+ parts. A difference
occurs for user interface
. A
new technology was used because of touch manipulation.

This new technology is Windows Presentation Foundation (WPF):



Windows Presentation Foundation, WPF, provides a unified framework for building
applications and high
-
fidelity experiences in Window
s that blend application UI,
documents
, and media content. WPF offers developers 2D and 3D graphics support,
hardware
-
accelerated effects, scalability to different form factors, interactive data
visualization, Windows 7 features including multi
-
touch, and
superior content
readability.





Through WPF, each control
could be designed and looks
like produ
c
t manager wants.




O
PTIONS

MENU FRO
M

N
AV
N
ET
TZT

3.

I
PAD


a.

P
RESENTATION



At the beginning of 2012, MaxSea decided

to
create his own IPad
a
pplication. Apple’s iPad
dominate the market for tablet computers
despite growing competition
.


The project is currently in development, and
the first version is scheduled for December
2012.


This version will be very lit
e, it doesn’t include all the functionalities presents in the
desktop
version, because capabilities of Ipad are smaller than PC.



b.

T
ECHNOLOGI ES


For this new project, we are using the Monotouch from Xamarin
1
. M
o
notouch

is a Mono
implementation for iOS (ope
rating system for Ipad/Iphone). Mono provides c# developer to
compile.Net code in the specific target platform. So we don’t have to change lot of code from
MaxSea TimeZero, but cause of Ipad doesn’t support just in time compilation (JIT), some of
code part
s have to be adjust in order to work on iOS.



Another user interface technology will be used,
named

Cocoa Touch and permits to build
software program to run with iOS. The user interface
is
made
using
XCode (the apple
interface builder application).






1

http://xamarin.com/

III.

G
LOBAL

A
RCHITECTURE


All MaxSea projects are written in c#, so the biggest part of code is in common between
theirs.


The main changes depend of the UI technology, that why assembly which manages view
is different, but gets always the same dependence:




The “MaxSea.Program” doesn’t have lot of class, just the executable information.
“MaxSea.Views” is the first specialized assembly specific of the technology, it reference all
different modules, and all this module have to be a common code from different p
roduct
s
.


At MaxSea, every module

get always the same API

Only rwo interfaces will be seeing
from assembly which used it
. The first one is an “IView” which permit
s
to get
information
,
and an “IScript” which is for set
ting

value.

If the module

has

to be
displayed
,
an

implement
of
“IModuleLayer”

will be required
, who allow the 3D engine to display it.









PART
TWO



This letter is writing in order to convince
my
manager to integrate me into
his team for the next project.





Mr. Jacquinot
,


In
a
few days my internship will end.
I have spent
six months
as
part time job
and
six
months
as

internship
,

working on different projects
.

Thanks to my final internship I have
been able to
work in enterprise on real project.


At MaxSea, I have been working on
the largest project I have ever seen with complex
software architecture. For me, working on these kinds of project is very important compare
to smaller projects. Indeed big projects permit to increase the professional experience faster
than small ones whic
h don’t have depe
ndency or architecture problems
. These kinds of
projects can also allow debating with coworkers about bugs or new implementations to
convince or be convinced by them.


Your new project is about creating an application for iOS platform (
iPad and maybe
iPhone). You have seen what I am capable of. My abilities are very broad: new c#
technologies like LINQ, Entity Framework and also Windows Presentation Foundation. I
always try to keep myself informed on latest news about new platforms (like

Windows Phone
7/8, Windows 8). Another way where I could distance myself from another developer is
about Team Foundation Server. A classical developer only knows how to check in/out. He
doesn’t know how it has to be organized correctly with perfect archit
ecture. To sum up, I
want to show you that I always want to be on the cutting edge of technology.


When I have seen the last sells and the next year previsions for tablets, including Ipad, I
think it is for me a very nice opportunity to get a significant
experience on portable devices.
Maybe in few years computers will disappear and everyone will get a tablet, because
nowadays tablets have the power and are easier to use than computers, like laptops few
years ago. Tablets will and already have really chang
ed the way of
people’s

use computer
science


I hope for MaxSea
, you and

the

developer

team,

and also for me and my career,
that
my
capabilities
,

my motivation
s and also my serious

wi
ll
convince to keep me
in
your
new
challenge.


Best Regards,


Thomas

Rougier






PART
THREE



To convince my director (Mr. Houlet) to assign me as team leader of his
new project, I wrote this letter.




Dear Mr.
Houlet
,


In a few days my internship will end. I have spent six months as part time job and six
months as
internship, working on different projects. Thanks to my final internship I have
been able to work in enterprise on real project.


Working for MaxSea

is a real opportunity. First of all, I would like to talk about maritime
domain. I worked for the first time on this and it was quite interesting. I was always learning
new things. Before knowing this domain, people were thinking boats go straight, and no
w I
think it’s very difficult to be a sailor. Another point very interesting is MaxSea, a human size
enterprise. Everyone knows each other, even people in United
-
States or in Spain, and this
kind of enterprise allows contact between developers and project
directors. The rewarding
working atmosphere is also a point of motivation. Everyone is happy to work for MaxSea.


During the last year, I went in MaxSea to offer expertise on new technology. Through this
technology, our last project, NavNet, is more ergono
mic
than our others products. In my
opinion, we have taken an important step into making smooth and nice application for

our
users. Our company will be part of the competition during few months. I used every way I
know to explain and train my coworkers. Being a new employee as a student and as a
specialist of new enterprise technology is a difficult situation. I could have
been easily
destabilized, but seeing the result, I am pretty proud of me. I succeeded in adapting myself to
the situation and I have brought my knowledge to other developers.


Every day, the computer science advance
s

and
,

f
or
me
,

it i
s very important to st
a
y on
cutting edge of technology.
And I

a
m working on it because

computer changes, tablet
appears, people uses on different way than before.

If the hardware change
s
, the software
has

to be creating from a different way.
B
e
ing more

ergonomic
, user friend
ly but

keeping
all
functionalities available
.


My schooling not only allows me to be a developer, but also being a product manager.
During the last five years, I’ve often be confronted to this status. Indeed, my final project is
the perfect example, two ye
ars duration, and ten developers. I was co
-
leader with a
schoolmate. Managing a project is quite difficult, even in school context. It is very difficult to
succeed in motivating everyone to work. Indeed, we’ve got no reward because it is not a sell
project
. But the final result, in software and management point of view, is pretty good.



For all those reasons
,

my serious

and

my working organization could be interesting point
in the next projects.


Best Regards.


Thomas Rougier