Windows tablets and the enterprise, what’s the problem?

| April 8, 2012 | 0 Comments

I own repeatedly read how Windows 7 is not well-suited to feel, which is the reason some nation are waiting for Windows 8 before buying a tablet. Microsoft’s breach is Metro — the next generation flavor interface for Windows. Yes, Metro is emotion friendly, but is it really the rejoin to the enterprise when it comes to Windows tablets?

Windows 7 is not somewhat less suited to touch and a small table PC than Windows 8. Sure Windows 8 does bid a few perks that make play better as far as the operating theory is concerned, such a better attached-screen keyboard. But as far in the manner that applications a business may want to design themselves specific to tablets, I don’t perceive any advantage Windows 8 has athwart Windows 7.

Actually Windows 7 already has the key features necessary to impliment gentry touch applications. It supports the WM_TOUCH and WM_GESTURE messages (that is how WIN32 handles touch). Two-dot touch is sufficient for most touch applications, thus today’s Windows 7 tablets are completely viable since business use right now.

Metro and Touch Targets Consumers

Maybe I am biased, end I find the Windows desktop less ill suited to business applications than Metro. Yes, Metro does be delivered of some exciting features, such as Contracts (a route of sharing between applications), but this does not ordinary it is significantly better than the desktop with a view to business apps.

Metro has its origins, not from computers, no more than from a phone user interface. Yes, the earth is saturated with smartphones today, in the same manner some people think that a Windows pocket memorandum-book should act more like a smartphone than a computer. But on the side of a moment, consider this: Windows 8 Consumer Preview has a amount to of apps you can download from the Microsoft app furnish, such as games, entertainment, weather apps, etc. Have you seen any serious business apps included in the Windows Store?

I hold Microsoft could make a big sensation on its business customers by including even-handed one serious business program as a Metro app. The next generation of Office will still subsist a desktop style application. What one impression they could have made it they had included fit one part of Office as a Metro app, excepting it hasn’t happened yet. Office 15 pleasure come with Windows on ARM devices. Microsoft has insinuated notwithstanding free but hasn’t explicitly said so.

My impression right now is that Metro targets consumers. Consumers defectiveness simple and easy touch UIs that allow them browse the web, send email, know fully books and so forth. Businesses yet are different. A tablet needs to exist a tool, not a toy or a bewilderment. This does not mean that Metro can’t handle a real world traffic application. But what makes Metro at alldegree better suited to business applications than the Windows desktop?

The Problem Is With Software

(This is to which place I will diverge from the mainstream viewpoint, in like manner maybe you ought to sit into a denser consistence (if not already) before you read further.)

I have been working through the Windows API (WIN32) for meanly 10 years now, so I plan that I can reasonably grasp to what extent Windows works under the hood. I design tools during programmers and not for consumers and comprehend the challenges developers face in writing software. I am not your representative “bleeding edge” style programmer, who is through all ages. designing for the next generation computers, no more than rather one who recognizes the want to write software that runs well not only so on the typical low-cost, mass-emporium computer and even older legacy computers.

Maybe for the cause that my experience dates back to the mean days when computers were very limited in power (can you say “floppy disk”?) and a programmer had to catch ways to get the most out of minimal hardware, my viewpoints are not the same; I am not alone.

No substance the reasons why, more of the enigma with Windows tablets and touch has to carry on with how software is developed, rather than it being a problem through the current Windows tablets running Windows 7. I dress in’t feel that Windows 8 deals by this problem any better than does Windows 7, thus things won’t get any more completely when Windows 8 is available. The UI (Metro) may subsist different, but the root cause direct still be there.

To start by, the majority of our software today is developed using Microsoft’s confess programming tools. I won’t utter they are bad; lots of station software is built using them. But for example a programmer who works with non-Microsoft programming tools, I be possible to honestly say this: One of the conditions common programmers, especially those who don’t use MS development tools, is “bloated”. What does a programmer average when he or she says that? It expedient the software uses too much of a computer’s pecuniary means, such as the CPU, GPU, recollection and disk drive space.

If you can write an application that is moiety the size, uses half the memorial and runs twices as fast, won’t you have a more “fast and fluid” actual trial from it?

Rather than deal by this inherent problem, Microsoft programmming languages in new years have added a feature they experience will compensate, called “asynchronous” to manifold of its languages; so when one application makes a call to every objects method that is asynchronous, it returns directly no matter how long it takes with regard to the code to execute. Metro applications determination use this technique even more.

I abhor to burst anyone’s bubble, yet asynchronous code does not speed things up forward a computer, but actually slows it on the ground. Why? Because, at its core this barely means you are using threads to get multiple blocks of code run at the identical time. Guess what? Threads have above (called a “context switch”), which positively puts a greater load on a CPU and not smaller quantity. This is why long-time WIN32 programmers wish learned to use threads very carefully and excepting that when they really would make a falling out (ie. reading external data input).

If you consider questionable this then read a book written through . somebody who knows: Multithreading Applications in Win32: The perfect guide to threads by Jim Beveridge and Robert Wiener and published through . Addison Wesley Developers Press.

Root Cause — How Software Is Developed?

Another intellect for bloated software today is to be expected something most programmers don’t defectiveness to admit: Over-reliance on OOP (Objected Oriented Programming). This is something the majorship of programmers would disagree with me attached, but there is good reason to put faith in that Object Oriented Programming has not solitary increased the bloat in software today, still it may even decrease productivity in software unfolding.

Metro and WinRT are highly at the disposal of upon OOP, particularly COM (which is in fact a form of OOP when you consider about). Microsoft programming languages are so object oriented today that I withhold judgment many Windows programmers would even understand how to write a Windows solicitation without using any OOP at every part of.

The core Windows API, on the other part, is basically a flat API (more more recent additions though do exercise COM). Now as far as 3D graphics are concerned, undivided of the reasons I chose OpenGL transversely DirectX is because it too is a insipid API requiring less dependence upon COM and OOP.

Richard Mansfield wrote an excellent article about why OOP is not the cure-all many think it is. He had more valid points. If you don’t be sure who Richard Mansfield is, then you credible are a lot younger than me. He was the annotator of Compute magazine back in the `80s, and anyone who through all ages learned how to program the Commodore 64 definitely knows who he is. His volume on 6502 machine language was in the way that well-written it taught me well enough in this way I could write my own compiler on account of the C64. Obviously then, there are some experienced programmers who feel that a in greater numbers procedural style of coding can be the subject of benefits over OOP, so it’s not regular me who feels this way.

If the principles of chirography efficient software we learned years past were implimented when writing software by reason of today’s Windows tablet computers, I reckon “fast and fluid” would definitely be the norm. One of the things us mean-time programmers may appreciate is the momentousness of using compilers that generate fasting, small and efficient machine code.

Today, surprisingly, great number programming languages are going the course of being interpreted rather than producing immaculate machine code. Sure pure machine code is not cross platform, but granting that you are writing software only in quest of x86 Windows, that is not every issue. If you want “fast and liquid” nothing beats fast machine code. Even compiled languages are in such a manner bloated today, that you really don’t get the full benefit from them.

Today, Intel Atom CPU’s are regularly criticised in the manner that being too slow, lacking power. Windows tablets (the moderately priced ones) usually come with some Atom CPU. But it is programmers who are greatest number likely to make this criticism. Why? Because their software runs moreover slow on these CPUs. But the point in dispute is not the CPUs, but the software. A well-written WIN32 applying can run very fast even attached the Atom CPU.

Is WIN32 Really That Powerful For Tablet Software Development?

Despite those who like to pertain to the Windows API (WIN32) in the same proportion that ancient, and lacking power, and those who would subsist lost without so called modern OOP, in that place are those who can (and answer) write Windows software using non-Microsoft languages, independently of OOP and using the pure Windows API. Guess the kind of? The software they write is a great quantity smaller, faster and less bloated than chiefly software today.

Don’t appreciate this? Check out this developer’s website and download his amazing program called Toolbar Paint. Its a chief toolbar bitmap editor, which was surprisingly written using assembler.

Toolbar Paint is barely 56 KB (yes, kilobytes) in size! When was the last time you used a Windows persistency which is only 56 KB?

The programming circles I deal by most use a much higher flush language than assembler, but yet they too are building applications that size in the kilobytes, more than in megabytes. Such small-dimensions applications are what Windows tablets lack today. All one has to do is add touch to such applications and design the user interface through slightly larger UI elements — and a little while ago you have well-written, resource irradiate, application that will run great without ceasing today’s generation of Windows 7 small table PCs and even tomorrow’s Windows 8 PCs (attached the desktop).

Maybe it is by what mode we write software that needs to vary, if we want to use troche computers in the enterprise.

Chris Boss is each advanced Windows API programmer and developer of 10 year-ancient EZGUI, which is now version 5. He owns The Computer Workshop, which opened for businesses in the tardy 1980s. He originally developed custom software during the term of local businesses. Now he develops programming tools during use with the PowerBasic compiler.
Source