I am glad to announce that the alpha 2 was finished along with documentation about the whole project for my education related project. I would like to add my thanks to Mr P Kocura for allowing me to take on such a project as this.
I have set up a demonstration of my work on a cloud based server, which is how I would expect the final deployment to be. The cloud allows for use of resources if and when one pleases, which is great for me at the moment, as only need the minimal required to run Q. This cloud based solution can be demonstrated from time to time, when necessary but will not be running all the time as, as I said I can pay for the resources if and when I need them. This blog post is just to note that I have achieved this step I will go into further details when appropriate.
It has been released privately for testing by a select few. It shows the possibility to create a User Interface through the browser; it is possible.
During a break from revision I managed to graphically represent a variable in the old version of K/Q; K3. This is a positive breakthrough in learning the history of the language and its graphical user interface. I wish I could dedicate more time to this at the moment but I have an exam on Monday and Tuesday and then one more to focus on before I can get back to this project fully.
HTML 5 is apparently the future so as well as developing Q GUI in regular HTML 4 I am also coding in HTML 5 too. Thus allowing for the advantages of HTML 5 to be used in a solution. Assets to HTML 5 like local storage could mean that users preferences could be saved on their machine instead of elsewhere. The ability to drag and drop files into the page, making the interface more dynamic.
HTML 5 is tidier and has better semantics in my opinion which is an asset to a project of this scale where there is a lot of ajax and different parts of the page have their own roles and functions.
Draft HTML 5 views are being developed for the Q GUI
Started to make the editor view and it works for functions now. It is basically a text box with the text of the function in it editable and when saved sends the (edited) text from the text box and updates the function variable. There is a long way to go to make this a fully fledged editor but its a start.
I managed to recreate the console view. With almost instant updates the return value and a new line from the engine. It is however limited to just Q and does not allow for the backslash to K. This I think is not an issue as if you really wanted to write in K you could work in the original consol. Also when you set something the value is returned instead of just a new line. Obviously there is a lot that could be developed but its a simple start.
A basic layout for the Q GUI has been developed with the following parts:
- Admin (for user preferences)
- Functions (a collection of functions both global and user specified)
- Variables (a collection of variables both global and user specified)
- Favourites (an area for a collection of selected objects from function, variables and scripts)
- Stored Code (an area with a view of the relevant disk workspace and the scripts stored there)
- Console View
- Edit workspace (an area to write and edit variables, functions and saved scripts, this area may adapt to be relevant to the types used for example a table maybe look like a traditional table or like the Q code for a table)
- Output View (an area maybe a new window for the out put whether a graph or a file or anything else)
- Reference and Help section
More space is allocated to the console view and edit workspace as I believe these areas will be used more and the others are more resources that can be used to pick and choose from.
As one year ends and another begins, I have decided to quickly set up a website to make sure that I have an online presence for my work researching into graphical user interfaces for Q. With the amount of Q and K programmers being less than that of some more well known codes I have gone to the web to search you out. If you have any requests or suggestions for a graphical user interface for Q; please feel free to send them to me as they will greatly help me in my research.