Documentation/Maemo 5 Developer Guide

(INDEX: Reordered the menu and moved chapters to match the internal baseline 1408)
(INDEX)
 
(79 intermediate revisions not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__
-
The Maemo 5 Developer Guide strives to provde an overall picture of the maemo 5 platform for developers wishing to create applications for maemo devices. These devices run a Linux-based operating system on ARM architecture.  The maemo SDK is currently provided natively for desktop Linux distributions such as Debian and Ubuntu.  
+
The Maemo 5 Developer Guide strives to provide an overall picture of the maemo 5 platform for developers wishing to create applications for maemo devices. These devices run a Linux-based operating system on [[:wikipedia:ARM architecture|ARM architecture]].  The maemo SDK is currently provided natively for desktop Linux distributions such as [[Debian]] and [[:wikipedia:Ubuntu|Ubuntu]].  
This is still a draft version and does not cover all aspects of the platform yet. These pages will be updated as and when documentation is ready internally.  
This is still a draft version and does not cover all aspects of the platform yet. These pages will be updated as and when documentation is ready internally.  
-
 
-
<hr>
 
-
==Preface==
 
-
 
-
===Legal Notice===
 
-
Copyright © 2009 Nokia Corporation <br>
 
-
Partial Copyright © 2002-2008 Calum Benson, Adam Elman, Seth Nickell, Colin Z. Robertson
 
-
 
-
Nokia and Maemo are trademarks or registered trademarks of Nokia Corporation. Other product and company names mentioned herein may be trademarks or trade names of their respective owners.
 
-
 
-
===Disclaimer===
 
-
The information in this document is provided "as is," with no warranties whatsoever, including any warranty of merchantability, fitness for any particular purpose, or any warranty otherwise arising out of any proposal, specification, or sample. This document is provided for informational purposes only. Nokia Corporation disclaims all liability, including liability for infringement of any proprietary rights, relating to implementation of information presented in this document. Nokia Corporation does not warrant or represent that such use will not infringe such rights. Nokia Corporation retains the right to make changes to this material at any time, without notice.
 
-
 
-
===License===
 
-
This document is licensed under the GNU Free Documentation License, version 1.2. Permission is granted to copy, distribute and/or modify documentation under the terms of the GNU Free Documentation License, version 1.2 or any later version published by the Free Software Foundation. Please refer to the copyright notice in each piece of documentation for Invariant Sections, Front-Cover Texts or Back-Cover Texts, if any, as defined in the License.
 
-
 
-
The code examples included in this document are copyrighted by Nokia Corporation and are licensed to you under an MIT style license. License text for that MIT-style license is as follows:
 
-
 
-
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 
-
 
-
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 
-
 
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
<hr>
<hr>
==INDEX==
==INDEX==
 +
*[[{{PAGENAME}}/Preface|<font color=green>Preface</font>]]
*[[{{PAGENAME}}/Development_Environment|<font color=green>Development Environment</font>]]
*[[{{PAGENAME}}/Development_Environment|<font color=green>Development Environment</font>]]
-
*[[{{PAGENAME}}/Human_Interface_Guidelines|<font color=green>Human Interface Guidelines</font>]]
+
**[[{{PAGENAME}}/Development_Environment/Maemo_SDK| Software Development Kit]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/Introduction| Introduction]]
+
**[[{{PAGENAME}}/Development_Environment/Maemo_Programming_Environments| Programming Environments]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/Usability Principles|Usability Principles]]
+
**[[Documentation/Maemo PC Connectivity Tutorial|PC Connectivity]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/Device Orientation| Device Orientation]]
+
**[[{{PAGENAME}}/Development_Environment/Maemo_Flasher-3.5|Flasher-3.5]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/Windows|Windows]]
+
**[[{{PAGENAME}}/Development_Environment/Maemo_SDK_Virtual_Images| SDK Virtual Images]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/Notes and Banners|Notes and Banners]]
+
**[[Eclipse integration]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/Dialogs|Dialogs]]
+
*[[{{PAGENAME}}/Architecture|<font color=green>Architecture</font>]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/View Menu|View Menu]]
+
** [[{{PAGENAME}}/Architecture/Changes | Architecture Changes Since Maemo 4]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/Hildonizing an Interface|Hildonizing an Interface]]
+
**[[{{PAGENAME}}/Architecture/Top Level Architecture|Top Level Architecture]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/Controls|Controls]]
+
**[[{{PAGENAME}}/Architecture/Core Domain|Core]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/User Input|User Input]]
+
** [[{{PAGENAME}}/Architecture/UI Framework | UI Framework ]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/Icons|Icons]]
+
**[[{{PAGENAME}}/Architecture/Multimedia Domain|Multimedia]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/Reality Checks|Reality Checks]]
+
**[[{{PAGENAME}}/Architecture/RTCOM | RTCOM ]]
-
*[[{{PAGENAME}}/Graphical UI Tutorial|<font color=green>Graphical UI Tutorial</font>]]
+
**[[{{PAGENAME}}/Architecture/System_Software|System Software]]
-
**[[{{PAGENAME}}/Graphical UI Tutorial/Introduction|Introduction]]
+
**[[{{PAGENAME}}/Architecture/Connectivity|Connectivity]]
-
**[[{{PAGENAME}}/Graphical UI Tutorial/Getting_started|Getting Started]]
+
**[[{{PAGENAME}}/Architecture/Data Management|Data Management]]
-
**[[{{PAGENAME}}/Graphical UI Tutorial/Windows_and_dialogs|Windows and Dialogs]]
+
**[[{{PAGENAME}}/Architecture/Imaging_and_Sharing | Imaging and Sharing]]
-
**[[{{PAGENAME}}/Graphical UI Tutorial/Menus|Menus]]
+
*[[{{PAGENAME}}/GNU_Build_System|<font color=green>GNU Build System</font>]]
-
**[[{{PAGENAME}}/Graphical UI Tutorial/Toolbars|Toolbars]]
+
* Hildon UI Guides from Forum Nokia
-
**[[{{PAGENAME}}/Graphical UI Tutorial/Navigation|Navigation]]
+
**These guides deprecate HIG below
-
**[[{{PAGENAME}}/Graphical UI Tutorial/Data_selection|Data Selection]]
+
**[http://www.forum.nokia.com/info/sw.nokia.com/id/e778ba1f-2507-4672-be45-798359a3aea7/Fremantle_Master_Layout_Guide.html Master Layout Guide]
-
**[[{{PAGENAME}}/Graphical UI Tutorial/Controls|Controls]]
+
**[http://www.forum.nokia.com/info/sw.nokia.com/id/eb8a68ba-6225-4d84-ba8f-a00e4a05ff6f/Hildon_2_2_UI_Style_Guide.html Hildon 2.2 UI Style Guide]
-
**[[{{PAGENAME}}/Graphical UI Tutorial/Additions_to_GTK+|Additions to GTK+]]
+
**[http://www.forum.nokia.com/info/sw.nokia.com/id/019c2b31-3777-49a0-9257-970d79580756/Hildon_2_2_Widget_UI_Specification.html Hildon 2.2 Widget UI Specification]
-
**[[{{PAGENAME}}/Graphical UI Tutorial/Utilities|Utilities]]
+
**[http://www.forum.nokia.com/info/sw.nokia.com/id/97e9b8e0-904c-4141-bb8a-91d4f519735f/Maemo_5_Desktop_Widget_UI_Guidelines.html Maemo 5 Desktop Widget UI Guidelines]
 +
**[http://www.forum.nokia.com/info/sw.nokia.com/id/75994a4a-382b-4a60-aaf2-2446f9e8c4f3/Web_Design_Guidelines_for_the_Nokia_N900.html Web Design Guidelines for the Nokia N900]
 +
*[[Legacy Maemo 5 Documentation/Human Interface Guidelines|<font color="green">Human Interface Guidelines (deprecated by Hildon UI Guides above)</font>]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/Introduction|Introduction]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/Usability Principles|Usability Principles]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/Device Orientation| Device Orientation]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/Windows|Windows]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/Notes and Banners|Notes and Banners]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/Dialogs|Dialogs]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/View Menu|View Menu]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/Hildonizing an Interface|Hildonizing an Interface]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/Controls|Controls]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/User Input|User Input]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/Icons|Icons]]
 +
**[[Legacy Maemo 5 Documentation/Human Interface Guidelines/Reality Checks|Reality Checks]]
 +
**[[GUI Design Template]]
 +
**[[Legacy Maemo 5 Documentation/Desktop Widget UI Guidelines|Desktop Widget UI Guidelines]]
 +
*[[Legacy Maemo 5 Documentation/Graphical UI Tutorial|<font color="green">Graphical UI Tutorial</font>]]
 +
**[[Legacy Maemo 5 Documentation/Graphical UI Tutorial/Introduction|Introduction]]
 +
**[[Legacy Maemo 5 Documentation/Graphical UI Tutorial/Getting started|Getting Started]]
 +
**[[Legacy Maemo 5 Documentation/Graphical UI Tutorial/Windows and dialogs|Windows and Dialogs]]
 +
**[[Legacy Maemo 5 Documentation/Graphical UI Tutorial/Menus|Menus]]
 +
**[[Legacy Maemo 5 Documentation/Graphical UI Tutorial/Toolbars|Toolbars]]
 +
**[[Legacy Maemo 5 Documentation/Graphical UI Tutorial/Navigation|Navigation]]
 +
**[[Legacy Maemo 5 Documentation/Graphical UI Tutorial/Data selection|Data Selection]]
 +
**[[Legacy Maemo 5 Documentation/Graphical UI Tutorial/Controls|Controls]]
 +
**[[Legacy Maemo 5 Documentation/Graphical UI Tutorial/Additions to GTK+|Additions to GTK+]]
 +
**[[Legacy Maemo 5 Documentation/Graphical UI Tutorial/Utilities|Utilities]]
*[[{{PAGENAME}}/Application_Development|<font color=green>Application Development</font>]]
*[[{{PAGENAME}}/Application_Development|<font color=green>Application Development</font>]]
-
**[[{{PAGENAME}}/Application_Development/Writing_Desktop_Widgets|Writing Desktop Widgets]]
+
**[[{{PAGENAME}}/Application_Development/Writing_Desktop_Widgets|Writing Desktop Widgets (Home and Status Menu)]]
**[[{{PAGENAME}}/Application_Development/Writing_Control_Panel_Applets|Writing Control Panel Applets]]
**[[{{PAGENAME}}/Application_Development/Writing_Control_Panel_Applets|Writing Control Panel Applets]]
 +
**[[{{PAGENAME}}/Application_Development/Maemo_Localization|Maemo Localization]]
 +
** [[{{PAGENAME}}/Application Development/MIME_type_mapping | MIME type mapping ]]
 +
** [[{{PAGENAME}}/Application Development/LibOSSO_library | LibOSSO library ]]
 +
** [[{{PAGENAME}}/Application Development/Writing_a_new_maemo_application | Writing a new Maemo application]]
 +
*[[{{PAGENAME}}/DBus|<font color=green>D-Bus</font>]]
 +
**[[{{PAGENAME}}/DBus/DBus_Basics|D-Bus Basics]]
 +
**[[{{PAGENAME}}/DBus/Using GLib Wrappers For D-Bus|Using GLib Wrappers For D-Bus]]
 +
**[[{{PAGENAME}}/DBus/Implementing and Using D-Bus Signals|Implementing and Using D-Bus Signals]]
 +
**[[{{PAGENAME}}/DBus/Asynchronous_Glib/D-Bus|Asynchronous Glib/D-Bus]]
 +
**[[{{PAGENAME}}/DBus/D-Bus_Server_Design_Issues|D-Bus Server Design Issues]]
*[[{{PAGENAME}}/Using_Multimedia Components|<font color=green> Using Multimedia Components</font>]]
*[[{{PAGENAME}}/Using_Multimedia Components|<font color=green> Using Multimedia Components</font>]]
**[[{{PAGENAME}}/Using Multimedia Components/Introduction|Introduction]]
**[[{{PAGENAME}}/Using Multimedia Components/Introduction|Introduction]]
Line 70: Line 85:
**[[{{PAGENAME}}/Using Connectivity Components/Maemo Connectivity|Maemo Connectivity]]
**[[{{PAGENAME}}/Using Connectivity Components/Maemo Connectivity|Maemo Connectivity]]
**[[{{PAGENAME}}/Using Connectivity Components/Implementing Custom Connection Managers|Implementing Custom Connection Managers]]
**[[{{PAGENAME}}/Using Connectivity Components/Implementing Custom Connection Managers|Implementing Custom Connection Managers]]
 +
**[[{{PAGENAME}}/Using Connectivity Components/Using Location API|Using Location API]]
*[[{{PAGENAME}}/Using_Generic Platform Components|<font color=green>Using Generic Platform Components</font>]]
*[[{{PAGENAME}}/Using_Generic Platform Components|<font color=green>Using Generic Platform Components</font>]]
 +
** [[{{PAGENAME}}/Using Generic Platform Components/GnomeVFS File System | GnomeVFS File System]]
 +
** [[{{PAGENAME}}/Using Generic Platform Components/Application Preferences-Gconf | Application Preferences-Gconf]]
 +
** [[{{PAGENAME}}/Using Generic Platform Components/Using Backup Application|Using Backup Application]]
 +
** [[{{PAGENAME}}/Using Generic Platform Components/Extending Hildon Input Methods | Extending Hildon Input Methods]]
**[[{{PAGENAME}}/Using Generic Platform Components/Using HAL|Using HAL]]
**[[{{PAGENAME}}/Using Generic Platform Components/Using HAL|Using HAL]]
**[[{{PAGENAME}}/Using Generic Platform Components/Alarm Framework|Alarm Framework]]
**[[{{PAGENAME}}/Using Generic Platform Components/Alarm Framework|Alarm Framework]]
-
*<font color=green>Porting Software</font>
+
**[[{{PAGENAME}}/Using Generic Platform Components/Using Address Book API|Using Address Book API]]
-
**[[{{PAGENAME}}/Human_Interface_Guidelines/Redesigning From Maemo 4 to Maemo 5|Redesigning From Maemo 4 to Maemo 5]]
+
*[[{{PAGENAME}}/Using Data Sharing|<font color=green>Using Data Sharing</font>]]
-
**[[{{PAGENAME}}/Application_Development/Migration|Migration]]
+
**[[{{PAGENAME}}/Using Data Sharing/Sharing Plug-in|Using "Share/Send Via" and Sharing Plug-ins]]
-
 
+
** [[{{PAGENAME}}/Using_Data_Sharing/Clipboard_Usage | Clipboard Usage]]
 +
*[[{{PAGENAME}}/Packaging, Deploying and Distributing|<font color=green>Packaging, Deploying and Distributing</font>]]
 +
**[[{{PAGENAME}}/Packaging,_Deploying_and_Distributing/Installing_under_opt_and_MyDocs|Installing under opt and MyDocs]]
 +
*[[{{PAGENAME}}/Porting_Software|<font color=green>Porting Software</font>]]
 +
**[[{{PAGENAME}}/Porting_Software/Introduction| Introduction]]
 +
**[[{{PAGENAME}}/Porting_Software/Redesigning From Maemo 4 to Maemo 5|Redesigning From Maemo 4 to Maemo 5]]
 +
**[[{{PAGENAME}}/Porting_Software/Porting MaemoPad|Porting MaemoPad from Diablo to Fremantle]]
 +
**[[{{PAGENAME}}/Porting_Software/Migration|Migration to Hildon 2.2]]
 +
**[[{{PAGENAME}}/Porting_Software/Porting_Existing_GTK%2B_Application_to_Maemo_5|Porting Existing GTK+2 Application to Maemo 5]]
 +
**[[{{PAGENAME}}/Porting_Software/Scaling_Fixed_Size_Windows|Scaling Fixed-size Windows]]
 +
**[[{{PAGENAME}}/Porting_Software/Adapting_UI_Inputs|Adapting UI Inputs for a limited keyboard]]
[[Category:Development]]
[[Category:Development]]
 +
*[[{{PAGENAME}}/Kernel_and_Debugging_Guide|<font color=green>Kernel and Debugging Guide</font>]]
 +
**[[{{PAGENAME}}/Kernel_and_Debugging_Guide/Introduction|Introduction]]
 +
**[[{{PAGENAME}}/Kernel_and_Debugging_Guide/Maemo_Kernel_Guide|Kernel Guide]]
 +
**[[{{PAGENAME}}/Kernel_and_Debugging_Guide/Maemo_Debugging_Guide|Debugging Guide]]

Latest revision as of 02:16, 27 January 2012


The Maemo 5 Developer Guide strives to provide an overall picture of the maemo 5 platform for developers wishing to create applications for maemo devices. These devices run a Linux-based operating system on ARM architecture. The maemo SDK is currently provided natively for desktop Linux distributions such as Debian and Ubuntu.

This is still a draft version and does not cover all aspects of the platform yet. These pages will be updated as and when documentation is ready internally.


[edit] INDEX