File: manual_41.html

package info (click to toggle)
ipe 6.0pre27-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 5,128 kB
  • ctags: 5,328
  • sloc: cpp: 29,689; ansic: 1,045; xml: 821; makefile: 65
file content (116 lines) | stat: -rw-r--r-- 7,449 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- XML file produced from file: manual.tex
     using Hyperlatex v 2.6 (c) Otfried Cheong
     on Emacs 21.3.1, Tue Sep 26 20:03:48 2006 -->
<head>
<title>Ipe Manual -- 16 History and acknowledgments</title>

<style type="text/css">
.maketitle { align : center }
div.abstract { margin-left: 20%; margin-right: 10%; }
h3.abstract  { align : center }
div.verse, div.quote, div.quotation {
  margin-left : 10%; 
  margin-right : 10%;
}
</style>

<meta http-equiv="Content-Type" 
        content="text/html; charset=UTF-8">
</head>
<body bgcolor="#ffffe6">
<table width="100%" cellpadding=0 cellspacing=2><tr><td bgcolor="#99ccff"><a href="ipe_copyright.html"><img border="0" alt="17 Copyright" src="next.png"></a></td><td bgcolor="#99ccff"><a href="manual.html"><img border="0" alt="Top" src="up.png"></a></td><td bgcolor="#99ccff"><a href="manual_40.html"><img border="0" alt="15 If you have used Ipe&nbsp;5 before..." src="previous.png"></a></td><td align="center" bgcolor="#99ccff" width="100%"><b>16 History and acknowledgments</b></td></tr></table>
<h1>16 History and acknowledgments</h1>

<p>Many people have contributed with ideas, inspiration, and moral
support over the years that I wrote and used Ipe.  Based on my
experiences with Idraw, XFig, and Jean-Pierre Merlet's JPDraw, I wrote
the first version of Ipe at Utrecht University in the summer of 1993.
It used IRIS-GL and Mark Overmars' FORMS library, and run on SGI
workstations only.  Due to popular demand, I finally gave in a year
later, and spent two weeks in the summer of&nbsp;1994 to teach myself Motif
and to rewrite Ipe to run under the X&nbsp;window system.  Unfortunately,
two weeks were really not enough, and the 1994 X-version of Ipe has
always been a hack.  I didn't have time to port the code that
displayed bitmaps on the screen, it crashed on both monochrome and
truecolor (24-bit) displays, and was in general quite unmaintainable.
<p>These two first versions of Ipe were supported by the Netherlands'
Organization for Scientific Research&nbsp;(NWO), and I would never have
started working on it without Geert-Jan Giezeman's PLAGEO&nbsp;library.
For testing, support, and inspiration in that original period, I'm
grateful to Mark de Berg, Maarten Pennings, Jules Vleugels, Vincenzo
Ferrucci, and Anil Rao.  Many students of the department at Utrecht
University served as alpha-testers (although I would still like to
find out who coined the phrase "the cute little core-dumper").
<p>I gave a presentation about Ipe at the Dagstuhl Workshop on
Computational Geometry in 1995, and made a poster presentation at the
ACM Symposium on Computational Geometry in Vancouver in the same year.
Both served to create a small but faithful community of Ipe addicts
within the Computational Geometry community.
<p>Ipe proved itself invaluable to me over the years, especially when we
used it to make all the illustrations in our book "Computational
Geometry: Theory and Applications" (Springer 1997, with Mark de Berg,
Marc van Kreveld, and Mark Overmars).  Nevertheless, the problems were
undeniable: It was hard to compile Ipe on other C++ compilers and it
only worked on 8-bit displays.  It is only due to the efforts of Ipe
fans such as Tycho Strijk, Robert-Paul Berretty, Alexander Wolff, and
Sariel Har-Peled that the 1994 version of Ipe continued to be used
until&nbsp;2003.
<p>I was teaching myself C++ while writing the first version of Ipe, and
it shows--Ipe&nbsp;5 is full of elementary object-oriented design
mistakes.  When teaching C++ to second-year students at Postech in
1996 I started to think about a clean rewrite of Ipe.  My first notes
on such a rewrite stem from evenings spent at a hotel in Machida,
close to IBM Tokyo in July&nbsp;1996 (the idea at that time was to embed
Ipe into Emacs!).  It proved impossible, though, to do a full rewrite
next to teaching and research, and nothing really happened until the
Dagstuhl Workshop on Computational Geometry in&nbsp;2001, where Christian
Knauer explained to me how he uses Pdflatex to create presentations. I
realized that PDF was ideally suited for a new version of Ipe.  By
parsing the PDF output of Pdflatex, Ipe can obtain a PDF
representation of text objects, including all the necessary fonts.
The advent of scalable Latex fonts means that Ipe can then create a
scalable PDF or Postscript figure including the processed text
information.  Directly after the workshop I implemented a
proof-of-concept: I defined the Ipe XML format, wrote "ipe5toxml"
(reusing my old Ipe parsing code) and a program that runs Pdflatex,
parses its PDF output, extracts text objects and font data, and
creates a PDF file for the whole Ipe figure.  This was only possible,
of course, due to the existence of H&agrave;n Th&ecirc; Th&agrave;n's Pdflatex and of an
open-source PDF parser in the form of Derek Noonburg's&nbsp;Xpdf.
<p>Now all that remained was to rewrite the user interface.  Since there
is plenty of demand for both Windows and Linux versions, I wanted Ipe
to run on both operating systems, and had to use a toolkit supporting
both. I had experimented with V, FLTK, and Qt over the years, and had
used V and Qt in teaching.  On the other hand, FLTK is small and
compact, free software on both Windows and Unix, and smells pleasantly
like the original FORMS library from which it is derived--the same
that I had used in Ipe&nbsp;2 in 1993.  I actually started writing an FLTK
main window and canvas for Ipe, until Sariel Har-Peled stated with
authority that Qt was the only sensible choice.  Fortunately, I had
been able to purchase a Windows developers license for Qt using
funding from the Hong Kong Research Grants Council.  What a pleasure
to work with Qt, compared to my Motif experiences from&nbsp;1994!
<p>Finally, Mark de Berg and the TU Eindhoven made it possible for me to
take some time off from teaching and research.  The final design
changes were made during the Second McGill-INRIA Workshop on
Computational Geometry in Computer Graphics at McGill's Bellairs
Research Institute, and much inspiration is due to the atmosphere at
the workshop and the magnificient cooking by Gwen, Bellair's chef.
<p>For code actually used in Ipe, I wish to thank
<ul><li>H&agrave;n Th&ecirc; Th&agrave;n for Pdflatex,
<li>Derek Noonburg for Xpdf,
<li>Werner Lemberg and the rest of the Freetype team for Freetype&nbsp;2,
<li>Trolltech for finally seeing the light and making Qt 4
  open-source on all platforms.
</ul>
<p>Looking at the history described briefly above, it is clear that the
Dagstuhl series of workshops has always been a major influence in the
existence of&nbsp;Ipe.  It is for that reason that I released Ipe&nbsp;6.0
formally at the Dagstuhl Workshop on Computational Geometry in
March&nbsp;2003.
<hr />
<table width="100%" cellpadding=0 cellspacing=2><tr><td bgcolor="#99ccff"><a href="ipe_copyright.html"><img border="0" alt="17 Copyright" src="next.png"></a></td><td bgcolor="#99ccff"><a href="manual.html"><img border="0" alt="Top" src="up.png"></a></td><td bgcolor="#99ccff"><a href="manual_40.html"><img border="0" alt="15 If you have used Ipe&nbsp;5 before..." src="previous.png"></a></td><td align="center" bgcolor="#99ccff" width="100%"><b>16 History and acknowledgments</b></td></tr></table></body></html>