OpenOffice.org Internship/ProjectProposals

From Apache OpenOffice Wiki
Jump to: navigation, search

start with some C&P from http://wiki.services.openoffice.org/wiki/Community_Innovation_Program/proposals and http://wiki.services.openoffice.org/wiki/Summer_of_Code_2008/proposals#Proposals

This is a draft, and the proposed subjects below can be removed if not conform to the Internship needs


Integration/porting

Maxima Integration

Integrate the Maxima symbolic computer algebra system into OOo, to solve calc problems in Writer.

The idea : create a Maxima session inside an OOo Writer document, in an embeded frame, or equivalent.

IMPORTANT :

  • Weekly IRC meetings.
  • Wiki use mandatory.
  • Specifications and documentation MUST be written in parallel, in same time the code is written.
  • Every diff of code will be documented on the wiki.
  • the code must be written in C++ (prefered). A proof of concept using Python would be appreciated.
  • Iterations
  • Step 1
    • Discover and learn UNO API
    • be able to create a Writer document (and play with it)
    • be able to launch an external application using UNO
    • In parallel : learn how a Writer document is structured and how to use it programmaticaly (structure, foundations)
  • Step 2
    • Learn Maxima session requirements
    • implement a way to launch a Maxima session from OOo
    • implement a way to exchange datas with the open Maxima session
    • propose a follow up for the devs who will continue the implementation
  • Estimated Timeline
    • 3 weeks of work = step 1
    • 5 weeks of work = step 2
  • Required skills/knowledge
    • lisp (basics), c++, UNO API knowledge
    • Difficulty: medium
    • Contact

ericb at openoffice.org

Improve OOo usability on small-screen devices

With devices like netbooks, the OLPC or (gasp!) smartphones becoming powerful enough to run OOo (or the stripped-down OOo4Kids), it's becoming critically important to adapt the UI to smaller screen sizes and/or vastly different aspect ratios. This task is about improving OOo4Kids usability on the XO - from better Sugar integration to smaller UI footprint.

  • Required skills/knowledge
    • c++, Sugar/OLPC a bonus
    • Difficulty
    • medium
    • Contact
      • ericb at openoffice dot org

Make OOo UI complexity configurable

The OOo4Kids project has pioneered a way of "dumbing down" the OOo UI, by selectively hiding functionality depending on user proficiency (controlled via three central user levels, beginner, intermediate & expert). This task is to expand on that, cover all five applications, and create a consistent, seamless level of complexity, adapted to the user skill level.

  • Required skills/knowledge
    • c++, UX design
    • Difficulty
    • medium
    • Contact
      • ericb at openoffice dot org

Improve (Python) scriptability

OOo has a language-agnostic bridge, that permits a host of programming languages (Java, Python, C#, JScript etc etc) to access certain parts of the OOo core. That's nice, but many of the more interesting intestines of the code are not, not easily, or not elegantly usable like that.

This project is about extend OOo with Python :

  • providing a SWIG, or boost::python-based wrapper around un-UNOized OOo core classes.
  • provide organized code samples, and clear examples


Required skills/knowledge c++, python, boost/swig Difficulty medium Contact ericb at openoffice dot org

Improve the Impress slideshow annotation mode

OOo has recently gotten a live annotation mode in the slideshow component, via a sequence of semester projects at Ecole Centrale Nantes. This project is far from done, has been worked on by students previously, and is highly useful in a classroom/education setting.

Tasks :

  • improve the eraser mode
  • fix various bugs around
  • improve the annotation mode


Required skills/knowledge c++ Difficulty medium Contact ericb at openoffice dot org

Improve Scanner integration inside OOo

Scanner support inside OOo is existing, but neglected functionality. In our increasingly visual oriented world, getting that up to par (across all platforms - though especially lacking on Mac) would make you many friends.

  • analyze the current situation
  • improve (the view, the way the scanner is used .. and so on)
  • propose a proof of concept on Mac OS X (Baseline : Tiger)


Required skills/knowledge c++, Cocoa Difficulty hard Contact ericb at openoffice dot org

Calc/Chart

Component to check spreadsheet documents for potential errors

Write an extension that checks a spreadsheet document for potential errors in formulas, presents a list of the findings to the user, and allows to correct them.

Things to look for could include

  • Cells that contain numbers stored as text and are used in formulas,
  • Number cells that are not used in any formulas,
  • Empty cells that are used in single-cell formula references.

The list is not meant to be exhaustive.

  • Required skills/knowledge: Java or C++, spreadsheet usage
Contact
dev@sc.openoffice.org
Niklas.Nebel at sun.com

Statistical Data Analysis Tool

Write an extension that allows statistical data analysis (like Anova, t-test, z-test, see Statistical Data Analysis Tool).

  • Required skills/knowledge: Java or C++, statistics
Contact
dev@sc.openoffice.org
Niklas.Nebel at sun.com

Improve numerical stability of spreadsheet functions

Some statistical and financial analysis spreadsheet functions need improvement in numerical stability, for example for very large and/or small values, see issue 18704 and dependencies.

  • Required skills/knowledge: C++, knowledge of numerical analysis and algorithms, mathematical background
Contact
dev@sc.openoffice.org
Eike.Rathke at sun dot com

Add new spreadsheet functions and parameters according to ODFF

The OpenDocument Format Formula specification (ODFF aka OpenFormula) defines several new spreadsheet functions and new optional parameters to already existing functions that have to be implemented.

  • Required skills/knowledge: C++; for some statistical functions knowledge of numerical algorithms and mathematical background
Contact
dev@sc.openoffice.org
Eike.Rathke at sun dot com
Personal tools