|Teknidermy Magazine - Issue 5 , Vol. 1||
Lead Developer of "Pocket
Ian Hanschen is the Lead Developer of Stardock's first Pocket PC program called PocketBlinds, some of our Teknidermy readers are already familiar with Windowblinds by being either skinners of windowblinds or users of that program, well Stardock has been wonderful enough to keep us Pocket PC users in the loop too by providing us with PocketBlinds which can be closely compared to windowblinds!
PocketBlinds is in its early stages but coming along VERY nicely in respect to what it has to offer so early on!
Take a look at a Screenshot of Pocket Blinds latest Build
Thank you Ian for giving us this opportunity to find out more about PocketBlinds and the behind the scene stuffÖ
Tek: Would you please share a little bit of your Background with regards to your programming experience and history with us?
Ian: Iíve always been very interested in anything to do with electronics. When I was little, I took everything apart to find out how it worked, and sometimes Iíd add new functionality. My first programming experience was with a Commodore VIC-20. I did a few cool things with it, then was bored again and went back to electronics. Then, years later, I came home from summer camp to a shiny new 386. After playing a lot of games on it, I decided I wanted to write games. I attempted to learn C, but every book I found was just boring, and had cheesy game examples. So I stuck with QuickBasic, and wrote a lot of different graphical apps. I was really interested in the hardware of the computer, much more than the software, so I studied that a lot, and would basically spend my days at a local computer shop taking apart older computers and learning about them, and occasionally building machines. After a while, I got pretty good at working with hardware, so I stuck with that all through my teen years. I repaired and also built a lot of computers, designed and implemented a lot of networks, and occasionally dealt with exotic hardware. Then Litestep came along. The cool thing about this program, to me, was not that it was made to look like AfterStep, but that it was fully implemented through reverse engineering the existing Windows shell. I was very interested in that, and joined the development team to help with what little I could. Most of my time was spent helping other users (or banning them from #litestep!). Brad Wardell noticed me on the channels, and after some time, I was offered a job to do technical support for Stardock. So, straight out of high school, I moved 1200 miles from home to work for the company that makes WindowBlinds. I did technical support, and Brad got me into doing ASP for the skin libraries, backend coding for our commerce system, etc. It was pretty cool, but I knew I was missing out on something awesome by not knowing C++ and Win32. So, in my spare time I studied a lot, and eventually, started work on WebBlinds. Shortly after this I was moved out of tech support and into a project developer position, working on ASP projects and WebBlinds. That was a bit over a year ago. These days Iím still working exclusively on C++ based Win32 apps, such as WebBlinds, PocketBlinds, and DesktopX plugins. There is a lot of reverse engineering involved on these projects, and that is what I love the most.
Tek: hmmm not to run off topic here but WebBlinds is a fairly new app and I don't believe too many people are familiar with it just yet so can you tell the readers "a little" about WebBlinds and what kind of work you've had to put into that programming wise and "IF" time willing for you maybe we can do another interview and shed some focus on WebBlinds too?
WebBlinds skins Internet Explorer, and adds a few enhancements. Right now
it skins the throbber(progress animation), allowing it to be alphablended.
Also, it allows you to change the toolbar buttons. On top of this, it
skins the browser using DirectSkin technology. The browser is completely
skinned, down to the general colors of things being changed. Aside from
this, we've just added a really neat "popup management" system.
Everyone has been wondering what to do about webpage popups. Some people
thought it'd be a good idea to stop them completely. Others argued that
doing this would break the functionality of websites that depended on popups.
So we've added what we think is the best system for managing them. Here's
how it works: When Joe User goes to a website that has popups, rather than
letting them just popup, WebBlinds puts them into the status bar as a red IE
icon, like this:
Tek: I was unaware you were working on DesktopX plugins too wow, we will have to cover some of that as well, What about the DesktopX plugins what exactly are you producing in that respect?
Ian: There will be an updated dxperf.dll in the future, as well as a plugin that watches how much memory a running task is using. So, when you run a shortcut, text under it will appear to show how much memory the shortcut's target is running. Or it could fire an object event.
Tek: Seems you are a busy man Ian! Just curious here now... do ďyouĒ as a Developer actually use skinz or just develop skinnable applications? hehe
Ian: Iím a bit of a rebel as far as look goes. The norm is boring! Iím usually running WindowBlinds, DesktopX, ObjectBar, etc. These days I no longer use Litestep. The main reason I donít use Litestep is the code is accessible. Itís too easy to get distracted and work on if a behavior exists that I donít like.
Tek: hehe so you just cannot control yourself and stop with the coding on demand huh? =)
Tek: How long have you been programming with Stardock?
Ian: A little over 1 Ĺ years, counting non C++ code.
Tek: Is your main focus on PocketBlinds or are you working on other programs as well and are they for Pocket PC or Desktop PC?
Ian: PocketBlinds is worked on in my spare time at home, while my days are spent dealing with WebBlinds, DX Plugins, and DirectSkin clients.
Tek: Can you explain exactly what PocketBlinds has to offer Pocket PC users now as far as itís current available features?
Ian: PocketBlinds currently has top bar skinning, button skinning, and navigation bar skinning. Top bar skinning is completely freeform, allowing developers to place buttons and plugins where they want. The plugin interface is currently almost a duplicate of the WindowBlinds interface, making it simple for WindowBlinds plugin authors to port their plugins to Windows CE. We will also be exposing an interface to developers who want to give the PocketPC a different look and feel when their application is running in the foreground.
Tek: Are you familiar with Wisbar and Gigabar? Can you explain some of the differences between Wisbar & Gigabar vs PocketBlinds?
Ian: This is actually a question we get asked a lot. Basically, PocketBlinds is working at skinning the entire operating system, while WisBar and GigaBar skin the top bar. So the goal of our product is different, but has some overlapping features. PocketBlinds skins the top bar freeform, has plugin support, and has menubar and button skinning. GigaBar skins the top bar non-freeform, and has several built in features for the OS management, etc. I believe it also supports plugins. WisBar seems like a light version of GigaBar. If PocketBlinds does well, we see it skinning a lot more controls in the future
Tek: What about the resources that PocketBlinds uses on the Pocket PC a lot of PPC users are always concerned about that when it comes to using a more advanced skinnable application on their Pocket PC's?
Ian: PocketBlinds currently takes up just enough space for the code, and the images. The images are shared in memory, so they only take up a little over their total size for the whole OS.
Tek: What kind of features can we expect for PocketBlinds future builds? Such as scroll bars and progress bars being skinned or possibly plug ins?
Ian: Since the last release, 80% of the work has been spent reverse engineering Windows CE to find ways to efficiently monitor whatís going on. Many breakthroughs have happened, giving PocketBlinds the ability to monitor whatís going on with hook-like accuracy, without bogging down the CPU. The hard part of the control skinning is finished, and the next beta of PocketBlinds(.90), which includes button skinning, will be a test of this. Once we know everything is working ok, weíll be adding skinning to several controls, including progress bars, scrollbars (also in controls that use them), radio/check buttons, tabs, etc. There are several surprises coming in this area, and I donít wish to reveal too much just yet. As mentioned earlier, plugins are already supported.
Tek: I don't even know why I ask that question regarding "what can we expect in your future builds" because all you programmers want to keep us in suspense! =)
Ian: It's good to keep some surprises hidden =). I've learned a lot of CE's internal workings, so future versions of PocketBlinds should continue to have really cool stuff =).
Tek: Some have asked will you be making a future build of PocketBlinds that will compatible with the Palm OS???
Ian: Sorry, we don't have any plans at this time. Since the Palm is a completely different platform, and we'd have to start from scratch. People looking to skin their Palms should check out. I've heard PalmTheme Pro is pretty neat- http://www.shin.nu/~FocV/PPro/index.html. I haven't tried it myself though, because I don't own a palm =).
Tek: Well I've taken much of your programming time away from you Ian so I will let you go, now get busy! go make us ppc users some more cool stuff =)
Thank you so much Ian. =)
Download Pocket Blinds from http://www.stardock.com