Screens Environment is a multi-platform component based middleware research project designed to connect technologies together and provide better user experiences for the future of computing http://sourceforge.net/projects/screensos/
Friday, March 30, 2007
Update
Hi,
You can see by source forge that this project is moving along... but its moving very slowly.
I just redefined the method declaration macros to be more component oriented which makes things more cleaner.
I am still struggling with basic issues like uniqueIds and the work flow of code but I am on the right path and I am seeing improvements as time goes by.
I have mostly finished the design of window management which uses the broadcast message feature in the object storage to send a message to all elements to draw themselves on thier layers.
Alot of things have been thought about including skinning which I think developers will like the flexability to change the look & feel of basicly anything in the system because Screens seperates functionality from visual looks.
Saturday, March 24, 2007
Update
Yes, alot of changes have happened in the last week.
I have solved last weeks problem and I now having layers working very nicely. Drawing works nicely too including alpha blending effects. There is no point for a screenshot at the moment, but patience... very soon I think I can do something nice.
I am now working on exporting the layer interface as API (so you can call the functions from other modules) and start working on the design of the windows & controls.
I am working on the code as fast and efficient as possible...
Monday, March 12, 2007
The plan
First of all, sorry about the misunderstanding... I meant that I had uploaded the changes of version 0.80 to SVN, not a zip file. I plan to release a zip file hopefully next week.
Screens status changes all the time for success to failure depending if you talk to me before or after I solve a problem. This project is very hard for all the possible reasons:
1. Trying to write a middleware system, not exactly what you call a picnic
2. Alone, the only designer and programmer
3. Writing an object oriented system in C which gives me language barrier problems (like duplication of code)
4. I have a fulltime job and a family to take care of which leaves Screens very little time
I think these reasons alone can cause this project to stay in 'vaporware' for a long time. I guess luck is only what keeps the project evolving forward. I should be happy that the object storage is working but now that I finished the kernel, I have a new module to work on which is not going well at all. Its hard when you put so many years on the kernel and found out that you need to do it all again for the UI module. But I dont have another 5 years for the UI module. If I continue at this rate, Screens will be finished when flying cars are a standard.
This does not mean I am giving up on Screens... that would lose all the fun of trying to do the impossible. I just want you to know that this project is impossible because of the combination of the problems above and that if you lose patience in the project, its perfectly understood. For those who do stay, Thanks! You might be the lifeline which keeps the project going. Its always nice to send a 'Hi :(' message when things are getting tough to a user and get a push of confidence that they believe in me.
If I give a schedule, it would mean that I failed if I did not have Screens ready by then. I dont think that failure can be for Screens untill I give up since that officialy ends the project status. This is not the case at the moment.
Yes, I am stuck on the basic drawing model for Screens and untill I solve it dont expect anything to show. However... if I did solve the basic drawing model, I could at least give you a screenshot of shapes. I am working as hard as I can...
Friday, March 09, 2007
Module Methods finally work
Hi,
Module Methods finally work. I have simplified the design by removing actions and using types to add additional implementations of the same method. This makes it more simple to manage methods since you can find a method easily.
To add a method:
1] Define a method name
2] Add a MODULE_INTERFACE_FUNCTION entry in Module.c of the module
3] Add a method wrapper calling CoreObjectSend
4] Call CoreObjectAddMethod to register the method
The code is maturing very nicely and I am feeling more comfortable with it as time goes by.
Its alot of hard work but so worth it!
Wednesday, March 07, 2007
Still moving forward
OK... version 0.80 of the kernel uploaded to http://sourceforge.net/projects/screensos
What a week! Untill yesterday, I felt that Screens was at a dead end. I felt that the whole method design was spiraling out of control and just get more and more bloated and harder to understand. So I went back to basics and I use a simple C case switch and a single identifier per function. Its implemented, works and has been uploaded. I am very happy with the results because its easy to explain and is easy to use.
I hope I can finally finish the method implementation on the module side (the kernel side works perfectly) so that I can work on the graphical stuff. I really feel that I am so close... so close...
Subscribe to:
Posts (Atom)