Your SlideShare is downloading. ×
0
static void




Adapting GNOME
                                                 _f_do_barnacle_install_properties(GObjectC...
whoami

●   GTK+ && Hildon && Python developer

●   Igalian since 2008

●   Part of Hildon Input Methods project


Adaptin...
What porting means?
What porting means
●   Before Fremantle:
    ●   Make an application RUN in Maemo


●   After Fremantle:
    ●   ADAPT an ...
Why bothering?

●   Your application gets better
●   Your users get happier
●   Your fingers too!




Adapting GNOME Appli...
GNOME Applications

●   Coding will be easier – it is GTK+!
●   Lots of interesting applications waiting to be ported!
●  ...
Root view / Sub view
Root view / sub view philosophy
●   Applications are stacks of windows

●   The root window is the base
    ●   E.g.: List...
Root View                                       Sub View




              This means: no GTKPaned!


Adapting GNOME Appli...
Black Chapter
I L !
FA
What to do with this!?
Divide and Conquer
When a box is tapped,
                          a dialog appears...



Adapting GNOME Applications to Maemo Fremantle · Jo...
Use a GtkToggle button or a
HildonPickerButton
Replaced the GtkSpinButtons by
HildonEntries and not by
HildonPickerButtons because the
changes are shown immediately in
t...
Text is the focus here, so, instead of a
GtkNotebook, the style properties are in a
GtkDialog launched from the text prope...
GtkSpinButtons are replaced by
HildonPickerButtons with a
TouchSelectorEntry assigned
HildonAppMenu
HildonAppMenu
●   Really different from a GtkMenu!!

●   Do not stuff it: Keep a low number of items

●   Use filters to d...
How to keep a low number of menu items?




                 DRY: Don't Repeat Yourself



Adapting GNOME Applications to ...
Choose the most used/important menus and sub-
menus from the menu bar.

Pages can be chosen using gestures, so, no need fo...
The status bar and toolbar are not used in EOG
for Maemo, so, no menus are needed.

The Zoom In / Zoom Out functionalities...
Following the Hildon Interface
                     Guidelines
●   HIG says: don't show menu items that are insensitive
● ...
EOG with no images loaded




EOG with an image loaded
Migrating Preferences Dialogs
Preferences Dialogs
●   Dialogs with a GtkNotebook to group different kinds of
    preferences

●   Tabs' labels define gr...
How to migrate it to Fremantle?
●   Use a HildonPannableArea

●   Add a GtkVBox with ALL the preferences groups and
    us...
Where to go from here?
●   Maemo 5 Developer Guide:

    http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide


●  ...
Questions?
Thank you!
Adapting GNOME Applications to Maemo Fremantle
Adapting GNOME Applications to Maemo Fremantle
Adapting GNOME Applications to Maemo Fremantle
Adapting GNOME Applications to Maemo Fremantle
Adapting GNOME Applications to Maemo Fremantle
Upcoming SlideShare
Loading in...5
×

Adapting GNOME Applications to Maemo Fremantle

2,200

Published on

Presentation given in Maemo Summit 2009 about Adapting GNOME Applications to Maemo Fremantle.

Published in: Technology

Transcript of "Adapting GNOME Applications to Maemo Fremantle"

  1. 1. static void Adapting GNOME _f_do_barnacle_install_properties(GObjectClass *gobject_class) { GParamSpec *pspec; Applications to /* Party code attribute */ pspec = g_param_spec_uint64 (F_DO_BARNACLE_CODE, "Barnacle code.", "Barnacle code", 0, G_MAXUINT64, Maemo Fremantle G_MAXUINT64 /* default value */, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_PRIVATE); g_object_class_install_property (gobject_class, F_DO_BARNACLE_PROP_CODE, Joaquim Rocha (jrocha on IRC) jrocha@igalia.com
  2. 2. whoami ● GTK+ && Hildon && Python developer ● Igalian since 2008 ● Part of Hildon Input Methods project Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  3. 3. What porting means?
  4. 4. What porting means ● Before Fremantle: ● Make an application RUN in Maemo ● After Fremantle: ● ADAPT an application to Maemo Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  5. 5. Why bothering? ● Your application gets better ● Your users get happier ● Your fingers too! Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  6. 6. GNOME Applications ● Coding will be easier – it is GTK+! ● Lots of interesting applications waiting to be ported! ● If you're a GNOME user, you may have your common applications available to you. Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  7. 7. Root view / Sub view
  8. 8. Root view / sub view philosophy ● Applications are stacks of windows ● The root window is the base ● E.g.: List of emails ● Actions that break the usage flow, will be sub views: ● E.g.: Reading an email Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  9. 9. Root View Sub View This means: no GTKPaned! Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  10. 10. Black Chapter
  11. 11. I L ! FA
  12. 12. What to do with this!?
  13. 13. Divide and Conquer
  14. 14. When a box is tapped, a dialog appears... Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  15. 15. Use a GtkToggle button or a HildonPickerButton
  16. 16. Replaced the GtkSpinButtons by HildonEntries and not by HildonPickerButtons because the changes are shown immediately in the image. Assign the numeric GtkInputMode
  17. 17. Text is the focus here, so, instead of a GtkNotebook, the style properties are in a GtkDialog launched from the text properties HildonAppMenu
  18. 18. GtkSpinButtons are replaced by HildonPickerButtons with a TouchSelectorEntry assigned
  19. 19. HildonAppMenu
  20. 20. HildonAppMenu ● Really different from a GtkMenu!! ● Do not stuff it: Keep a low number of items ● Use filters to display HOW contents are shown, not WHICH contents are shown Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  21. 21. How to keep a low number of menu items? DRY: Don't Repeat Yourself Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  22. 22. Choose the most used/important menus and sub- menus from the menu bar. Pages can be chosen using gestures, so, no need for Next/Previous menus.
  23. 23. The status bar and toolbar are not used in EOG for Maemo, so, no menus are needed. The Zoom In / Zoom Out functionalities are accomplished by using the Increase / Decrease hard-keys.
  24. 24. Following the Hildon Interface Guidelines ● HIG says: don't show menu items that are insensitive ● Here's a helpful tip: ● Connect a callback to the “show” signal of each HildonAppMenu item ● The callback shows/hides the item according to its “sensitive” property Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  25. 25. EOG with no images loaded EOG with an image loaded
  26. 26. Migrating Preferences Dialogs
  27. 27. Preferences Dialogs ● Dialogs with a GtkNotebook to group different kinds of preferences ● Tabs' labels define groups' names Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  28. 28. How to migrate it to Fremantle? ● Use a HildonPannableArea ● Add a GtkVBox with ALL the preferences groups and use a GtkLabel above each one, identifying it Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  29. 29. Where to go from here? ● Maemo 5 Developer Guide: http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide ● Maemo 5 API Reference: http://maemo.org/api_refs/5.0/5.0-final/hildon/ Adapting GNOME Applications to Maemo Fremantle · Joaquim Rocha <jrocha@igalia.com>
  30. 30. Questions?
  31. 31. Thank you!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×