[Cs22800] final report

sam th sam at uchicago.edu
Wed Dec 18 12:32:42 CST 2002


Attached is the final report for my AbiWord project.  It doesn't include 
the screenshots I promised since my computer at school (where I am not) 
unexpectedly went down, so I can't access them.  Sorry.  

sam th
-------------- next part --------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- ================================================================================  -->
<!-- This HTML file was created by AbiWord.                                            -->
<!-- AbiWord is a free, Open Source word processor.                                    -->
<!-- You may obtain more information about AbiWord at www.abisource.com                -->
<!-- ================================================================================  -->

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>C:\Documents and Settings\etobin\Desktop\final report.xhtml</title>
<style type="text/css">
body
{
	font-family: "Times New Roman";
	font-style: normal;
	text-indent: 0in;
	font-weight: normal;
	font-variant: normal;
	color: #000000;
	text-decoration: none;
	text-align: left;
	font-size: 12pt;
	widows: 2;
	font-stretch: normal;
	background-color: #ffffff;
}

@media print
{
	body
	{
		padding-top: 1in; padding-bottom: 1in;
		padding-left: 1in; padding-right: 1in;
	}
}

blockquote, .BlockText
{
	margin-bottom: 6pt;
	margin-left: 1in;
	margin-right: 1in;
}

p, .Normal
{
	font-family: "Times New Roman";
	font-style: normal;
	margin-left: 0pt;
	text-indent: 0in;
	margin-top: 0.0694in;
	font-weight: normal;
	font-variant: normal;
	color: #000000;
	text-decoration: none;
	margin-bottom: 0.0694in;
	text-align: left;
	margin-right: 0pt;
	font-size: 12pt;
	widows: 2;
	font-stretch: normal;
}

</style>
</head>
<body><div>
<p style="text-align: center"><span style="font-weight: bold">Final </span><span style="font-weight: bold">Repor</span><span style="font-weight: bold">t</span></p>
<p><br />
</p>
<p><span style="font-weight: bold">1. </span><span style="font-weight: bold">About Abi</span><span style="font-weight: bold">Word</span></p>
<p><br />
</p>
<p>AbiWord is a free software, cross platform word processor, available for Mac, Windows and Unix.&nbsp; It strives to be properly integrated with each platform that it runs on, and to follow platform guidelines for interoperability. AbiWord is under active development by a team of independent developers from around the globe, all working in their spare time to bring the best of word processing to free software.&nbsp; </p>
<p><br />
</p>
<p>On Unix platforms, AbiWord is a part of the GNOME project.&nbsp; AbiWord uses the GTK toolkit, and integrates with GNOME libraries.&nbsp; It also strives to follow GNOME guidelines for the proper behavior of a desktop, end-user application.&nbsp; </p>
<p><br />
</p>
<p><span style="font-weight: bold">2.&nbsp; Ab</span><span style="font-weight: bold">out the GNOME HIG</span></p>
<p><br />
</p>
<p>The GNOME Human Interface Guidelines are a project to specify guidelines for the user interface of all GNOME applications, so that they are simple, easy to use, and consistent from applications to application. From their web site:</p>
<p><br />
</p>
<blockquote><span style="vertical-align: ; font-family: 'Times New Roman'; font-size: 12.000000pt">This document tells you how to create applications that look right, behave properly, and fit into the GNOME user interface as a whole. It is written for interface designers, graphic artists and software developers who will be creating software for the GNOME environment. Both specific advice on making effective use of interface elements, and the philosophy and general design principles behind the GNOME interface are covered</span></blockquote>
<p><br />
</p>
<p>This document was created for GNOME 2.0, and is the standard that all GNOME applications, including AbiWord, should meet, to be good citizens of the GNOME community.&nbsp; </p>
<p><br />
</p>
<p><span style="font-weight: bold">3. The Project Goal</span></p>
<p><br />
</p>
<p>The project that I took on was to improve AbiWord's compliance with the GNOME HIG.&nbsp; I did this by reviewing all important interface elements of AbiWord, and comparing them with the specification in the HIG for how they should look and act.&nbsp; Then I worked on fixing those aspects that were not up to par.&nbsp; </p>
<p><br />
</p>
<p><span style="font-weight: bold">4. The Project Pro</span><span style="font-weight: bold">cess</span></p>
<p><br />
</p>
<p>The process for working on this project consisted of three stages, not necessarily separate chronologically.&nbsp; The first stage consisted of determining what problems needed to be addressed in AbiWord.&nbsp; This required examining the HIG and understanding its recommendations and the reasoning behind them so that they could be properly implemented in AbiWord.&nbsp; The results of this stage were bugs filed in the AbiWord bug tracking system, (located at bugzilla.abisource.com) under bug 4142.&nbsp; The second stage consisted of bug triage, where I evaluated these bugs for whether they were reasonable to implement in AbiWord.&nbsp; It was necessary to determine which of these were appropriate for the specific needs of AbiWord.&nbsp; The final stage consisted in implementation and actually fixing the bugs.&nbsp; </p>
<p><br />
</p>
<p><span style="font-weight: bold">5.&nbsp; The Results</span></p>
<p><br />
</p>
<p>This project made a substantial contribution to the compliance of AbiWord with the GNOME Human Interface Guidelines.&nbsp; A total of 10 separate issues were identified, which can be seen in the dependencies list of bug 4142.&nbsp; Five of these issues were fixed, and the others should either be fixed soon, or require additional discussion among the AbiWord developer community.&nbsp; </p>
<p><br />
</p>
<p><span style="font-weight: bold">6. Bug Breakdown</span></p>
<p><br />
</p>

<ul class="Normal">
<li><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">&nbsp;</span>4144 - Remove titles from Alert dialogs - Fixed.</li>
<li><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">	4145 - Button o</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">rder on confi</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">rm quit dialog - Fixed</span></li>
<li><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">	41</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">46 - Fix confirm quit dialog to comply with </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">GNOME HIG - Fixed</span></li>
<li><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">	4295 - Closing last </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">window should quit AbiWord - Fixed</span></li>
</ul>
<p style="margin-left: 0pt; text-indent: 0in"><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">Th</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">ese </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">bugs were relatively easy to fix, a</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">nd represented the ma</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">jor outstanding vi</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">olations of the HIG.&nbsp;&nbsp;</span></p>

<ul class="Normal">
<li><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">	4297 </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">- add Go menu - Invalid</span></li>
</ul>
<p style="margin-left: 0pt; text-indent: 0in"><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">It was decided that a Go menu was not useful</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> for a word processor</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">.&nbsp; We discussed this in class</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">.&nbsp; It should be noted that no other word processor </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">(</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">that I've seen</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">)&nbsp;</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">has such a menu.&nbsp; </span></p>

<ul class="Normal">
<li><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">	</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">4295 - </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">remove </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">Window menu - no decision yet</span></li>
</ul>
<p style="margin-left: 0pt; text-indent: 0in"><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">We haven't d</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">ecided what to do about this yet.&nbsp; The argument from </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">consistency</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> is that there should</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> be a desktop wide way to swit</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">ch windows.&nbsp; The argument from usefulness is that such methods don't work as well as we would like.&nbsp;&nbsp;</span></p>

<ul class="Normal">
<li><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">	</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">4293</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> - fix window title</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> - No </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">fix yet</span></li>
</ul>
<p style="margin-left: 0pt; text-indent: 0in"><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">This requires some way to parse file paths</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">, which needs to be done cross pla</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">tform.&nbsp; This hasn't yet </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">been worked out.&nbsp;&nbsp;</span></p>

<ul class="Normal">
<li><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">	4296 - fix shortcut keys - No solution y</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">et</span></li>
</ul>
<p style="margin-left: 0pt; text-indent: 0in"><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">Unfortunately, this requires major re-architecting of our keyboard handling code, so it hasn't go</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">tten done yet.&nbsp; Once that is done, the fix should be easy.&nbsp;&nbsp;</span></p>

<ul class="Normal">
<li><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">	4300 - confirm close dialog should show </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">hours</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> - no fix yet</span></li>
</ul>
<p style="margin-left: 0pt; text-indent: 0in"><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">Unfortunately, doing this requires either hard-cod</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">ing all the differ</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">ent ways that time could be represented</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> in words, </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">for translation purposes, or some major change to the way our translation and strings system works.&nbsp; The latter would be hard, and the former would be ugly, since the same text would appe</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">ar in lots of </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">different</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> places.&nbsp;&nbsp;</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">Ic</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">k.&nbsp;&nbsp;</span></p>

<ul class="Normal">
<li><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">	4372 - toolbars wrong height - fix waiting</span></li>
</ul>
<p style="margin-left: 0pt; text-indent: 0in"><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">This, it turns out, is a discrepancy between the GTK toolbar </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">code (GTK is the toolki</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">t </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">that underlies GNOME, and Ab</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">iWord) and the GNOME toolbar code.&nbsp; Once we change to the GNOME toolbar code (which will happen</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> when we move to GNOME </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">2, and not just GTK 2) this will be fixed automatically.&nbsp; </span></p>
<p style="margin-left: 0pt; text-indent: 0in"><br />
</p>
<p style="margin-left: 0pt; text-indent: 0in"><span style="font-weight: bold; vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">6. Conclusions</span></p>
<p style="margin-left: 0pt; text-indent: 0in"><br />
</p>
<p style="margin-left: 0pt; text-indent: 0in"><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">I feel this pro</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">ject was qu</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">ite successful.&nbsp; </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">I analy</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">zed many aspects of AbiWord's </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">user interface, and imp</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">roved it in several respects.&nbsp; Those issues that have not yet been resolved </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">have raised import</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">ant considerations with the AbiWord community, and these </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">issues will be reso</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">lved in the </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">foreseeable</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> future, hopefully before the next stable release of Ab</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">iWord.&nbsp;</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">Also, this project has </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">raised the </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">consciousness</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> of AbiWord developers about the need to adhere to interface standards, and hop</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">efully similar effor</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">ts will be conducte</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">d for the other platform</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">s AbiWord supports, w</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">hich have their counterpa</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">rts to the </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">G</span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt">NOME HIG.&nbsp; </span><span style="vertical-align: ; color:#000000; font-family: 'Times New Roman'; font-size: 12.000000pt"> </span></p>
</div>
</body>
</html>


More information about the CS22800 mailing list