SoC 2006/Dashboard Integration

From AbiWiki

Revision as of 13:19, 27 November 2010 by Uwog (Talk | contribs)
Jump to: navigation, search

Dashboard Integration for Improved Document Creation Workflow Ryan Pavlik

Proposal Summary


Guiding Principle: The computers job is to enable the user to be more efficient.


Impetus for Project: If the user is busy using both search engines and a word processor, they are compensating for the softwares lack of integration.


My proposal is to expand AbiWords power to facilitate document creation by integrating the Dashboard implicit query system. Dashboard implicit query is a GNOME project developed to show relevant information to the users current activities in a panel or sidebar, primarily through the Beagle desktop search software for Linux. It is a union of Internet search engine technology and emerging desktop file and document searches that provides a comprehensive view of resources related to the current document. I propose to produce the necessary plugin or plugins as well as core code to integrate AbiWord with this technology, in order to make Dashboard a powerful tool for document composition. I would also make the necessary improvements to Dashboard in order to support these efforts. In this way, AbiWord would be able to call up relevant information on the document topic through the Dashboard panel. This would improve user efficiency by keeping the focus on the creation of documents, rather than the use of a web browser, file search tool, or other application that can be queried automatically by Dashboard.

Furthermore, AbiSource is a strong proponent of making world-class word processing software fully available for the Microsoft Windows platform. My proposal includes the work necessary to allow compilation of the AbiWord integration code on the Windows platform. I further plan to attempt a port of Dashboard to Windows, possibly using the Google Desktop Search API as a search back-end on this platform.


Deliverables

An AbiWord plugin and supporting code, possibly based on the AbiDash plugin, to interact with the Dashboard implicit query system allowing the computer to automatically perform relevant searches both locally and on the Internet on the behalf of the user.

Improvements committed to Dashboard bringing it up to date and back into usable condition on the Linux/GNOME platform.

A Windows-compatible version of the AbiWord Dashboard plugin and a port of the Dashboard software, possibly integrating with Google Desktop Search software to provide file system implicit search.

AbiWord and plugin development would take place on the AbiSource CVS server, in a branch of AbiWord CVS-HEAD, hopefully to be merged in for the AbiWord 2.6 stable release, tested in the AbiWord 2.5 development preview series.

Dashboard development would likely take place on the GNOME CVS server, on a branch, unless project maintainers see fit for improvements to be committed directly to the mainline tree.

Project Details section excised in official app to fit under size limit - Section follows...

AbiWord is a small, fast word processor that is fully-featured and has an eye toward innovation. Rather than produce a replica of Microsoft Word, which would be a constant game of catch-up, the AbiWord developers have turned toward finding new ways to allow users to be efficient. In the previous release cycle, this new focus began with the Equation Editor tool that was added as a plugin. Not only is it cross-platform and compatible with all of AbiWords target platforms, it also uses the existing standards for equation markup, LaTeX and MathML, to avoid making the user re-learn how to input equations. AbiWord 2.6 promises to be even more innovative, with several next generation features in development, such as the AbiCollab collaborative editing system. As of the 2.4 release, AbiWord contains an AbiDash plugin on Linux that can emit "cluepackets" to the Dashboard system, which informs it of the users activities in the word processor. However, this plugin is of little practical use at the moment. Due to the upstream development focus on improving Beagle, Dashboard itself is in a state of bit rot and crashes upon receiving the first cluepacket, if it compiles at all. I propose to significantly re-write or otherwise improve the AbiDash plugin as necessary to provide a full integration of AbiWord with the Dashboard software. This development would allow AbiWord to facilitate document production and work flow in a manner unlike any other word processor on the market, whether open source or proprietary. I would also investigate and experiment with optimizing the cluepackets that AbiWord emits to maximize the relevance of the returned information.

In the process of seeking this goal, I will necessarily have to make changes to the upstream Dashboard software, as it currently does not run successfully even on its primary platform, Linux/GNOME. In this way, my project would provide benefits to the Dashboard project and GNOME as a whole, in addition to the AbiWord project. The Dashboard application is written in C# and executes under the Mono environment on Linux. The Microsoft .NET development tools can also compile C#, and so modifying Dashboard to be compatible with Windows is also encompassed in my proposal. The Google Desktop Search exposes an API that may be usable to replace the Beagle back-end when running on a Windows platform. Through this open-source development, next-generation word processing using the open nature of free software to facilitate software inter-operation would be made available to users both on the Linux/GNOME and Windows platforms.

End excised section from official app


About Me and Why This Project Is Important To Me

I became involved with AbiWord as a bug reporter several years ago, during the AbiWord 2.0 stable release timeframe. At this time, I sought AbiWord as a lightweight, open source Microsoft Word replacement on MS Windows. As my interest in the project grew, I became involved with QA on the project. The AbiSource community welcomed my limited contributions of bug reports with open arms, grateful for the testing and feedback on the Windows platform. Over time, I began testing the development versions of AbiWord, in order to get a glimpse of what was to come, as well as to provide feedback and testing on Windows. I produced a full set of application and document icons for AbiWord on Windows and Mac OS X for the 2.2 release, and have been producing stable and development version splash screens since the 2.1 development releases. Due to time commitments, the individuals who had been building AbiWord installers for Windows releases were unable to continue in this capacity. The process of producing these installers was undocumented and required setting up a customized MinGW/MSYS compilation environment with various dependencies satisfied. With their help, I produced a replica of their compilation environment, documenting my procedure. This documentation process has resulted in the discovery and fixing of several bugs, as well as an automated Windows virtual machine that I set up that now builds AbiWord every night, according to these scripted instructions. Due in large part to my documentation work on the often-confusing process of compiling AbiWord and its plugins on Windows, I was nominated to be the Windows maintainer of the project. I gladly accepted this position, and have been the builder for all Windows releases since the 2.3.4 development release and the 2.4 stable release.

I have been improving my software development skills for several years now, and feel that I am ready to move forward with a major contribution to the AbiWord project. I am a university student concluding my freshman year at St. Norbert College in De Pere, WI, as a computer science and math double major. I have experience in programming with C++, the language of AbiWord, as well as Python, and PHP. I plan to eagerly and rapidly learn C# in order to make meaningful and necessary contributions to Dashboard in the course of my project. I am dedicated to the success of the AbiWord project, and will stay as a contributor long after the conclusion of my Summer of Code project.

I highly value AbiWord as a capable choice for word processing on Windows, and am eager to see its advancement. After directly observing first the development of our state-of-the-art equation editor, and now our powerful AbiCollab architecture, I am inspired and feel compelled to increase the scale of my contributions to AbiWord. I would love to become more committed to the projects bright future though a major code contribution sponsored by Google. Dashboard integration is the kind of advantage that I feel that open source software is uniquely positioned to provide: innovation through integration can be provided through understanding at the source code level, and rapid development and feedback cycles can quickly improve groundbreaking features as well as core functionality. For me, this project would be less of a job to make ends meet, and more of a fun and rewarding way to spend time contributing to open source this summer. I have enjoyed volunteering for AbiWord for several years now, and sponsorship by Google would allow me to increase my level of volunteerism while exploring fascinating new possibilities in the realm of word processing software.

==== Contributors

==

Personal tools