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, June 01, 2007
Screens Vision
The Palm Foleo device although not released is something to talk about. Devices are constantly coming out in different form factors in different operating systems (Symbian, Windows Mobile, PalmOS, Linux) and different middleware. It can be very hard for developers coding for all these different platforms. Each developer either rewrites his applications from scratch for each platform, or tries to create a common ground to ease the porting of its applications. This costs money for developers for every platform they need to write for and can stop innovation since devices that dont have much market share might not be targeted by developers. Also all the resources that were spent on the common ground layer costs money and time which could of been spent on fine-tuning the application before release or new features.
That's where Screens comes in. If Screens was already released, I would be able to quickly port the kernel & UI modules to the new Palm Foleo API and developers would just need to grab the new porting code & compile in the target device compiler and then they can focus on refining the user interface for the specific device. It allows for more programming for the user and less programming for the device.
All the devices around us are becoming more and more the same in thier core parts. The Palm Foleo is basicly a small laptop with a small screen, so why should applications need to be rewritten for it just because its got a smaller resolution and screen. I understand that the Foleo is for documents and email but what if I need to view Cad Architecht diagrams, why should I have to use different applications from different companies with different features and layouts.
People talk alot about software lock-in and thats where open formats help but with platform lock-in there currently is no solution (dont say Java). If you use your software on a specific platform configuration, its very rare that you can duplicate that experience on a different platform configuration. Windows has helped with making all PC's the same in thier infrastructure and vary on the real differences but there is no solution for cross platform needs.
Why should the Windows Mobile Smartphone and Blackberry have entirely different user experiences when they more or less have the same hardware layout? I should be able to choose the device with the features I like and not have to learn a new user experience especially when I get the same functionality. Yes, Choice is good but choice should be a recommendation and optional.
While you can argue that games and other proccessor intensive applications need to use the native API for speed, email is not one of those applications and should not need to be rewritten for each platform natively.
I guess untill I release Screens, users wont able to have the option to choose thier software but be forced to choose.
Friday, May 25, 2007
Update - Design Month
Some months have more code written, some have more design done. This was a design month...
I dont want to bother you all with the technical details but Screens is still very active.
As you can see Screens does not realy 'exist' yet but I do plan to support SD Cards by making them objects that you can manipulate like any other bit of information.
There will still be some time before I can finish the PalmOS version which should happen after I finalize the UI platform dependent code. Untill then, Screens is officialy vaporware.
Thursday, May 10, 2007
Update - Practice makes perfect
Screens has been a bit on the low in the last few weeks because my sister got married this week on Monday.
I have since done some work on improving the object storage implementation to make it do less read/write operations to disk by using a spanned memory block cache which should improve speed when I finish it. The hierarchy memory model will also allow to manage memory blocks more easily since they are interconnected, so if I delete a memory block, it destroys all the children memory blocks. It also makes it easier to resize blocks without having to change the handle. Its like the object model but much simpler.
I hope I can finish it by the end of next week so I can show you all a new demo which is faster. Once I can get to a stage where object operations are cheap, it makes it much easier to make everything method based.
Tuesday, May 08, 2007
Running the demo
I have recieved a few posts that users cannot run the demos...
Please use the following Visual Studio 2005 Redistribution file if it fails to run the demo:
http://www.microsoft.com/downloads/details.aspx?FamilyID=32bc1bee-a3f9-4c13-9c99-220b62a191ee&DisplayLang=en
Enjoy!
Sunday, April 29, 2007
Alpah Demo 6
Hi,
The new alpha you can get here:
http://www.geocities.com/zhamilton1/SafireAlphaTest6.zip
The speed has been improved and I have now enabled dragging of windows.
Enjoy
Friday, April 27, 2007
Work, Work, Work
Here is another demo:
http://www.geocities.com/zhamilton1/SafireAlphaTest5.zip
All modules are dll's apart from the Screens executable. This gives a great speed boost which will improve soon even more when I implement a better drawing model. The code needs to be cleaned a bit more since the move to dlls was a little rough, but I am sure that things will be fine.
I need to improve the input model as well so that there is a real thing as an active window so that keyboard input can be sent to a specific window instead of to all windows. Also each window will have an active control. Note that these are handled directly by the classes so they can all be overriden by modifying the classes. Thats the beauty of Screens.
Subscribe to:
Posts (Atom)