Wednesday, December 28, 2005

Update - Bad Week

Guys, this week was terrible... So much to do and so little time to code... 1. I had to put my first dog to sleep because he was old, had a hernia and cancer spots. 2. I had to go to the lawyer to create a contact for the house that I am going to buy 3. Moved offices in NDS and switched to a new job - Real EPG :) 4. Had to pick up my second dog from the pound because he was caught after he broke from his chain. The list just goes on... its a very busy time for me... Hopefully I will get that alpha out by the end of febuary... Everytime I think... yay... I am getting there... something pushes me back...

Saturday, December 17, 2005


This last week did not go so well... The weather changes here from cold to hot and back to cold and I am not coping well with the situation. I have had too many hours of sleep this week... its time to cut those down and spend more time on coding... Hopefully I should finish the draw component this week... hopefully...

Saturday, December 10, 2005

Update - Should start UIDraw soon

First of all I have updated the source code: I decided to skip the Copy function for the moment and do the more simple work but repetative which includes the KernelFolder, KernelFile and KernelProperty components which are self explanatory. At the beggining I am coding everything into the kernel however after the alpha I will start moving things outside the kernel like the drawing driver, UI and windowing to test performance. I have by user request going to focus for the alpha more on the UI aspects and less on the thread execution model. This doesn't mean much apart from you will get more UI in the alpha than otherwise would of been if I had to implement the thread component. It will probably be better this way since I will visually able to test the thread and module support. Just to remind you that the source code will be updated as time goes by but I will not release the source code of the shell untill the beta stage. If you want the alpha when its released, just add me as your MSN Messenger contact and you will be dropped into the Screens user group. I will be emailing all the users in the MSN user list of the alpha and where to get it. So if you want to get your hands on the first demo as quick as possible... join now ;) KernelFolder, KernelFile and KernelProperty I should finish in a few days. Then follows KernelModule which basicly allows to load a module by its key and allows me to tweak pre-loading and other stuff without affecting the basic call model. Because everything is any way going to be inside the kernel at the beggining, its more of a place-holder... so it wont do anything.

Thursday, December 08, 2005


I went to a Microsoft Windows Embedded Technical Seminar yesterday in the tel-aviv area... Very nice ;) Learnt a few things about how the memory is handled on PocketPC's and that the object storage in Windows Mobile isn't exactly what it seems. Back to Screens... I still have KernelObjectCopy to code... Didn't have time in the last few days so hopefully I should have time by Sunday. I'll keep you all updated, Zakai Hamilton

Monday, December 05, 2005

Object Storage - So what is it?

I constantly get this question: What is the object storage? Well... lets ask what is it trying to solve... Data Sharing - Tired of copying data from one application to another? The object storage solves this by allowing you to specify links between data so when one changes, so does the other. No more do you need to keep your contact names syncronized manually throughout your appointments, With Screens Environment and its object storage, its automatic. Single Store - Tired of having to use a different application to manage each piece of information in its own container like WordToGo for documents, a launcher for applications and a file manager for databases? Screens Environment and the object storage allows you to hold in one folder - a database, document, appointment, contact or any other type you want. This is because the object store can learn of new types just like you add plug-ins to Windows MSN Search or Google Search, so does the Screens Environment object storage work in the same way but it allows you to manage, not just search data. You will able to see the information you use not just by its type but by date, author or any other meta-data you want your information categorized and sorted by. Note that everything is stored in the object storage from the windows displayed on-screen, color schemes, kernel information, threads and so on are all objects. Think of an object as any piece of information that can be identified. I think this is a good starting point... ask away for more details or if you have any questions dont hesistate to post a comment, so I can answer in an upcoming post. Just a quick update: I finished the KernelObjectMove function... one function left KernelObjectCopy... I have nearly finished the object storage.

Sunday, December 04, 2005

Update - Nearly there

Hi Guys, 3/5 of the object storage functions have been coded with two left: KernelObjectMove and KernelObjectCopy. This is great news for me, since it basicly means that the object storage is only lacking moving and copying of objects with the copying the harder function. Once I finish these functions, I review the code and start coding the drawing functions so hopefully I will do something to give you all some aspect that Screens is working. I'll update the source code when I finish the functions. Thank you all for the warm comments, Zakai Hamilton

Friday, December 02, 2005

Update - KernelObject nearly coded

Hi Guys, Summary: KernelObject nearly coded. Ive got it going on... ;) Description: I spent a few hours last night and this morning and was able to code nearly all of the KernelObject apart from 5 functions (the hard ones: New,Free,Link,Move and Copy). For the hard ones I will actually write a step by step comments (all other code has no comments since they are not complex enough). I dont normally go for comments, but in these cases, I think they are needed. Hopefully they wont be as hard as I feel they are, maybe its just because I failed all the other 17+ times I tried to get those functions coded. Hopefully this will be the one time that doesn't happen. I also made some changes to the header file as well and to alot of the previous components. Before hand I had 0xFFFFFFFF as an invalid index. However it doesn't work out very well so I decided that indexes would start from 1 and therefore 0 is an invalid index. OK, Here you go for those following the blog entries: This is the entire source code currently written with the project file and everything. I use PODS so if you have PalmOS Developer Studio (can be downloaded for free from the PalmSource web site) you can open the project file. First of all please dont be angry if you feel its only a bit of code. You will see as time goes by how much the code grows... when I get down to it... I code quite fast I think. Most of the functions are very straightforward so I didn't write notes. The function names are self explainatory. Note that there isn't error checking in all places. The reason for this is that if a function fails because lets say the handle is empty, all subsequent functions will fail as well without bad pointer issues which is nice untill one will do a check and return. Enjoy and have a nice weekend, Zakai Hamilton

Thursday, December 01, 2005

Update - Going to code KernelObject

Hi Guys, Summary: Going to code the object storage and then the drawing code to display lines, shapes, colors and text on-screen. Description: I am there again and this time I am going to make it. I have everything in place for coding the object storage once and for all. I should finish it by the end of next week and start coding KernelDraw which is the first component that not only uses the object storage but displays lines, text, rectangles, fills and so on. This is when I will finally able to run the application and deal with run-time bugs. I will probably enjoy the moment and do some performance tests on the blitting code which I might display some screenshots if I can do anything interesting like maybe a window or mockup. Note that I already have in mind how Screens Environment will look like. It will have a widget bar on the bottom of the display holding horizontal widgets. If you tap on an empty widget location, the 'add widget' dialog is displayed where you can drag widgets on and off the widget bar. This is only one of the elements which I think will not only make Screens Environment unique but usable. This feature will be available already in the first alpha. The alpha should be released around febuary but only to MSN users. I did promise this that only users that subscribed to my user list will get the alpha versions. You can add yourself via my MSN Messenger handle: Note that the release will be sent my email, so you dont have to be online to get the version. Betas will already be posted on the blog but alphas will remain in the MSN user list, so join now if it interests you. Alphas define the structure on how Screens Environment is built and its building blocks. Betas define the default skin look, animations, fine tune of the UI and other visual things. Screens Environment applications also get written throughout the beta stage. Good night, Zakai Hamilton