aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/neptune3ui-index.qdoc
blob: 863abad2aba3f7ea2cca0e53d7cbfcc36b1b7b98 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
/****************************************************************************
**
** Copyright (C) 2018 Pelagicore AG
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Neptune 3 IVI UI.
**
** $QT_BEGIN_LICENSE:FDL-QTAS$
** Commercial License Usage
** Licensees holding valid commercial Qt Automotive Suite licenses may use
** this file in accordance with the commercial license agreement provided
** with the Software or, alternatively, in accordance with the terms
** contained in a written agreement between you and The Qt Company.  For
** licensing terms and conditions see https://www.qt.io/terms-conditions.
** For further information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
   \page neptune3ui-index.html
   \title Neptune 3 UI
   \brief A best practice UI for the OEMs to test Qt Automotive Suite.
   \nextpage neptune3ui-insights.html


   Neptune 3 UI provides a UI implementation for Qt in IVI (In-Vehichle Infotainment)
   systems. It demonstrates best practices for developing an Automotive UI with
   \l{Qt Automotive Suite Product} {Qt Automotive Suite}. Neptune 3 supports a set of
   displays: \l{Instrument Cluster}, \l{Center Stack Display}, Head Up Display and Passenger Screens.
   At the moment the design documents only cover the first two: \l{Instrument Cluster} and
   \l{Center Stack Display}.

   Neptune 3 UI depends on \l{Qt Application Manager}. It provides support for
   a \l{center stack display} and a \l{instrument cluster}. You can develop, maintain,
   and deploy applications with Neptune 3 UI.

   See \l{Neptune 3 UI Insights} for further information on how you can start
   working with Neptune 3 UI.

   \section1 Overview

   Neptune 3 UI intends to:

   \list
   \li Provide best practices for developing an automotive UI using
   \l{Qt Automotive Suite}.
   \li Get UI designers and software developers to work together.
   \li Provide UI designers methods for controlling the UI look-and-feel.
   \li Improve flexibility by allowing integration
   \l{Qt Automotive Suite Product} {Qt Automotive Suite} with
   external tools (e.g. 3D tools, maps, Qt IVI).
   \li Provide a multi-process UI that forms a base for an IVI system.
   \endlist

   \section1 Features

   Neptune 3 UI key features are:

   \list
   \li Neptune 3 UI is implemented with Qt / QML. Implementation is based on
   \l{Qt Application Manager} that takes care of the application and window
   management.
   \li Neptune 3 UI can be integrated with various car 3D model technologies.
   \li Neptune 3 UI can be integrated with various navigation solutions.
   \li Neptune 3 UI utilizes the \l{Qt IVI} module that provides C++ classes and
   QML types for accessing vehicle features, as well as core API for
   implementing new IVI features.
   \endlist

   \section1 Neptune 3 UI Structure

   In order to provide support for multi-process architecture, Neptune 3 UI is made
   up from the following elements:

   \table
   \header
       \li Neptune 3 UI element
       \li Description
   \row
       \li System UI (\c sysui)
       \li Such as climate panel, notification center, application launcher, status
       bar, etc.
   \row
       \li Applications (\c apps)
       \li A container for different applications used within the system UI.
   \row
       \li Imports, modules (e.g. \c animations, \c controls, \c utils, \c models)
       \li Modules, assets, and controls required for visual appearance and
       functionalities both for a system UI and an application.
   \row
       \li Plugins
       \li QML plugins required for communication with low level services.
   \row
       \li Styles
       \li UI styles and configurations.
   \endtable

   \section1 Neptune 3 UI Applications

   Neptune 3 UI contains of several pre-installed applications:

   \table
   \header
       \li Neptune 3 Applications
       \li Description
   \row
       \li Vehicle Application (\c vehicleapp)
       \li Show a 3D visualization of the car with its common settings and
       information, e.g. vehicle settings, energy information, doors and tires.
   \row
       \li Music Application (\c musicapp)
       \li Media application that can play the music that is indexed by the
       \l{Qt IVI} using Qt Multimedia backend.
   \row
       \li \l{Neptune 3 UI - Map Application}{Map Application} (\c mapapp)
       \li Map application is created using MapBoxGL plugin from Qt Location having
       some common navigation features, e.g. set destination, show current location,
       show direction to home or work from current location. The Map application also
       support offline map view.
   \row
       \li Calendar Application (\c calendarapp)
       \li An organizer application with some dummy data showing set of appointments,
       current-year calendar and dummy weather forecast with mockup data. There is
       no real backend yet for this application.
   \row
       \li Phone Application (\c phoneapp)
       \li Phone application with dummy contact list which can be simulated. There
       is no real backend yet for this application.
   \row
       \li Tuner Application (\c tunerapp)
       \li Media application that have pre-set of station list which are provided
       by the simulation backend from \l{Qt IVI}.
   \row
       \li Application Store (\c appstore)
       \li Allows the user to install applications from Neptune Deployment Store
       to Neptune 3. There are few applications available, e.g. Spotify, Netflix,
       Web Radio App, Same Game. User can also uninstall these external installed
       apps using the Application Store.
   \row
       \li \l{Neptune 3 UI - General Settings Application}{General Settings} (\c settingsapp)
       \li General Settings provides a set of common UI settings, such as language
       settings, theme settings, date and time settings, as well as color settings.
   \endtable

   \section1 Visual Concept

   The Neptune 3 UI visual concept includes different UI elements:

   \section2 Instrument Cluster

   \image instrument-cluster.jpg

   In the Instrument Cluster the user can find driving related information like the speed,
   cruise control parameters, gear and energy use (for an electric car). Users can also
   have information from the selected \uicontrol application-window (Music, Navigation,
   Phone etc.) ordered in views which you can navigate between with controls on the
   steering wheel. The size and position of meters and other driving related information
   is flexible to make space for views, like Navigation, that requires more space.

   \image instrument-cluster-nav.jpg

   \section2 Center Stack Display

   The Center Stack display is designed around showing the multiprocess capabilities;
   the fact that we can run several applications at the same time with quick response and
   smooth transitions. Even if we technically have different applications, running in
   separate processes, the intention is to fade out the border between them, and between
   the apps and the System UI, giving the user a perception that it is one unified system.

   In addition to traditional applications, like Music Player, Phone and Navigation, the
   Center Stack display also contains climate settings, system notifications and different
   vehicle information and settings.

   Some applications, like Music Player, can go both as fullscreen and as widgets. The widgets
   are the actual applications, just running in a smaller window and adapting their content to
   fit in a widget slot. The widgets are used on the customizable Home view.

   \image center-stack.jpg

   When an application is shown in maximized state, it will take over the whole part of the
   Center Stack and show the full content of the application as illustrated in the following
   image:

   \image center-stack-maximized-app.jpg

   \section2 Application Launcher

   The \uicontrol Application Launcher can be expanded by tapping on the grid icon on the upper
   end of the screen. Users can choose which application to be maximized by tapping on the
   application icon. Users can also define four top applications to be shown without expanding the
   launcher by pressing-and-hold the selected application and drag it to the desired position as
   illustrated in the following image:

   \image center-stack-app-launcher.jpg

   \section2 Application Widget

   By default, the \l{center stack display} has three application widgets. User can choose which application
   to be shown on the home screen as widget by tapping on the \uicontrol Add-Widget icon below
   the lowest widget and choose the desired application. Only application that is specified to
   have a widget-option will be listed there.

   \image center-stack-add-widget.jpg

   \section2 Climate Bar

   Neptune 3 has a \uicontrol Climate Bar located at the bottom of the \l{Center Stack Display}. When tapping
   into it, a Climate Panel will be shown up with some simulation data interface to \l{Qt IVI}
   as shown in the following image:

   \image center-stack-climate.jpg

   \section2 Notification Center

   Neptune 3 has a \uicontrol Notification Center to store Notifications that are triggered in
   Neptune 3. User can remove each notification in the \uicontrol Notification Center or clear
   the \uicontrol Notification Center.

   \image center-stack-notification-center.jpg
*/