<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Program architectures</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nWe need to develop program architecture maps for both Twine and Twee using:\n\n- user screens as the foundation, and\n\n- the bundling and linking of program files before compilation.\n\n''Current Twine architecture''\n\n[[Twine user-orientated architecture map]]\n\n[[Twine code-orientated architecture map]]\n\nThese maps could be turned into graphics.\n\nTo try to stir people into doing a better job than I've been able to do, here are two attempts for Twine. The first is a really crude map based on the user-orientated architecture perspective. The second is a graphical mapping of the source code modules.\n\n''A rough map based on a user-orientated architectural perspective''\n<html><IMG SRC="http://www.green-innovations.asn.au/Twine/Twine-module-function-module-map.gif" NAME="SimpleTwineModules1" ALIGN=CENTER WIDTH=680 HEIGHT=694 BORDER=0><BR CLEAR=LEFT></html>\n\n[[Henry Soule (Oke_Doke)]] has suggested that we use html map area tags to link sections of the maps to the info about the elements:\nhttp://www.w3schools.com/tags/tag_area.asp\n\nThere is an online tool for creating image map html code at:\nhttp://www.image-maps.com/\n\nA dicussion of image maps\nhttp://groups.google.com/group/tweecode/browse_thread/thread/1818df7fa2744593/c7455b1666dbdc05?lnk=gst&q=image+map#c7455b1666dbdc05\n\n''A map based on a source code module architectural perspective''\n<html><IMG SRC="http://www.green-innovations.asn.au/Twine/Twine-code-module-map.gif"></html>\n\n----\n\nWith the current function architectures mapped we can start linking the software modules/files that relate to the function elements.\n\n\n\n\n\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>passagesearchframe.py</B></FONT></FONT>\n</html>\n<<back>>\n\nPassageSearchFrame: This allows a user to do search and replaces on a PassageFrame. By default, this shows the Find tab initially, but this can be set via the constructor.\n\n\n\n\n----\n\nSee:\n\n\n\n[[searchpanels.py]] Is this related?
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Main Twine window</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[Main window-Menu]]\n\n\n[[Main window-Tool bar]]\n\n\n[[Passage map display panel]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>storyframe.py</B></FONT></FONT>\n</html>\n<<back>>\n\nStoryFrame: A StoryFrame displays an entire story. Its main feature is an\ninstance of a StoryPanel, but it also has a menu bar and toolbar.\n\n\n\n----\n\nSee:\n\n[[app.py]]\n\n[[prefframe.py]]\n\n[[storypanel.py]]\n\n[[statisticsdialog.py]]\n\n[[storysearchframes.py]]\n\n[[metrics.py]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Community development</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nA diverse community of users and developers comes together through the Tweecode Google group at:\nhttp://groups.google.com/group/tweecode\n\nSee also:\n[[Development of user communities]]\n[[Servicer community development]]\n[[Developer community development]]\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Development priorities & committed directions (The big picture)</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n\n\n----\n\nDecisions about coding projects need to be registered here:\nhttps://github.com/tweecode/twine/issues\n\n----\n\nSee: \n\n[[Philip's proposed priorities (21 March 2012)]]\n\n[[Philip's proposed prioities (13 March 2012)]] \n\n[[Priority setting]]\n\n[[completed projects and tasks here|Completed projects and tasks]]\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>buildapp.py</B></FONT></FONT>\n</html>\n<<back>>\n\nThis builds an .app out of Twine for use with OS X. Call this with this command line: buildapp.py py2app\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Developer tools</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>\n\n[[Source-code hosting options]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Resources</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Text based games</B></FONT></FONT>\n</html>\n\n''[[Adventure Cow]]''\n A web hosted service with Twee/Twine compatibility\nhttp://adventurecow.com/\n\n''Choice of games''\nhttp://www.choiceofgames.com/\n\n''Choice script language''\nhttp://www.choiceofgames.com/make-your-own-games/choicescript-intro/\n\n''Inklewriter''\nA write-as-you-play tool.\n(forthcoming)\nhttp://www.inklestudios.com/for-writers\n\n''People's Republic of Interactive Fiction'' (Boston)\nhttp://pr-if.org/\n\nA tutorial game:\nhttp://pr-if.org/play/dreamhold/\n\n''Scribd''\nhttp://www.scribd.com/about\n\n''A comprehensive list of build automation tools:''\nhttp://en.wikipedia.org/wiki/List_of_build_automation_software\n\n''Relating minified JavaScript to beautified script''\nhttp://www.html5rocks.com/en/tutorials/developertools/sourcemaps/\n\n''JavaScript compressionminification/expansion/Beautification''\n\nCode compression/minification\nhttp://javascriptcompressor.com/ seemingly \n\nYui compressor:\nhttp://developer.yahoo.com/yui/compressor/ \n\nCode expansion/beautification\nhttp://jsbeautifier.org/\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Stuff that's a bit random</B></FONT></FONT>\n</html>\n\n''Java Delopment Kit''\nhttp://www.java.com/en/download/faq/develop.xml\n\n''QuizMaker Pro 2011''\nhttp://www.classonesoftware.com/pages/QuizMaker.html\n\nThere are quite a lot of other quiz/test making software programs.\n\n[[TiddlyWiki]]\nhttp://www.tiddlywiki.com/\n\n''MPTW'' a variant of TiddyWiki\nhttp://mptw.tiddlyspot.com/\n\n\n----\n<html><BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Useful tools for Twine users/developers</B></FONT></FONT><BR>\n</html>\n\nWhat else should be added? Drop an email to:\n<html><A HREF="mailto:Philip.Sutton@green-innovations.asn.au">Philip.Sutton@green-innovations.asn.au</A>\n</html>\n\n\n''A Notepad (plain text editor) replacement for progammers''\nhttp://notepad-plus-plus.org/\n(For Windows)\n\n''CKEDitor''\nhttp://ckeditor.com/demo\nFor online WYSIWYG html coding.\n\n----\n\nDecision explorer (advanced version of the Twine map?)\nhttp://www.banxia.com/\n\n<<back>>\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Key questions</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nKQ-1. = Why do people use [[Twee rather than Twine?]]. Could Twine and Twee be amalgamated? Why do they have to be separate?\n\n----\n\nKQ-2. = Could the code of the formatting modules, Sugarcane and Jonah, be amalgamated (because they are largely duplicated) and could the formating of the html output document be controlled by either:\n\n- user defined choices from a suite of options (with memory of last use or savable/recallable suites)\n\n- hand crafted CSS code inserted into a stylesheet tagged Passage\n(Question raised by [[Chris Klimas]])\n\n----\n\nKQ-3. = Could the Twine passage mapping interface be used to create mapping outputs that could be fed into other graphical/mapping programs?\n\n----\n\nKQ-4. = What can we learn from other programs that are being offered to a broad user base for doing interactive stories/games/complex documents?\n\n----\n\nKQ-5. = Does this type of "Choose your own adventure" software have anything to offer the Twine/Twee development effort? Especially in terms of allowing readers to add to the story themselves.\nhttp://www.iamcal.com/games/choose/source.php\n\n----\n\nKQ-6. = Could we have a model where Twine operates on a peer to peer model rather than a central Wikipedia model? For examples, see new function 8 at [[New functionality?]]\n\n----\n\nKQ-7. = Could there be a way of indexing key words? Maybe have a passage with the 'index' tag that could contain the words to be indexed?\n\n---- \n\nKQ-8. = How can we enable Twine to deal wth non-Western European font characters? eg. Cyrillic script, Chinese etc. There is a strong demand for this from the authors/game designers.\n\n----\n\nKQ-9. = Should we participate in creating interoperability standards for a wider Twee/Twine etc. family?\n\n----\n\nKQ-10. = How would we maintain interoperability between Twine/Twee and other interactive fiction platforms such as Adventure Cow? A public protocol about the structure of .tw/.tws files seems to be the key? \n\n----\n\nKQ-11. = The developers of Inklewriter propose to have a syste that enables a player to beging reading a story (game) and then when they feel like it they can start writing. This breaks down the barrier between player and author. Could be valuable and appealing. Should the Twine/Twee commuity take this up too? What does it mean for the design of the program(s)? Should the user interface to Twine actually be hosted through the users web-browser - even when the whole system is on a person's computer?\n\n----\n\nKQ-11. = Should we create have a system for encourageing incremental development of Twine/Twee functions?? For example through a plug-in (or add-on or mod) system? (What's the best terminology?\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Bo Daley</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n(Bo: can you give us some text to go here - to outline your skills and interests and your contact details. Ta.)\n\nBo is a Python programmer.\n\nHis Skype ID is: bo_daley\n\nBo works on an Apple computer.
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>appicons (folder)</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''app.icns'' \n(binary file not shown)\n\n''app.svg'' \nxml version="1.0, Created with Inkscape\nhttp://www.inkscape.org/\n\n''app128.png'' \n(graphics file)\n\n''app16.png'' \n(graphics file)\n\n''app24.png'' \n(graphics file)\n\n''app256.png'' \n(graphics file)\n\n''app32.png'' \n(graphics file)\n\n''app48.png'' \n(graphics file)\n\n''appico.xcf''\n(binary file not shown)\n\n\n
<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Design principles for program design and coding</B></FONT></FONT>\n</html>\n<<back>>\n\nDP-1. There should be backwards compatibility for reading Twine .TWS files.\n\n----\n\nDP-2. When the URLs for online services (bug reporting, discussion forum) change, the affected programs needs to be changed to reflect the new links.\n\n----\n\nDP-3. Twine/Twee needs to remain compliant with:\n\n- common operating systems and their common spread of versions (Windows, OS-X, Linux)\n\n- our code development platform (Python 2.x, with an eye on when to change to Python 3.x)\n\n- the current standards for html coding, CSS, and JavaScript\n\n- current most common browsers (Firefox, IE, Chrome, Safari) and the current spread of versions.\n\n- <html><b><font color=red>what else????</font></b></html>\n\nHow do we ensure that we keep up-to-date? (Accessing advice? Testing across the options ourselves? (a HUGE job?), relying on the user-base to find problems and then being ''very fast'' to update the programs? (need lots of programmer capacity to respond quickly).\n\n----\n\nDP-4. Design Twine/Twee so that the programs can be used in all countries (with appropriate scripts and left-right, right-left flow and up-down flow (?).\n\n----\n \nDP-5. We need to maintain what appears to be the unique Twine/Twee offering of power with simplicity (ease of use).\n\n----\n \nDP-6. What has kept Twine/Twee alive has been the way that the two programs attract people with programming skills (while Twine is nevertheless able to be used by people with no prgoramming skills). It seems like a wise move to maintain the strong interest of people with programming skills while catering to those with none.\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Public website</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nSee the beginning of a user help website aimed at intending authors:\nhttp://entertwine.weebly.com/index.html\nThis site is being developed by [[Strangelander]] \n\nWe need a FAQ document. (Should get info from [[Extracting content from Tweecode group website]].)\n\nCould we use Twine to develop additional online help resources?\n\nSee also:\n[[User information]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Servicer community development</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>tiddlywiki.py</B></FONT></FONT>\n</html>\n<<back>>\n\nA Python implementation of the Twee compiler. This code was written by Chris Klimas <klimas@gmail.com>\nIt is licensed under the GNU General Public License v2\nhttp://creativecommons.org/licenses/GPL/2.0/\nThis file defines two classes: Tiddler and TiddlyWiki. These match what you'd normally see in a TiddlyWiki; the goal here is to provide classes that translate between Twee and TiddlyWiki output seamlessly.\n\n----\n\nSee:\n\n[[passageframe.py]]\n\n[[.TWS file]]\n\n[[PyRSS2Gen.py]]\n\n[[targets (folder)]]\n\n[[Sugarcane]]\n\n[[Jonah]]\n\n[[TiddlyWiki 2 and TiddlyWiki 1]]\n\n[[Output .HTML file]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Completed non-programing tasks/projects</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n1. 8 March 2012: Formed a Twine/Twee revitalisation working group - [[Philip Sutton]]\n\n2. Completed the first cut of a Twine (and Twee?) development plan (this document) - [[Philip Sutton]]\n\n3. Collected all the emails re Twine and Twee, and went through the 140 people who are members of the Tweecode Google group and extracted the current emails (~106) and sent an email indicating that a new version of Twine/Twee will be out shortly and that we would like people to help the Twine/Twee community. [[Philip Sutton]]\n\n
<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Henry Soule (Oke_Doke)</B></FONT></FONT>\n</html>\n<<back>>\n\nSo far I've use twine in the following ways.\n\nStory mapping/outlining,\nGame making,\nInteractive user & marketing manuals.\nMenus for data disks.\n \nMy relevant skill set is Javascript CSS and branching into app development. \n\nMy reasons for contributing are entirely selfish.\n\n1. To fix a few frustrating things about Twine that hinders productivity. \n2. Working on someone else's ivory tower is a great way to hone & improve my own development skills. My JavaScripting has already improved in leaps and bounds. And I want to sink my teeth into python soon. \n\n\n\n\n\n
Twine/Twee development manual
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>.TWS file</B></FONT></FONT>\n</html>\n<<back>>\n\nStory storage file.\n\n\n----\n\nSee:\n\n[[tiddlywiki.py]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Twee rather than Twine?</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''[[Philip's|Philip Sutton]] questions and musings:'' (put to a number of the most active longstanding community members)\n\nWhy do people choose Twine or Twee for their work rather than the other way around (and why did Chris Klimas create two rather than one program)?\n\nHere are my not-well-informed guesses:\n\nTwee sits atop Python in uncompiled form, so Python can be used to do advanced customisation of the Twee output. So people wth programming skills can make Twee do lots of things that they can't do with Twine?\n\nTwine has a really user-friendly graphical interface (especially the passage map) - so it is intuitively much easier to use and therefore it is the program of choice for non-programmers?\n\nSo users have to choose between power vs intuitive ease of use?\n\nIs this binary choice inevitable?\n\nWould it be possible to have one integrated codebase - available in two forms - compiled and uncompiled?\n\nCould you then run the uncompiled version on Python and get the power of Twee with the intuitive ease of Twine , or non-programmers could run the compiled version as a stand alone application with customised plugins (generated earlier by programmers using the uncompiled version)? \n\nIf this approach technically feasible? Is it desirable??\n\nThe benefits that I can see are that there is only one codebase to maintain, plus the advanced users get the benefit of the intuitive user interface integrated from Twine.\n\nWhat do you think? Is this a crazy idea?\n\n----\n\n''[[Joe-codetech]]'s reply:''\n\nI really don't understand why people would use Twee. The thing that interested me is Twine, with its graphical interface that shows the "little boxes connected together", so you can keep track of the flow of your story. What is the advantage of using Twee as compared to just writing a bunch of little HTML files which contain your story and links? It actually seems like a disadvantage in that you need to learn this non-standard Wiki language and use a Twee compiler instead of HTML and standard tools.\n\nWhy bother with Twee if you are already a programmer? Just use HTML, CSS, and JavaScript. You can pass information from pages using the HTML query string like this \nhttp://mystory.com?option=1,2,4,6\n\nI think Chris K wrote Twee first, and then made Twine as a graphical interface for Twee.\n\nYou already know my other observations about Twine.\n\n----\n\n''[[Susan Douglas]]'s reply:''\n\nI haven't looked too deeply into the Twine code, but I believe you are correct.\n\nI like Twine for its nice interface and ability to organize things visually. I don't like it because I've been coding in plain text so long I find it much faster to work with the text files.\n\nAs well, if you are using a different program to create the code (like Celtx), you can use twee to turn it into nice webpage.\n\n----\n\n''[[Strangelander]]'s reply::''\n\nI chose to use Twine over Twee because I've never had much success using the Terminal to run anything, and because I like Twine's GUI which shows me which passages are linked, etc. While I am capable of writing Twee code in a .txt doc, it's more intuitive to use the GUI (although the GUI could do with some improvement).\n\nGiven that Twine can already import a .txt code doc and export a HTML story from it, I think we probably could ditch Twee. But ask the folks who actually use it.\n\n----\n\nSubject: Re: Another question\nFrom: "M. C. DeMarco" <mcdemarco@gmail.com>\nDate: Wed, March 14, 2012 10:17 pm\nTo: "Philip Sutton" <Philip.Sutton@green-innovations.asn.au>\nPriority: Normal\nOptions: View Full Header | View Printable Version | Download this as a file | View as HTML\n\nI mostly use twee because I'm used to writing my own raw markup ( in LaTeX or HTML) and I can keep the layout in mind well enough while writing. I also don't remember whether Twine supported everything I was doing in my stories. I didn't mean to use the gamebook/variables stuff but it turned out to be handy...\n\nmary\n\n----\n\n''[[Defectiv]]'s reply:''\n\nI think it's a good idea, why would you want to maintain two codebases if one could do?\n\nAnd why I use Twine over Twee (I have used both), well the interface of course.\n\nEspecially with longer stories it could get very confusing in Twee, Twine let's me sort everything, put everything in groups so I can maintain overview. And the broken links warning is easy too.\n\nI'm no coder though, so I have no clue how easy/hard it would be to merge the two.\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Servicer tools</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Completed bug fixes</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nNone yet.\n\n(Template: Date; Name; Description; solution finders; what we've learned.)\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Joe admin@codetech.biz</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>buildexe.py</B></FONT></FONT>\n</html>\n<<back>>\n\nThis builds an .exe out of Tweebox (?? or Twine) for use with Windows. Call this with this command line: buildexe.py py2exe\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Susan Douglas</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n(Susan: do you want to add to or change this text? Including contact details.)\n\n"I am just learning Python."\n\n"I am not an expert JavaScripter, but I have used it enough to know my way around."\n\n"I've been programming web applications for over 15 years mostly in Perl, C, Java, and PHP."\n\n"I have become familiar with the twee code by creating a new output type compatible with Undum/Vorple. My next trick will be to make it compatible with Ren'Py."\n\n"I introduced Twine to my Visual Novel creators group and they love it."\n\n"My specific interest is in having it output to different formats - such as the Visual Novel engine Ren'py."\n\nI'm SusanTheCat (susan@thecatsweb.com) on GitHub.\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Development possibilities</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nA list of specific proposals for new functionality is here [[New functionality?]]\nSee also: \n[[Development priorities & committed directions]]\n[[Priority setting]]\n\nWe need pieces here from everyone with an opinion.\n\nie. what are [[Chris Liu (partyonaisle7)'s|Chris Liu]] priorities for the development of Twee? He's forked the Twee code and has major developments underway or proposed - especially about making it easier to add new macros.\n\n----\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Big ideas</B></FONT></FONT><BR>\n</html>\n\nDP-1. Merging the Sugarcane and Jonah code - with customisation using options and option sets. (Proposed by [[Chris Klimas]].) \n\n----\n\nDP-2. In the passage editor, that the coding of passages should be standardised on html and not wiki format. (Proposed by [[Joe-codetech]].) Modification proposal by [[Philip Sutton]]: that the user interface for the passage editor should not require any coding skills as the default. It should be like using a word processor with button to press or keyboard shortcuts to do the typical formatting. Inserting html code direct would be supplementary.\n\n----\n\nDP-3. Build in opportunities and capabilities for people to provide feedback on Twine documents online to the document author(s). (Proposed by [[Philip Sutton]].)\n\n----\n\nDP-4. To develop the use of the Twine main window as an idea mapping tool. (Proposed by [[Philip Sutton]].)\n\n----\n\nDP-5. We need to consider giving author's the power to turn off the Restart and Rewind functions in certain situations. (Proposed by [[Philip Sutton]].)\n\n----\n\nDP-6. "The development that should be worked towards though is making Twine (twee works I think, but I'm too stupid to use it) compatible with non-Latin characters, as well as making it be able to save in folders with non-Latin characters. You should probably add it to the dropbox website you made (it was in the email). Many discussions past have picked up on this issue and I believe taking care of it would be paramount to Twine becoming more widespread. Twine is the first project I know of that offers a GUI for that sort of stuff, apart from various web-based tools like choose-your-story. " (Proposed by [[Yannis]].)\n\n----\n\nDP-7. Find ways for Twine/Twee to ''encourage'' developers, authors and story/document readers to ''participate in the Twine/Twee community''.\n\n----\n\nDP-8. Build in a facility for <html><A HREF="http://en.wikipedia.org/wiki/Storyboard">story boarding</A></html>? ie the passage editor has the (option?) for an extra panel in which oe or more pictures can be stored to help inspire the writing (coding)?\n\n----\n\nDP-9. Could a system be built in so that readers of stories generated by Twine could take part in polls on options encountered while reading the online document? (See also DP-12. )\n\n----\n\nDP-10. How about creating stories and then encouraging people to create You Tube videos that relate to the story and that can be linked into the web-based online story?? Maybe develop a common set of actors for the story, even if the authors of threads of the story are different?\n\n----\n\nDP-11. The People's Republic of Interactive Fiction have a choice making systeem that leaves it up to readers/players to guess at options. This is much more interactive than the Twine/Twee approach of givving fully revealed set choices. We could perhaps create a new built in macro function for this approach. Or offer it as a plug in?\nHere's a sample story as a tutorial for the PRIF system. \nhttp://pr-if.org/play/dreamhold/\n\n[[Yannis]] said: "I believe such a system is outside the scope of twee/Twine. It is for creating text adventures, not interactive stories. It needs a great deal more input by the user--that is, typing in commands like in the classic Zork. Twine is for creating gamebooks, and I believe adding such macros would not only stray from the goals of the program but also make it too complicated to make a text adventure so it would go unused. A series of macros that would be all too complicated to realistically be able to make a game with. It would be a classic case of feature creep, and I think to preserve development resources these two things should be kept far apart because they're not very closely related, and, worst of all, would serve mostly to confuse the end-user."\n\n----\n\nDP-12. Cathy Moore on 22 March said: "[Twine] has great potential for learning design, and branching scenario design is becoming more and more important in the corporate world. enthusiastically support your proposals for collaboration and feedback features. This would be super helpful in the corporate world, where several people need to review and sign off on each draft of a scenario and teams of writers often work together." Vincent ([[Defectiv]]) on 26 March said: "I once thought of using twine just for this purpose, but decided not to because I found no way of logging responses, something that was vital in my case. I've even thought of using it as a sort of branching 'poll' software, but couldn't use it for the same reason. Both would also require some way of letting a user input text (for their name for instance). Would be great if somehow you were able to store responses in a simple csv." (See also DP-9.)\n\n\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Extracting content from the Tweecode group website</B></FONT></FONT> <IMG SRC="http://www.green-innovations.asn.au/Twine/Underway.gif"><BR>\n</html>\n<<back>>\n\nTask 1. We need to extract useful information from the Tweecode Google group website We need to look at the Tweecode Google Group postings to find/identify: \n\n- unregisted ''bugs and other issues'' with Twine/Twee\n\n- find out (and list in this document) the ''active people'' in the Twee / Twine community (ie. people offering help, providing solutions, taking initiatives, etc.)\n\n- ''user needs''\n\n- ''tips and tricks'' (how to do things that are not obvious to the average story/document/game author, work arounds etc. Sources of handy stuff, downloads, tools, etc.). \n\n- ''Twine/Twee enhancements''/new functions/new features of the programs.\n\n[[Devi|Devi Acharya]] is leading this task.\n\n<html><FONT COLOR="#ff0000"><FONT SIZE=3 STYLE="font-size: 13pt"><B>We\nneed as many people as possible involved in this project.</B></FONT></FONT></html> While the work is relatively straight forward and it can be broken down into bite sized chunks, there are a very large number of chunks (556 when I looked today!!!!) A good many of the postings however will no longer be relevant (they might apply to earlier version of Twine and Twee and to problems or issues that no longer apply.) There are however gems buried among the dross. So the search is worthwhile to avoid losing them.\n\nIf you want to help with this project please contact:\nDevi <dacharya64@gmail.com>\n\n\n''Some how-to's for the project:''\n\nThe source material comes from:\nhttp://groups.google.com/group/tweecode\n\nDevi will allocate specific discussion threads to specific volunteers, to avoid the risk of double up or missing info. Data gathered will be recorded in a google doc at:\n\n<html><A HREF="https://docs.google.com/document/d/1uPgIxqpJCndtqqaqyNxIyVlWZ9sYVTpHHALlsce_YlA/edit?pli=1">https://docs.google.com/document/d/1uPgIxqpJCndtqqaqyNxIyVlWZ9sYVTpHHALlsce_YlA/edit?pli=1</A>\n</html>\n\nBugs discovered through this project need to be recorded in the google doc above AND in the code registry below:\nhttp://code.google.com/p/twee/issues/list?can=2&q=&sort=-id&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary \n\nAfter assessment, a range of releveant information extracted from the Tweecode Google group website needs to be recorded in this document:\n\n- bugs that we are most interested for near to medium terms action. See: [[Bug fixes]]\n\n- active people\n\n- user needs\n\n- Twine/Twee enhancements/new functions/new features of the programs.\n\nTip and tricks/tools and resources information useful to users (authors and readers/players) need to be passed on to [[Strangelander]] and the sub-group working on the [[Public website]]. This includes work-arounds, sources of handy stuff, downloads, tools, wisdom, insights, whatever!\n\n\n\n\n
<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>TiddlyWiki</B></FONT></FONT>\n</html>\n\nFrom Måns Mårtensson: \n\nWhat you see at http://tiddlytwine.tiddlyspace.com/ and\nhttp://ttwine-map.tiddlyspace.gir.dk/ isn't produced by Twine...\nThey are wikis modified to look like one of Twine's output html-styles (SugarCane)...\n\nThe wiki is built from TiddlyWIki - original: http://tiddlywiki.com ,\nwhich is a single HTML file, which can contain all your material in so\ncalled "tiddlers" (containers for microcontent).\nIt is extremely costumizable and you can use it offline as well as\nonline.\nYou don't need any other program except your browser to edit it...\nTiddlyspace ( http://tiddlyspace.com ) is a free host for tiddlywikis\n- it also provides a "true" collaborative environment for Wikis\n(spaces) and tiddlers are flat files which can be represented as html,\njson, plain text or wiki-format.\n\nAs a user you have full control over your wiki and decide which\ntiddlers are public (can be included in other user's spaces) and which\ntiddlers are private (only visible for the wiki-owner and trusted\nmembers of the wiki..) You can create as many spaces/wikis you\nlike....\n\nIf you have your own server you can install TiddlySpace and make your\nown community around it.... I have my own (test)instance running at\nhttp://tiddlyspace.gir.dk\n\nIf you need a simple way to create hyperlink stories - you are able to\ndo so, in a standard TiddlyWiki. The syntax is pretty much the same as\nin Twine (Twee and Twine are originally built on TiddlyWiki)\n\nI converted Chris Klimas' tutorial for Twine and Twee into the\ntiddlywiki format here:\nhttp://tweedoc.tiddlyspace.com/\nhttp://twee-twine-doc.tiddlyspot.com/\n\nYou can download them and use them offline (make changes directly in\nyour browser...):\nhttp://tweedoc.tiddlyspace.com/?download=tweedoc.html\nhttp://twee-twine-doc.tiddlyspot.com/download\n\nIf you want to check things out:\n\nhttp://tiddlywiki.com\nhttp://tiddlywiki.org\nhttp://www.giffmex.org/twfortherestofus.html\nhttp://twhelp.tiddlyspot.com/\nhttp://tiddlyspot.com (host your own TW online - for free..)\nhttp://tiddlytools.com (a great private repository of plugins made by\nEric Shulman)\n----\nhttp://tiddlyspace.com (host your own TiddlySpace(s) online - for\nfree (targetted at collaboration and easy sharing of material))\nhttp://glossary.tiddlyspace.com/TiddlySpace\nhttp://docs.tiddlyspace.com/\nhttp://hoster.peermore.com/\nhttp://tiddlyweb.com/\nhttp://tiddlyweb.peermore.com/wiki/\nhttp://blog.tiddlyspace.com/\nhttp://groups.google.com/group/tiddlyweb\nhttp://groups.google.com/group/tiddlyspace\nhttp://groups.google.com/group/tiddlywiki\nhttp://groups.google.com/group/tiddlywikidev\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>User needs</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nWe have two type of users to think about:\n= the authors using Twine and Twee.\n= the readers of the html files generated by Twine and Twee.\n\nWe need to think carefully about the needs of both user types.\n\nAnd these two type of uders are grouped together into several commumunities of interest. Two are numerically strong:\n= classical, but interactive, story telling\n= gaming\n\nTwo are relatively new for Twine/Twee:\n= complex information presentation (manuals, guides, etc.) (This document is a good example of this type of application.)\n= [[strategic narrative|Strategic narrative]].\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>What attributes do users want to keep the same? <u>And why?</u></B></FONT></FONT><BR>\n</html>\n''Twine''\n\n1. Backwards compatibility for reading .TWS files.\n\n\n''Twee''\n\n??\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>What attributes do users want to change. <u>And why?</u>?</B></FONT></FONT><BR>\n</html>\n''Twine''\n\n??\n\n''Twee''\n\n??
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>small (folder)</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''fullscreen.png''\n\n \n''newpassage.png''\n\n\n''zoom1.png''\n\n \n''zoomfit.png''\n\n \n''zoomin.png''\n\n \n''zoomout.png''\n\n\n \n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>targets (folder)</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n\n[[Sugarcane]] \n\n[[Jonah]]\n\n[[TiddlyWiki 2 and TiddlyWiki 1]]\n \n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Organising principles</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nWe have three top priorities:\n\n= Fixing high priority bugs is always the toppest top priorty - reliability matters!!!\n\n= Community building is always a top priority - lots of happy people (with skills and passion) able to participate freely = a happy program and happy communities of users\n\n= Meeting the needs of the user communities (current and potential) is always a top priority - the program and the development community exists for a purpose.\n\n----\n\n'Polish' matters - the program needs to look cared for and needs to operate smoothly. This avoids the user developing creeping doubts about the reliability and future prospects of the program.
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Mans Martensson</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Author information - for story, game and document makers</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>\n\n[[How to install Twee]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Developer needs (under the hood)</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>What attributes do developers want to keep the same? <u>And why?</u></B></FONT></FONT><BR>\n</html>\n''Twine''\n\n??\n\n''Twee''\n\n??\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>What attributes do developers want to change. <u>And why?</u>?</B></FONT></FONT><BR>\n</html>\n''Twine''\n\n??\n\n''Twee''\n\n??
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Servicer information</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>passagewidget.py</B></FONT></FONT>\n</html>\n<<back>>\n\nPassageWidget: A PassageWidget is a box standing in for a proxy for a single passage in a story. Users can drag them around, double-click to open a PassageFrame, and so on. This must have a StoryPanel as its parent. See the comments on StoryPanel for more information on the coordinate systems are used here. In general, you should always pass methods logical coordinates, and expect back logical coordinates. Use StoryPanel.toPixels() to convert.\n\nSee:\n\n[[storypanel.py]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Bug fixes and program and code polishing</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n= bugs/issues need to be registered on the official code repository site. \n\nFor Twine this is:\nhttps://github.com/tweecode/twine/issues\n\nFor Twee this is:\nhttps://github.com/tweecode/twee/issues\n\n= We need to go through the postings to the <html><A HREF="http://groups.google.com/group/tweecode">Tweecode Google group</A></html> to see what bugs, glitches, deficiencies have been identified by users. These problems need to be cross referenced with the issues listed at:\nhttp://code.google.com/p/twee/issues/list\n\nImportant issues identified from the Tweecode Google group postings should be registered in the issues listing system at the code.google site. The issues need to be given a priority rating. And the bugs identified below should also be listed there.\n\n----\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Critical big bug fixes</B></FONT></FONT><BR>\n</html>\nBF-C-B-1. <html><FONT COLOR="#ff0000">The <IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif"> macro in Twine and Twee.</FONT></html> See details [[here|*Back* macro bug]].\nProposer: [[Philip Sutton]]\n\nBF-C-B-2. The "Find" function in the Twine authoring GUI doesn't seem to work reliably for all text in all passages?? (Needs confirmation.)\nProposer: [[Philip Sutton]]\n\n----\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Critical small bug fixes</B></FONT></FONT><BR>\n</html>\nNone as yet\n\n----\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>NON-critical big fixes and program and code polishing</B></FONT></FONT><BR>\n</html>\nBF-NC-B-1. The colour coding for the Passage editor needs to be fixed so that it looks exactly right\nProposer: [[Philip Sutton]]\n\n----\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>NON-critical small fixes and program and code polishing</B></FONT></FONT><BR>\n</html>\nBF-NC-S-1. \nWhen the name of a passage (page) is too wide to fit on one line, it takes two lines but the spacing is large so it looks like two headings rather than one. This spacing is probably controlled by the CSS stylesheet code in the Document style passage. Does anyone know how to tweak the CSS coding to remove the spacing between the two lines of the title? Proposer: [[Philip Sutton]]\n\n<html><IMG SRC="http://www.green-innovations.asn.au/Twine/Twine-sidebar-needs-fixing.gif"></html>\n\n----\n\nBF-NC-S-2. \nWhen Twine generates an html document it should say that the document was created with Twine and not with Twee.\nProposer: [[Philip Sutton]]\n\n<html><IMG SRC="http://www.green-innovations.asn.au/Twine/Twee-or-Twine.gif"></html>\n\nBF-NC-S-3. \nWhen the last Story is closed in Twine, Twine exits. It should stay open.\nProposer: [[Philip Sutton]]\n\nBF-NC-S-4. \nIf the author of a document (story) inserts a link to the <html><b><Font color="blue">[[Start]]</Font></b></html>, the program flashes to the home page and then returns to the current page/passage. A link to the home page should work when the author wants it to. This probably clashes with the Restart function. Need to sort this out.\nProposer: [[Philip Sutton]]\n\n\n\n----\n\n[[Completed bug fixes]]\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Ideas for new functionality (fairly specific)</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''Note:'' Big picture ideas can be found at: [[Development possibilities]]\nSee also: \n[[Development priorities & committed directions]]\n\nThe official respository for improvements ("issues") is now at:\nhttps://github.com/tweecode/twine/issues\n\nOver time the listing of items in this manual will be changed so that the only items listed are:\n• major priorities, or\n• items not yet listed in the official issues repository.\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Specific proposals</B></FONT></FONT><BR>\n</html>\nNF?-1. In the Twine main window that maps the passages, I'd like to be able to hover the cursor over a passage and see the ''full'' title of the passage as a tool tip. Maybe this function should be switched on and off by the author by checking/unchecking a toggle box? Proposed by [[Philip Sutton]].\n\n----\n\nNF?-2. (and see 8.b below) I'd like to have the functionality for a reader on an online Twine document to be able to send the author an email relating to a specific identifiable passage (or a general comment). This should be functionality that the document author can activate or deactivate when the html is built. (Passages have unique IDs generated dynamically when the html file is loaded. If people are to be able to email about a specific passage, the passage would need to have an [[unchanging unique identifier|Passage IDs]] that persists over the life of the document.) Proposed by [[Philip Sutton]].\n\n----\n\nNF?-3. It would be great to be able to drag or copy and paste (best of all both) passages from one Twine story to another one when they are both in an open Twine main window. Proposed by [[Philip Sutton]].\n\n----\n\nNF?-4. I'd like the passage editor to have another data entry bar at the top. The current 'title data entry bar is the "passage link name". As well as that I'd like to have a "Body title" that can be longer than the "passage link name". It would be good to have some way of generically formatting the "Body title". Proposed by [[Philip Sutton]].\n\n----\n\nNF?-5. We need to build in a capacity for users of Twine/Twee to use their programs to run a check to see if a new version of Twine/Twee has come out - some mechanism for automatic download would be great - file with Filezilla (the free FTP utility) - see: http://filezilla-project.org/\n Proposed by [[Philip Sutton]].\n\n----\n\nNF?-6. I'd like passages to have permalink URLs that navigate external readers to the right passage, even if the document is under active revision. Then you can send people links without them becoming out dated as revisions progress. [[Passage IDs]] Proposed by [[Philip Sutton]].\n\n----\n\nNF?-7. (deleted)\n\n----\n\nNF?-8. I'd like to see some sharing/collaboration functions built in (as soon as possible) using a peer to peer model. Proposed by [[Philip Sutton]].\n\n----\n\nNF?-8.a If authors connect their files to services like dropbox (any place where the file are instantly updated and have a 'permanent' URL) then in the passage editor links could be made to Twine html files:\n\n- either a bit like the display passage function so that what appears at that spot is a passage called from someone else's Twine html file somewhere on the web\n\n- or the content of a passage from someone else's Twine html file somewhere on the web could be imported into the current .tws Twine file.\n\nNF?-8.b (and see 2 above) People can read a Twine html file on line and then get the system to send a comment to the author (with the unique id of the Twine html file and the unique permanent ID for the passage.\n\n''These enhancements would be very helpful for boosting the productivty of the Twine/Twee development process.''\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-9. A major target user-base for Twine is the non-technical person who is concentrating on writing/game developing - so the Passage Editor should have a word processor style WYSIWYG screen as its main GUI.\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Yahoo-web-based-rich-text-html- editor.gif"></center></html>\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-10. A lookup list of all Passages - to help make links in passages.\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-11. In the passage editor of Twine (ad some other way in Twee) have a button/checkbox that can be toggled to include/not include a link to a graphic like this below that would be included in the .html build on the Twine/Twee file: \n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Working-on-page-now!.gif"></center></html>\n\nThis would be useful if people have a Twine/Twee output html file in a real-time accessible folder (like Dropbox) and if they are editing their file. (That is, in a situation where readers might stumble on the file while it is in the middle of being edited.)\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-12. The main Twine program needs to remember it's sizing of windows from the last use. \nProposed by [[Philip Sutton]].\n\n----\n\nNF?-13. Twine needs to have [[full Unicode support|Full Unicode support]]. This will eliminate many bugs and will allow people to write stories in foreign languages.\nProposed by [[Strangelander]].\n\n----\n\nNF?-14: The bug reporting facility in Twine (see Help menu in main screen.) needs to be updated to refer people to the right spot in github (?).\nCurrently Twine points to:\nhttp://code.google.com/p/twee/issues/entry\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-15: Good if user could look at a list or 'search a list' of all the passages and then click on a chosen passage and have the main Twine window centre on that passage.\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-16: Good if user could have a Passage editor window open and then cick on an option in that window that would make the main window centre on that passage (in the background?).\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-17: Make the drag function in the passage editor window conform to standard practice of moving to a new location without leaving a copy of the text behind. (If the current behaviour is important to lots a reasonable number of users then it could be retained as a preferences option.)\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-18: It should be possible to paste copied or cut passages to a particular spot on the story map.\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-19: We need to be able to code internal links in stories that we are writing in the Twine passage writer module ie. linking from one spot to an anchor in the same passage or inanother passage.\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-20: The only ability I think Twine absolutely needs to add is the ability to set a variable to a passage title and then go to the passage using the variable, something like:\n<html><IMG SRC="http://www.green-innovations.asn.au/Twine/Strangelander enhancement1.gif"></html>\nOh, and maybe also add a macro to set a variable to whatever a user types into a blank, so that they can customize their name, etc.\nProposed by [[Strangelander]].\n\n----\n\nNF?-21: The snap to grid setting for a story needs to be saved into the story - rather than being overided by the program's last setting for any story.\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-22: Twine: When the user double clicks (single clicks as well?) on a passage object in the map, this should be maximise the object if it happens to have been in a minimised state at the time of the click.\nProposed by [[Philip Sutton]].\n\n----\n\nNF?-23: Twine: Like in 'strategy' games that display a field of operation at a range of scales, the main Twine window map panel need to display a mini map of the whole story, and a right click and drag on the map (open space) should drag the whole map to reposition it. The you are here dot in the mini map should be updated as the big map shifts to change the passage objects that uare under display. \nProposed by [[Philip Sutton]].\n\n----\n\nCopy passage name in the main map by right clicking on the passage object.\n\n----See [[completed projects and tasks here|Completed projects and tasks]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Philip's proposed top priority enhancement (March 2012)</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nInspired by the concept of Twine/Twee operating with a peer-to-peer model of collaboration, ''imagine this:''\n\nA friend emails me a URL for a Twine/Twee html file - which could be located ''anywhere'' on the web (including in a file storage service like Dropbox, on their own website or on a special Twine/Twee story/game hosting service).\n\n> ''Case 1:'' I drop the URL into my browser of choice and up comes my friend's Twine creation. I read through and find a passage that stirs me to want to comment. I look at the sidebar and find a menu item called "Send comment". What I don't know is that this menu item is only there because my friend activated the comment possibility when they created the file. As a result of my friend's choice Twine inserted my friend's email address into the output .html file. When I load the file in my browser the JavaScript (?) in the file instructs the browser to show the "Send comment" option and when I click on it a popup appears and gives me the option to send the text of the whole passage to my emailer or to just open up a pre-addressed email composer screen in my registered email client. The unique ID for the whole file and the specific passage is included in the email composer window. \n\n> When my friend gets my email (it could go to them direct or to their special Twine/Twee story/game hosting service if that's their preferred option). They open a special window in Twine and drop/paste/transfer the whole email message body onto the screen of this special window. This action causes the relevant .tws file to open at the relevant passage in Twine or the hosting service web client. My friend can then edit the passage if they choose and they have my email text ready to copy from the other special Twine window if it's needed.\n\n> ''Case 2:'' I'm working on a Twine story/game/document of my own. My friend sends me the URL for their Twine document. I look at theirs and realise that........\n\n> ....I want to import part or all of their passage into one of my passages. I open up my passage in Twine, and click on the "Export" option in the sidebar of my browser. This triggers a process that loads the friend's passage to the end of my passage. (Or if that can't be coded for some reason, I could grab the unique URL for my friend's passage from the browser address bar and I could then paste it into my Twine program and Twine would itself then import my friend's file from the web and would put the relevant material at the end of my passage. OR\n\n> ....I want to create a 'live' link to the passage in my friend's Twine/Twee .html file. I use a command a bit like the <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Display-macro.gif"></html> which imports the ''current'' version of my friend's passage and sets up the coding options so that when the output .html file of my Twine story/game/document is loaded into a browser it preferentially loads the live link passage material, or if the link is not currently alive, it then displays the earlier frozen copy (with a nice discreet warning message displayed to the reader saying that the text (marked by some indicator) was current at whatever date it was last imported and that a live copy should be available at such and such URL.\n\n--\n\nThe description above is an attempt to bring alive the [[new functionality|New functionality?]] suggestions below.\n\n----\n\nNF?-8. I'd like to see some sharing/collaboration functions built in (as soon as possible) using a peer to peer model.\n\nNF?-8.a If authors connect their files to services like dropbox (any place where the file are instantly updated and have a 'permanent' URL) then in the passage editor links could be made to Twine html files:\n\n- either a bit like the display passage function so that what appears at that spot is a passage called from someone else's Twine html file somewhere on the web\n\n- or the content of a passage from someone else's Twine html file somewhere on the web could be imported into the current .tws Twine file.\n\nNF?-8.b (and see 2 above) People can read a Twine html file on line and then get the system to send a comment to the author (with the unique id of the Twine html file and the unique permanent ID for the passage.\n\n----------------------------------\n\nNF?-2. (and see 8.b below) I'd like to have the functionality for a reader on an online Twine document to be able to send the author an email relating to a specific identifiable passage (or a general comment). This should be functionality that the document author can activate or deactivate when the html is built. (Passages have unique IDs generated dynamically when the html file is loaded. If people are to be able to email about a specific passage, the passage would need to have an unchanging unique identifier that persists over the life of the document.)\n\n----------------------------------\n\nNF?-6. (Needed for the improvements above?) I'd like passages to have permalink URLs that navigate external readers to the right passage, even if the document is under active revision. Then you can send people links without them becoming out dated as revisions progress. \n\n----------------------------------\n\n\n\n\n\n\n\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>The passage edit window-menu</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[Passage|The passage edit window-Menu-Passage]]\n\n[[Edit|The passage edit window-Menu-Edit]]\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><BDeveloper community development</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[Chris Klimas]] was the first developer.\n\nDevelopment has now been taken over by [[members of the Twine/Twee community|People]]\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Managing the *Back* code group</B></FONT></FONT><BR>\n</html>\n\nRegarding a slow or fluctuating start to the project Bo Daley writes: \n\n"I actually think this is totally normal for open source projects, particularly when it's an unknown codebase and people don't necessarily know what they're getting into.\n\nOne thing you get used to in the world of open source is people's enthusiasm going through cycles that have little or nothing to do with the project itself.\n\nThere are a few obvious things we can do [to make more effective progress]:\n\n* bed down the code repository (it is still in a bit of flux right now) so programmers can get access to the code\n\n* write some instructions for new developers explaining how to get set up with the code \n\n* document the new requirements in a form that allows us to track progress (I would suggest the github tools at:\n\nhttps://github.com/tweecode/twine/issues\n\nSome personal contact might also be useful. This is similar to\nany volunteer-driven effort where we have to just make it easy for\npeople to make whatever contribution they think they can make.\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Tweecode Google group</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n\n----\n''Discussion threads''\n\nA new way to host/edit Twee (Adventure Cow)\nBreaking news! A bug fix version of Twine/Twee coming soon - with the <<back>> macro fixed\nCreating a team of python/javascript programmers to fix the <<back>> bug and maybe go further??\nUsing Twee to output Undum file\nError: The program can't start because MSVCP71.dll is missing\nHow to use save/restore functions\nProblem With Variables\nAdding Audio and Countdown Timer through HTML?\nChoice of the end game\nPrototyping with Twine\nLimited Characters for Twine\ntwo questions regarding twine and html\nThis passage does not exist.\nTiddlyTwine - a TiddlySpace Twine wannabe...\nPeople writing/rewriting the engine and associated things.\nPHP code in twine/twee\nsharing\nOffer my help to maintain Twee (Twine) project.\nproblem with link to ::\nCan't "Save Story As"\nProblem with setting a variable\nTrouble sharing/posting\nGame Hosting\nFirst test and some questions\nQuestions \nTwine GUI for Linux?\nanother newbie question\nnewbie question\nUsing images in Twee code\nThe immediate future of Twine/twee\nNew at this, but I think that I may have a bug.\nsource code\nTwine offline documentation\nWhat is the menu's CSS selector?\nTwine Updated to Fix Sugarcane Bug\nIs twine dead?\nProblems on a Mac\nWindowsError: [Error 2] app.py\nThank you for Twine!\nlinks not working\nsugarcane not working\nTwine Won't Install in Windows 7\nHelp with running Twine on Ubuntu Linux\nAdding New Behaviors -- Code not compatible with Safari\nTwee Macro Parameters\nany example *.tw files to help this Windows twee newbie get up and running?\nVariable as Display input and Set Variable On Link?\nStyle of Gimcrackd.com Stories\nPaths to Image Files?\nTwine : Hiding Passage Name\nTwee 1.7.1 released\nMy first teensy project\nCylillic letters go crazy in Twine editor. I NEED TO FINISH MY WORK!\nTwee 1.7 - Python errors?\nTwee 1.7 - which Python to use? Please help!\nTwine music question\nSugarcane issues fixed / Seeking a new maintainer\nHow to post on websites?\nno sugarcane\nProblem with <<back>>\nNo text\nPictures and music\nProblem with Special Characters (á, é, Á, ñ...etc)\nTwine 1.3.5 released\nTwine Music\nProblems downloading mac os x version\nEnhancements and Compiling\nUsing Twine for Nanowrimo\nThis is a test\nTrouble - basic\nHelp wanted!\nExperimental build of Twine for OS X 10.6 available\nTwine on USB device\nbug?\nTwine 1.3, Twee 1.7 released\nfileformat?\n[Click the star to watch this topic] Vision of a Twee-powered TiddlyWiki - four in one...(revised)\nTranslation of twee and customizing the htmloutput (TiddlyWikiTemplate)?\nStylesheets for Sugarcane\nThanks for Twine and bug with if macro\n<<back>> command doesn' work\nLooking for Mac user volunteers\nTwine 1.2 released\nTwine 1.1, Twee 1.6\nCorrupted .tws file?\nSome feedback on Twee\nThanks and a Question\nThanks for Twine\nAnyone up for a contest / compo?\nThe passage called "Start" is not working... Why?\nSpecial characters in Twine\nExternal third-party javascript libraries?\nmissing doc page\nFormatting Problems + other questions\n<<back>> in Twine 1.0 and IE\nAnnouncing: Twine 1.0\nAnnouncing: Twine beta 2\nThanks for your feedback, everyone!\nsome points about Twine beta 1\nAnnouncing: Twine beta 1\nQuestion about using styles\nTweebox 2.1.1 now available\nTweebox 2.0 on Macintosh - No build activity\nError in 2.1\nseparating JavaScript from the wiki?\nAnnouncing Tweebox 2.1 / twee 1.5\n2 Questions - Comments and Return to earlier place \nChapbook\nSaving chosen options to a log file\nCommenting fixed on livedocs\nRecommended reading: Rhetorical Devices for Electronic Literature\nsource code comments\nNew release: Tweebox 2.0\nHeadless passages?\nPublic alpha: Tweebox 2.0\nis it possible to let users earn "points"?\nStoryTitle doesnt work\nPublic alpha: Lucid, another template for Twee \nDisplay another passage inside another\nTwee docs now "livedocs"\nTweebox 1.2 and twee 1.4 released\ncross reference between separate wiki and external pages\nplugin ?\nIndependent timeline driven events \nFile uploads\nRandom number function? \nJonah 2\ntwee bug w/ <<choice>>\nThe future of Jonah, twee, and Tweebox\nUsing different choice titles to destination tiddlers\nCustoming Jonah\nInputting strings\nembedded graphics\nemacs: fixed longlines + mmm mode\ntwee format and missing attributes\nSinglePageModePlugin\nRestart Story tweak\nRefreshing Tweebox to update project mods\nAnnouncing Tweebox 1.1\ntwee-friendly hack for tiddlywiki editing?\nAuthoring tips\nExamples, samples, demos?\nFaking SinglePageModePlugIn?\nTiddly export to twee\nNumber of <<tiddler>> that can be included\nFormat options\nGreat Program\nLogical operator problems?\nWhat I'm thinking about for 1.1
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Full Unicode support</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nOn 15 Mar 2012 [[Strangelander]] said:\n\nThe next bug fix needs to be complete support for Unicode. As odd as that sounds, that will fix issues 37, 49, 53, 61, 63, 65, and possibly 56 and 44. People copy text over from Word that contains smart quotes, long dashes, etc. Those are Unicode characters, not ASCII. Twine will display those in its editor, but when it comes time to import/export code, export proofing copies, find/replace, set passage titles, and even highlight links in Twine, it chokes, because it only knows how to deal with ASCII for those things.\n\nUnicode will also allow people to write stories in foreign languages.\n\nThe fix should be as simple as telling Twine to expect or convert to Unicode. I don't understand it all, but similar problems popped up for people programming in Python:\nhttp://stackoverflow.com/questions/1369089/default-encoding-of-exception-messages\n\nAnother suggestion I found online was:\nimport codecs\nf = codecs.open('foo','w','utf-8')\n\nAgain, I don't actually know much about Python or coding, but through trial and error figured out that the export problems and link highlighting oddness were related to special characters. \n\n16 March [[Mary DeMarco]] responded:\n\nIIRC, Windows smart quotes are illegal as Unicode, too. It's possible Word uses Unicode in some cases, but I don't think Unicode is a general solution to character set issues.\n\nIf we can detect the character set, I think you can declare it in HTML; that could be a quick patch if not a final fix.\n\n----\n\n
<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Development priorities & committed directions</B></FONT></FONT>\n</html>\n<<back>>\n\n\n
[[Document map]]\n\n[[Bug fixes]]\n\n[[People]]\n\n[[User needs]]\n\n[[Work to do]]\n\n[[Developer information]]\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Jonah</B></FONT></FONT>\n</html>\n<<back>>\n\nOutput formatting template (based on html, CSS and JavaScript coding).\n\n----\n\nSee:\n\n[[tiddlywiki.py]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Main window-Menu-Help</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''Online help''\n\n''Discuss Twine online''\n\n''Report a bug''\n\n''About Twine''\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Output in browser window</B></FONT></FONT><BR>\n</html>\n<<back>>\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Main window-Menu-File</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''New story''\n\n''Open story''\n\n''Open recent''\n\n''Save story''\n\n''Save story as''\n\n''Revert to saved''\n\n''Export proofing copy''\n\n''Import source code''\n\n''Export source code''\n\n''Close story''\n\n''Exit Twine''\n
<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Tassos Walker (Taz)</B></FONT></FONT>\n</html>\n<<back>>\n\n(more info coming)\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Contagion</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nSee also:\n\n[[Public website]]\n\n[[Tweecode Google group]]\n\n[[Information]]\n\n[[User tools]]\n\n[[Methods for contagious promotion]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>What Twine won't run on</B></FONT></FONT>\n</html>\n<<back>>\n\nMary DeMarco said:\n\nTwine won't run in iOS; it's only a Mac OS application. If Chris [Klimas] was calling it "Universal" that just means that the single binary will run on both Intel and PowerPC chips, not on iPhones or iPads.\n\nI don't think it will be easy to port to iOS, either, because (GUI aside) Twine is basically a wrapper around the original Twee python script and [a large %] install of python 2.5. I think it would have to be ported to Objective C before any porting to iOS in particular could happen...but that's just a guess. I really only know about making web apps for iOS, not native iOS apps.
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Main window-Menu-Story</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''New passage''\n\n''Edit passage''\n\n''Edit passage text full screen''\n\n''Delete passage''\n\n''Build passage''\n\n''Rebuild passage''\n\n''View last build''\n\n''Story statistics''\n\n[[Story format|Main window-Menu-Story-format]]\n\n----\n\n[[Main window-Menu-Story-format]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Passage map display</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''Note:'' Empty space is defined as any area in the passage map display panel that is not covered by a passage object. \n\n''Left clicking and double left clicking on empty space''\n\nNo effect.\n\n''Middle clicking on empty space''\n\nCreates an untitled passage at or near the click point on the panel. (It will be at the click point provided there is a big enough space visible in the passage map display panel for a new passage object to fit. If there is not enough visible space available, the new passage object will be created in some other non-overlapping available space out of the visible area. It is possible to middle click righ ON another passage and a new passage object will be spawned somewhere in the available free space near where the user clicked. Passage objects cannot overlap each other.\n\n''Right clicking and double right on empty space''\n\nA rectangular button appears saying "New passage here". This will persist when the mouse is moved away from the click point. If the button is left or right clicked (but not middle cicked) a new passage object will be created at that point provided the "adequate space with no overlapping" rules described in the section above are not violated. If the rules are violated the new passage object is spawned at some other unoccupied location.\n\n''Left clicking on a passage object''\n\nLeft clicking on a passage object selects (highlights) that passage object.\n\n''Middle clicking on a passage object''\n\nAs described above, this creates a new passage object.\n\n''Right clicking or double right clicking on a passage object''\n\nBrings us a two button menu to delete or edit the passage object that has been clicked. Choosing either of these menu buttons affects only the passage object clicked on - even if several passage objects had been selected. \n\n''Left click and drag - on empty space''\nCreates a selection rectangle that grows in size as the mouse drags. And passage objects that are touched are selected (highlightes).\n\n''Left click and drag - a non-highlighted passage object or single highlighted passage object''\n\nThis highlights the clicked passage object and then drags if to the point where the drag stops - but if the dragged object overlaps another passage object the dragged passage object will fall into an empty space.\n\n''Left click and drag - a multiple highlighted passage objects''\n\nDrags all of the highlight passage objects as a "locked collection" to the point where the drag stops - but if any dragged passage object overlaps another passage object the whole "locked collection" will fall into an empty space.\n\n''Right click and drag - anywhere''\n\nBehaves like a right click at the point where the drag stops.\n\n''Keyboard shortcuts in the main Passage map display panel (when the panel has the focus)''\n\n(To be tested and described: Ctrl-Z, Ctrl-Y, Ctrl-X, Ctrl-C, Ctrl-V, Ctrl-A, Ctrl-F, Ctrl-G, Ctrl-H, Ctrl-L, Ctrl-S, Ctrl-R, Ctrl-W) - consider the effect, with or without selection of multiple passage objects.)\n\n''Keyboard shortcuts inside an open passage object (ie. in the passage edit window when that window has the focus)''\n\n(To be tested and described: Ctrl-Z, Ctrl-Y, Ctrl-X, Ctrl-C, Ctrl-V, Ctrl-A, Ctrl-F, Ctrl-G, Ctrl-H, Ctrl-L, Ctrl-S, Ctrl-R, Ctrl-W)\n\n[[The passage edit window]]\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>The passage edit window</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[Menu|The passage edit window-Menu]]\n\n[[Title bar|The passage edit window-Title bar]]\n\n[[Tags bar|The passage edit window-Tags bar]]\n\n[[Edit space|The passage edit window-Edit space]]\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Twine user-orietated architecture</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nBelow is a list of all the Twine windows and virtually all of its user functions.\n\n(Note: Functions in ''bold'' have windows/functions below them)\n\n[[Main Twine window]]\n>[[Main window-Menu]]\n>>[[File|Main window-Menu-File]]\n>>>New story\n>>>Open story\n>>>Open recent\n>>>Save story\n>>>Save story as\n>>>Revert to saved\n>>>Export proofing copy\n>>>Import source code\n>>>Export source code\n>>>Close story\n>>>Exit Twine\n>>[[Edit|Main window-Menu-Edit]]\n>>>Undo new passage\n>>>Can't redo/Redo\n>>>Cut\n>>>Copy\n>>>Paste\n>>>Delete\n>>>Select all\n>>>Find\n>>>Find next\n>>>Replace across entire story\n>>>Preferences\n>>[[View|Main window-Menu-View]]\n>>>Zoom in\n>>>Zoom out\n>>>Zoom to fit\n>>>Zoom 100%\n>>>Snap to grid\n>>>Clean up passages\n>>>Toolbar\n>>[[Story|Main window-Menu-Story]]\n>>>New passage\n>>>Edit passage\n>>>Edit passage text full screen\n>>>Delete passage\n>>>Build passage\n>>>Rebuild passage\n>>>View last build\n>>>Story statistics\n>>>[[Story format|Main window-Menu-Story-format]]\n>>>>Sugarcane\n>>>>Jonah\n>>>>TiddlyWiki 2\n>>>>TiddlyWiki 1\n>>>>About story format\n>>[[Help|Main window-Menu-Help]]\n>>>Online help\n>>>Discuss Twine online\n>>>Report a bug\n>>>About Twine\n>[[Main window-Tool bar]]\n>>Add a new passage to your story\n>>Zoom in\n>>Zoom out\n>>Zoom so all passages are visible onscreen\n>>Zoom to 100%\n>[[Passage map display panel]]\n>>Left clicking and double left clicking on empty space\n>>Middle clicking on empty space\n>>Right clicking and double right on empty space\n>>Left clicking on a passage object\n>>Left clicking on a passage object selects (highlights) that passage object.\n>>Middle clicking on a passage object\n>>Right clicking or double right clicking on a passage object\n>>Left click and drag - on empty space\n>>Left click and drag - a non-highlighted passage object or single highlighted passage object\n>>Left click and drag - a multiple highlighted passage objects\n>>Right click and drag - anywhere\n>>Keyboard shortcuts in the main Passage map display panel (when the panel has the focus)\n>>Keyboard shortcuts inside an open passage object (ie. in the passage edit window when that window has the focus)\n>>[[The passage edit window]]\n>>>[[Menu|The passage edit window-Menu]]\n>>>>[[Passage|The passage edit window-Menu-Passage]]\n>>>>>Create link from selected text\n>>>>>Outgoing links\n>>>>>Incoming links\n>>>>>Broken links\n>>>>>Save story\n>>>>>Rebuild story\n>>>>>Full screen view\n>>>>>Close passage\n>>>>[[Edit|The passage edit window-Menu-Edit]]\n>>>>>Undo\n>>>>>Redo\n>>>>>Cut\n>>>>>Copy\n>>>>>Paste\n>>>>>Select all\n>>>>>Find\n>>>>>Find next\n>>>>>Replace\n>>>[[Title bar|The passage edit window-Title bar]]\n>>>[[Tags bar|The passage edit window-Tags bar]]\n>>>[[Edit space|The passage edit window-Edit space]]\n[[Output in browser window]]\n----\n\nSee also:\n[[Twine code-orientated architecture map]]\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>metrics.py</B></FONT></FONT>\n</html>\n<<back>>\n\nMetrics: This module offers advice on how to size the UI appropriately for the OS we're running on.\n\n\n\n----\n\nSee:\n\n[[storyframe.py]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Tasks</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nSee also: \n[[Development priorities & committed directions]]\n\n----\n\n= 1. We need to extract useful information from the Tweecode Google group website We need to look at the Tweecode Google Group postings to find/identify: <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Underway.gif"></html>\n\n- unregisted ''bugs and other issues'' with Twine/Twee\n\n- find out (and list in this document) the ''active people'' in the Twee / Twine community (ie. people offering help, providing solutions, taking initiatives, etc.)\n\n- ''user needs''\n\n- ''tips and tricks'' (how to do things that are not obvious to the average story/document/game author, work arounds etc. Sources of handy stuff, downloads, tools, etc.). \n\n- ''Twine/Twee enhancements''/new functions/new features of the programs.\n\nClick [[here|Extracting content from Tweecode group website]] to see details of the project to cary out this task.\n\n----\n\n= 2. We need to develop accurate module maps of Twine and Twee, and function maps for both.\n\n----\n\n= 3. We need to develop [[program architectures|Program architectures]] for Twine and Twee as they are, and start imagining ne architectures - otherwide out incremental fixing/enhancement of Twine/Twee could lead into dead ends or could waste a lot of time on sub-optimal approaches.\n\n----\n\nSee [[completed projects and tasks here|Completed projects and tasks]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Completed projects and tasks</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[Completed bug fixes]]\n[[Completed polishes to code/programs]]\n[[Completed new functionality]]\n[[Completed non-programing tasks/projects]]\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>People & teams</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[Chris Klimas]] (the creator of Twee and Twine)\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>The most active members of the Twine/Twee community are:</B></FONT></FONT><BR>\n</html>\n[[Mans Martensson]], [[Maanto]], [[Chris Liu]], [[Susan Douglas]], [[Joe-codetech]], [[Strangelander]], [[Yannis]], [[Defectiv]], [[FireWally]], [[Jackie Keith]], [[Jeremy Franchi]], [[Devi Acharya]], [[Jeremy Franchi]], [[Mary DeMarco]], [[Henry Soule (Oke_Doke)]], [[Philip Sutton]], [[Bo Daley]], [[Emmanuel Turner (Stormrose)]], [[Tassos Walker (Taz)]], [[Chris Klimas]].\n\nThe Twine/Twee community has ''two sub-groups''. Each working group has its own elist to assist communications between the members. \n\n''The CodeDev working group:'' \n\nThis is for programmers and wanna-be programmers and systems architects and user-orientated function designers etc.\n\nMembers are (on 14 April 2012): [[Susan Douglas]], [[Bo Daley]], [[FireWally]], [[Chris Liu]], [[Mary DeMarco]], [[Henry Soule (Oke_Doke)]], [[Emmanuel Turner (Stormrose)]], [[Tassos Walker (Taz)]], [[Chris Klimas]], [[Philip Sutton]]. \n\nThe CodeDev elist archive, readable by anyone, is at:\nhttp://tech.groups.yahoo.com/group/Twine-CodeDev/\nIf you are a member of this elist you can post messages to:\nTwine-CodeDev@yahoogroups.com\n\n''The UserDev working group:''\n\nThis working group is for people doing development work on user support and resources for the free, open source Twine and Twee software programs. This group is working to maximise the productivity and enjoyment of people who author stories, games and documents etc. and to maximise the experience of readers and gamers who use the authors' output.\n\nMembers are (at 15 April 2012): \n[[Strangelander]], [[Devi Acharya]], [[Mans Martensson]], [[Maanto]], [[Chris Liu]], [[Yannis]], [[Defectiv]], [[Jackie Keith]], [[Mary DeMarco]], [[Henry Soule (Oke_Doke)]], [[Philip Sutton]].\n\nThe UserDev elist archive, readable by anyone, is at:\nhttp://tech.groups.yahoo.com/group/Twine-UserDev/\nIf you are a member of this elist you can post messages to:\nTwine-UserDev@yahoogroups.com\n\nThe UserDev working group currently has two defined projects:\n\n1. [[Extracting useful information from the Tweecode Google group website|Extracting content from Tweecode group website]], led by [[Devi Acharya]]. This project needs more people to help it complete it work more quickly.\n\n2. The Entertwine website - to be built up to be the main portal for Twine and Twee.\nhttp://entertwine.weebly.com/\n\nMore UserDev projects will be developed.\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Chris Liu (partyonaisle7)</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nSee [[Adventure Cow]]\n\nChris Liu <chris@adventurecow.com>\n\n(Chris, can we add more detail here. And your contact details?)\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>searchpanels.py</B></FONT></FONT>\n</html>\n<<back>>\n\nimport re, wx import metrics\nFindPanel: This allows the user to enter a search term and select various criteria (i.e. "match case", etc.) There are two callbacks: onFind (regexp, flags) Regexp corresponds to the user's search, and flags should be used when performing that search.\nonClose()\nWhen the user clicks the Close button. \n\n----\n\n''Question'' does this service both the Story panel and the passage panel seach functions???\n\n----\n\nSee:\n\n[[storypanel.py]]\n\n[[storysearchframes.py]] Is this related?
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Yannis</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n"The development that should be worked towards though is making Twine (twee works I think, but I'm too stupid to use it) compatible with non-Latin characters, as well as making it be able to save in folders with non-Latin characters. Many discussions past have picked up on this issue and I believe taking care of it would be paramount to Twine becoming more widespread. Twine is the first project I know of that offers a GUI for that sort of stuff, apart from various web-based tools like choose-your-story." \n\nYannis <yannanth@gmail.com>\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Interactive fiction</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nInteractive fiction has two origins - dating back at least as far as the 1970s:\n\n1. for ''story telling'' (See the history of the <html><A HREF="http://en.wikipedia.org/wiki/Choose_your_own_adventure">"Choose your own adventure"</A></html> book series [paper based]. See also the history of online <html><A HREF="http://en.wikipedia.org/wiki/Hypertext_fiction">hypertext fiction</A></html>).\n\n2. ''Gaming'' (See the history of gaming related <html><A HREF="http://en.wikipedia.org/wiki/Interactive_fiction">Interactive fiction</A></html>.)\n\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Main window-Menu-Story-format</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''Sugarcane''\nApply Sugarcane format\n\n''Jonah''\nApply Jonah format\n\n''TiddlyWiki 2''\nApply TiddlyWiki 2 format\n\n''TiddlyWiki 1''\nApply TiddlyWiki 1 format\n\n''About story format''\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>A map based on a source code module architectural perspective</B></FONT></FONT>\n</html>\n<<back>>\n\n<html><IMG SRC="http://www.green-innovations.asn.au/Twine/Twine-code-module-map.gif"></html>
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Main window-Menu-View</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''Zoom in''\n\n''Zoom out''\n\n''Zoom to fit''\n\n''Zoom to 100%''\n(add to Bugs to correct text from 'Zoom 100%' to 'Zoom to 100%')\n\n''Snap to grid''\n\n''Clean up passages''\n\n''Toolbar''\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>geometry.py</B></FONT></FONT>\n</html>\n<<back>>\n\nThis module has basic utilities for working with wx.Rects and Lines (which are tuples of wx.Points).\n\n----\n\nDoes this service the StoryPanel functions?\n\n----
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Reader/Game player information</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>
<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Emmanuel Turner (Stormrose)</B></FONT></FONT>\n</html>\n<<back>>\n\nI'm okay with HTML, CSS, JavaScript - and\nthis would be a good chance to learn Python.\n\nEmmanuel Turner <eturnerx@gmail.com>
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>*Back* macro bug</B></FONT></FONT><BR>\n</html>\n<html>\n<<back>>\n\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>The problem</B></FONT></FONT><BR>\n</html>\nTwine (and Twee) produces a single html file that can be read in a web browser. It is used to create a branching or braided story with multiple scenarios.\n\nIn one preset Twine format (called Sugarcane), only one passage of text can be seen at a time. Links in the text take you to a next part of the story.\n\nThere are 3 videos on the Twine site that explain how to use the program:\nhttp://vimeo.com/5010370\nhttp://vimeo.com/5011133\nhttp://vimeo.com/5053107\n\n2 minutes and 14 seconds into the second video it explains how to use a 'macro' called <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif"></html> to enable the reader to return to the previously view text passage. In the version of Twine shown in the video this function DOES work. But in the current version it doesn't.\n\nTo illustrate the problem I used Twine to create a simple 'story' that progresses from the start test passage to the second text passage. See the demonstration Twine design file and the output html file attached.\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Using-Twine-to-create-the-simple-test.gif"></center></html>\nWhen you get Twine to build a user viewable html file and you jump to the second text passage, instead of seeing a <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif"></html> link (return link), you get the following error message:\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/--back-- error-message.gif"></center></html>\n\n----\n\nhttp://groups.google.com/group/tweecode/browse_frm/thread/6491c222dd2b9b40\n\ngrapeshot \nJul 8 2009, 11:24 am\n\nHiya.\n\nI just tried writing a very short story using Twine. I must say that\nit's a LOT more user friendly for this utter coding newbie. It's\nespecially nice to be able to see a map of your story.\n\nBut, when I tried checking out how my story works in IE, I found that\nat certain points, the <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif"></html> function doesn't work. If I click on\nit, nothing seems to happen, yet if I click on the browser's refresh\nbutton, then the proper page displays. Everything works perfectly in\nFirefox, but I don't think I can expect my readers (all two of them)\nto have to use Firefox to get the proper effect. (Er...I'm using IE7,\nby the way. I don't have IE8 yet so I can't check it. But checking\nin IE6, I see the exact same behavior.)\n\nAlso, I tried to see how the story functions in Safari on my Mac, and\nI found that none of the links worked at all. They each led me to a\nblank screen and a pop-up message that said "The passage you had\npreviously visited could not be found". (That's a very obscure\nmessage, no?) At that point the browser's back button wouldn't work\neither, and the only thing that got me back to the start is the\n"restart" link, which is the ONLY link that apparently works at all.\n\nEverything worked perfectly using Firefox on my Mac as well.\n\nThe only other clue that I can offer about these puzzling link\nproblems is that the address window in Firefox consistently shows the\nsame html# for each story passage. The address windows in IE and\nSafari show a different html# for the the same story passage, and\nthey're different from each other. I don't know what, if anything,\nthis signifies, but I thought I'd throw it out there.\n\nI'm not in any big sweat over these things. This has only been\nsomething to play around with, and my story, despite being intended to\nbe short, will be a very long time being developed.\n\nOr perhaps I missed the bit that said the story results of Twine won't\nwork in anything other than Firefox, and I should just shut up and sit\non my hands.\n\nIf the goal is to let people concentrate on creating the story and not\nhave to worry about formatting and coding, then I think Twine is a\ngreat step forward. When I tried Twee, I found the constant struggle\nwith trying to figure out code to be overwhelming. I'm sure that Twee\nprovides a great deal more versatility to those who know their way\naround coding, but for me it was simply too much.\n\nAlso, I thought I'd point out that setting the title in the sidebar\nisn't very clear. (Er..you have to create a new passage without any\nlinks called "StoryTitle" -- without the quote marks -- and put the\nstory's title in there.) \n\n\n--------reply------\n\nChris Klimas \nul 8 2009, 2:41 pm\n\nWell, first of all, this is a totally valid complaint :) I have logged\na bug for the IE 7 issue here: http://code.google.com/p/twee/issues/detail?id=14.\nCould you attach a .tws file to this so I can try to duplicate it on\nmy computer? If you can strip it down as much as possible to just the\npart that doesn't work, it would be really helpful.\n\nI can open a bug for your Mac Safari issue as well, but just to\nconfirm -- are you saying that links don't work period, or that no\n<html><IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif"></html> links work? Also, which version of Safari are we talking\nabout here?\n\nI hear your point about StoryTitle being awkward. I'm thinking about\nways to make it a bit more obvious to work with, though I need to keep\nthe StoryTitle passage mechanism in place.\n\nGlad to hear Twine is a better environment to work in. To close,\nhere's some technical explanation of the stuff after the # in case\nyou're curious:\n\nThe # string keeps track of your history through the story, so that\nclicking the back button moves you backwards in the story, even though\nyou're remaining in the same file. To keep this string as short as\npossible, each passage in your story is assigned an ID by the Web\nbrowser, and each passage in your history is separated by a period.\nThe way the IDs are assigned can change across browsers, depending on\nhow they "see" the HTML of the story. \n\n----\n\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Diagnosis</B></FONT></FONT><BR>\n</html>\nComment by [[Philip Sutton]]\nGiven that the <back> macro doesn't work in both Twee and Twine it makes me think that the problem must lie in the shared 'twee' code in both programs??\n\nMy guess would be that you have designed Twee/Twine so that the html output file when running in a browser generates stable unique IDs for each passage and that the html file code can access the browser history or does the html file store its own history while it's running in a browser?? Then when the user hits the <back> link the html file programming looks for the previous passage ID? Is that anything like how it works?\n\n----\n\nComment by [[Philip Sutton]]\n\nWow!\n\nI've just watched the anchors change in my browser address bar as I move through the document.\n\neg.\nhttp://dl.dropbox.com/u/25549414/Twine%20development.html#\nhttp://dl.dropbox.com/u/25549414/Twine%20development.html#7\nhttp://dl.dropbox.com/u/25549414/Twine%20development.html#7.2\nhttp://dl.dropbox.com/u/25549414/Twine%20development.html#7.2.1a\nhttp://dl.dropbox.com/u/25549414/Twine%20development.html#7.2.1a.2\nhttp://dl.dropbox.com/u/25549414/Twine%20development.html#7.2.1a.2.10\nhttp://dl.dropbox.com/u/25549414/Twine%20development.html#7.2.1a.2.10.2\nhttp://dl.dropbox.com/u/25549414/Twine%20development.html#7.2.1a.2.10.2.1a\nhttp://dl.dropbox.com/u/25549414/Twine%20development.html#7.2.1a.2.10.2.1a.14\nhttp://dl.dropbox.com/u/25549414/Twine%20development.html#7.2.1a.2.10.2.1a.14.10\n\nEach time you move a new .ID is added to the anchor. So the anchors *are* the history!!!! And the numbers and letters between the dots are the unique identifiers of the passages.\n\nSo perhaps the <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif"></html> macro malfunction is that the code can no longer act on the history that is right in front of its face!! This could be wrong of course. But it feels like it must help somehow.\n\nNow we have to find the modules/files that handle this. The only people that I know who would know this are:\n[[Chris Klimas]] and [[Chris Liu]]. I've sent a request to both.\n\n----\n\nChris Klimas (developer of Twine and Twee) said:\n\n"The really key thing is that the Jonah and Sugarcane templates are a combination of HTML, CSS, and JavaScript. These templates actually do the work of displaying the text in a browser and\nhandling all the macros. If you're looking to fix <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif"></html>, ''you'll need to investigate the JavaScript there''. I documented the basic classes I wrote to handle display at:\nhttp://gimcrackd.com/etc/api/files/fx-js.html\n\n"There aren't similar docs on the macros, but their source code is relatively short so it shouldn't be too hard. The JavaScript in Jonah and Sugarcane is almost identical -- the only difference is in how it displays new passages. This is kind of unwieldy right now and it would probably make life a lot easier longterm to merge the two templates into one and somehow let people configure what happens when you click a link."\n\n----\n\nChris Klimas said on 13 March:\n\nIt sounds like you figured out how anchors work, but let me recap just in case. Basically, every passage gets assigned an ID number when the story is first loaded on a browser. This happens only on the JavaScript side, not the Twee/Twine side. The ordering is however they appear in the HTML source code, which isn't guaranteed to be alphabetical or chronological order... it's just however the tool generates the source code, so IDs will probably not be consistent across different versions of a story. The anchors reflect the sequence of clicks. For terseness the IDs are encoded in base 36 (so it uses 0-9, a-z) and separated by periods in the URL.\n\nGory details here, in particular the History.save and History.restore methods: \nhttp://gimcrackd.com/etc/api/files/history-js.html\nhttp://code.google.com/p/twee/source/browse/sugarcane/trunk/history.js\n\n----\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Solution</B></FONT></FONT><BR>\n</html>\nOn 10 Mar 2012 [[Susan Douglas]] wrote: \n\n<html><FONT FACE="Times New Roman, serif"><FONT SIZE=3><pre>The brackets for the if statement were not explicit. My thought \nis that the code compressor got confused and put them in the wrong place.\n\nHere is the corrected code for macros.js in the sugarcane code\n\n---------------------------------------------\nmacros['back'] = \n{\nhandler: function (place, name, params)\n{\nvar hash = '';\nif (params[0]){\nfor (var i = 0; i < state.history.length; i++){\nif (state.history[i].passage.title == params[0])\n{\nhash = state.history[i].hash;\nbreak;\n}\n}\n} else {\nif (state.history[1]) {\nhash = state.history[1].hash;\n} else {\nthrowError(place, "can't go back from the first passage read");\nreturn;\n};\n}\n[... snip ...]\n\n----------------------------------------------------\n\nThen I ran into a new problem that it didn't correctly work with the first Passage.\nSo I added a placeholder to the header file right at the bottom.\n\n---------------------------------------------------\n[... snip ...]\n\n<div id="storeArea">\n<div tiddler="BlankTwiddler" tags="">I am a space holder</div>\n\n----------------------------------------------------------------------------\n\nSee the new header.html file below. To use it, place it in the \n[Install Location]\sTwine\stargets\ssugercane directory\n\n-------------------\n\nI downloaded Yui compressor \nhttp://developer.yahoo.com/yui/compressor/\nand put the yuicompressor.jar somewhere I could find it. Then I changed the make.bat file to point to it.\n\nmy make.bat file:\n\ndel %~dp0compressed.js \ndel %~dp0temp*.js\ncopy /B %~dp0*.js %~dp0temp.js\nfindstr /V "console.log" %~dp0temp.js > temp2.js\njava -jar "C:\sUsers\sOwner\sDocuments\scodestuff\syuicompressor.jar" -o %~dp0compressed.js %~dp0temp2.js\njava -jar "C:\sUsers\sOwner\sDocuments\scodestuff\syuicompressor.jar" -o %~dp0compressed.css %~dp0style.css\ndel %~dp0temp*.js \n\nThen I manually pasted the contents of "compressed.js" into header.html\n\n</pre></FONT></FONT></html>\nhttp://www.green-innovations.asn.au/Twine/Sugarcane/header.html\n\n----\n\nBo Daley on 11 ?March said:\n\n<html><FONT FACE="Times New Roman, serif"><FONT SIZE=3><pre>\nGreat -- something like that worked for me. I used this Makefile (should work on \nmac or linux):\n\n\ntest: *.js *.css\ntwee -t none test.tw | cat testheader.html - > test.html\nrelease: *.js *.css\nrm -f compressed.js\ncat *.js > temp1.js\ngrep -v 'console.log' temp1.js > temp2.js\njava -jar /path/to/yuicompressor-2.4.7.jar -o compressed.js temp2.js\njava -jar /path/to/jar/yuicompressor-2.4.7.jar -o compressed.css *.css\nrm -f temp1.js temp2.js\n\n\nAlso I was able to confirm your js fix, so now the <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif"></html> button is working nicely \nfor me in the sugarcane templates -- awesome. This changeset should be enough to\nget it working:\n\nhttps://github.com/factorypreset/twee/commit/1b3646333097c7062fab3b139cbee4dbafa25b3f\n</pre></FONT></FONT></html>\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Adventure Cow</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nAdventure Cow is NOT Twee/Twine - it's just an easy way to host it online and edit it. Some of the features:\n\n* Unicode support - support for those pesky mathematical symbols and weird characters\n* Exports AND imports from Twee source code - load Twine into Adventure Cow and export it back out for Twine\n* Built in editor with rich text formatting\n\nThis is still in progress, and there are still a _LOT_ of bugs that I'm working on fixing :), but I thought it might be good to share.\n\nTwee/Twine users can try it out here: http://adventurecow.com/stories/load\n\nAlternate forum for questions/bugs: \nhttp://forums.adventurecow.com/index.php?board=2.0\n\nIf you have any problems, you can send me an email and I'll help out.\n\nChristopher Liu <chris@adventurecow.com>
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Philip Sutton</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nPhilip Sutton is currently convening the *Back* working group.\n\nPhilip is a strategic planner (sustainability focus). He is ''NOT'' a programmer, but he has worked on quite a few projects developing software programs as a "power user" or, on a couple of occasions, as the project architect.\n\nPhilip's contact details are:\n\nPhilip.Sutton@green-innovations.asn.au\nSkype ID: philip_sutton (please arrange a time to talk by email first)\n\n----\n\nSomebody asked me:\n> I'm curious about: how'd you get into Twine and\n> Twee? Just wondering. :)\n\nI've been involved for a long time. Since 6 March 2012.\n\nI am involved with an organisation that is doing a major strategic planning exercise (very badly in my opinion) and I realised that I needed a tool for telling strategic planning 'stories' from multiple perspectives and with different external events that force choice points. This clicked in my head as being a bit like those old "Choose your own adventure" books. I wondered whether there was a tool out there for doing it. Since I'm flat broke I needed to find a piece of freeware. After 2 days of web searching and finding the right jargon for referring to what I was after (interactive fiction) I was able to home in on Twine as the best option for my needs.\n\nI immediately started to use Twine for my strategic planning job and then came across the <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif"></html> macro bug (like about 5 minutes after I started). I found that the Twine/Twee community had been agonising about this for 2 years because Chris Klimas was no longer maintaining the program. I found out how to email Chris Klimas and asked him if it was okay for me to find some programmers to solve the problem. He said that was fine. So, as they all say the rest is all history.\n\n---\n\nBecause it's my assessment that Twine is going to be mission critical for my work in the future I decided to invest a whole week (full time) in getting a redevelopment process going - hence:\n\n= putting out a call for programmers through a number of elist that I'm on.\n\n= the work in developing the document at:\nhttp://dl.dropbox.com/u/25549414/Twine development.html\n\n= setting up of a Yahoo group for programmers to talk to each other.\n\n= identifying people for two other sub-project teams - one on a public web site and one for mining the Tweecode Google group for good info that's still relevant.\n\n----\n\nMy background is that I am a strategist and an innovator/social entrepreneur (''__not__'' focused on money at all though). So I've got a fair bit of background in organisational development (and lots of experiences of failing that I can draw on to help avoid making [some] mistakes in the future).\n\nI've also worked in depth with a number of software projects (some for a government agency I worked for decades ago, and several that are freeware projects [Skwyul {now defunct}, xplorer2, Treepad, etc.] so I know how to work as a power user or even sometimes as a systems architect with programmers [and in other contexts too]). Oh, I did do some very amateurish programming at one stage, a long time ago, using an expert system shell Exsys and I developed an application in MS Access for a client.\n\n---\n\nSo that's about it! :)\n\n----\n\n[[Philip's to-do list]]\n\n[[Philip's current wild (and very tentative) ideas]]\n\n----\n\n<<back>>
<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Twine-Twee.gif"></center></html>\nThis is a Twine document to hold key ideas for the development, maintenance and use of Chris Klimas' two programs for generating [[interactive fiction|Interactive fiction]] - that is <html><A HREF="http://gimcrackd.com/etc/src/">Twine and Twee</A></html>. \n\nAn up-to-date version of this document can be downloaded from:\nhttp://dl.dropbox.com/u/25549414/Twine-development.html\nAnd the Twine file is at:\nhttp://dl.dropbox.com/u/25549414/Twine-development.tws\n\n''Enter this document by going via the links in the sidebar on the left, especially the 'document map'''.\n\nThis document is being developed currently by [[Philip Sutton]]. Please send Philip an email to alert him to out-of-date material, errors, typos or difficult-to-understand writing in this document:\nPhilip.Sutton@green-innovations.asn.au \n\n<<back>>\n
<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>The passage edit window-Tags bar</B></FONT></FONT>\n</html>\n<<back>>\n\nThere are three tags that have meaning for Twine:\n\n''stylesheet''\nCSS code can be included in a passage marked with this tag to override or go beyond the CSS in the Story Format header files.\n\n''script''\nJavaScript can be included in a passage marked with this tag to override or go beyond the CSS in the Story Format header files.\n\n''bookmark''\nThis tag cause the Twine .html output file to present passages marked with this tag as point that the story can be wound back to.\n\n''Twine.private''\nA passage marked with this tag will not be passed into the output .html file, on Build/Rebuild.\n\n----\n\nNote: From now on new Twine-signidicant tags will follow the naming protocol "Twine-tagname".\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Decision-making</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nSee [[References]]:\n= Maier & Rechtin, 2009 (The art of systems architecting)\n= Moody, 2001 (Rebel code).\n\nSee:\n[[Development priorities & committed directions]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Jackie Keith</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>
<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>FireWally</B></FONT></FONT>\n</html>\n<<back>>\n\n(FireWally: do you want to add to or change this text? Including contact details.)\n\n"i learned something like basics of python while developing a plugin for OCTGN2 program."\n\nMaciej (aka. FireWally)
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Strategic narrative</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nThis application of Twine/Twee to [[interative fiction|Interactive fiction]] and complex information/argument presentation is currently being developed by (see <html><A HREF="http://www.green-innovations.asn.au/">RSTI (Research and Strategy for Transition Initiation)</A></html>.\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Completed new functionality</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nNone as yet.\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>User tools</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Main window-Menu-Edit</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''Undo new passage''\n\n''Can't redo/Redo''\n\n''Cut''\n\n''Copy''\n\n''Paste''\n\n''Delete''\n\n''Select all''\n\n''Find''\n\n''Find next''\n\n''Replace across entire story''\n\n''Preferences''\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>storypanel.py</B></FONT></FONT>\n</html>\n<<back>>\n\nStoryPanel: # A StoryPanel is a container for PassageWidgets. It translates between logical coordinates and pixel coordinates as the user zooms in and out, and communicates those changes to its widgets. A discussion on coordinate systems: logical coordinates are notional, and do not change as the user zooms in and out. Pixel coordinates are extremely literal: (0, 0) is the top-left corner visible to the user, no matter where the scrollbar position is. This class (and PassageWidget) deal strictly in logical coordinates, but\n# incoming events are in pixel coordinates. We convert these to logical coordinates as soon as possible.\n\n----\n\nSee:\n\n[[storyframe.py]]\n\n[[passagewidget.py]]\n\n[[storysearchframes.py]]\n\n[[passageframe.py]]\n\n[[geometry.py]] Is this related?\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>PyRSS2Gen.py</B></FONT></FONT>\n</html>\n<<back>>\n\nA Python library for generating RSS 2.0 feeds.\n\n----\n\nHow does this connect to Twine? Does it provide content for the output .html file?\n\n----\n\n\nSee:\n\n[[tiddlywiki.py]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Philip's current wild (and very tentative) ideas</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n18 March 2012:\n\nHere're my current very tentative thoughts re Twine / Twee development:\n\n1. There's quite a bit of work in maintaining two programs (Twine and Twee). Maybe the programs could be merged and that the merged program (maybe a Twine 2) could offer both sets of functionality by running the uncompiled version on in programming development environment (like Twee run on Python) and by having a compiled version of the program to provide the Twine functions?\n\n2. To take advantage of the trend to blend the roles of author and reader/player, maybe the reading/playing and authoring interfaces could be integrated- with the whole system running on a person's browser of choice and much/most of the programming being run via JavaScript/Java applets.\n\n3. The current Twine and then the Twine 2 could be modified/designed to allow Twine stories to interact (regardless of their location) and to encourage collaboration between authors and users (readers/gamers).\n\n4. Incremental development and multidirectional enhancement of Twine could be encouraged by the development of an active plug-in development program.\n\nThere would need to be a lot of discussion in the Twine/Twee community before there was any move in any of these directions. After discussion it might turn out that other directions are more productive.\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>TiddlyWiki 2 and TiddlyWiki 1</B></FONT></FONT>\n</html>\n<<back>>\n\nOutput formatting template (based on html, CSS and JavaScript coding).\n\n----\n\nSee:\n\n[[tiddlywiki.py]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>passageframe.py</B></FONT></FONT>\n</html>\n<<back>>\n\nPassageFrame: A PassageFrame is a window that allows the user to change the contents of a passage. This must be paired with a PassageWidget; it gets to the underlying passage via it, and also notifies it of changes made here. This doesn't require the user to save his changes -- as he makes changes, they are automatically updated everywhere. nb: This does not make use of wx.stc's built-in find/replace functions. This is partially for user interface reasons, as find/replace at the StoryPanel level uses Python regexps, not Scintilla ones. It's also because SearchPanel and ReplacePanel hand back regexps, so we wouldn't know what flags to pass to wx.stc.\n\n\n\n----\n\nSee:\n\n[[storypanel.py]]\n\n[[fseditframe.py]]\n\n[[passagewidget.py]]\n\n[[passagesearchframe.py]]\n\n[[tweelexer.py]]\n\n[[tiddlywiki.py]]\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>User information</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nSee the beginning of a [[user help website|Public website]] aimed at intending authors:\nhttp://entertwine.weebly.com/index.html\nThis site is being developed by [[Strangelander]] \n\nCould we use Twine to develop additional online help resources?\n\n[[Author information]]\n\n[[Reader/Game player information]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Mary DeMarco</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nMarch 14:\nYou inspired me to experiment with using jQuery Mobile to make a mobile version of my twee stories. So far it's going better than I expected. Let me know if you're interested in integrating that sort of thing with the current story formats or making a new mobile story format. I should be able to post an example in a day or two. \n\nYou can contact Mary on:\nMary DeMarco <mcdemarco@gmail.com>\n\nMary works with a computer(s) that runs: OSX 10.6... and iOS 5.1
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Main window-Tool bar</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''Add a new passage to your story''\n\n''Zoom in''\n\n''Zoom out''\n\n''Zoom so all passages are visible onscreen''\n\n''Zoom to 100%''\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>References</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html>\n\n<FONT FACE="Times New Roman"><FONT SIZE=3>Maier, M & Rechtin, E. \n(2009).  </FONT></FONT><FONT FACE="Times New Roman"><FONT SIZE=3><U>The\nart of systems architecting</U></FONT></FONT><FONT FACE="Times New Roman"><FONT SIZE=3>\n(Third Edition). CRC Press: Boca Raton, USA.</FONT></FONT>\n\n<html><FONT FACE="Times New Roman"><FONT SIZE=3>Moody, G.  (2001). \nRebel code: </FONT></FONT><FONT FACE="Times New Roman"><FONT SIZE=3><U>The\ninside story of Linux and the open source revolution</U></FONT></FONT><FONT FACE="Times New Roman"><FONT SIZE=3>. \nPerseus Publishing, Massachusetts.</FONT></FONT>\n\n</html>\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Information</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nSee also:\n\n[[User information]]\n\n[[Developer information]]\n\n[[Servicer information]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>The passage edit window-Title bar</B></FONT></FONT><BR>\n</html>\n<<back>>\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Completed polishes to code/programs</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nNone yet.\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>The passage edit window-menu</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''Create link from selected text''\n\n''Outgoing links''\n\n''Incoming links''\n\n''Broken links''\n\n''Save story''\n\n''Rebuild story''\n\n''Full screen view''\n\n''Close passage''\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Document map</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[Bug fixes]]\n[[Work to do]]\n\n[[Organising principles]]\n[[User needs]]\n[[Developer needs]]\n[[Community development]]\n[[People]]\n[[Key questions]]\n[[Development possibilities]] (The really big picture)\n[[Design principles for program design and coding]]\n[[Program architectures]]\n[[New functionality?]] (Specific proposals)\n[[Priority setting]]\n[[Development priorities & committed directions]]\n[[Information]]\n[[Contagion]]\n[[Developer information]]\n[[Tools]]\n[[Methodologies]]\n[[Resources]]\n[[References]]\n\n[[Work to do]]\n\n[[Completed projects and tasks]]\n\n[[Sandbox]]\n\n<<back>>\n\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>install.nsi</B></FONT></FONT>\n</html>\n<<back>>\n\nGenerated NSIS script file (generated by makensitemplate.phtml 0.21); by 68.48.123.220 on Dec 27 08 @ 17:56; NOTE: this .NSI script is designed for NSIS v1.8+\n\nWindows 7 installations need MSVCP71.DLL to be added.\n\nTargus said: "I just searched for MSVCP71.DLL on my computer and found that a few other programs had this file in their program folder. They all have the exact same file size so it must be a universal file. I copied it from an Adobe folder and pasted it into the Twine program folder, and voila, it worked."
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Strangelander</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nStrangelander said:\n\n"I actually started a Twine website aimed at beginning users and creating a community. I started several pages, and then figured there wasn't much point until Twine was being actively supported, and had it's most obvious bugs fixed."\n\n"Anyway, the address is: \nhttp://entertwine.weebly.com\n\n"As I say, most pages have been abandoned midway, but you get the idea. I would be interested in vollunteering some graphic design skills, and tutorial writing, forum moderation, etc."\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Maanto</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n"I'd like to say I am somewhat of a programmer and a writer, but neither a master. That said, I'd like to help in any way, however I've been up to my eyes lately balancing 2 jobs, a family, a side project, etc. However, I will pop in now and then to offer any amount of advice or comment wherever I can help out."\n\n"So, sadly I'll have to cheer on from the sidelines currently.\n\nI do want to take this opportunity to say that I do believe Twee/Twine is really amazing and from what I've seen from this community, other creations, and the source docs, I really do think it's one of the best interactive literary tools we have access to. I'm really glad to be even a small part of it."\n\n"Anyway, I am not very familiar with Python, but I do know a fair\namount of JS, HTML and other web codey-stuff."\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Philip's to-do list</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nPS-TDL-1: Push the rapid completion of the production of the Twine/Twee version with the <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif"></html> macro fixed. <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Underway.gif"></html>\n\nPS-TDL-2: Prepare the Twine architecture maps. When done ask Chris Klimas if he could to fill in a bit of detail. <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Finished.gif"></html>\n\nPS-TDL-3: Actively facilitate work on [[my proposed top priority collaboration enhancement|Philip's proposed top priority enhancement (March 2012)]]. Go for building in permanent passage IDs as first step. (This might have to take second place to sorting out the non-ASCI characters/international/unicode issue. More people are waiting on this.) <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Pending.gif"></html>\n\nPS-TDL-4: Encourage the two working groups to create a bit of a shared plan - create a draft to be debated. Use survey monkey to get feedback? <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Pending.gif"></html>\n\nPS-TDL-5: Put the enhancements for Twine/Twee in this document up on the github issues registers. About 1/3 done - concentrating on the most immediate issues. <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Underway.gif"></html>\n\n \n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Chris Klimas</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nFrom: http://gimcrackd.com/\nChris Klimas developed the <html><A HREF="http://gimcrackd.com/etc/src/">Twine and Twee</A></html> software programs for creating interactive fiction. \n\n''About Chris''\n\nChris has enormous difficulty describing what he does, but he enjoys it greatly. He's written for The Washington Post Magazine and Webmonkey, created the best text adventure of 2004, and enjoys cake avidly. Instead of being a real writer, he likes coming up with increasingly complex ways of telling stories. In past lives he founded Crunchable and the now-defunct blog Ninemin.\n\nHis favorite word is ephemeral. \n\n''Back to Twine & Twee:''\n\nChris has max 1 hour a week that he can devote to Twine/Twee work.
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Work to do</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[Bug fixes]]\n[[Tasks]]\n[[New functionality?]]\n[[Development priorities & committed directions]]\n
body{background-color:white;color:brown;\n#sidebar li:hover{color:#8ea6ff;cursor:pointer;}\n#sidebar li a:hover{color:#8ea6ff;text-decoration:none;}\n#sidebar #title a:hover{color:#8ea6ff;}\n#sidebar #storyMenu{display:none;line-height:1.4em; margin-bottom:1.4em;}
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Sugarcane</B></FONT></FONT>\n</html>\n<<back>>\n\nOutput formatting template (based on html, CSS and JavaScript coding).\n\n----\n\nSee:\n\n[[tiddlywiki.py]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Xxxxxx xxxxx</B></FONT></FONT>\n</html>\n<<back>>\n\nFullscreenEditFrame\nThis opens a modal fullscreen editor with some text. When the user's done, this calls the callback function passed to the constructor with the new text. A lot of the stuff dealing with wx.stc.StyledTextCtrl comes from:\nhttp://www.psychicorigami.com/2009/01/05/a-5k-python-fullscreen-text-editor/\n\n\n\n----\n\n[[passageframe.py]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Source-code hosting options (eg. svn vs git)</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nBo Daley said:\n\n"As for the git vs svn (Subversion) issue -- git does have a lot of advantages over svn. Rather than being centralised it is largely distributed (even though you can still set up a canonical repository if you want to). However the main advantage is that it's really easy to set up your own repository, and anyone can fork it or do whatever they like with it. I think that is perfect for open source projects, particularly ones where the maintainer has largely disappeared from view.\n\n----\n\nThere is a really great document on how to use git for people with a background in svn: \nhttp://git.or.cz/course/svn.html\n\nGithub also have some introductory material here:\nhttp://learn.github.com/p/intro.html\n\n----\n\ngithub is free for open source projects under 300MB (we are currently about 4MB).\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>prefframe.py</B></FONT></FONT>\n</html>\n<<back>>\n\nPreferenceFrame: This allows the user to set their preferences. Changes automatically update as the user makes them; when they're done, they close the window. \n\n\n\n\n----\n\nSee:\n[[app.py]]\n\n[[storyframe.py]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Devi--dacharya64</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[Devi|Devi Acharya]] is leading this [[task|Extracting content from Tweecode group website]]. Among other things this information will be fed into the issues register on github (ie. bugs, enhancements etc.)\n\nIf you want to help with these tasks contact:\nDevi <dacharya64@gmail.com>\n\nI purely use Twine, and I'd say I belong to the\nstory-making group.\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>statisticsdialog.py</B></FONT></FONT>\n</html>\n<<back>>\n\nStatisticsDialog: A StatisticsDialog displays the number of characters, words, passages, links, and broken links in a StoryPanel. This is not a live count.\n\n\n----\n\nSee:\n\n[[storyframe.py]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Priority setting</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n• bug fixing should take precedence over everything else (unless there's a good reason)\n\n• polishing the program is important even if it feels trivial - because roughness gives the impression of unprofessionalism and lack of care (Polishing should be a catch up exercise and once the program is running smoothly we should aim to keep it in that state).\n\n• bug fixes or enhancements that effect the final product detrimentally (ie. the output .html file) should have the highest priority.\n\n• bug fixes or enhancements that make use of the program an easier or more pleasurable experience should have the next priority – starting with the things that effect the user first or most severely\n\n• we need to get a sense of progress in the team and build up our skills with the program and our ability to work together – so there’s a lot to be said for fairly quickly knocking off a whole lot of easy improvements and working into the harder things as our capacity grows.\n\n• we shouldn’t spend a lot of time fixing something that is difficult and time consuming if the code is going to be abandoned not too long after when we move to generation 2 of the program.\n\n• we should sequence major functionality improvements so that early enhancements create the platform for a raft of further enhancements.\n\n• we should develop an integrated vision for major improvement in functionality so that avoid the trap of incremental evolution into dead ends or perpetually minor enhancement in functionality.\n\n• having a relatively balanced program of a mix of bug fixes, polishing and functionality improvement give everyone the greatest sense of progress.\n\n• after a long period of no maintenance and improvement to the program, a fairly rapid sequence of upgraded versions is probably better than saving up a lot of improvements for infrequent but big bang releases.\n\n\nSee also: [[Organising principles]]\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Jeremy Franchi</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Main window-Menu</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[File|Main window-Menu-File]]\n\n[[Edit|Main window-Menu-Edit]]\n\n[[View|Main window-Menu-View]]\n\n[[Story|Main window-Menu-Story]]\n\n[[Help|Main window-Menu-Help]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Methodologies</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nSee also:\n\n[[Priority setting]]\n\n[[Developer information]]\n\n[[Servicer information]]\n\n[[Developer tools]]\n\n[[Servicer tools]]
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>The passage edit window-Menu-Edit</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n''Undo''\n\n''Redo''\n\n''Cut''\n\n''Copy''\n\n''Paste''\n\n''Select all''\n\n''Find''\n\n''Find next''\n\n''Replace''\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Defectiv</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>icons (folder)</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[small (folder)]] \n\n\n''app.icns'' \n\n\n''app.ico'' \n\n\n''brokenemblem.png'' \n\n\n''doc-merged.xcf'' \n\n\n''doc.ico'' \n\n\n''doc.xcf'' \n\n''newpassage.png'' \n\n\n''zoom1.png'' \n\n\n''zoomfit.png'' \n\n\n''zoomin.png' \n\n\n''zoomout.png''
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Development of user communities</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Interatice story writing</B></FONT></FONT><BR>\n</html>\nWe need someone or some people to take o the role of developing this community.\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Game development</B></FONT></FONT><BR>\n</html>\nWe need someone or some people to take o the role of developing this community.\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Twine as a strategic planning tool</B></FONT></FONT><BR>\n</html>\n[[Philip Sutton]] is happy to lead this for the present.\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Twine as a strategic planning tool</B></FONT></FONT><BR>\n</html>\nWe need someone or some people to find out/keep an eye out for what other communities there might be.\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Philip's proposed prioities (13 March 2012)</B></FONT></FONT><BR>\n</html>\n<<back>>\n\nWhile Susan and Bo are completing round one of fixing Twine and Twee in the relation ot the <html><IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif"></html> bug, it seems to me that it would be good to think about what we do next to improve Twine (and where there's cross over Twee as well.\n\nI've collected quite a few ideas for what we could do to enhance Twine - in the Twine/Twee development document:\nhttp://dl.dropbox.com/u/25549414/Twine-development.html\n\nBased on what others have said and on my own exploration of the Twine program, I'm guessing that the amount of work that needs to be done on Twine modules, from most to least, is as follows:\n\n<HTML>\n<BODY LANG="en-US" DIR="LTR">\n<P LANG="en-GB" STYLE="margin-left: 1.03cm"> <FONT FACE="Arial"><FONT SIZE=5><SPAN LANG="en-US"><B>-\nthe passage editor</B></SPAN></FONT></FONT></P>\n<P LANG="en-GB" STYLE="margin-left: 0.98cm"><FONT COLOR="#000000"> </FONT><FONT FACE="Arial"><FONT SIZE=4><SPAN LANG="en-US"><B>-\nthe (rest of) the html file generator</B></SPAN></FONT></FONT><SPAN LANG="en-GB">\n</SPAN><FONT FACE="Arial"><FONT SIZE=2><SPAN LANG="en-US">(Twee\nengine) (maybe design out the use of wiki coding?)</SPAN></FONT></FONT></P>\n<P LANG="en-GB" STYLE="margin-left: 1.01cm"><FONT FACE="Arial"><FONT SIZE=4><SPAN LANG="en-US">-\n</SPAN></FONT></FONT><FONT FACE="Arial"><SPAN LANG="en-US"><B>the\nSugarcane/Jonah/Tiddly-Wiki1/2 modules</B></SPAN></FONT></P>\n<P LANG="en-GB" STYLE="margin-left: 1.06cm"><FONT FACE="Arial"><FONT SIZE=2><SPAN LANG="en-US">-\n</SPAN></FONT></FONT><FONT FACE="Arial"><FONT SIZE=2><SPAN LANG="en-US"><B>the\npassage map interface.</B></SPAN></FONT></FONT></P>\n<P LANG="en-GB"><FONT COLOR="#000000"><META NAME="CHANGEDBY" CONTENT="Philip Sutton"></FONT>\n</P>\n</BODY>\n</HTML>\nI think it would be a good idea to try to restrict the next round of improvements to changes that can be made - without requiring a big change to the underlying architecture.  In the end it will probably be the best use of our time if we can make the more fundamental changes fairly soon, and then add lots of functionality to the basic architecture.  But I think there are a number of changes that can be made in the near term without confronting the fundamental architecture issue and without wasting coding time with short lived additions.\n \nI think the next round of improvements (bug fixes, polishes, and enhancements) should be targetted at the author users rather than the reader/player users.\n\nHow should we work on these improvements??\n\nActual programmers will know this best, but my suggestion is that each improvement has a lead programmer (who can rope in help from other memebers of the team when they desire that).  Lead programmers could share their ideas on the Twine-Dev list to solicit feedback?  (some people might like to share the lead role if they know each other well enough).\n\nSome early discussion will be needed to see if improvements that are progressing in parrallel could clash in terms of code changes.\n\nIs this a good way to work????\n\nOK, here's my candidate list of improvements.  I'll refer back to the Development Manual for each improvement ie to: \n\nhttp://dl.dropbox.com/u/25549414/Twine-development.html \n\nHere's my suggested list of candidate improvements in a tentative priority order:\n\nThe list is taken from the Development Manual:\n\n''Bugs/Polishes''\nNavigation:\nSidebar menu >> Bug fixes\n\n''New functions''\nNavigation:\nSidebar menu >> Document map >> New functionality?\n\n----------------------------------\n\nTop priority (?) See [[Philip's proposed top priority enhancement (March 2012)]]\n\nNF?-8. I'd like to see some sharing/collaboration functions built in (as soon as possible) using a peer to peer model.\n\nNF?-8.a If authors connect their files to services like dropbox (any place where the file are instantly updated and have a 'permanent' URL) then in the passage editor links could be made to Twine html files:\n\n- either a bit like the display passage function so that what appears at that spot is a passage called from someone else's Twine html file somewhere on the web\n\n- or the content of a passage from someone else's Twine html file somewhere on the web could be imported into the current .tws Twine file.\n\nNF?-8.b (and see 2 above) People can read a Twine html file on line and then get the system to send a comment to the author (with the unique id of the Twine html file and the unique permanent ID for the passage.\n\n----------------------------------\n\nNF?-2. (and see 8.b below) I'd like to have the functionality for a reader on an online Twine document to be able to send the author an email relating to a specific identifiable passage (or a general comment). This should be functionality that the document author can activate or deactivate when the html is built. (Passages have unique IDs generated dynamically when the html file is loaded. If people are to be able to email about a specific passage, the passage would need to have an unchanging unique identifier that persists over the life of te document.)\n\n----------------------------------\n\nNF?-6. (Needed for the improvements above?) I'd like passages to have permalink URLs that navigate external readers to the right passage, even if the document is under active revision. Then you can send peope links without them becoming out dated as revisions progress. \n\n----------------------------------\n\nNF?-1. In the Twine main window that maps the passages, I'd like to be able to hover the cursor over a passage and see the full title of the passage as a tool tip. \n\n----------------------------------\n\nNF?-3. It would be great to be able to drag or copy and paste (best of all both) passages from one Twine story to another one when they are both in an open Twine main window. \n\n----------------------------------\n\nNF?-4. I'd like the passage editor to have another data entry bar at the top. The current 'title data entry bar is the "passage link name". As well as that I'd like to have a "Body title" that can be longer than the "passage link name". It would be good to have some way of generically formatting the "Body title".\n\n----------------------------------\n\nBF-C-B-2. The "Find" function in the Twine authoring GUI doesn't seem to work reliably for all text in all passages?? (Needs confirmation.)\n\n----------------------------------\n\nBF-NC-S-1.\n\nWhen the name of a passage (page) is too wide to fit on one line, it takes two lines but the spacing is large so it looks like two headings rather than one. This spacing is probably controlled by the CSS stylesheet code in the Document style passage. Does anyone know how to tweak the CSS coding to remove the spacing between the two lines of the title?\n\n----------------------------------\n\nBF-NC-S-2.\nWhen Twine generates an html document it should say that the document was created with Twine and not with Twee.\n\n----------------------------------\n\nWhat do people think of the list and the priority order (first highest)?  Are there other improvements we should consider now?  Any problems?\nDoes anyone want to put their hand up to lead one of these improvements?\n\nIf we are going to have more than one improvement project going at a time then I think we need to have a shared map of the architecture of the program.  Can anyone knock up something on that?\n\nWhat does everyone think?\n\nCheers, Philip\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Passage IDs</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n8 July 2009-Chris Klimas\n"The # string keeps track of your history through the story, so that clicking the back button moves you backwards in the story, even though you're remaining in the same file. To keep this string as short as possible, each passage in your story is assigned an ID by the Web browser, and each passage in your history is separated by a period. The way the IDs are assigned can change across browsers, depending on how they "see" the HTML of the story."\n\n12 March 2012-Chris Klimas\nEvery passage gets assigned an ID number when the story is first loaded on a browser. This happens only on the JavaScript side, not the Twee/Twine side. The ordering is however they appear in the HTML source code, which isn't guaranteed to be alphabetical or chronological order... it's just however the tool generates the source code, so IDs will probably not be consistent across different versions of a story. The anchors reflect the sequence of clicks. For terseness the IDs are encoded in base 36 (so it uses 0-9, a-z) and separated by periods in the URL.\n\n14 March 2012 - Bo Daley:\n\nI am not really sure why Chris K built it this way, but it may just be a convenient way to ensure that all the IDs are unique. To be valid html (and also for the javascript behind twee to work at all), ids have to be unique. If there's another way to create unique IDs we could look at implementing that instead.\n\n15 March - Chruis Klimas said:\n\nThe passage IDs are not actually HTML IDs... they're stored in the passage object only. So there's no real reason for them to get dynamically generated... It seemed most expedient at the time to do it in JavaScript, but it definitely had its disadvantages.\n\n15 March Philip Sutton wrote to Chris Klimas:\n\nIf I understood you correctly it's the JavaScript built into sugarcane, Jonah , Tiddlywiki 1 and Tiddlywiki 2 that tells webbrowsers how to set up the Passage IDs????  (Immediately below is what you have told me about the Passage ID question so far.)\n\nIf we create permanent passage IDs I'm assuming that control will have to pass from the target JavaScript to the Twine/Twee python code - so that the Passage IDs are stored and processed with the other passage information (eg. text/coding/tags etc.  If this is right, which of the modules (well below) do you think we should consider as the best place to handle the new passage ID setting function?  Is it tiddlywiki.py ?\n\nOn 17 March Chris Klimas replied:\n\nThat's correct, it is all in JavaScript. There would be two parts I think to changing it to the compiler; in the Tiddler and TiddlyWiki classes of tiddlywiki.py (which actually does the work on compiling to HTML), and then passage.js in both Jonah and Sugarcane.\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>storysearchframes.py</B></FONT></FONT>\n</html>\n<<back>>\n\nStoryFindFrame: This allows the user to search a StoryPanel for a string of text. This is just a front-end to method calls on StoryPanel. \n\n\n----\n\nSee:\n\n[[storypanel.py]]\n\n[[searchpanels.py]] Is this related?
<html><BR> <FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>\nSandbox<FONT SIZE=4>- a place where the document developer can test layout and coding</FONT></B></FONT></FONT><BR></html>\n<<back>>\n\nTest ideas under the line. Clear up after use.\n----\n\n<<back "Start">>\n\n\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Output .HTML file</B></FONT></FONT>\n</html>\n<<back>>\n\nOutput .HTML file.
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Twine code-orientated architecture map</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>The map</B></FONT></FONT>\n</html>\n[[Here|A graphical map of Twine from a code module perspective]]\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>The List - with module descriptions</B></FONT></FONT><BR>\n</html>\n\n----\n\n[[app.py]]\nThis bootstraps our application and keeps track of preferences, etc.\n\n>[[appicons (folder)]]\n>Icon files (graphics)\n\n----\n\n[[storyframe.py]]\nStoryFrame: A StoryFrame displays an entire story. Its main feature is an\ninstance of a StoryPanel, but it also has a menu bar and toolbar.\n\n>[[icons (folder)]]\n>Icon files (graphics)\n\n>[[prefframe.py]]\n>PreferenceFrame: This allows the user to set their preferences. Changes automatically update as the user makes them; when they're done, they close the window. \n\n>[[statisticsdialog.py]]\n>StatisticsDialog: A StatisticsDialog displays the number of characters, words, passages, links, and broken links in a StoryPanel. This is not a live count.\n\n>[[metrics.py]]\n>Metrics: This module offers advice on how to size the UI appropriately for the OS we're running on.\n\n----\n\n[[storypanel.py]]\nStoryPanel: # A StoryPanel is a container for PassageWidgets. It translates between logical coordinates and pixel coordinates as the user zooms in and out, and communicates those changes to its widgets. A discussion on coordinate systems: logical coordinates are notional, and do not change as the user zooms in and out. Pixel coordinates are extremely literal: (0, 0) is the top-left corner visible to the user, no matter where the scrollbar position is. This class (and PassageWidget) deal strictly in logical coordinates, but # incoming events are in pixel coordinates. We convert these to logical coordinates as soon as possible.\n\n>[[passagewidget.py]]\n>PassageWidget: A PassageWidget is a box standing in for a proxy for a single passage in a story. Users can drag them around, double-click to open a PassageFrame, and so on. This must have a StoryPanel as its parent. See the comments on StoryPanel for more information on the coordinate systems are used here. In general, you should always pass methods logical coordinates, and expect back logical coordinates. Use StoryPanel.toPixels() to convert.\n\n>[[geometry.py]]\n>This module has basic utilities for working with wx.Rects and Lines (which are tuples of wx.Points).\n\n>[[storysearchframes.py]]\n>StoryFindFrame: This allows the user to search a StoryPanel for a string of text. This is just a front-end to method calls on StoryPanel. \n\n----\n\n[[passageframe.py]] \nPassageFrame: A PassageFrame is a window that allows the user to change the contents of a passage. This must be paired with a PassageWidget; it gets to the underlying passage via it, and also notifies it of changes made here. This doesn't require the user to save his changes -- as he makes changes, they are automatically updated everywhere. nb: This does not make use of wx.stc's built-in find/replace functions. This is partially for user interface reasons, as find/replace at the StoryPanel level uses Python regexps, not Scintilla ones. It's also because SearchPanel and ReplacePanel hand back regexps, so we wouldn't know what flags to pass to wx.stc.\n\n>[[tweelexer.py]]\n>This lexes (or syntax highlights) Twee syntax in a wx.StyledTextCtrl. This needs to be passed the control it will be lexing, so it can look up the body text as needed.\n\n>[[fseditframe.py]]\n>FullscreenEditFrame: This opens a modal fullscreen editor with some text. When the user's done, this calls the callback function passed to the constructor with the new text. A lot of the stuff dealing with wx.stc.StyledTextCtrl comes from:\n>http://www.psychicorigami.com/2009/01/05/a-5k-python-fullscreen-text-editor/\n\n>[[passagesearchframe.py]]\n>PassageSearchFrame: This allows a user to do search and replaces on a PassageFrame. By default, this shows the Find tab initially, but this can be set via the constructor.\n\n----\n\n[[tiddlywiki.py]]\nA Python implementation of the Twee compiler. This code was written by Chris Klimas <klimas@gmail.com>\nIt is licensed under the GNU General Public License v2\nhttp://creativecommons.org/licenses/GPL/2.0/\nThis file defines two classes: Tiddler and TiddlyWiki. These match what you'd normally see in a TiddlyWiki; the goal here is to provide classes that translate between Twee and TiddlyWiki output seamlessly.\n\n>[[targets (folder)]]\n>Output formatting html files with embedded CSS and JavaScript\n\n>>Note: The JavaScript elements of [[Sugarcane]], [[Jonah]], [[TiddlyWiki 2 and TiddlyWiki 1]] need to be identified and added to this code list eg. the passage.js element in both Jonah and Sugarcane.\n\n>[[PyRSS2Gen.py]]\n>A Python library for generating RSS 2.0 feeds.\n\n----\n\n[[searchpanels.py]]\nimport re, wx import metrics\nFindPanel: This allows the user to enter a search term and select various criteria (i.e. "match case", etc.) There are two callbacks: onFind (regexp, flags) Regexp corresponds to the user's search, and flags should be used when performing that search.\nonClose()\nWhen the user clicks the Close button. \n\n----\n\n[[buildexe.py]]\nThis builds an .exe out of Tweebox for use with Windows. Call this with this command line: buildexe.py py2exe\n\n[[buildapp.py]]\nThis builds an .app out of Twine for use with OS X. Call this with this command line: buildapp.py py2app\n\n[[install.nsi]]\nGenerated NSIS script file (generated by makensitemplate.phtml 0.21); by 68.48.123.220 on Dec 27 08 @ 17:56; NOTE: this .NSI script is designed for NSIS v1.8+\n\n----\n\nSee also:\n[[Twine user-orientated architecture map]]\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Methods for contagious promotion</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[Strangelander]] has proposed:\n"To really get Twine off the ground, we need a "killer app" -- a story or two that go viral. You might talk to those authors I mentioned, and see if they have a story they'd be willing to "donate" that held broad appeal and worked in Twine format. Or if you're really brave, commission them to write one, Kickstarter.com it, or whatever."\n\n[[Devi|Devi Acharya]] has suggested instead:\nI'm currently working on managing/recording the bugs, user needs, tips and suggestions brought up by those in the Google Group. I wanted to make a few comments on what I've seen so far and where I think we need to go to make Twine successful.\n\n''Quoted passage: To really get Twine off the ground, we need a "killer app" -- a story or two that go viral.'' \n\nPerhaps this doesn't have to be limited one specific story that will go viral. Instead, I think it'd be really useful and interesting to make a kind of Twine database, sort of like the Frotz app for text adventure games. On there we can load specific stories (either already created ones or commissioned). But the user will be able to download more from online through the app, or even be able to load their own games on to there quite easily (at least this is what Frotz can do... it's quite exciting to see and be able to play your own game on your mobile device!). Let's not forget that Chris Klimas already has a significant number of twine stories on his homepage already. \n\nAs far as a story goes, I personally think it'd be interesting to do a Twine rendition of a story already out there (the player being Odysseus, for instance, and needing to get back to his home in Ithaca) because people know and are already fans of the story, but get to see and experience it in a new way. \n\n''Quoted passage: Twine is so much easier to use than ChoiceScript, and almost as powerful.''\n\nIt might seem this way, but it's my interpretation that the power of Choicescript lies in the fact that choiceofgames.com provides clear-cut examples and user-friendly, extensive documentation and help. Twine requires no coding and has a much nicer interface, supports HTML changes (making it easier and more intuitive to add thigns like audio and pics) and also has support for stylesheets and Sugarcane and Jonah result in a clean, professional product. Plus 1 html file is much easier to upload and host than choicescript is. \n\nBased on user feedback from the forums, I think one of our top priorities should be documentation and notes on adding variables, music, etc.\n\n''Quoted passage: I had plans to write tutorials for non-coders, to break them into the concepts of conditionals, variables, etc. If interest is strong, I can keep going on those.''\n\nI'm very much in support of this, and willing to write some tutorials myself if the need arises (I don't know much about macros, but have written interactive fiction with various programs... I have written cyoa help stuff before on my site http://chooseyourownnovel.webs.com/apps/forums/topics/show/3840105-getting-started )\n\nAnd speaking of Twine being a powerful program, I think that a lot of people are thinking in terms of this only being used for games. I actually like Twine because it can be easily used for so many things, and people seem interested in using it in so many ways -- documentation, story planning, etc., and I think this can be a draw for many people. \n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>tweelexer.py</B></FONT></FONT>\n</html>\n<<back>>\n\nThis lexes (or syntax highlights) Twee syntax in a wx.StyledTextCtrl. This needs to be passed the control it will be lexing, so it can look up the body text as needed.
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>How to install Twee</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n[[Philip Sutton]] said:\n\nI decided that I need to see what Twee looks like! (Part of my education :)\n\nI've just downloaded and installed Python 2.7.2 on Windows at:\nC:\sPython27\n\nWhere should I locate the "twee-1.7.1" folder?\n\nThe only advice I can find from Chris Klimas' site is:\nhttp://gimcrackd.com/etc/doc/#twee,installing\n\nBut that doesn't make sense to me as it doesn't say where I should locate the twee files or\nhow to tell Python where to look, and I don't know what the target file should be, etc.!!!!!\n\nDo you have any idea of what I should do?\n\n---\n\n''Advice from [[Susan Douglas]]:''\n\nI just put the twee folder on my desktop. Change its name to just twee to make your life easier.\n\nPre-Step: Export tw source from twine. save it in your twee folder to make your life easier. This file can be edited in your favorite text editor. (I like Notepad++)\n\nPre-Step 2 - fix twee.\nOpen twee in text editor. (Like Notepad)\n\nhttps://groups.google.com/group/tweecode/browse_thread/thread/8a4d69a634e89866/5345dee2833477e5?hl=en&lnk=gst&q=script+path#5345dee2833477e5\nfind:\nprint tw.toHtml()\n\nchange to:\nprint tw.toHtml(scriptPath)\n\n\nStep one: make sure python is on your %PATH% so that you can just type "python" and not "C:\sPython27\spython" every time\n\nhttp://docs.python.org/using/windows.html\nhttp://docs.python.org/faq/windows.html\n\nStep two: go into command line mode.\n\nClick [Windows Key] + R to get the Run window. Sometimes it can be found in the Start menu\nNext to where it says "Open" type cmd (For CoMmanD Line)\nNow you should have a big black box with a blinking cursor.\n\nStep three: using command line, go to your Twee directory.\n\nYou should be able to just type:\ncd Desktop\ncd twee\n\n"cd" is for change directory\n\nStep four: Run twee\n\nIf you managed to successfully change your environment variable, you should be able to type\n\npython twee\n\nOtherwise:\nC:\sPython27\spython twee\n\nAnd it should give you an error. :)\n\nTo run it with your file:\nC:\sPython27\spython twee name_of_exported_file.tw\n\nThen you will get a bunch of gobbledy-gook flying past your screen.\n\nTo output it\n\nC:\sPython27\spython twee name_of_exported_file.tw > name_of_html.html\n\nThe ">" tells it to take the gobbledy-gook and dump it into a file called name_of_html.html\n\n\nTip:\nYou can use the up arrow to scroll through past commands so you don't have to type them\n\nNow you can edit the source file directly and rerun the command\n\nAn introduction to command line:\nhttp://commandwindows.com/command1.htm\n\n----\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Developer information</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Twine Twee program files</B></FONT></FONT>\n</html>\n\nChris Klimas' two programs for generating interactive fiction - that is Twine and Twee - can be found at: \nhttp://gimcrackd.com/etc/src/\n\nTwine can run on Windows and the Mac operating system OS X, and with a bit of a fiddle can run on Linux as well.\n\nTwee ''runs'' on Python (version 2.x, NOT on 3.x) - and standard Python comes in versions that can run on most operating systems. Standard Python can be downloaded from:\nhttp://www.python.org/download/releases/\n\nHere's advice on [[how to install Twee|How to install Twee]]\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Using Twine</B></FONT></FONT>\n</html>\n\nThere are three videos that show how Twine works, at:\n\nCreating A Simple Story\nhttp://vimeo.com/5010370\n\nFormatting a Story\nhttp://vimeo.com/5011133\n\nFinishing Touches\nhttp://vimeo.com/5053107\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Documentation (user & developer)</B></FONT></FONT>\n</html>\n\nUser documentation for both Twine and Twee are found at:\nhttp://gimcrackd.com/etc/doc/\n\nDeveloper documentation for the Twee/Twine engine is found at:\nhttp://gimcrackd.com/etc/api/\nhttp://gimcrackd.com/etc/api/files/fx-js.html\nTwee code is also used in Twine.\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>The codebase</B></FONT></FONT>\n</html>\n\nThe codebase (current and past) plus documentation of the code is found at:\n\nhttps://github.com/tweecode\n\nand the legacy code repository is at:\n\nhttp://code.google.com/p/twee/\nThe code at this site is not being updated.\n\n\nYou can browse through the entire revision history on the source repository. If you look under the tags folder of each top-level folder, you'll find 1.0, 1.1, etc. folders. These contain the exact\ncode as it was released in each version. \n\n\nThe source-code can be downloaded from:\nhttps://github.com/tweecode\n\n[[Source-code hosting options]] (eg. svn vs git etc.)\n\n''Generating changes to the source code''\n\n[[Bo Daley]] recommends that the best way for us to manage changes would be:\n\n* you take a fork of the module(s) you want to update\n* once you're done, submit a pull request\n\nHere's a handy page from github about how to do that:\n\nhttp://help.github.com/send-pull-requests/\n\n''Committing changes to the master codebase''\n\n[[Bo Daley]] when talking to [[Emmanuel Turner (Stormrose)]] gave this advice:\n\n1. create a temporary branch on my local repo, ie:\n\n git checkout -b stormrose_test\n\n2. add the other person's git repo as a new remote:\n\n git remote add stormrose https://github.com/Stormrose/twine.git\n\n3. fetch latest from that repo\n\n git fetch stormrose\n\n4. merge in the relevant branch from that repo (in this case it is probably 'master')\n\n git merge stormrose/master\n\nThat way I get a local branch containing my changes + your changes.\n\nIf I like what I see then I'll do this:\n\n5. merge these changes to master\n\n git checkout master\n git merge stormrose_test\n git push origin master\n\n(in this case I am using the main remote twine repo as 'origin'. In your case you might have a different name for that remote repo).\n\nThis is explained in more detail here:\nhttp://help.github.com/send-pull-requests/\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>The development environment/language - Python plus wxPython</B></FONT></FONT>\n</html>\n\nThe source-code was developed in Python (v2.5 now upgraded to 2.7) supplemented by wxPython.\n\nhttp://www.python.org/download/releases/\nhttp://www.wxpython.org/\n\nThe output from both Twine and Twee is an .html file - that includes JavaScript and CSS code.\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Other development tools</B></FONT></FONT>\n</html>\n\nJavaScript can be compressed using Yui from:\nhttp://developer.yahoo.com/yui/compressor/ \n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Bugs and issue management</B></FONT></FONT>\n</html>\n\nThe main issues list is at:\nhttps://github.com/tweecode/twine/issues\n\nA bug list (with no prioritisation) can be found at:\nhttp://code.google.com/p/twee/issues/list\nThis list is still active because it's location is known and people can add to it, but it is not the main issues list since the move of the active code over to GitHub.\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Packaging Twine into executable versions</B></FONT></FONT>\n</html>\n\nTo package Twine into executable versions, Chris Klimas used py2exe and\npy2app. On the Windows side he made an installer using NSIS... you can see\nthe script for that under twine/trunk/install.nsi.\n\n[[Packaging Twine into executable versions]]\n\n[[What Twine won't run on]]\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Communication elists</B></FONT></FONT>\n</html>\n\nThe whole community of Twine/Twee ''users'' (authors, readers and gamers) and ''developers'' communicates about all types of issues related to Twine/Twee at:\nhttp://groups.google.com/group/tweecode\n\nAnyone can subscribe themselves to this list.\n\nThere is a by-invitation elist for people actively working on code development at:\nhttp://tech.groups.yahoo.com/group/Twine-CodeDev/\n\nThere is a by-invitation elist for people actively working on servicing users needs (ie. the needs of authors, readers, gamers etc.) at:\nhttp://tech.groups.yahoo.com/group/Twine-UserDev/\n\nIf you want to join one of these working group elists please drop a request to:\n<html><A HREF="mailto:Philip.Sutton@green-innovations.asn.au">Philip.Sutton@green-innovations.asn.au</A></html>\n \n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>app.py</B></FONT></FONT>\n</html>\n<<back>>\n\nThis bootstraps our application and keeps track of preferences, etc.\n\n\n----\nSee:\n\n[[storyframe.py]]\n\n[[prefframe.py]]\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Packaging Twine into executable versions</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>A simple method for making a version for use on Windows</B></FONT></FONT><BR>\n</html>\n\nThe minimal instruction set is:\n1) have the following installed\n - Python 2.7\n - wxPython (compatible with Py 2.7)\n - py2exe (compatible with Py 2.7)\n2) grab a copy of buildexe.py from the stormrose / twine repository (or\ntweecode/twine once my pull request is applied)\n3) run buildexe.py\n4) new distro is in dist/win32 folder\n\nAdditional to make installer exe\n5) Install the NSIS installer\n6) get the new install.nsi from the github repos as above\n7) Run install.nsi\n8) New installer is in the dist folder\n\nIf you use plan to commit back to github from your folder, please add the dist\nfolder to your .gitignore list. Don't pollute commits with these dist files!\n\nIf the version of Python changes then buildexe.py needs to have the manifests and dll copied (if we still do that?) to match the MSVC version used by the PythonXX.dll\n\n----\n\nHere's a pretty comprehensive list of build automation tools:\nhttp://en.wikipedia.org/wiki/List_of_build_automation_software\n\nAdvice from Chris Klimas.\n\nTo package Twine into executable versions, Chris Klimas used py2exe (for Windows) and\npy2app (for Mac OS-X).\n\n''For Windows:''\n-----------\n\n1. Install Python 2.6.6\nhttp://python.org/download/releases/2.6.6/ \n\n2. Install wxPython\nhttp://www.wxpython.org/download.php#stable\nChoose the ANSI version compatable with Python 2.6\n\nChris Klimas said: "I believe I always went with the ANSI version because Unicode caused problems... but I don't remember exactly."\n\n3. Make sure that you have py2exe or py2app installed:\nhttp://www.py2exe.org/\nhttp://sourceforge.net/projects/py2exe/files/\nhttp://packages.python.org/py2app/\n\nChris Klimas said: "I believe I always went with the ANSI version because Unicode caused problems... but I don't remember exactly."\n\n3. Open a command prompt in the Twine source code and type "python buildexe.py py2exe" (without quotes). That should create a twine.exe in a folder named bin I think, or maybe dist. \n\n4. Copy that .exe into a new folder. \n\n5. Copy the targets folder as-is into the new\nfolder, so that the directory structure looks like this:\n\nTwine (folder)\n twine.exe\n targets (folder)\n sugarcane\n jonah\n\nYou should be able to run the exe now and be able to generate stories!\n\n----\n\ncx=Freeze can be use to build compiled files sets like py2exe and py2app\nhttp://cx-freeze.sourceforge.net/\n\n----\n\nOn the Windows side I've made an installer using NSIS.\nhttp://nsis.sourceforge.net/Main_Page\n\nyou can see\nthe script for that under twine/trunk/install.nsi.\n\nSteps:\n\n- boot NSIS\n\n- Under the heading of ''Compiler'' click on the "Compile NSI scripts". This opens the MakeNSISW window.\n\n- place the Twine install.nsi script file inside the main Twine folder (that holds all the files that are to be packaged into an installer .exe\n\n- drag the install.nsi script file across onto the MakeNSISW window. The Twine .exe will then be compiled into the same Twine folder.\n\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Philip's proposed priorities (21 March 2012)</B></FONT></FONT>\n</html>\n<<back>>\n\nBelow is the list of issues/improvement from github:\nhttps://github.com/tweecode/twine/issues\n\nI've sorted the issues into four categories (Bugs, polished, minor enhancements, major enhancements) and then ordered them in each column from issues to do asap at the start of the column....to issues futher down the column to be done later. What gets bundled into a release depends on how long enhancements take to produce. I would be inclined towards frequent releases rather than slow to produce mega bundles - except when we go from improvements to Twine 1.x to Twine (incorporating Twee) Generation 2.\n\n<html><TABLE WIDTH=100% BORDER=1 BORDERCOLOR="#000000" CELLPADDING=4 CELLSPACING=0 STYLE="page-break-before: always">\n <COL WIDTH=64*>\n <COL WIDTH=64*>\n <COL WIDTH=64*>\n <COL WIDTH=64*>\n <TR VALIGN=TOP>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>BUG FIX</B></FONT></P>\n <P LANG="en-GB"><BR>\n </P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>POLISH</B></FONT></P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>MINOR ENHANCEMENT</B></FONT></P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>MAJOR ENHANCEMENT</B></FONT></P>\n </TD>\n </TR>\n <TR>\n <TD COLSPAN=4 WIDTH=100% VALIGN=TOP>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><FONT FACE="Times New Roman"><B>Release\n 1</B></FONT> </FONT>\n </P>\n </TD>\n </TR>\n <TR VALIGN=TOP>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif" NAME="graphics1" ALIGN=BOTTOM WIDTH=64 HEIGHT=10 BORDER=0>\n <FONT FACE="Times New Roman"><FONT SIZE=3>fix</FONT></FONT><FONT SIZE=3>\n </FONT>\n </P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB"><BR>\n </P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB"><BR>\n </P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB"><BR>\n </P>\n </TD>\n </TR>\n <TR>\n <TD COLSPAN=4 WIDTH=100% VALIGN=TOP>\n <P LANG="en-GB" ALIGN=CENTER><BR>\n </P>\n </TD>\n </TR>\n <TR VALIGN=TOP>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>BUG FIX</B></FONT></P>\n <P LANG="en-GB"><BR>\n </P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>POLISH</B></FONT></P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>MINOR ENHANCEMENT</B></FONT></P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>MAJOR ENHANCEMENT</B></FONT></P>\n </TD>\n </TR>\n <TR>\n <TD COLSPAN=4 WIDTH=100% VALIGN=TOP>\n <P LANG="en-GB" ALIGN=CENTER><FONT FACE="Times New Roman"><FONT SIZE=4><B>Several\n releases (with something from each column if possible)</B></FONT></FONT></P>\n </TD>\n </TR>\n <TR VALIGN=TOP>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__0_955744400"></A><FONT SIZE=3>#3 \n The output html file from Twine should say it's been created by\n Twine (not Twee)</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__2_955744400"></A><FONT SIZE=3>#11 \n Main window help menu link to report bugs needs to be updated</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=3>#26  The \n <IMG SRC="http://www.green-innovations.asn.au/Twine/Back.gif" NAME="graphics2" ALIGN=BOTTOM WIDTH=64 HEIGHT=10 BORDER=0>\n macro bug has not been fixed in Jonah (and TiddlyWiki 1 & 2</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__4_955744400"></A><FONT SIZE=3>#22 \n Numbered lists are not numbered in Sugarcane format</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__6_955744400"></A><FONT SIZE=3>#4 \n Hand-made links to the Start passage do not work</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__8_955744400"></A><FONT SIZE=3>#5 \n The "Close story" function should not close the whole\n program</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__10_955744400"></A>\n <FONT SIZE=3>#14  Clicking on a passage object whose edit\n window is currently minimised should maximise the window</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__12_955744400"></A>\n <FONT SIZE=3>#17  Standardise the dragging of highlighted\n text in the Passage Edit window</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__14_955744400"></A>\n <FONT SIZE=3>#23  The "Find" function operating in\n the passage map only works for some search strings</FONT></P>\n <P LANG="en-GB"><A NAME="__DdeLink__16_955744400"></A><FONT SIZE=3><FONT FACE="Times New Roman">#28 \n Passages map window: Zoom to 'see all' doesn't always work</FONT> </FONT>\n </P>\n <P LANG="en-GB"><A NAME="__DdeLink__18_955744400"></A><FONT SIZE=3>#16\n Non-ASCII Characters: Cannot export source or proofing copy</FONT></P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__20_955744400"></A>\n <FONT SIZE=3>#13  Snap to grid preference should be\n remembered in the .tws file</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__22_955744400"></A>\n <FONT SIZE=3>#18  Cutting and pasting a passage object in the\n map window</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__24_955744400"></A>\n <FONT SIZE=3>#21  Lists in Sugarcane format</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__26_955744400"></A>\n <FONT SIZE=3>#27  First build: auto-filling the source file\n name and path</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__37_955744400"></A><A NAME="__DdeLink__28_955744400"></A><A NAME="__DdeLink__32_955744400"></A><A NAME="__DdeLink__30_955744400"></A>\n <FONT SIZE=3>#25  Story build and re-build: remembering the\n file path for the save file dialogue</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__39_955744400"></A>\n <FONT SIZE=3>#12  Centring the map window on the passage of\n interest</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__41_955744400"></A>\n <FONT SIZE=3>#10  Remembering window sizes from the last\n session</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__43_955744400"></A>\n <FONT SIZE=3>#6  Passage title tooltips in the main map\n panel? </FONT>\n </P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__45_955744400"></A>\n <FONT SIZE=3>#29 The "File > Open recent" list\n should update itself when files are no longer present</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__61_955744400"></A>\n <FONT SIZE=3>#32 </FONT>Newly created passage objects are\n sometimes placed a very long way from linked passages</P></FONT>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__47_955744400"></A>\n <FONT SIZE=3>#1  Allow variables in links to passages</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__49_955744400"></A>\n <FONT SIZE=3>#2  Allow reader to input value for variable</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__51_955744400"></A>\n <FONT SIZE=3>#8  Copying passages from one story to another</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__53_955744400"></A>\n <FONT SIZE=3>#9  Alphabetical look up list of all available\n passages - to insert links in the passage editor</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__55_955744400"></A>\n <FONT SIZE=3>#24  The \n <IMG SRC="http://www.green-innovations.asn.au/Twine/Choice-macro.gif" NAME="graphics3" ALIGN=BOTTOM WIDTH=80 HEIGHT=10 BORDER=0>\n macro needs to be re-designed</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=3>#20  "Compiling"\n Twine on newer versions of Python</FONT></P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><A NAME="__DdeLink__57_955744400"></A>\n <FONT SIZE=3>#19  Twine (and Twee) need to be URGENTLY\n transitioned to be unicode compliant</FONT></P>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=3>#7  The passage IDs\n in Twine (and Twee) need to be set permanently</FONT></P>\n <P LANG="en-GB"><A NAME="__DdeLink__59_955744400"></A>#31 Story\n formats: allowing for new formats as plug-ins and for removal of\n unused options</P>\n </TD>\n </TR>\n <TR>\n <TD COLSPAN=4 WIDTH=100% VALIGN=TOP>\n <P LANG="en-GB" ALIGN=CENTER><BR>\n </P>\n </TD>\n </TR>\n <TR VALIGN=TOP>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>BUG FIX</B></FONT></P>\n <P LANG="en-GB"><BR>\n </P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>POLISH</B></FONT></P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>MINOR ENHANCEMENT</B></FONT></P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B>MINOR ENHANCEMENT</B></FONT></P>\n </TD>\n </TR>\n <TR>\n <TD COLSPAN=4 WIDTH=100% VALIGN=TOP>\n <P LANG="en-GB" ALIGN=CENTER><FONT SIZE=4><B><FONT FACE="Times New Roman">Very\n big release– Generation 2 Twine</FONT> </B></FONT>\n </P>\n </TD>\n </TR>\n <TR VALIGN=TOP>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><BR>\n </P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><BR>\n </P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER><BR>\n </P>\n </TD>\n <TD WIDTH=25%>\n <P LANG="en-GB" ALIGN=CENTER STYLE="font-weight: normal"><FONT SIZE=3><FONT FACE="Times New Roman">#15 \n Philip Sutton's tentative, very big picture architectural ideas\n for Twine(and Twee)  ie. merged Twine/Twee,  Main\n program runs through web browser interface, plug in capacity built\n in, collaboration functionality developed</FONT> </FONT>\n </P>\n </TD>\n </TR>\n</TABLE>\n</html>\n\n<<back>>\n\n\n\n
<html>\n<BR><FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>Tools</B></FONT></FONT><BR>\n</html>\n<<back>>\n\n<html><center><IMG SRC="http://www.green-innovations.asn.au/Twine/Page-under-construction.gif"></center></html>\n
<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=5><B>The passage edit window-Edit space</B></FONT></FONT>\n</html>\n<<back>>\n\n'''Complete'list of built in macros''\n\nOn 26 March 2012 [[Mary DeMarco]] said:\n\n I don't have a list, but I assume the only ones that really need supporting are in the twee reference, here:\n\nhttp://gimcrackd.com/etc/doc/#code,why\n\nIf that's not all of it, I assume they would all be extensions to the macro object, as described here:\nhttp://gimcrackd.com/etc/doc/#customizing,macros\n\nI found two similar lists of macros in the macros.js files for Sugarcane and Jonah:\n\nhttps://github.com/tweecode/jonah/blob/master/macros.js\nhttps://github.com/tweecode/sugarcane/blob/master/macros.js\n\nNothing seemed to be missing, so I'm guessing there isn't a master list somewhere else, and the above files are where all the macros come from.\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>The list of known macros</B></FONT></FONT></html>\n\n<html><< actions "Passage name 1" "Passage name 2" "Passage name N">></html> prints passage links in the current passage, but as each passage is viewed, that passage name no longer appears in the action list.\n\n<html><< back >></html> returns the reader/player to the last passage visited.\n\n<html><FONT SIZE=3><pre><< if $variable-name >>\n* [[ Passage name ]]\n<< else >>\n* [[ Passage name ]]\n<< endif >></pre></Font></html>\n<html><< choice "Passage name" "Link text" >></html>\n\n<html><< display "Passage name" >></html>\n\n<html><< print "insert text to be printed" >></html>\n\n<html><< remember $variable = numerical expression >></html>\n\n<html><< set $variable = numerical expression >></html>\n\n<html><< silently >></html> <html><< endsilently >></html>\n\n''Macros'' recorded here:\nhttps://github.com/tweecode/jonah/blob/master/macros.js\nhttps://github.com/tweecode/sugarcane/blob/master/macros.js\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>The list of new macros</B></FONT></FONT></html>\n\n<html><< return >></html> Returns the reader/player to the last passage visited, but retains any changes to variables. So in this case, going forward in the story/game involves revisiting the previous passage. (See also <html><< back >></html>)\n\n<html><< textinput $[variable] [passageName] [optional-ActivationButton-text] >></html> This allows the reader/player to set the value of a variable\n\n<html><< update "Menu" >></html> This updates the values of any conditional display in the menu.\n\n----\n\nPhilip Sutton asked:\n> Is it JavaScript or Python that limits the form that Twine/Twee macros can\n> take? Or is the formatting of Twine macros determined soley by Twine/Twee's\n> own programming?\n>\n> I notice that the maths evaluation methods have to be written in pure\n> JavaScript notation. eg.\n> http://gimcrackd.com/etc/doc/#code,expressions\n>\n> ---\n>\n> For example, is it a requirement of Javascript or Python notation that\n> says that:\n>\n> <html><< choice "Passage name" "Link text" >></html>\n>\n> must have the passage name followed by the link text, whereas the standard\n> link ie.\n>\n> <html>[[ Link text|Passage name ]]</html>\n>\n> must have the link text followed by the passage name?\n>\n> Or is the notation and syntax of the built in macros defined by the coding\n> of Twine/Twee? In which case we could make changes if there was a good\n> reason to do so??\n\nMary DeMarco said:\nBoth formats (<html><< macros >></html>and <html>[[ Links ]]</html>) are inherited from Tiddlywiki.\n What is possible in the final output is mainly restricted by\nJavaScript and by how much you want to recode the underlying\nTiddlywiki source (though you might be able to tweak some things\nduring the Python processing stage as well).\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Maths expressions - in JavaScript</B></FONT></FONT></html>\n\nAll are found here:\nhttp://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Math\n\nThe expression to be modified is placed within the brackets:\nMath.round() \nMath.random()\n\nplus "evaluation functions".\n\n<html>\n<FONT FACE="Times New Roman, serif"><FONT SIZE=4><B>Variables</B></FONT></FONT></html>\n\neg. $variable-name\n\n\nJavaScript\n\nprompt("Hi! What's your name?"); (This asks for the user to type in their name.)\n\n\n----\n<<back>>\n\n\n