SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
Major Contribution Proposal
Contents
1     Document Information .................................................................................................... 2
2     Proposal ......................................................................................................................... 2
    2.1     Description............................................................................................................... 2
      2.1.1          Two Modes –Hybrid and Touch ...................................................................... 2
            2.1.1.1          Hybrid Mode ........................................................................................... 2
            2.1.1.2          Touch Mode ........................................................................................... 3
            2.1.1.2.1        Options menu ......................................................................................... 4
            2.1.1.2.2        Multi-selection......................................................................................... 6
    2.2     Benefits ................................................................................................................... 6
    2.3     Schedule ................................................................................................................. 6
      2.3.1          Target Release ............................................................................................... 6
      2.3.2          Risks / confidence .......................................................................................... 6
    2.4     Dependencies .......................................................................................................... 7
    2.5     Exclusions ............................................................................................................... 7
3     Q&A ............................................................................................................................... 7
    3.1     System impact ......................................................................................................... 7
      3.1.1          What packages are expected to be impacted? ............................................... 7
      3.1.2     Describe possible system-wide impacts; is for example system level
      regression testing or staged integration needed? ........................................................... 7
    3.2     Major Contribution Proposal Resourcing .................................................................. 7
      3.2.1          What parts, if any, of the contribution are not yet fully resourced? .................. 7
      3.2.2     List any impacted packages (from section 4.1.1) whose owners haven’t
      agreed to their proposed involvement with the major contribution proposal .................... 7
    3.3     Testing and Quality .................................................................................................. 7
      3.3.1     Are there specific requirements on the community for testing this feature? Is
      IOP testing needed? Is additional test equipment needed? ............................................ 7
      3.3.2          Describe any external contributions needed to achieve a good level of quality 7
    3.4     Additional Contact Points ......................................................................................... 8
4     Revision History ............................................................................................................. 8
5     Appendix ........................................................................................................................ 8




                                                                    1
1 Document Information
Remove Double Tapping from Platform Applications
Feature sponsor / Document author           Ilkka Syrjälä, Ixonos Plc
Lead Technology Domain                      User Interface
Lead Technology Domain manager              Scott Weiss
Revision number                 0.5                 Last revised date         23.09.2009
Major Contribution              <Insert ID>         Status                    Draft
Proposal ID

2 Proposal
2.1   Description
Nokia S60 5th Edition platform introduced a touch interface used by products such as Nokia
5800 XpressMusic and Nokia N97. As Symbian^3 will be based on S60 5th Edition Platform,
it will also derive the touch user interface functionality.
The S60 5th Edition touch UI uses mainly single tap inputs. However, there are places where
double tapping is required and this breaks UI consistency. This document proposes
removing the need for double tapping from the Symbian^3 platform.
The proposed change will affect both the platform applications and the Symbian Platform
Middleware layer as well. The non-touch UI, i.e. hardware only input functionality, will not be
changed.
Nokia N97 touch phone is used as reference device in this proposal.

2.1.1 Two Modes –Hybrid and Touch
The user can interact with the touch device in two ways depending how the device is used.
When hardware keys are hidden or they don’t exist in the device, mode is regarded as touch
mode. When user enables hardware keys the input mode is regarded as hybrid mode. In
N97, hybrid mode is enabled by pushing the screen forward so that the QWERTY keyboard
becomes visible.
The mode is determined from a Publish and Subscribe key, so this will not add new
dependency for existing applications.
The list component is the most common place where double tapping is used, so it is used as
an example.

2.1.1.1 Hybrid Mode
In hybrid mode, a selection is visible in lists just like it is currently implemented in 5th Edition
platform. User can move the highlight using hardware joystick, open item or use an action for
the selected element from the option menu.
Figure 1 Selection can be moved using HW joystick


User can also use touch to open an item. Double tap is removed so that single tap on a list
element will automatically open the tapped target. Figure 2 demonstrates how single tap
works in Contacts application. Initially the highlight is on a contact named andy. When user
single taps contact ilkka the contact opens immediately.




Figure 2 Single tapping a list element will open it


2.1.1.2 Touch Mode
The touch mode removes static highlight on lists. The highlight is shown only shortly when
user single taps a list element. Because there is no active highlight, the options menu and its
elements will be updated dynamically.
Figure 3 demonstrates a use case where a contact is opened using single tap on touch
mode. The initial state of contacts view does not highlight any item. When the user taps
contact called ilkka following steps happen:
   1. Contact ilkka is highlighted when finger or stylus hits the screen
   2. When user pulls stylus from the screen the contact opens
   3. In single contact view no list items are highlighted
When switching between the two modes, list selection should be preserved, i.e. even if it
disappears when switching from hybrid to touch mode, it should reappear when switching
back.
Figure 3 Opening a contact on touch only mode


2.1.1.2.1                     Options menu

The options menu will be affected also when sustained highlighting is removed. When there
is no highlight, context specific options are hidden.
Figure 4 Context sensitive items will be hidden from Options menu when list item is
not highlighted


Context sensitive items can be accessed via context sensitive pop-up menu, which can be
launched by a long press of a list item. For example Contacts application contact list
supports this feature already in the S60 5th Edition. This feature supported by the platform
can be utilized in all applications where seen reasonable. Of course this requires some
modifications to the application, but the implementation should be quite trivial.




Figure 5 Context sensitive pop-up menu opened with long press
2.1.1.2.2                           Multi-selection

Single click functionality will have an impact on multi-selection capability in touch only mode.
This chapter enumerates few of the possible multi-selection options on high level, but leaves
the implementation options open. The multi-selection functionality can be specified in detail
in the Technical Solution Description.
Multi-selection mode could be activated from Options Mark/unmark Select. When the
multi-selection is activated, user can single tap elements in the list to select them. Once the
wanted items have been selected, user can launch an action on the selected set of items via
the options menu. After the action has been launched the list functionality reverts back to the
normal single click mode. If user wants to cancel multi-selection (instead on launching
action), it can be done via Options Mark/unmark Unmark all. The same functionality
(mark/unmark) could also be accessible from the context sensitive pop up menu, in addition
to or instead of options menu.
Another possibility could be to modify the list items to have tap zones for selection togging.
Markable list items could be modified so that by clicking the tick mark area (right end of the
item) would toggle the item selection and the rest of the list item area would respond to
normal single clicks. Similar functionality could be implemented in the lists with visible
checkboxes. The potential problem with this approach is that there is no hint in the UI of this
possibility although it might be quite intuitive once learned by the user. Also depending on
the screen size and layout the hit area may be too small for finger use. This would most likely
impose changes on the UI framework itself.
There may also be other solutions to this issue which could be utilized instead of or together
with the ones mentioned above. As mentioned before, multi-selection is an issue that
requires further analysis.

2.2       Benefits
The focus of this proposal is to remove the double tap list behaviour inconsistency from
platform applications and to make the behaviour consistent with single-tap behaviour in the
S^2 Homescreen. There will not be a compatibility break in source, binary or usability for all
the 3rd party applications developed for S60 3rd or 5th Edition.
Benefits of this solution are:
      •    Non touch UI functionality stays as it is currently
      •    No source, binary or usability breaks with 3rd party applications or Java
      •    The change supports devices with both keypad and touch
      •    3rd party developers are not forced to change their current and old S60 3rd edition 5th
           edition products to support new UX


2.3       Schedule

2.3.1 Target Release
Symbian^3 is the target release for the proposed change.

2.3.2 Risks / confidence
Once the changes are made to the framework, there might be a risk of compatibility break in
some rare use-cases. This risk can occur if an application receives and manipulates pointer
events or list elements against how it is defined in Symbian programming guidelines.
The implementation changes are initially estimated to be quite intense in the platform
framework while smaller modifications are required in the application level.

2.4     Dependencies
None

2.5     Exclusions
None

3 Q&A
3.1     System impact

3.1.1    What packages are expected to be impacted?
Classic UI and most of the platform applications such as Menu, Contacts, Calendar,
Messaging, File Manager, Gallery, Settings forms, Setting items.

3.1.2    Describe possible system-wide impacts; is for example system level regression
         testing or staged integration needed?
All platform applications must be tested for the new functionality and regression. If Symbian
Foundation utilizes automated UI testing tools, the test cases need to be updated
accordingly.


3.2     Major Contribution Proposal Resourcing

3.2.1    What parts, if any, of the contribution are not yet fully resourced?
Contribution is fully resourced.

3.2.2    List any impacted packages (from section 3.1.1) whose owners haven’t agreed to
         their proposed involvement with the major contribution proposal
Platform application package owners have been contacted and they do not have any
objections about the change.

3.3     Testing and Quality

3.3.1    Are there specific requirements on the community for testing this feature? Is IOP
         testing needed? Is additional test equipment needed?
Regression testing of all modified applications needs to be conducted. Changes in the
platform code, applications and dependent frameworks (e.g. Java) must be regression
tested. Automated UI testing tool test cases (if any in use) need to be updated to conform to
the single tap paradigm.

3.3.2    Describe any external contributions needed to achieve a good level of quality
No external contributors are required for this MCP. Since the changes affect many platform
applications all testing work contribution provided by community is greatly appreciated.
3.4    Additional Contact Points

4 Revision History

Revision       Author            Date        Description
0.01           Ilkka Syrjälä     31.8.2009   New doc created based on MCP template
                                             version 1.1
0.02           Ilkka Syrjälä     9.9.2009    Updated version based on further analysis
                                             and comments by Scott Weiss
0.03           Ilkka Syrjälä     10.9.2009   Updates based on review comments
0.04           Ilkka Syrjälä     14.9.2009   Updates based on review comments
0.05           Pavol Pavelka /   23.9.2009   Proposal now assumes changes also in
               Martin Komara                 the platform.



5 Appendix
-

Contenu connexe

En vedette

Model-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A SurveyModel-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A SurveyMr. Chanuwan
 
Stanphw Introduction Portal
Stanphw Introduction PortalStanphw Introduction Portal
Stanphw Introduction Portalstanphw
 
Elgin Academy Support pack 3
Elgin Academy Support pack 3Elgin Academy Support pack 3
Elgin Academy Support pack 3National CPD Team
 
All Dogs go to Heaven
All Dogs go to HeavenAll Dogs go to Heaven
All Dogs go to Heavenmicheleukleja
 
W 735 W 736 Super Electronic
W 735 W 736 Super ElectronicW 735 W 736 Super Electronic
W 735 W 736 Super Electronicguest9eeff7c
 

En vedette (8)

Model-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A SurveyModel-Based Performance Prediction in Software Development: A Survey
Model-Based Performance Prediction in Software Development: A Survey
 
kfc
kfckfc
kfc
 
Stanphw Introduction Portal
Stanphw Introduction PortalStanphw Introduction Portal
Stanphw Introduction Portal
 
Elgin Academy Support pack 3
Elgin Academy Support pack 3Elgin Academy Support pack 3
Elgin Academy Support pack 3
 
All Dogs go to Heaven
All Dogs go to HeavenAll Dogs go to Heaven
All Dogs go to Heaven
 
Fields Of Boaz
Fields Of BoazFields Of Boaz
Fields Of Boaz
 
W 735 W 736 Super Electronic
W 735 W 736 Super ElectronicW 735 W 736 Super Electronic
W 735 W 736 Super Electronic
 
Mundo Perdido
Mundo PerdidoMundo Perdido
Mundo Perdido
 

Dernier

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 

Dernier (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 

Major Contribution Proposal Single Tap 20090923

  • 1. Major Contribution Proposal Contents 1 Document Information .................................................................................................... 2 2 Proposal ......................................................................................................................... 2 2.1 Description............................................................................................................... 2 2.1.1 Two Modes –Hybrid and Touch ...................................................................... 2 2.1.1.1 Hybrid Mode ........................................................................................... 2 2.1.1.2 Touch Mode ........................................................................................... 3 2.1.1.2.1 Options menu ......................................................................................... 4 2.1.1.2.2 Multi-selection......................................................................................... 6 2.2 Benefits ................................................................................................................... 6 2.3 Schedule ................................................................................................................. 6 2.3.1 Target Release ............................................................................................... 6 2.3.2 Risks / confidence .......................................................................................... 6 2.4 Dependencies .......................................................................................................... 7 2.5 Exclusions ............................................................................................................... 7 3 Q&A ............................................................................................................................... 7 3.1 System impact ......................................................................................................... 7 3.1.1 What packages are expected to be impacted? ............................................... 7 3.1.2 Describe possible system-wide impacts; is for example system level regression testing or staged integration needed? ........................................................... 7 3.2 Major Contribution Proposal Resourcing .................................................................. 7 3.2.1 What parts, if any, of the contribution are not yet fully resourced? .................. 7 3.2.2 List any impacted packages (from section 4.1.1) whose owners haven’t agreed to their proposed involvement with the major contribution proposal .................... 7 3.3 Testing and Quality .................................................................................................. 7 3.3.1 Are there specific requirements on the community for testing this feature? Is IOP testing needed? Is additional test equipment needed? ............................................ 7 3.3.2 Describe any external contributions needed to achieve a good level of quality 7 3.4 Additional Contact Points ......................................................................................... 8 4 Revision History ............................................................................................................. 8 5 Appendix ........................................................................................................................ 8 1
  • 2. 1 Document Information Remove Double Tapping from Platform Applications Feature sponsor / Document author Ilkka Syrjälä, Ixonos Plc Lead Technology Domain User Interface Lead Technology Domain manager Scott Weiss Revision number 0.5 Last revised date 23.09.2009 Major Contribution <Insert ID> Status Draft Proposal ID 2 Proposal 2.1 Description Nokia S60 5th Edition platform introduced a touch interface used by products such as Nokia 5800 XpressMusic and Nokia N97. As Symbian^3 will be based on S60 5th Edition Platform, it will also derive the touch user interface functionality. The S60 5th Edition touch UI uses mainly single tap inputs. However, there are places where double tapping is required and this breaks UI consistency. This document proposes removing the need for double tapping from the Symbian^3 platform. The proposed change will affect both the platform applications and the Symbian Platform Middleware layer as well. The non-touch UI, i.e. hardware only input functionality, will not be changed. Nokia N97 touch phone is used as reference device in this proposal. 2.1.1 Two Modes –Hybrid and Touch The user can interact with the touch device in two ways depending how the device is used. When hardware keys are hidden or they don’t exist in the device, mode is regarded as touch mode. When user enables hardware keys the input mode is regarded as hybrid mode. In N97, hybrid mode is enabled by pushing the screen forward so that the QWERTY keyboard becomes visible. The mode is determined from a Publish and Subscribe key, so this will not add new dependency for existing applications. The list component is the most common place where double tapping is used, so it is used as an example. 2.1.1.1 Hybrid Mode In hybrid mode, a selection is visible in lists just like it is currently implemented in 5th Edition platform. User can move the highlight using hardware joystick, open item or use an action for the selected element from the option menu.
  • 3. Figure 1 Selection can be moved using HW joystick User can also use touch to open an item. Double tap is removed so that single tap on a list element will automatically open the tapped target. Figure 2 demonstrates how single tap works in Contacts application. Initially the highlight is on a contact named andy. When user single taps contact ilkka the contact opens immediately. Figure 2 Single tapping a list element will open it 2.1.1.2 Touch Mode The touch mode removes static highlight on lists. The highlight is shown only shortly when user single taps a list element. Because there is no active highlight, the options menu and its elements will be updated dynamically. Figure 3 demonstrates a use case where a contact is opened using single tap on touch mode. The initial state of contacts view does not highlight any item. When the user taps contact called ilkka following steps happen: 1. Contact ilkka is highlighted when finger or stylus hits the screen 2. When user pulls stylus from the screen the contact opens 3. In single contact view no list items are highlighted When switching between the two modes, list selection should be preserved, i.e. even if it disappears when switching from hybrid to touch mode, it should reappear when switching back.
  • 4. Figure 3 Opening a contact on touch only mode 2.1.1.2.1 Options menu The options menu will be affected also when sustained highlighting is removed. When there is no highlight, context specific options are hidden.
  • 5. Figure 4 Context sensitive items will be hidden from Options menu when list item is not highlighted Context sensitive items can be accessed via context sensitive pop-up menu, which can be launched by a long press of a list item. For example Contacts application contact list supports this feature already in the S60 5th Edition. This feature supported by the platform can be utilized in all applications where seen reasonable. Of course this requires some modifications to the application, but the implementation should be quite trivial. Figure 5 Context sensitive pop-up menu opened with long press
  • 6. 2.1.1.2.2 Multi-selection Single click functionality will have an impact on multi-selection capability in touch only mode. This chapter enumerates few of the possible multi-selection options on high level, but leaves the implementation options open. The multi-selection functionality can be specified in detail in the Technical Solution Description. Multi-selection mode could be activated from Options Mark/unmark Select. When the multi-selection is activated, user can single tap elements in the list to select them. Once the wanted items have been selected, user can launch an action on the selected set of items via the options menu. After the action has been launched the list functionality reverts back to the normal single click mode. If user wants to cancel multi-selection (instead on launching action), it can be done via Options Mark/unmark Unmark all. The same functionality (mark/unmark) could also be accessible from the context sensitive pop up menu, in addition to or instead of options menu. Another possibility could be to modify the list items to have tap zones for selection togging. Markable list items could be modified so that by clicking the tick mark area (right end of the item) would toggle the item selection and the rest of the list item area would respond to normal single clicks. Similar functionality could be implemented in the lists with visible checkboxes. The potential problem with this approach is that there is no hint in the UI of this possibility although it might be quite intuitive once learned by the user. Also depending on the screen size and layout the hit area may be too small for finger use. This would most likely impose changes on the UI framework itself. There may also be other solutions to this issue which could be utilized instead of or together with the ones mentioned above. As mentioned before, multi-selection is an issue that requires further analysis. 2.2 Benefits The focus of this proposal is to remove the double tap list behaviour inconsistency from platform applications and to make the behaviour consistent with single-tap behaviour in the S^2 Homescreen. There will not be a compatibility break in source, binary or usability for all the 3rd party applications developed for S60 3rd or 5th Edition. Benefits of this solution are: • Non touch UI functionality stays as it is currently • No source, binary or usability breaks with 3rd party applications or Java • The change supports devices with both keypad and touch • 3rd party developers are not forced to change their current and old S60 3rd edition 5th edition products to support new UX 2.3 Schedule 2.3.1 Target Release Symbian^3 is the target release for the proposed change. 2.3.2 Risks / confidence Once the changes are made to the framework, there might be a risk of compatibility break in
  • 7. some rare use-cases. This risk can occur if an application receives and manipulates pointer events or list elements against how it is defined in Symbian programming guidelines. The implementation changes are initially estimated to be quite intense in the platform framework while smaller modifications are required in the application level. 2.4 Dependencies None 2.5 Exclusions None 3 Q&A 3.1 System impact 3.1.1 What packages are expected to be impacted? Classic UI and most of the platform applications such as Menu, Contacts, Calendar, Messaging, File Manager, Gallery, Settings forms, Setting items. 3.1.2 Describe possible system-wide impacts; is for example system level regression testing or staged integration needed? All platform applications must be tested for the new functionality and regression. If Symbian Foundation utilizes automated UI testing tools, the test cases need to be updated accordingly. 3.2 Major Contribution Proposal Resourcing 3.2.1 What parts, if any, of the contribution are not yet fully resourced? Contribution is fully resourced. 3.2.2 List any impacted packages (from section 3.1.1) whose owners haven’t agreed to their proposed involvement with the major contribution proposal Platform application package owners have been contacted and they do not have any objections about the change. 3.3 Testing and Quality 3.3.1 Are there specific requirements on the community for testing this feature? Is IOP testing needed? Is additional test equipment needed? Regression testing of all modified applications needs to be conducted. Changes in the platform code, applications and dependent frameworks (e.g. Java) must be regression tested. Automated UI testing tool test cases (if any in use) need to be updated to conform to the single tap paradigm. 3.3.2 Describe any external contributions needed to achieve a good level of quality No external contributors are required for this MCP. Since the changes affect many platform applications all testing work contribution provided by community is greatly appreciated.
  • 8. 3.4 Additional Contact Points 4 Revision History Revision Author Date Description 0.01 Ilkka Syrjälä 31.8.2009 New doc created based on MCP template version 1.1 0.02 Ilkka Syrjälä 9.9.2009 Updated version based on further analysis and comments by Scott Weiss 0.03 Ilkka Syrjälä 10.9.2009 Updates based on review comments 0.04 Ilkka Syrjälä 14.9.2009 Updates based on review comments 0.05 Pavol Pavelka / 23.9.2009 Proposal now assumes changes also in Martin Komara the platform. 5 Appendix -