Wednesday, 22 of February of 2012

Businesses, should you upgrade to Windows 8 ?

From small businesses to large corporations, the question many may be asking is should we upgrade to Windows 8 when it becomes available, possibly this year ?

An additional question many may ask, would upgrading to Windows 8 enmass make sense financially ?

Evaluate how you use your computers ?

The first step is to evaluate how you use your computers today. It is best to divide your computers into two groups, (1) those which require internet access and (2) those which do not require internet access.

Starting with those which do not require internet access, next consider the software you use on them. Do you write your own inhouse software ? If so, you can easily extend the lifespan of these computers far beyond the normal lifespan of computers. As long as the computers are not exposed to the threats from internet connections (or end users installing bad software), they should be relatively safe to use for a long time. If they are connected to a network, it should only be an inhouse network which again is not exposed to outside dangers via the internet. I have found that just because it is easy to connect to the internet, this does not mean that you should have all your computers connected. You can significantly extend the lifespan of many of your computers, simply by controlling how they are used. Even computers with Windows XP can still have a long life span yet, if used properly.

Windows XP still tends to be the bottom minimum specification for even a lot of mass market software, so if you are sure the software you purchase is safe to use and it can still run on Windows XP, then there is no reason you can not continue to extend the lifespan of these computers. So whether you have Windows Vista or XP, try to find ways to keep these computers running as long as possible.

The computers which will be exposed to the internet or networks which can not be guaranteed 100% secure, really should have been upgraded to Windows 7 by now. We are getting near to the end of the Windows 7 retail life cycle (meaning once Windows 8 is released it will get progressively harder and harder to get copies of Windows 7). If a computer is running Windows Vista, but is not equipped to run Windows 7, then you can continue to use it as long as your security software can be updated. You have to weight the costs of upgrading it to Windows 7, versus using it just a few more years and then spending the saved money on a new computer with Windows 8.

Define a downgrade path for all your computers.

Computers can be used far longer than the industry may suggest, but the key is to define a downgrade path for your computers. Especially if your business has many computers, then defining this downgrade path can be vital to spending your money wisely. As already explained, your computers should be divided into two groups and those which are getting older and possibly are not worth upgrading, should be downgraded into the group which do not require security measures, like those which are connected to the internet or a network which can not be guaranteed secure. For example, say you have an excellent CAD application which you can see being used for many more years. There is no reason the computer can’t be turned into a standalone unit and used only for CAD drawing. With the advent of inexpensive USB flash drives it is easy to move data from such computers to others safely. When moving data from connected computers to standalone units, the USB drives can be scanned for viruses on the connected computer. There is no reason why older computers can not be used as standalone word processors, CAD systems or be connected to manufacturing machines.

Another trick, which I like to use, which can decrease costs is to reuse quality monitors and keyboards via KVM devices (keyboard, video, mouse splitters). Rather than purchase a full new computer system when Windows 8 is released, you can just purchase the computer without a mouse, keyboard or monitor. Then using a KVM switchbox, connect your older computer and your new Windows 8 computer so they share your keyboard, mouse and monitor. If the older computer (ie. XP) is no longer secure, you can disconnect it from any networks or the internet. Your older computer can be used to extend the life of software which does not run well on Windows 8 and you can easily switch between the two computers. The money saved by reusing the monitor, keyboard and mouse is better spent on buying a better Windows 8 PC and you still have a purpose for your older computer.

Since monitors, keyboards and mice have a much longer life span (usability) than the computers do, in your downgrade path plan, you don’t have to move them with the computers. Computers which are downgraded, can be moved to another office or department and can use an older monitor or keyboard already there. Even very old CRT monitors can still be used on the bottom rungs of the downgrade path.

Buying a new PC is less of a hassle than upgrading.

If a computer has even a few years on it, I have found that it is often better to simply buy a new computer rather than to upgrade an older one. Even if you have computers with Windows 7 on them and they are say two years old when Windows 8 is released, sometimes it may be better to just buy a new PC with Windows 8 installed than to upgrade. The differences in the hardware such as CPU’s, memory speeds, etc. which occur in just a few years can make a big difference when using a new operating system. If you have a well designed downgrade path defined, those Windows 7 computers can still have a long life. Unlike gamers who may buy high end computers or build their own, businesses often have mass market or mid-level computers, so there may be big differences between a new computer and one which is two or three years old. Buying a new PC with Windows 8 may just make sense then.

Avoid upgrading enmass!

By defining a consistant and reasonable downgrade path for your companies computers, you can still be current when it makes a difference and not have to wait. The sooner you get started in working with the latest operating system, the better equipped you will be to know when you need to upgrade (or buy new) to Windows 8. The first step is to evaluate where a few new Windows 8 computers (or tablets) could have significant benefits to your business. Maybe some sales people would benefit from getting new a Windows 8 ultrabook. It would be worth experimenting to see if Windows 8 tablets could be useful for specific situations. The key is to not simply upgrade enmass just because Windows 8 is new and exciting and the latest operating system. By taking it in steps, you can progressively downgrade your current PC’s so they are still useful and then where there is a need at the top tier, add new Windows 8 computers. This will allow a small percentage of your companies employees to experience Windows 8 and this will provide better feedback of when and where moving to Windows 8 may make sense.

Where Windows 8 and Metro may shine.

Personally I see Windows 8 becoming useful in two areas. One is with Tablet PC’s. If you have plans to start adding some tablet PC’s to the business, then Windows 8 may be your best choice. I have a Windows 7 tablet, also with Windows 8 Preview installed and I prefer Windows 8 more. It can do everything Windows 7 can, but the touch interface is much better, especially the on screen keyboard. If you want to start adding Windows tablets to your business now, then I suggest making sure the tablet will be well suited to upgrading to Windows 8, which definitely will be worth it. A screen size of 1366 x 768 or better is preferable and a decent size SSD would be good. If you can find a tablet with a dual core CPU, that will be a plus. If you choose correctly, you don’t have to wait until Windows 8 is released to purchase a tablet PC. Prices right now are dropping for Windows 7 tablets so if you find a great deal now, then it would be worth purchasing the Windows 7 tablet now and then later upgrade to Windows 8. For example, I recently found a deal for an ExoPC , which is well suited for Windows 8, with Windows 7 installed which had a normal retail price of $699, but was on sale at the Microsoft Store for only $399. One could purchase a tablet like that now and later upgrade to Windows for less than the normal full retail price of the tablet. So as we get closer and closer to Windows 8 being released, keep your eye out for some deals on Windows 7 tablets and don’t be afraid to purchase one, because prices should continue to drop to more reasonable prices.

Windows 8 and touch is not just good for tablets. If you can find a good deal on a touch enabled monitor now for use with Windows 7, you may find it beneficial to upgrade a desktop to Windows 8 when it is available, but buy a touch monitor now. Touch is not useful for everything and for some it may not make sense, but for some situations a large touch enabled monitor can provide some benefical use, especially if you create inhouse software, where you can find some uses for it. For example a sale staff, my find a large touch monitor useful for colloboration, if mounted to the wall so all can work with it. Be creative and if it can improve productivity, then consider a touch monitor, the larger the better. You will get good results with Windows 7 and when you are ready even better from Windows 8 when you upgrade.

So when it comes to touch, whether tablets or large size touch enabled monitors, Windows 8 very likely will be a good choice for upgrades. Since a decent Windows 7 desktop computer or tablet should be able to run Windows 8, it may be worth simply upgrading to Windows 8 when it is released.

The key to upgrading.

So the key to upgrading is to have a well defined downgrade path as described above so you can progressively introduce a new generation of computers slowly, while still making good use of your older computers. Simply put, don’t waste anything. A computer should only be pulled out of use when there is absolutely no use left for it anymore. I work with Windows 8 (Preview Build), Windows 7, Windows Vista and also Windows XP. Windows XP (service pack 3) is still my primary workhorse computer. I even have a Windows 95 computer, which is still useful to run older software, which is still useful. Businesses don’t need to jump of a cliff like a bunch lemings when Windows 8 is released by upgrading enmass. Do it progressively with a well thought out downgrade plan, so all the new Windows 8 PC’s (or upgrades) you purchase are put to good use getting the most out of the new operating system, while you make sure older computers continue to be used as long as possible. If you save money by not upgrading a number of computers where it makes little sense, some of the money saved can be used to purchase a few new Windows 8 computers for use in areas where it really may make a difference. By not upgrading enmass and keeping your Windows XP, Vista and 7 computers useful, you will have more free cash to spend on totally new things like Tablet PC’s or Touch enabled desktops running Windows 8 and likely better quality ones. Especially with Tablet PC’s, better quality CPU’s and graphics could make a big difference, so spend your money wisely. Put it to use where it would make the biggest difference. If you hold on to a few XP computers a little longer and for example spend the money on a better Windows 8 tablet, you may find the tablet experience far more beneficial in the long run.

 

 


Leave a comment

PowerBasic – why ?

Some may wonder, why do I use Powerbasic ?

There are a lot of Basic compilers available on the internet developed by independent developers or small companies, but none have ever come close to what I get from Powerbasic. I have looked into FreeBasic, PureBasic, XBasic, RealBasic, IBasic, CreativeBasic and others, but none have come close to what I get from Powerbasic. So what is the difference ?

Many of such Basic compilers are geared towards DirectX and building games.  The code editors are not always that great, but they may excel in the area of DirectX graphics or possibly 3D. I am not that interested in DirectX or game develop so they don’t fit my criteria. Most of the software I have ever written was for businesses and so the Windows Desktop experience is was is critical. Also I need a decent code editor. The Powerbasic code editor is very good in my opinion. It is not fancy, but it works and works well, since I tend to be a fast coder. When I get in my full programming mode, I can churn out code at a fast rate, so I need a code editor which can keep up. I don’t want a code editor (like some game Basics) which has weird colors or works in directx mode. I want a good old Windows UI code editor and Powerbasic does the job.

Next, the language is critical. I have been programming in basic for a couple decades now and I need  Basic language which fully supports the syntax I am familiar with. In the DOS days I worked with QBasic, QuickBasic and PDS 7.1 and that I consider the standard of the Basic syntax. I don’t want a Basic compiler which was developed by a C programmer. When I see long time Basic syntax changed to suit the compiler developer, rather than stick with the long time standard, that turns me off. PowerBasic is one of the few Basic compilers today, which allows me to write code like I always have, while still offering me more modern contructs not found in older Basics. For example I prefer to use data type identifiers with variable names (ie. MyVar&) because it makes variables stand out from the rest of the code. Now Powerbasic allows me to do this and it also supports the more modern syntax of using the AS DateType syntax. I want to be able to use commands like GOTO, GOSUB and ON GOSUB. I also want a Basic which gives me newer stuff which was not in older Basics. Things like code pointers, data pointers, calling functions via pointers, etc. Powerbasic has these in abundance.

The most important aspect of any Basic compiler is the variable length string data type. Some Basics emulate the string data type using C’s Asciiz type. Basic strings need to be able to store anything, include the null character (CHR$(0)), so that does not work. Powerbasic, very smartly uses the Windows OLE string API’s internally to handle variable length strings, so you get real variable length strings which can hold anything in them at any length. I can even store a structure  (TYPE) data type within a variable length string variable, using pointers. Powerbasic has such a  rich set of data types that it really can handle almost anything.

While I don’t use any OOP or COM, PowerBasic does support both in case I find a need for it someday. This may be more important to others though and so it is vital that a compiler support them as Powerbasic does so well. For newer programmers PowerBasic supports its own GUI command set, which is rudimentary, but it gets the job done. I don’t use Powerbasics GUI command set (called DDT) at, since I work with the Windows API directly and my own GUI engine is far superior to what is in the PowerBasic language. While that may sound like Powerbasic is lacking, actually it is not, since remember that my own GUI engine (EZGUI 5.0) was built using PowerBasic. That is the beauty of PowerBasic. Combined with the Windows API, if PowerBasic does not have something, often you can create it yourself using PowerBasic.

Now where PowerBasic really gets exciting is when it comes to execution speed and the size of compiled apps or dlls. The only way I could write faster applications would be if I wrote them in assembler and guess what, PowerBasic supports inline assembly code. This means that a programmer that knows assembler, can write the fastest apps possible using Powerbasic. Use Basic when speed is not critical and assembler when it is. Now I don’t use assembler currently (been a long time since I did assembler and that was for the old DOS model), but it is good to know that it is there if I ever need it. I have found that the Powerbasic execution speed is so good that I don’t really have any need for assembler. Even my proprietary 2D sprite engine is written in normal Basic and not assembler and I get very good execution speed from it. When it comes to the size of EXE or DLL’s it creates, you would be hardpressed to fine anything which does better. Sure you might be able to create a tiny EXE smaller with another compiler like Freebasic or some other, but often such apps aren’t real world code. Powerbasics language is so rich, especially when it comes to string functions, that when you write a full blown application you likely will be able to produce compiled apps that are possibly the smallest around. How do I know ?

Because thats what I have produced using Powerbasic. My own EZGUI GUI engine is amazingly small in size for the features it supports. I like to use Visual Basic 5.0/6.0 as a comparison. The VB runtime is 1.4 meg in size,  but that does not even support much of the UI features you require for most applications. With VB you will require additional OCX controls for things like the common controls, the common dialogs, etc. Once you add up all the extra OCX controls you start getting runtimes which are 3 or 4 megabytes in size. When you look at the C++ runtimes for the C++ language they can add up and don’t get me started about the dot.net framework and is size. Yet, EZGUI 5.0 which was created using Powerbasic 9.0, has a complete GUI engine, drag and drop engine (build your own WYSIWYG style apps like a Designer), graphics engine, the common controls, richedit control, HTML help display, multiple custom controls (MCI, Turtle Graphics, Masked Edit, Drag Handle, Shape/Hotspot/Splitterbar, Files Listbox, Property Listbox) plus a Canvas control with a 2D proprietary Sprite engine and a 3D glCanvas control with a proprietary OpenGL based 3D scripting language and much more and it all weighs in at about 1 megabyte in size. I give all the credit for this to the PowerBasic compiler. I could have never created anything like this using Visual Basic and I am not a C programmer so that wouldn’t do either.

Now the one thing, which is easily overlooked, is the reliability of the compiler and the executables it generates. PowerBasic has proven itself extremely reliable in my opinion and I have been using it for about 10 years now and I have a number of customers who use my GUI engine and Powerbasic together to build commercial applications who also have found both to be very reliable. Do not underestimate the important to a quality compiler which produces rock solid executables. If there was one thing which I considered the most important about a programming language (compiler) it is this. Reliability and stability are an absolute must and personally I feel Powerbasic is at the top of the heap when it comes to this. At least in my use it has proven itself.

Lastly, the Powerbasic command set is very rich compared to others. Now I am not refering to a bunch of prewritten classes or objects some languages may use, but I am refering to the native commands of the language. Powerbasic likely has one of the most powerful string command sets I have seen. The one thing I like about Powerbasic is that there is often more than one way to accomplish the same thing. Maybe you don’t like how a native string command may work, so you can create your own version using pointers or even inline assembler. Often there is more than one way to accomplish the same thing.

Now when it comes to building user interfaces, the beauty of Powerbasic is that you can handle this in a number of different ways. Powerbasic has its own DDT command set, which while somewhat limited, is powerful enough for most needs and they provide a optional Visual Designer called PBForms for generating the code for you. The beauty of DDT is that is produces very, very small executables. There is very little overhead with DDT, so if you want a nice UI and a tiny compiled EXE with no runtime dependencies, then DDT may suffice for most users. Then there is the FireFly Visual Designer, which caters to those who want to also write small apps with no dependencies (other than the operating system of course), but instead using the pure Windows API in a Visual Designer similiar to VisualBasic. FireFly (see:  http://planetsquires.com ) is an excellent third party development tool for a very reasonable price. If you want a Visual Basic like experience, then FireFly may give you want you desire. Powerbasic has a done a good job of encouraging third party developers and there are some excellent third party tools for use with Powerbasic and most of them are also likely written in PowerBasic as well.  If you want advanced graphics then check out GDImage from ZapSolution (see:  http://zapsolution.com/ ).  An excellent Grid control for use with Powerbasic My Little Grid (MLG can be found at same site as FireFly developer) and also EGrid  and SIGrid (see Powerbasic website for links).

Lastly, the PowerBasic peer to peer forums are probably one of the best programming forums around. The forum is moderated and members must use their real names (tends to encourage a more professional attitude from members). There are many very experienced and excellent programmers who visit these forums and they are all Powerbasic programmers.  There is even a third party forum which is moderated and attended by some of the “cream of the crop” Powerbasic programmers (see:   http://www.jose.it-berater.org/smfforum/index.php ) . Some very advanced stuff is often discussed on that forum.

If you haven’t checked out Powerbasic yet, you really should. It is a professional level BASIC language compiler for a reasonable price. They even have a less expensive Classic version perfect for hobby programmers, which is actually just a previous version of there current compiler.

Now I should also mention my own web site and its online forums for EZGUI users. Powerbasic is great, but when combined with my own EZGUI 5.0 Professional GUI engine you can do some amazing things. It makes 2D and 3D animation easy and it provides you with a rich UI command set, which does things even many experienced Windows API programmers would find difficult to do. EZGUI even has its own drag and drop Visual Designer for code generation, which uses a unique “Smart Parser” technology to integrate the Powerbasic IDE (code Editor) with itself. My Visual Designer is itself an EZGUI aplication which uses the EZGUI framework.

Some of my customers are producing some very exciting commercial applications with EZGUI and all created using the Powerbasic compiler.

 


Leave a comment

Another great deal on a Windows 7 Tablet PC !

The Microsoft store really has some good deals and for just a few days they have very good price on an Acer Iconia W500 Tablet PC with Windows 7.

Check it out here:

http://www.microsoftstore.com/store/msstore/en_US/pd/productID.228343600/parentCategoryID.44066900/categoryID.54536100/list.true

For only $399 you get a 10 inch screen, dual core (AMD C-50) CPU, ATI Radeon HD 6250 graphics and a 32 gig SSD all with Windows 7.

The AMD APU (CPU and GPU) on this gets very good benchmark results. The CPU is dual core and rates better than a dual core Atom CPU (ie. N550) and the graphics part is super fast compared to an Intel GPU found on many Windows tablets. If I had not already purchased my ExoPC, I might have opted for this tablet.

If you are looking for a Windows tablet check it out. The sale appears to end on 2/20/2012 so act quikcly if you are interested.

 Note: Sale ended quickly and now is out of stock.

The ExoPC is back again at the Microsoft Store and on sale. Not as good as well I found it the first time, but still not bad at $549.

http://www.microsoftstore.com/store/msstore/en_US/pd/productID.224518200?siteID=SRi0yYDlqd0-VF56xFWFnT7pYUi1oYaTNg


Leave a comment