EZGUI, PowerBasic and the coming Tablets and Windows 8
There is little doubt that Windows (x86) tablets may flurish when Windows 8 is finally released, so how can a business (or the enterprise) build software which can make the best use of the coming flood of Windows tablets ?
I am not personally excited about Metro yet, partly because I haven’t found a good way to develop Metro apps yet. Currently the only way to build metro apps is with Visual Studio and that is not a hopeful prospect for me. Why ?
I have two problems right now with Metro development. First is that I don’t have a Powerbasic Metro compiler yet (it could happen, but may be awhile). Second is that I dislike the current state of Microsoft programming languages. Visual Studio has been overrun by XAML and OOP. OOP makes software much more complex (read my other posts about OOP). Just taking a look at the sample code generated by Visual Studio it all appears very confusing to me. It is not readable code IMO. OOP decreases performance and add complexity to software which makes building applications even more complicated. I thought learning the Windows API (WIN32) as hard, but Metro and the new WinRT just downright confuses me.
Now, even if I was able to have the development system I desire so I could build Metro apps, would it make sense to start only writing Metro apps for Windows 8 ?
No !
Why ? Metro only works on Windows 8, so any application written for Metro will only have a small available user base initially. While the inexpensive upgrade price that Microsoft will offer for Windows 8 (about $40) is very tempting (I plan on getting a few upgrades myself), I really doubt that any PC’s other than those running Windows 7 will be good candidates for the upgrade. Many XP and Vista computers have too little memory for Windows 8 and some computers may not have the proper video cards (or GPU’s) for Windows 8. Upgrading an operating system is not so pleasant when you have to also upgrade the hardware. Also the minimum resolution for Windows 8, so all the features work (ie. Snap) is 1366 x 768 and many netbooks and PC’s don’t have that resolution. Likely the best experience for upgrades will be for those who have more recent computers with Windows 7 on it. This is why when I purchased a tablet computer, I purchased one of the few (of the inexpensive ones) which has 1366 x 768 resolution (ExoPC). While the hardware can handle Windows 8, I did find some metro apps which seemed to not like the GPU (DirectX games) and simply would not run (at least on the consumer preview). Also some older tablets or touch screens are only 2 touch point capable as well, so will not benefit fully from the multitouch features (5 touch points) of Windows 8.
So the user base for building Metro apps will likely be limited for at least the first year or two. Some PC’s won’t be worth upgrading to Windows 8, some can be upgraded but will have a degraded user experience and some computers simply won’t be ready for upgrading. Since Windows 8 has full support for the desktop, at least for me personally I can see some real opportunities for build Win32 (desktop) apps for the next few years. First you have a larger user base, from Windows XP to Windows 8. Apps can be written to take advantage of touch as well as work well with the mouse. One downside I see though is that Aero is suppose to be removed from the release version of Windows 8. The Release Preview does not provide us with the true experience of Windows 8. What will desktop apps look like on the final version of Windows 8 ? We will have to wait and see.
I am excited though about the coming update to EZGUI 5.0 , which will be EZGUI 5.1 (free to all 5.0 users). I am working on adding support for touch and a few other things that will benefit PowerBasic users when building apps for Windows 8. Even in its current state, EZGUI has a number of advantages for use in building Windows 8 (desktop) applications.
First, because the desktop will change drastically in the final release version of Windows 8, programmers will have a bit less control of how their apps will look. Some may not appreciate the forced flat Metro style look it will have for desktop apps. Fortunately, Windows (since Win95) has had the ability to customize the look and feel of controls. This feature is called OwnerDraw (and also CustomDraw). EZGUI has long supported OwnerDraw and has many features built in so you can customize your applications forms and controls far beyond the normal features of these UI elements. For example, you won’t be stuck with everything being flat, when using ownerdraw. EZGUI easily can display 3D Buttons and customize menus and controls like the tab control, listview, listbox, combobox and label controls. You also have more control of colors and fonts for the toolbar, treeview and listview controls using customdraw.
EZGUI 5.0 also has a powerful graphic engine and graphics will be important for building the kind of quality applications one may expect for Windows 8. EZGUI 5.0 has its own Canvas control and an opengl based 3D graphic control. The nice thing about using something like EZGUI 5.0 (and PowerBasic) is that the applications you create can run on Windows XP to Windows 8 (actually even Win95/98/ME too). You can build apps which blend well with the Metro style, but not be limited by the forced Windows 8 Metro look for the desktop, while still being able to write apps which will run on the entire Windows user base (XP to 8) you may desire. Also unlike many of the current applications, creating using dot.net, EZGUI 5.0/PowerBasic applications run very fast and have a very, very small footprint (memory and diskspace for app) so they will run just as well on an old Windows XP computer with only 256 meg ram as it will on Windows 8 computers. You won’t limited even on older Windows tablet computers, no matter the resolution they are. This means you can write apps which will run well on old Windows XP tablets and the new Windows 8 tablets.
A small footprint is also vital so businesses can opt for the low cost Windows 8 (x86) tablets, rather than the more expensive models many manufacturers will bring to market. Much of the coming Windows 8 software will likely require the more expensive dual and quad core CPU’s to get the “fast and fluid” experience end users desire, while EZGUI 5.0 and Powerbasic will be able to be used to build applications which run very well even on tablets (and desktops) which have only single core CPU’s (plus the many single core Atom CPU’s available today).
While Metro may have some advantages, at least for the next few years I can see how well written desktop applications may actually be more practical. Imagine being a business and while the other companies are forced to buy all new Windows 8 tablets, just to run the software they create, by using EZGUI 5.0 and PowerBasic you can build applications which can span many of the current tablets you have, many older desktop PC’s and the less expensive choices of coming Windows 8 tablets. Imagine how much money that can save.
Imagine building applications which can look just as good on a multi-monitor desktop as they do on a tablet. Write applications so they can take advantage of what ever computer they are running on. With EZGUI 5.0 ( http://cwsof.com ) and PowerBasic ( http://powerbasic.com ) you can do just that.