Re: Conlang Software Ideas and Survey
From: | Chris Bates <chris.maths_student@...> |
Date: | Friday, May 26, 2006, 21:24 |
One question... what exactly do you want to cover with this program? I'm
guessing that it will make dictionaries, you've already mentioned sound
changes and word generation, but what else? Is it designed simply to aid
a conlanger who knows what they're doing, or is it designed in part to
structure the process of conlanging (in wizard form or something) for
those not sure how to go about it? I hope not the latter, since I don't
believe it's possible to make the software flexible enough...
>While I'm offering to get this off the ground and help lead it (at least for now),
>I don't want this to be _my_ project, because I don't do enough conlanging to
>justify it for myself (but if I had it, I might do more). Rather, I'd like it
>to be a group project. I know we have a large community on the list,
>including a fair number of programmers. what prompted me to post this here
>was twofold. Firstly, the LCC resparked my interest in conlanging, which
>brought me back to this concept, and secondly, I recently purchased a book on
>Extreme Programming (XP), and am eager to give it a try on a real life
>program. Unfortunately, it's hard to apply to my current project at work, at
>least whole cloth, since we already have a large team, a large existing
>code-base, and existing development processes.
>
>
>
I might be interested in helping, but unfortunately I don't know C# at
the moment.
>===============================================
>CLIDE Initial Interest Survey
>
>1. Do you currently use, or have you used, a software package to assist with
>language construction and/or maintanance?
> - If yes:
> - What software program(s) have you used, and for what purpose(s)?
> (e.g Word, Excel, Open Office, LangMaker, IPAZounds, werd, InspirationPad...)
> - What feature(s) do you find are the most useful?
> - What feature(s) do you find are missing?
> - If no:
> - Why not?
> - What (if anything) would make you reconsider?
>
>
Yes. I've used various database type programs (including the SIL program
shoebox) to try to maintain dictionaries, I've tried (and disgarded)
word generators, I've used Latex, Word and Open Office at different
stages for writing grammars (Latex most recently when I discovered a
package that made it easier to produce good IPA).
The key features for a dictionary program that are missing from many
database programs:
1. support for variable length fields. Fixed length is no good for
dictionaries unless you want to waste a ton of space by having a very
large fixed length field.
2. Tools to help cross-reference and generate the English -> Conlang and
Conlang -> English sections at the same time. Keeping both sections up
to date and consistent can be a bit tedious with a normal dictionary if
you're writing proper definitions instead of just listing one word rough
equivalents.
3. Full unicode support
The key features for a grammar writer are:
1. styles
2. tables
3. full unicode compatibility with correct positioning of modifiers,
including multiple stacked modifiers
4. Automatic contents page generation and indexing
It would also be handy to have a way of entering non-standard symbols
using ASCII encodings then having them automatically converted. For
example, the package I use in Latex has \textipa{}. You stick a certain
ASCII encoding between the brackets and in the document it magically
becomes perfect IPA... For a word processor, perhaps you could have some
kind of encoding plug-in system... you select text in an ASCIIfied
encoding, right click, select convert to -> IPA / ....., and then get
the proper symbols without having to define special keyboard layouts.
A sound change applier needs a complicated features model, so that you
can perform general changes like "V nasalizes before a nasal consonant"
without dealing with every specific possibility separately. For example,
IPA Zounds has such a framework, although it can be further improved.
>
>2. Would you consider using an integrated software program to assist with
>language construction and/or maintanance?
>
>
>
I'm still looking for a good flexible dictionary program. I fell out
with Shoebox or its successor because, despite claims to the contrary,
its unicode support was somewhat flaky (sometimes it worked, sometimes
for no apparent reason it screwed it up). It also struck me as being
somewhat inadequate for some of the basics, although it had some good
advanced features.
For writing up, I think I'll keep persevering with Latex for now,
despite my somewhat on off relationship with it.
>3. Would you consider helping develop said program?
>
>
>
Already answered yes, depending which language it's written in, and how
long I get to learn said programming language. :) Once you've learned a
couple of programming languages, you can generally pick up another
fairly easily, or at least the core bits...
>Questions 4-13 apply only if you answered yes to 2 (or 3) (Potential User).
>
>4.What operating system(s) do you use?
>
>
Windows XP and Linux.
>5. How important is it for it to be easy to install?
> For example, would you use it if there were a few external dependencies that you
> had to download first?
>
>
>
Yes, depending on how many.
>6. How important would a programmatic interface (API) be to you?
>
>
>
Not that important to be honest, although it would be better if it was
extendable.
>7. How important would a command-line interface be to you?
>
>
>
I'm a bad bad linux user. :( I have to admit that while I can use the
command line, I prefer my shiny colourful GUI.
>8. How important would a graphical interface be to you?
>
>
>
I'd prefer a GUI. It's no big deal if the interface is text based though.
>9. How important would a web-based interface be to you?
>
>
>
Export to HTML would be a key feature (although I guess we could
generate a Latex dictionary instead and compile it to PDF), since most
of the conlang info sharing is done over the internet.
>10. How important would a script-based interface be to you?
>
>
>
It might be handy.
>11. How important would database access be to you?
>
>
>
Since my main interest is a dictionary program...
>12. How important would extensibility be?
>
>
I don't know if I myself would write any extensions, but given our many
programmers easy extendibility might be good.
>
>13. Which of the following features might you use? (This is only to get a broad
>feel for what might be included -- more detailed determinations of features
>can be conducted later)
> - Word generation
>
>
MAYBE
> - Sound change management
>
>
PROBABLY
> - Lexicon management
>
>
YES
> - Etymology managemet
>
>
YES
> - Statistical analysis of texts
>
>
YES
> - Interlinear creation (manual or automatic)
>
>
YES
> - Creating a reference grammar
>
>
Not unless it beats Latex, Word and Openoffice...
> - Grammatical parsing
>
>
MAYBE
> - Vocalization (computer-pronunciation of a conlang)
>
>
If you could pull this off, I'd use it. I doubt it's manageable though.
> - Phrase-structure tree parsing and/or visualizing
>
>
NO
> 14. Which of the following systems have you (or could you) developed on?
> - Windows
> - Macintosh
> - *nix
> - Other (please specify)
>
>
>
Mostly windows. I'm a maths geek mainly though, so I have little
experience at user interfaces... most of the stuff I write is stuff
that's just designed to work things out and spit out an answer. If
you're looking for someone who can write GUIs I'm not the right guy.
>15. Which of the following languages do you know?
> - C/C++
> - Visual Basic
> - Java
> - C#
> - JavaScript
> - Perl
> - Python
> - Ruby
> - HTML
> - XML
> - SQL
> - Other (please specify)
>
>
>
Visual Basic, Perl, HTML, SQL, a bit of Java a long long time ago that
I've forgotten now... a bit of lots of different languages really. As I
said, I throw together very rough and ready things for working out maths
problems for the most part.
>16. Which of the following areas do you have experience in?
> - Database Programming
> - Network Programming
> - GUI Design
> - Natural Language Processing
> - Architecture and Design
> - Software Testing and Test-Driven Development
> - Technical Documentation
> - Development Processes
> - Extreme Programming
> - Other (please specify)
>
>
>
Bodging. To be honest, I really don't think I can be much help to you,
since I'm not exactly known for my experience on large software
projects, or for that matter my ability to write transparent code. But
if you do need help with anything and you're desperate I'm willing to
give it a go.