Database Tables
- User
- username: 50
- firstname: 50
- lastname: 50
- email: 255
- password: 40
- phone: 20
- balance: money
- qunid
- mnuid
- isactive
- ismem
- ispaused
- startdate
- memdate
- expiredate
- pausedate
- returndate
- leavedate
- Qunit
- usrid
- parentid
- nextid
- childid
- name: 50
- desc: 255
- isimg
- ishidden
- isxflag
- pos
- endpos
- favid
- favendid
- sldid
- sldendid
- Menu (bookmarks)
- usrid
- parentid
- nextid
- childid
- qnnid
- text: 50
- Qunitnode
- mnuid
- qunid
- nextid
- favid
- Favnode
- qunid
- imgid
- nextid
- Image
- qunid
- qpos: short
- width: short
- height: short
- ext: byte
- isfav
- iscap
- isaltcap (tags)
- Caption
- imgid
- iscap
- text: 80
- Slide
- qunid
- nextid
- Imgpanel
- sldid
- imgid
- Textpanel
- sldid
- text: 32K
Implementation Steps
- Read Murach's Java Servlets and JSP book
- Implement local mode
- Implement server-side code
- Write basic Piqutags design specs
- Implement Piqutalk 0.1, console-based
- Token parsing and building program tree has already been implemented
- Finish Piqutalk 1.0, console-based
- Write advanced Piqutags design specs
- Implement PQTG-to-HTML converter
- Implement monospace mode
- Implement rich-text mode
- Integrate Piqutalk with Piqutags (monospace/rich-text modes)
- Implement PQTK-to-JS converter
- Recruit GitHub open source coders/testers
- Implement Jabbler: web-based Scrabble game, user vs. robot
- Jabbler is currently console-based Java Scrabble game
- Implement web-based chess and backgammon:
- Play against robot which makes random but legal moves
- Implement Jabbler: web-based, 2-player
- Implement monospace mode, dual user
- Implement rich-text mode, dual user
- Implement Piqutalk SDK
- WYSIWYG Piqutags editor
- Piqutalk code editor
- Convert Jabbler from Java to Piqutalk
- WYSIWYG board/piece editor
- Codeless prototyping system
- Design website
- Launch website
- Beta test Piqutary
- Advertise using Google AdWords
- Accept credit card payments
- Hire Java programmer with expertise in making websites scalable
Piqutags
Piqutags is a simplified markup language used to replace HTML. Arbitrary Piqutags code can be embedded in the Piqutalk echo statement. Piqutags syntax, where asterisk (*) means repetition, is defined as follows:
- Tags:
- [tag]
- [tag: body]
- [tag (fld val)*: body]
- Body:
- text
- [: text]*
- [(fld val)*: text]*
- Call Piqutalk code:
- [expr: <expr>]
- [exec: <stmt>... ]
- [pqtk: <path>]
Monospace Mode
In monospace mode, all body text rendered to the screens of end-users is in a mono-spaced, typewriter-style font. Every character takes up 2 square cells: an upper cell and a lower cell. Superscripts and subscripts are handled by employing a vertical offset of one square cell. Header text is also mono-spaced, and each character takes up 2 oversized square cells.
Additional Formatting
The grid of characters can be subdivided into panels, which can themselves be subdivided into more panels, and so on. Any panel can contain zero or more text boxes, which may overlap each other. Vertical grid lines each take up one square cell per row of square cells. Horizontal grid lines are displayed in the same pixel row as underscore characters. Any row of square cells containing a horizontal grid line which is 2 pixels wide is taller by exactly one pixel. The following bracket characters: ( ) [ ] { } can be oriented vertically or horizontally, taking up a single column or row of at least 2 square cells, respectively. Widgets such as check boxes, radio buttons, and combo box arrows take up 4 square cells (2 by 2). Images, animations, and diagrams are contained in canvas objects, which can appear anywhere panels can appear.
Rich-Text Mode
In rich-text mode, a given header or paragraph of body text can consist of a single variable-width font. Paragraphs have before/after spacing, left/right indent, and line spacing (single, double, 1.5, etc.). Panels have margins on all 4 sides. In both rich-text and monospace modes, text is rendered to the HTML5 canvas object. Some features like form fields and submit buttons use hidden HTML.
Piqutalk Scripts
Members are allowed to upload Piqutalk game scripts (2-player board games), and all users can download scripts created by the members. Piqutalk is a new open source web programming language used to create apps which run locally, in your browser. Piqutalk is accompanied by Piqutags, a replacement for HTML. All or most Piqutary profits are distributed to the app writers in proportion to the user-minutes accumulated by each app. Piqutalk includes functionality which detects inactivity, so idle user-minutes don't count. Members can post in forums, play in tournaments, and hold player rankings.
About Me
I am Mike Hahn, the founder of Piqutary.com. I was previously employed at Brooklyn Computer Systems as a Delphi Programmer and a Technical Writer (I worked there between 1996 and 2013). At the end of 2014 I quit my job as a volunteer tutor at Fred Victor on Tuesday afternoons, where for 5 years I taught math, computers, and literacy. I'm now a volunteer math/computer tutor at West Neighbourhood House. My hobbies are reading quora.com questions/answers and the news at cbc.ca. About twice a year I get together with my sister Cathy who lives in Victoria. She comes here or I go out there usually in the summer. A few months prior to starting my Piqutary project I used to lie on the couch a lot, not being very active. Now I'm busy most of the time. I visit my brother Dave once a month or so and I also visit my friends Main and Steph once or twice a month.
Contact Info
Mike Hahn
Founder
Piqutary.com
2495 Dundas St. West
Ste. 515
Toronto, ON M6P 1X4
Canada
Phone: 416-533-4417
Email: hahnbytes (AT) gmail (DOT) com
Web: www.hahnbytes.com