Page 1 of 2

A QB/FB Markup Language and Browser

Posted: Sat Apr 26, 2008 9:29 pm
by Pharoah
Recently I've been working on a project to develop an easy to parse markup language that would be suitable for a textmode Qbasic browser. My reasoning was that, with HTML, millions of pages will render, all of them incorrectly. With a new language, an admittedly smaller group of pages will be available, but they will render perfectly.

Also, I'm developing a hypertext help system for use in your programs.

What I've come up with is called QML, here's a sample:

Code: Select all

#1
$Color 1
|
#2
$Color 2
|
#
$Color 7
|
#9
_A Bright Blue Link>http://example.com
I wrote a browser for QML called Qbrowse, which you can download here:
http://pharoah.xetaspace.net/qbrowse/Qbrowse-0,5.zip

More features are in development, to comply with the new QML 1.1 spec.

Anyway QML caught the interest of Brandon Cornell and he has now written a browser for Linux and Windows in FreeBASIC. You can get his browser CQML here:
http://brandoncornell.com/CQML/CQML_Linux.tar.gz -For Linux, requires wget
http://brandoncornell.com/CQML/CQML_WIndows.zip -For Windows, includes wget

Right now Quickspace (what I'm calling the QML net) could use a few more pages. There's a lot you can do with it already (for example I've written an RSS reader and a search engine), but we could use more community participation and a bunch more .qml pages. If anyone's interested, it would be great to see some new web designs.

The great thing about QML is that it supports ALL the IBM extended characters like only a textmode browser can, which really opens the door for a lot of ASCII art.

So, what are your thoughts?

Posted: Tue Apr 29, 2008 3:18 pm
by MystikShadows
This is looking pretty good so far. Great work to the both of you.

Posted: Tue Apr 29, 2008 6:00 pm
by Pharoah
Glad you liked it... Right now I'm developing a new version that will include support for forms and other interactive elements, with the ultimate goal of creating a forum and/or CMS. I'm keeping graphics out of the tag set because I like the ASCII characters and don't want the art of drawing with them to die :).

Posted: Tue Apr 29, 2008 6:22 pm
by MystikShadows
lol amen to that man ;-).

When you consider your project advanced enough, I'd like to add that to ASCII-World of it's ok with you. This looks like a "keeper" to me. ;-).

Posted: Wed Apr 30, 2008 12:36 pm
by Pharoah
I hope you're right. The beauty of a browser app is that they all draw their data from a central location, so multiple browsers can spring up to view the same page. That being said, cursor only has found 7 pages so far, all by either me or Brandon. At this point, the more pages that we can make in QML the better, so that it will become a community of its own separate from the HTML web.

I'm making slow progress with the next Qbrowse (better interface planned), and Brandon seems to have hit a wall with CQML so I can't say when the next version of anything will be out. I'm shooting for about a week or 2 though.

Posted: Wed Apr 30, 2008 3:14 pm
by Brandon
For those interested: I have hit a brick wall but I think that within a week or 2 I will work it out and add forms for version 2.0 then 2.1 to 2.9 will be bug fixes and 3.0 will be fully compatible with QML Spec 1.2 (or whatever the latest is)

Posted: Mon May 05, 2008 10:29 am
by Pharoah
Just thought I'd keep everyone updated:

The current specification supports about 20 different tags, half of which aren't yet implememted in any QML reader because the spec was written after Qbrowse and CQML came out. I'm working on a nicely-interfaced fully spec compliant, linux and windows compatible version right now that will include:

Simple GET form support

Hspan support (an Hspan is like a single table row, made up or Hpanes. They can be nested and are used to create columns)

Full background color support

File download tag support

(Optional) Auto-refresh tag support

"Point-and-click" interface

Center character code, and default F and B tags

and more.

I'm writing the browser in FreeBasic for this version, but I'll try to keep PLAY string support anyway if possible using a library.

If anyone would be willing to write some pages in QML and support the Qmunity (shameless plug), that would be awesome. It's not very hard to do, and will show up great in the new browser.


Current QML Reader Recommendation:
---------------------------------------------

CQML 1.1 is more compliant and handles background color and the download tag. Also supports Linux. Has trouble displaying pages that are longer than the console will scroll in Windows.

Qbrowse is older, it has a much nicer and more complete interface and wraps text better. Has trouble with long URLs for no good reason.

Neither support forms yet.

Posted: Mon May 12, 2008 5:55 am
by Pharoah
The next version of CQML is out, right now it's the recommended QML reader. It supports forms, which means Quickspace is now interactive, although there are a few problems. The download link is the same as for the earlier CQML versions posted above, but it's the latest version.

Posted: Mon May 12, 2008 7:32 am
by MystikShadows
Great work Pharaoh.

I'm really enjoying following the progress of your project. And I can't wait to see Brandon's next release as well. :-)

Very interesting set of projects. :-)

Posted: Mon May 12, 2008 3:40 pm
by Pharoah
CQML is Brandon's QML client... It's been progressing quite a bit faster than mine. There are a couple bug fixes though that need to be out (CQML doesn't URL encode), but they should be done by Friday at the latest he tells me. I'm working on one called ViolaQML in FreeBASIC that will have a nice GUI to go with it, although the QB based browser hasn't been abandoned, only put on hold.

Posted: Tue May 13, 2008 1:37 pm
by Brandon
Yep I released CQML 2 and 2.01 being the best browser out. But I'm working on 2.1 which will render better and have a lot of bugt fixes. I plan to keep the User Interface simple as I feel it adds to the overall retro-ness of it. There is a new site that will be the HTML center of the QML universe at: http://brandoncornell.com/qml

Go CQML!!

Posted: Thu May 29, 2008 3:59 pm
by Pharoah
QML 2.1 is out now, with almost all the bugs fixed and a very reliably working forms system. There's a somewhat popular chat room I've implemented in QML where you can leave a message for people to answer later or chat in live with whoever happens to be there. Uses auto-refresh, but you can't really tell. Link is on the main page of my site or cursor search chat.

Posted: Thu May 29, 2008 5:27 pm
by TmEE

Code: Select all

Qbrowse Loaded.
Reading server status...
Status string read from server:
    '$             _   _              _____        __ _    '
STATUS STRING INVALID -- SERVER OR CONNECTION DOWN.
PRESS ANY KEY TO CLOSE...
This is all I get...

Using Win98SE with SP 2.1

Posted: Fri May 30, 2008 2:01 pm
by Pharoah
Sometimes you have to try loading multiple times with Qbrowse, but I wouldn't recommend using it. The latest Qbrowse release is also the first, and doesn't support forms or auto-refresh, which means no chat. You'd be better off using CQML, which works for windows and linux.

Posted: Fri May 30, 2008 3:06 pm
by Imortis
I really like this idea. I was going to make my own QML page and put it on my webhost... then my webhost died. Literaly. They are gone. I need to go find a new host... Again...

Posted: Tue Jun 03, 2008 11:02 am
by Pharoah
Well, if you do shoot me an email at AtlasSoft at the Gmail so I can link it, and it'll be crawled by CURSOR.

Posted: Thu Apr 16, 2009 9:01 am
by Pharoah
Thought I'd log in to say that QML has made slow but steady progress. There are many more QML utilities, some written in QB and FB, some in PHP, and a QML reader in Python, which will run on almost any machine known to man. Most of the news and things can still be found at:
http://pharoah.xetaspace.net/qbrowse/logo.qml

CURSOR right now has 23 pages in its index (there are more, but they are orphaned and not linked anywhere). I'm hoping to get more people interested in this project than just the folks at the GUI blog, so we can have more content available. Things we have now include:
- A chat script
- A forum
- A simple blog engine I wrote that you can update in CQML or PQML
- A blog about QB/FB GUIs that I just started using the above software
- Various other things in the works
- A program to pre-render QML pages to a file (called QGET)

I'm writing more than 2 new QML readers right now for various platforms.

EDIT:

Almost forgot, for the ASCII art folks I wrote an HTML/JavaScript paint program that outputs QML.
http://pharoah.xetaspace.net/paint

Posted: Thu Apr 16, 2009 2:35 pm
by qbasicfreak
looks good.
I'll check it out!

cool!!!

Posted: Fri Apr 17, 2009 2:41 am
by bongomeno
VERY NICE PROGRAM!!!!!!!!!!!

how did you pull off the networking??? external librarie?

i would be delighted and so would many other people here to see some of the code. especially the networking stuff.

an example of how to network in qb would be appreciated. i would like to make my own chatroom or something.

also i had a problem with qbrowse. when i wanted to enter data on the chatroom page or forum, it would only allow me to edit the address bar.

Posted: Fri Apr 17, 2009 6:36 am
by Pharoah
Different QML readers handle the network stuff in different ways. Both Qbrowse and CQML use an external program which can be invoked at the command line to download a file from URL. Qbrowse's is called GetNet, it's a very little and simple executable. CQML uses GNU WGET, which is cross-platform and has more features (google wget to read more about it).

Unfortunately I can't release the code to Qbrowse because after releasing the executable I changed things that messed it up, and I don't know how to fix it :(. Anyway I'm writing another open source reader & rendering engine now.

Qbrowse was the first QML reader, before the specification included forms and the like. For this reason, it's not interactive. The only place you can enter data is CURSOR, which has a formless entry method.