Final Internship .fr

products address to the three maritime sectors: boating, fishing and shipping. .... WinForm is the name given to the graphical application programming interface.
1MB taille 10 téléchargements 316 vues
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 presents all information that a new employee has to know about MaxSea International. The society history, 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 Timezero ............................................................................................................. 7 a.

Presentation ................................................................................................................. 7

b.

Technologies ................................................................................................................. 8

2.

NavNet TZT ..................................................................................................................... 10 a.

Presentation ............................................................................................................... 10

b.

Technologies ............................................................................................................... 11

3.

III.

Ipad ................................................................................................................................. 12 a.

Presentation ............................................................................................................... 12

b.

Technologies ............................................................................................................... 12 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 maritime 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. The 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 in 2001. Signet also includes MapMedia and MaxSea Naval. MapMedia is an electronic mapping company specializing in scanning and processing of map data. The company offers two types of cards: Raster and Vector charts, developed from the official maps of the Hydrographic 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 charts 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, special regulations guidance....

MapMedia has 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 DAT E

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 sailing, Mr. Pryszo has used his computer skills to calculate the quickest way to navigate from one point to another depending on currents and weather forecasts. Following this routing algorithm in 1985, the company named "Informatique et mer" was born including 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 (financial 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 product management there is only one hierarchical 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 functionality. 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 permits to each developer to know the current state of functionality, because all new functionalities have to pass by the same steps:

Story registration Product owner writes a story presenting the new functionality.

Development Developer team implements this new functionnality.

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

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

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 weeks after change to another. Each team works on the same project as the same time.

1. M AX S EA T IMEZERO a. P R ES EN T AT I O N

“TimeZero” is the main product of MaxSea International. It includes chart positioning, worldwide tide database, creating, managing and customizing 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, connected to your AIS transceiver; this function allows you to simply display all AIS targets around 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 sailing 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 ZERO ECS and goes beyond with its PBG function.

M AX S EA T IME Z ERO IN PLANNING

MODE

b. T E C HN O LO GI ES

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

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

WinForm 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 displayed using DirectX technology. DirectX provides the interface to access the frame buffer 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 the 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 display graphics and texts. GDI+ is the easier way to display specific information formatted as the product owner wants.

2. N AV N ET TZT a. P R ES EN T AT I O N

MaxSea & Furuno economic alliance gave birth to the NavNet product. NavNet means 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 named 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 smooth, 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 E C HN O LO GI 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 Windows 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 product manager wants.

O PTIONS MENU FROM N AV N ET TZT

3. I PAD a. P R ES EN T AT I O N

At the beginning of 2012, MaxSea decided to create his own IPad application. 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 lite, it doesn’t include all the functionalities presents in the desktop version, because capabilities of Ipad are smaller than PC.

b. T E C HN O LO GI ES For this new project, we are using the Monotouch from Xamarin1. Monotouch is a Mono implementation for iOS (operating 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 parts 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 products.

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 permits to get information,

and an “IScript” which is for setting 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 which don’t have dependency 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 architecture. 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 changed 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 motivations and also my serious will 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 now 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 ergonomic 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 advances and, for me, it is very important to stay on cutting edge of technology. And I am working on it because computer changes, tablet appears, people uses on different way than before. If the hardware changes, the software has to be creating from a different way. Being more ergonomic, user friendly 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 years 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