User:Diggy/Calligra Sprint 2011.2 presentation: Difference between revisions

From KDE Community Wiki
(Calligra Sprint 2011.2 presentation)
 
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
==My Plans==
==Outline==
*Need for Interoperability between Calligra apps
===Kexi Documentation / Documentation roadmaps===
*UI perspective from a non developer
How Kexi documentation was updated from old Kexi docs:
*Promoting Calligra
#Migrate from old docs to userbase
*Plug-ins K.I.S.S. proposal
#Remove outdated information / chapters
*Calligra and DTP (ideas)
#Format text according to MediaWiki guidelines
*Kexi Documentation / Making documentation roadmaps
#Update text to current version (following formating)
#Insert Screenshots
#Refine content
 
 
*Before every release steps 2 to 6 are repeated to have consistent and up-to-date content.
*Approximately 2-3 iterations are needed to be fully updated.
*Documentation should be updated after feature freeze.
 
===Making UX smooth===
*Hiding Tabs / Toolbars when not needed (will be in 2.5)
**i.e. You don't need form design tab when you don't have a form open
*Implement Toggle Tabs / Title in Toolbars as in other Calligra apps
**i.e. Project Navigator, Property editor
*Hiding DockWidgets to Tabs at the side of the screen
**i.e. As in KDevelop
 
===Kexi Concepts===
'''Format/Design mode vs Edit/Insert/View mode:'''
*Format/Design Mode
**In this mode, the app is at full throttle having all tabs and toolbars visible.
*Edit/Insert Mode
**In this mode all toolbars, tabs, etc are hidden leaving just the main widget visible.
 
This would provide the following benefits:
*Cleaner interface/Less distraction when the user is trying to add content
*More screen estate available for content (Especially for small screens eg. netbooks, tablets)
This could be done by:
*Having a keyboard shortcut.
**Ctrl+alt+tab or F11 (as in browsers) would toggle modes.
*Detecting mouse inactivity (with threshold)
**Whenever a user starts typing and there is no mouse activity, switch mode.
*Startup arguments to open document in Edit Mode
**This along with read only attribute could quickly turn to View mode only.
 


==Outline==
'''User Mode for Kexi and why it is needed'''
===Where does Calligra stand as a suite?===
*When a database is opened in user mode, the user can view and change DATA handled by Kexi but cannot make changes to the database's OBJECTS.  
Calligra is currently more a pack of applications sharing a common vision and reusing code rather than a tightly integrated application suite.
*Data inserts/additions/deletions can be done ONLY through the database's objects (namely forms) and NOT by operating directly on the tables.
* Average user expectations from an office suite
*Viewing reports is also allowed.
** Stability / Data Integrity
** Reusing Docs made with other applications / Exporting to other formats
** UI Homogenity
** Interoperability between apps of the suite


===Promoting Calligra===
This environment can be fitted for situations as:
As Calligra is a new suite (name-wise at least) we should put an extra effort to "sell" this as efficiently as we can.
*Distributing a Database
* Finalize Calligra Logo / Guidelines
**When you have finished your database design and want to distribute to others to add data, but don't want them to fiddle with your design.
* Prepare homogenous splash screens for all apps
*Having advanced field evaluation
* Advertise using any means at hand:
**If in your form you have set field evaluations that cannot be set on database fields. eg The evaluation formula contains data from other fields. (Though it can be done in some RDBMS with calculated fields). In that case adding data directly to the table won't evaluate data added because the evaluation code is in a form object. Locking out access to tables makes sure that data added pass through any evaluations set on forms before inserting to the dataset.
** Add more content on calligra-suite.org
** On KDE domain websites
** Social networking services
* Create "made with Calligra" watermark to be used on documents


===Modular, modular, modular===
===Modular, modular, modular===
Line 31: Line 57:
* Plug ins can be added after installation when needed
* Plug ins can be added after installation when needed
* Most likely some of them will work between versions
* Most likely some of them will work between versions
* Reduced overhead. No need to reserve several MBs of memory for someone who uses Tables to keep a shopping list :)
* Reduced overhead.  
* Porting to other architectures is simplified as the main app is ported first, providing basic functions, plugins later.
**No need to reserve several MBs of memory for someone who uses Tables to keep a shopping list :)
* Better code organization. No need to have preprocessor instructions in the main files just to seperate build cases. eg No one is ever going to do What-If analysis using Tables on a mobile device.
* Porting to other architectures
** Simplified as the main app is ported first, providing basic functions, plugins later.
* Better code organization.  
**No one is ever going to do What-If analysis using Tables on a mobile device.
* Using scripting to build plugins effectively provides several advantages:
** No compiling needed
** Deployment could be done through GHNS, no need to package.
** When users want functionality not yet available they can chip in providing a plugin easier as they don't have to know application's insides other than the exposed API.


===Ideas for new Calligra apps / modules===
===Promoting / Reorganizing===
* Authoring / Completing forms (as suggested by jstaniek) using Words and Kexi Form editor
As Calligra is a new suite (name-wise at least) we should put an extra effort to "sell" this as efficiently as we can.
* DeskTop Publishing. Currently we can't fit Calligra in a DTP workflow because we're missing on that one.
* Finalize Calligra Logo / Guidelines
 
**We definately need to finalize our Business ID so as to promote Calligra using more than text. A logo can be remembered easier than text.
===Kexi Documentation / Making documentation roadmaps===
**We need Logos to put on welcome screen (since we don't have a splash screen)
* Create "made with Calligra" watermark to be used on documents
**This watermark would be used voluntarily by all of us on documents made with Calligra to help spread the word!
* Move content from kexi-project.org to userbase/community wiki
**Content in kexi-project.org hasn't been updated since 2010. Content should be updated and moved to kde wikis.

Latest revision as of 01:03, 10 November 2011

Outline

Kexi Documentation / Documentation roadmaps

How Kexi documentation was updated from old Kexi docs:

  1. Migrate from old docs to userbase
  2. Remove outdated information / chapters
  3. Format text according to MediaWiki guidelines
  4. Update text to current version (following formating)
  5. Insert Screenshots
  6. Refine content


  • Before every release steps 2 to 6 are repeated to have consistent and up-to-date content.
  • Approximately 2-3 iterations are needed to be fully updated.
  • Documentation should be updated after feature freeze.

Making UX smooth

  • Hiding Tabs / Toolbars when not needed (will be in 2.5)
    • i.e. You don't need form design tab when you don't have a form open
  • Implement Toggle Tabs / Title in Toolbars as in other Calligra apps
    • i.e. Project Navigator, Property editor
  • Hiding DockWidgets to Tabs at the side of the screen
    • i.e. As in KDevelop

Kexi Concepts

Format/Design mode vs Edit/Insert/View mode:

  • Format/Design Mode
    • In this mode, the app is at full throttle having all tabs and toolbars visible.
  • Edit/Insert Mode
    • In this mode all toolbars, tabs, etc are hidden leaving just the main widget visible.

This would provide the following benefits:

  • Cleaner interface/Less distraction when the user is trying to add content
  • More screen estate available for content (Especially for small screens eg. netbooks, tablets)

This could be done by:

  • Having a keyboard shortcut.
    • Ctrl+alt+tab or F11 (as in browsers) would toggle modes.
  • Detecting mouse inactivity (with threshold)
    • Whenever a user starts typing and there is no mouse activity, switch mode.
  • Startup arguments to open document in Edit Mode
    • This along with read only attribute could quickly turn to View mode only.


User Mode for Kexi and why it is needed

  • When a database is opened in user mode, the user can view and change DATA handled by Kexi but cannot make changes to the database's OBJECTS.
  • Data inserts/additions/deletions can be done ONLY through the database's objects (namely forms) and NOT by operating directly on the tables.
  • Viewing reports is also allowed.

This environment can be fitted for situations as:

  • Distributing a Database
    • When you have finished your database design and want to distribute to others to add data, but don't want them to fiddle with your design.
  • Having advanced field evaluation
    • If in your form you have set field evaluations that cannot be set on database fields. eg The evaluation formula contains data from other fields. (Though it can be done in some RDBMS with calculated fields). In that case adding data directly to the table won't evaluate data added because the evaluation code is in a form object. Locking out access to tables makes sure that data added pass through any evaluations set on forms before inserting to the dataset.

Modular, modular, modular

Most office suites in order to achieve better sales volume or user's acceptance, quickly become bloated with features an average user almost never uses. How to deal with that efficiently without sacrificing features? PLUGINS! Pros making Calligra apps as modular as possible:

  • Plug ins can be added after installation when needed
  • Most likely some of them will work between versions
  • Reduced overhead.
    • No need to reserve several MBs of memory for someone who uses Tables to keep a shopping list :)
  • Porting to other architectures
    • Simplified as the main app is ported first, providing basic functions, plugins later.
  • Better code organization.
    • No one is ever going to do What-If analysis using Tables on a mobile device.
  • Using scripting to build plugins effectively provides several advantages:
    • No compiling needed
    • Deployment could be done through GHNS, no need to package.
    • When users want functionality not yet available they can chip in providing a plugin easier as they don't have to know application's insides other than the exposed API.

Promoting / Reorganizing

As Calligra is a new suite (name-wise at least) we should put an extra effort to "sell" this as efficiently as we can.

  • Finalize Calligra Logo / Guidelines
    • We definately need to finalize our Business ID so as to promote Calligra using more than text. A logo can be remembered easier than text.
    • We need Logos to put on welcome screen (since we don't have a splash screen)
  • Create "made with Calligra" watermark to be used on documents
    • This watermark would be used voluntarily by all of us on documents made with Calligra to help spread the word!
  • Move content from kexi-project.org to userbase/community wiki
    • Content in kexi-project.org hasn't been updated since 2010. Content should be updated and moved to kde wikis.