[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    GSoC: KWord interface revamp proposal
From:       David Antler <david.antler () gmail ! com>
Date:       2009-03-23 5:40:27
Message-ID: 200903230040.28215.David.Antler () gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hey KOfficers,

I'm planning on applying for a GSoC spot with KDE and was wondering what 
you guys think of my proposal.  I made brief mention of my plans on IRC one 
day but figured I'd just put my things together to better show my ideas.  
Anyway, if you wouldn't mind reading through it, I've appended it below.  I'll 
even show you the mockup first so you don't get bored!  It's a bit rough but 
shows the benefits of the design.

I hope you like it.

David Antler

P.S. I havn't read through all of the GSoC proposal guidelines too carefully 
so I may have some unnecessary things in there.

####################################
My First Mockup: http://imagebin.ca/view/dGKpDYxg.html
####################################
KWORD GSOC PROPOSAL 
Motivation for the project: The first task I used KWord2 for was completing 
physics homework where the addition of graphics was very important.  I found 
it functional and smooth, especially when word-wrapping around pictures, but I 
ran into convenience problems when I attempted some simple tasks: changing 
text colors, adding adequate spacing, and creating new frames to use to my 
advantage. Pressured by a deadline, I ultimately gave up and salvaged my work 
into an alternative text editor to complete the assignment.
 
Summary: A reworking of the GUI for KWord2 will help users realize its unique 
utility in the realm of free publishing software by encouraging the use of 
frames and other related features which are already present, though veiled 
behind a convoluted interface.  The implementation of an improved GUI will 
secure KWord2 as a preferred tool for generating documents with heavy 
dependence upon formatting. 

Design philosophy:  Keep the most commonly used features easily accessible 
to the user at all times, highlighting the strength of KWord in layering and 
use of frames.  Display relevant features at relevant times.  Using symbols to 
express ideas and tooltips to clarify rather than static text. Minimize the 
user's visual parsing of interface required to find their desired action. 

Design goals: 
•	Increase the productivity of KWord users
•	Introduce convenient shortcuts for common tasks
•	Showcase KWord's capabilities and features to unfamiliar users
•	Minimize usage of dropdown/popup windows 
•	Eliminate the need to modify the UI for functionality
•	Conserve screen space 
•	Maintain the customizaton and flexibility that KOffice users are accustomed 
to 

Implementation details: In order to make my implementation closely 
resemble my mockup, I plan on using Dockers.  Dockers are already 
implemented into KOLibs and I can learn from existing source code about how 
to create them.  They contain detailed rules regarding placement and width 
that are convenient for my purpose. Designing each of these Dockers involves 
using Qt Designer, which I plan on learning to use in mid Spring.  In the 
first couple weeks, I plan on copying my mockup drawings into Qt Designer 
files as closely as possible.  Some dockers already exist to implement the 
features that I include in my redesign but need to be forked into KWord-
specific versions.  Once I have completed my dockers, I will need to implement 
them into the existing codebase and prepare existing code to accept my 
changes, including generating the default layout (as seen in my mockup).  I 
will work as quickly as possible during these stages to ensure I don't run 
into any KOLib-related issues that will need a fix or modification. It may be 
desirable to port my forked dockers back to KOffice's general docker set, but 
completion of that would require more time and consideration of the rest of 
the Koffice suite. I will spend the last couple of weeks considering the 
uniformity of the GUI across KOffice's applications and how to reuse my code 
the most effectively.

About me: I am a Sophomore/Junior in Computer Engineering at the University 
of Illinois at Urbana-Champaign.  I've been through some relevant coursework 
regarding programming and have limited Qt knowledge but don't see that as 
much of an obstacle. I've been going through a book (Ezust, Introduction to 
Design Patterns in C++ with Qt 4) and learning more about it, but the best way 
I've learned in the past is through tinkering, which I've always been a huge 
nerd for. In 7th grade I picked up some C# from scripting for RunUO 
(www.runuo.com) and in High School I played with Flash extensively. My first 
game won 4th place in the Armor Gaming Challenge #4. I'm a self-motivated 
student looking to contribute to KDE, which has been my primary desktop 
environment for years, and to continue contributing long after the project is 
over.

[Attachment #5 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" \
"http://www.w3.org/TR/REC-html40/strict.dtd"><html><head><meta name="qrichtext" content="1" \
/><style type="text/css">p, li { white-space: pre-wrap; }</style></head><body style=" \
font-family:'Sans Serif'; font-size:10pt; font-weight:400; font-style:normal;">Hey \
KOfficers,<br> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>I'm planning on applying for a GSoC spot with KDE and was wondering \
what you guys think of my proposal.  I made brief mention of my plans on IRC one day but \
figured I'd just put my things together to better show my ideas.  Anyway, if you wouldn't mind \
reading through it, I've appended it below.  I'll even show you the mockup first so you don't \
get bored!  It's a bit rough but shows the benefits of the design.<br> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p>I hope you \
like it.<br> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>David Antler<br> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>P.S. I havn't read through all of the GSoC proposal guidelines too \
carefully so I may have some unnecessary things in there.<br> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p>####################################<br> My First Mockup: \
http://imagebin.ca/view/dGKpDYxg.html<br> ####################################<br>
<span style=" font-weight:600; text-decoration: underline;">KWORD GSOC PROPOSAL </span><br>
<span style=" font-weight:600;">Motivation for the project:</span> The first task I used KWord2 \
for was completing physics homework where the addition of graphics was very important.  I found \
it functional and smooth, especially when word-wrapping around pictures, but I ran into \
convenience problems when I attempted some simple tasks: changing text colors, adding adequate \
spacing, and creating new frames to use to my advantage. Pressured by a deadline, I ultimately \
gave up and salvaged my work into an alternative text editor to complete the assignment.<br>  \
<br> <span style=" font-weight:600;">Summary:</span> A reworking of the GUI for KWord2 will \
help users realize its unique utility in the realm of free publishing software by encouraging \
the use of frames and other related features which are already present, though veiled behind a \
convoluted interface.  The implementation of an improved GUI will secure KWord2 as a preferred \
tool for generating documents with heavy dependence upon formatting. <br> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><span style=" \
font-weight:600;">Design philosophy:</span>  Keep the most commonly used features easily \
accessible to the user at all times, highlighting the strength of KWord in layering and use of \
frames.  Display relevant features at relevant times.  Using symbols to express ideas and \
tooltips to clarify rather than static text. Minimize the user's visual parsing of interface \
required to find their desired action. <br> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p><span style=" font-weight:600;">Design goals: </span><br> \
•	Increase the productivity of KWord users<br> •	Introduce convenient shortcuts for common \
tasks<br> •	Showcase KWord's capabilities and features to unfamiliar users<br>
•	Minimize usage of dropdown/popup windows <br>
•	Eliminate the need to modify the UI for functionality<br>
•	Conserve screen space <br>
•	Maintain the customizaton and flexibility that KOffice users are accustomed to <br>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"><br></p><span style=" \
font-weight:600;">Implementation details:</span> In order to make my implementation closely \
resemble my mockup, I plan on using Dockers.  Dockers are already implemented into KOLibs and I \
can learn from existing source code about how to create them.  They contain detailed rules \
regarding placement and width that are convenient for my purpose. Designing each of these \
Dockers involves using Qt Designer, which I plan on learning to use in mid Spring.  In the \
first couple weeks, I plan on copying my mockup drawings into Qt Designer files as closely as \
possible.  Some dockers already exist to implement the features that I include in my redesign \
but need to be forked into KWord-specific versions.  Once I have completed my dockers, I will \
need to implement them into the existing codebase and prepare existing code to accept my \
changes, including generating the default layout (as seen in my mockup).  I will work as \
quickly as possible during these stages to ensure I don't run into any KOLib-related issues \
that will need a fix or modification. It may be desirable to port my forked dockers back to \
KOffice's general docker set, but completion of that would require more time and consideration \
of the rest of the Koffice suite. I will spend the last couple of weeks considering the \
uniformity of the GUI across KOffice's applications and how to reuse my code the most \
effectively.<br> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"><br></p><span style=" font-weight:600;">About me:</span> I am a \
Sophomore/Junior in Computer Engineering at the University of Illinois at Urbana-Champaign.  \
I've been through some relevant coursework regarding programming and have limited Qt knowledge \
but don't see that as much of an obstacle. I've been going through a book (Ezust, Introduction \
to Design Patterns in C++ with Qt 4) and learning more about it, but the best way I've learned \
in the past is through tinkering, which I've always been a huge nerd for. In 7th grade I picked \
up some C# from scripting for RunUO (www.runuo.com) and in High School I played with Flash \
extensively. My first game won 4th place in the Armor Gaming Challenge #4. I'm a self-motivated \
student looking to contribute to KDE, which has been my primary desktop environment for years, \
and to continue contributing long after the project is over.</p></body></html>



_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic