Thursday, December 30, 2004

Update - Internals

OK... so alot has happened... I have fixed alot of my 'year and more old' problems and found solutions for them from how to do inheritence (fixed today), How I deal with UIDs and even my syntax for the API has been improved to be more object oriented. I have made it that objects can be created without specifying where they are stored, instead they can be attached later on. UIWindowInfo MyWindowProperties; MyWindowProperties.Name = UID_MyWindow; MyWindowProperties.Title = CoreStringNew("My Title"); MyWindowProperties.Region = CoreRectangleNew(0, 0, 100, 80); MyWindowProperties.Align = AlignCenter; UIWindow MyWindow = UIWindowNew(MyWindowProperties); I will continue to refine it as much as I can but its much better from my existing syntax design. Simple types can be defined with parameters (CoreStringNew) while complex types are defined by structures (UIButtonNew). UIDs are declared by the following: #define UID_Name UIDPack(Company, Application, Module, Name) Where the Company is a number registered at my future web-site, application is unique per company and module is unique per application, and name is unique per module. I solved how to store inheritence with a combination of static and dynamic lookup. Its quite a good solution which I might post about another time. I need more help to get this project of the ground... if any of you want this project to be out quicker... please post questions or comments via email, posts or MSN Messenger.

Sunday, December 19, 2004

Update - So what's cooking?

Hi Everyone, I have fixed another huge issue I had with the object storage which is 'virtual objects'. I have made objects to be able to mount and unmount without loosing links and relationships between objects. This is a great change since it means I am one step further solving all the quirks with my object storage. The object storage is the 'core' of Screens, so it has to be flawless (not in functionality but in reliability) for Screens to be built. It is the biggest building block in Screens and is the base of any functionality I have in Screens. Screens is moving... yep it is still going... I have already decided what Screens 1.0 will include which is basicly launcher capabilties and db/file manager capabilities. Screens 1.0 is basicly a 'launcher' and will be marketed as such. It is designed to be a technology preview. As time goes on I will add extra apps such as calculator, contacts, diary, paint and so on and wrap them into one package for 2.0 That is the basic plan, since I want to release Screens as soon as possible in some 'stable' state... taking the launcher route allows it to be a stable launcher and still be released early... how early? No Idea... I'll give you a 'real' destination date once the core is coded, that is basicly whats holding this project back = The Object Storage

Saturday, December 11, 2004

Update - Where is Screens?

Hi Everyone, I haven't posted for a month and this post is explain why. Fear... fear of getting smashed was my reason untill I realized that it's my blog, so anything that happens, I can post without any problem. My blog, my reactions. Alot has happened in this last month which has required me to reget a big picture of Screens. Screens is not about being a good-ol launcher replacment or some niche enviroment to show 'I can do it'. Its about a stratergy and vision which I have and applying it to PalmOS devices. This stratergy and vision is not about handhelds today but more about tommorows handhelds. Todays handhelds are very limited, not in the hardware (my opinion) but in the software. If the software was top notch for the hardware, I would say the hardware needs improvement but today the hardware is driving the software. The same happened with PCs and which is why we never see any radical stuff happening... Because hardware moves slowly and thats how you see the software move - SLOW! Screens is designed to get the most out of the software and let hardware follow instead of being the leader. So what's been cooking: 1. Palm is making a linux-based version... Great! What does that mean for Screens... a great oppertunity. First of all, there are loads of different devices out there... and new will come with different specs. This will be hard for developers to code for all the different types. Screens solves that by design with it's action-key mapper for example. 2. Multi-tasking I think I have found a way to do semi pre-emptive multitasking which in this itself is a good enough reason to restart coding. By starting from a pre-emptive perspective (or even cooperative) I can let go of many old designs such as using a modal dialog for copy operations... why not show the progress under the object label itself. It gives Screens more room to innovate which I think is a good enough reason to reevaluate the core. 3. SMPI Screens has already defined a new syntax design which so far... I'm loving it. Instead of doing API, I am doing a SMPI (Screens Module Programming Interface) where the syntax is based more on modules than on applications. So far... so good. That's quite a short summary... I will probably (hopefully) write a few editorials on the matter. just remember that if you want Screens out faster... to help me speed up the proccess, PLEASE chat with me on MSN Messanger at zhamilton1@yahoo.co.uk