Category Archives: software

Something Microsoft has never fixed: why Windows is slow to start up

One of the most common complaints I hear about Windows is that it is slow to start up. Everything is fine when a machine is new (especially if it is a clean install or purchased from a Microsoft store, and therefore free from foistware), but as time goes on it gets slower and slower. Even a fast PC with lots of RAM does not fix it. Slow boot is one of many factors behind the drift away from PCs to tablets, and to some extent Macs.

image

As far as I can tell, the main reason PCs become slow to start is one that has been around since DOS days. Some may recall fussing about TSR – Terminate and Stay Resident – applications that would run at startup and stay in memory, possibly causing other applications to fail. Windows today is generally stable, but it is applications that run at startup that cause your PC to start slowly, as well as having some impact on performance later.

I install lots of software for testing so I suffer from this myself. This morning I took a look at what is slowing down my desktop PC. You can view them easily in Windows 8, in Task Manager – Startup tab. A few of the culprits:

  • Adobe: too much stuff, including Service Manager for Creative Suite, Creative Cloud connection, Acrobat utilities
  • Intel Desktop utilities – monitors motherboard sensors
  • Intel Rapid Storage Technology – monitors on-board RAID
  • Sync applications including SkyDrive, Dropbox, SkyDrive Pro (Groove.exe)
  • Seagate Desktop, manage your Seagate NAS (network attached storage)
  • Google stuff: Google Music Manager, Google update, some Chrome updater
  • Plantronics headset updater
  • Realtek HD Audio Manager
  • Fitbit Connect client
  • SpotifyWebHelper
  • Microsoft Zune auto-launcher
  • Microsoft Lync, famously slow to start up and connect
  • Roccat Gaming mouse settings manager
  • Flexera “Common software manager” (InstallShield updater)

Many of these applications run in order to install a notification app – these are the things that run at bottom right, in the notification area of the taskbar. Some apps install their own schedulers, like the Seagate app which lets you schedule backup tasks. Some apps are there simply to check for updates and inform you of new versions.

You can speed up Windows startup by going through case by case and disabling startup items that you do not need. Here is a useful guide. It is an unsatisfactory business though. Users have no easy way to judge whether or not a specific app is doing an important or useful task. You might break something. When you next update the application, the startup app may reappear. It is a mess.

Microsoft should have addressed this problem aggressively, years ago. It did put great effort into making Windows boot faster, but never focussed on the harder task of bringing third-parties into line. A few points:

  • If Windows had a proper notification service, many of these apps would not need to exist. In Windows 8, it does, but that is little help since most applications need to support Windows 7 and even in many cases Windows XP.
  • The notification area should be reserved for high priority applications that need to make users aware of their status at all times. The network connection icon is a good case. Printer ink levels are a bad case, aside from reminding us of the iniquity of printer vendors selling tiny ink cartridges at profiteering prices. In all cases it should be easy to stop the notification app from running via a right-click preference. The Windows 7 idea of hiding the notification icons is counter-productive: it disguises the problem but does not fix it, therefore making it worse. I always set Windows to show all notifications.
  • Many tasks should be done on application startup, not on Windows startup. Then it is under the user’s control, and if the user never or rarely runs the application, no resources are grabbed. Why do I need to know about an update, if I am not running the application? Have the application check for updates each time it runs instead.
  • It is misguided to run a process on start-up in order to speed up the first launch of the application. It may not be needed.
  • If a background process is needed, such as for synchronisation services, why not use a Windows Service, which is designed for this?
  • Windows has a scheduler built in. It works. Why write your own?

Of course it is too late now for desktop Windows. Microsoft did rethink the matter for the “Metro” personality in Windows 8, which is one reason why Windows RT is such a pleasure to use. Apple does not allow apps to run on startup in iOS, though you can have apps respond to push notifications, and that strikes me as the best approach.

Update: I should mention a feature of Windows 8 called Fast Boot (I was reminded of this by a commenter – thanks Danny). Fast Boot does a hybrid shutdown and hibernation:

Essentially a Windows 8 shutdown consists of logging off all users and then hibernating.

This is almost another subject, though relevant. Microsoft has for years sought to address the problem of slow boot by designing Windows never to switch off. There are two basic approaches:

Sleep: the computer is still on, applications are in memory, but in a low power state with screen and hard drives off.

Hibernation: the computer writes the contents of its memory to disk storage, then powers off. On startup, it reads back the memory and resumes.

My own experience is that Sleep does not work reliably long-term. It sometimes works, but sooner or later it will fail to resume and you may lose data. Another issue on portables is that the “low-power state” is not as low power as it should be, and your battery drains. These factors have persuaded me to shut down rather than sleep.

My experience of hibernation is better, though not perfect. It usually works, but occasionally fails and again you lose data.

Fast boot is a clever solution that works for some, but it is a workaround that does not address the real issue which I have outlined above: third-party and Microsoft applications that insist on automatic start-up.

Do you miss manuals? Why and why not …

It’s that time of year. I keep more than I should, but now and again you have to clear things out. I don’t promise to dispose of all of these though: they remind me of another era, when software came in huge boxes packed with books.

image

If you purchased Microsoft Office, for example, you would get a guide describing every feature, as well as an Excel formula reference, a Visual Basic reference and so on.

If you purchased a development tool, you would get a complete language reference plus a guide to the IDE plus a developer guide.

The books that got most use in my experience were the references – convenient to work on a screen while using a book as reference, especially in the days before multiple displays – and the developer guides. You did not have to go the way the programmer’s guide suggested, but it did give you a clue about how the creators of the language or tool intended that it should be used.

Quality varied of course, but in Microsoft’s case the standard was high. When something new arrived, you could learn a lot by sitting down with just the books for a few hours.

What happened to manuals? Cost was one consideration, especially as many were never opened, being duplicates of what you had already. Obsolescence went deeper than that though. Manuals were always out of date before they printed, especially when update distribution was a download rather than a disk sent out by support (which means from the nineties onward).

Even without the internet, manuals would have died. Online help is cheaper to distribute and integrates with software – press F1 for help.

Then add the power of the web. Today’s references are online and have user comments. Further, the web is a vast knowledgebase which, while not wholly reliable, is far more productive than leafing through pages and pages trying to find the solution to some problem that might not even be referenced. In many cases you could post a question to StackOverflow and get an answer more quickly.

Software has bloated too. I am not sure what a full printed documentation set for Visual Studio 2013 would look like, but it would likely fill a bookshelf if not a room.

When software companies stopped sending out printed manuals, the same books were produced as online (that is, local, but disk-based) help. Then as the web took over more help went to the web, and F1 would either open the web browser or use a help viewer that displayed web content. There are still options for downloading help locally in many development tools.

Nothing to miss then? I am not so sure. It strikes me that the requirement to deliver comprehensive documentation was a valuable discipline. I wonder how many bugs were fixed because the documentation team raised a query about something that did not seem to work right or make sense?

Another inevitable problem is that since documentation no longer has to be in the box (or in the download), some software is delivered without adequate documentation. You are meant to figure it out via videos, blog posts, online forums, searches and questions.

A good documentation team takes the side of the user – whether end user, developer, or system administrator, depending on context. They write the guide by trying things out, and goad the internal developers to supply the information on what does and does not work as necessary. That can still happen today; but without the constraint of having to get books prepared it often does not.

Bing Maps app on Windows 8: rubbish compared to Bing Maps on the web

I have been looking at the Bing Maps app on Windows 8 and 8.1 (it is the same).

It is surprising how poor it is. The web version is better, which is odd because you would have thought they used the same data.

Here is what I get from the app if I search for public transport between Derby and Birmingham (on a direct rail route):

image

Bing Maps on the web has no problem with this:

image

Here is another random example. Bing maps app cannot find Dubrovnik airport. A search only finds Dubrovnik.

image

Oddly, if you know where the airport is, it is in fact marked on the map.

image

Web app: no problem:

image

If Microsoft wants Windows 8 tablets to succeed, glaring problems like this need fixing. Before the release of Windows 8.1 later this year.

Adobe Creative Cloud giveaway at Microsoft Build: sign of a new alliance?

At Microsoft’s Build conference last week, one among a number of giveaways to all attendees was a year’s subscription to Adobe’s Creative Cloud. This was announced by Developer and Platform Evangelism VP Steven Guggenheimer during the day 2 keynote.

image

Creative Cloud costs $49.99 (or £39 + VAT) per month for an individual subscription.

Guggenheimer in effect said that the gift came from Adobe; he suggested that “you guys should send them a nice email”.

The stated purpose of the giveaway is to promote the Digital Publishing Suite (DPS). Creative Cloud comes with DPS Single Edition, which lets you create rich, interactive magazine content and publish it to the iPad and Android. Announced at Build was DPS support for Windows 8.1 in “late 2013”; a sign if nothing else that Adobe is taking Microsoft’s tablet platform seriously.

The odd aspect though is that Build is a developer conference and not quite the right target audience for DPS. On the other hand, there are numerous tools in Creative Cloud that are well suited to developers, including the Edge web content tools, PhoneGap Build, and of course the mighty Photoshop for image editing.

Adobe’s Adam Lehman was interviewed at Build about the Creative Cloud tools, especially Edge, here.

Microsoft is no longer trying to compete with Adobe on design tools. Expression Web and Expression Design have been discontinued. The Flash versus Silverlight wars are also consigned to history, making it easier for these two companies to work together.

A big ball of Bluetooth at Microsoft Build

At Microsoft’s Build developer conference in San Francisco the company is showing off new features of Windows 8.1, now in preview, a major update to Windows 8.0.

image

In a session on the Windows Runtime, the platform behind the tablet platform in Windows 8, there was a dramatic moment when a huge black ball rumbled onto the stage and threatened to destroy the “Lemonade stand” which the presenters were using to showcase how a very small business might use Windows 8.

The significance of the ball (a custom Sphero) is that Windows 8.1 has Bluetooth APIs built in, so that app developers can easily control a Bluetooth device from code.

Robotics is an obvious application, but with increasing numbers of Bluetooth devices out there, this is a smart move by Microsoft.

Windows in Xbox One: a boost for Windows 8 apps?

What if the just-announced Xbox One runs Windows 8 apps? Could this be the boost that Microsoft’s store and app platform needs?

image

Microsoft has yet to describe the app story for the One in detail, but it would make sense. Here is what we know, as I understand it, though it is no doubt an over-simplification.

Xbox One is described as having three operating systems: a virtualisation host, a Windows OS for general purpose use (including web browsing, Skype, and I would guess the management app), and a dedicated games OS. The games OS runs in parallel, so you can do instant switching between a game and other activities like watching TV, or have a Windows 8-style snapped view where both are visible.

The Apps element on the One will, I presume, be part of the Windows OS. There is considerable commonality between the demands of a touch UI and that of a TV UI (where you are sitting well back from the screen). A touch UI demands large targets so you can hit them with fat fingers, while a TV UI requires large targets so you can see them from a distance. It could be that the tendency towards large, chunky controls in the “Metro” Windows 8 UI is partly driven by planned support for Xbox, even though this tendency is frustrating for desktop users sitting close-up to large screens.

It is unlikely that Microsoft will introduce a completely new app model for Xbox One. Rather, I would expect to see some compatibility between Windows Store apps and Xbox One apps, with differences to account for the different platforms. No accelerometer or touch control on the Xbox One, for example, though you have Kinect which enables a touch-like interaction though hand detection.

What about the OS partitioning? This may mean that the powerful One GPU will not be available to app developers, or that game apps follow an entirely distinct development model.

If developers can easily share code between Xbox One apps and Windows Store apps, with Windows Phone 9 added to the mix at some future date, will that be enough to get some momentum behind Microsoft’s app platform?

NVIDIA’s Visual Computing Appliance: high-end virtual graphics power on tap

NVIDIA CEO Jen-Hsun Huang has announced the Grid Visual Computing Appliance (VCA). Install one of these, and users anywhere on the network can run graphically-demanding applications on their Mac, PC or tablet. The Grid VCA is based on remote graphics technology announced at last year’s GPU Technology Conference. This year’s event is currently under way in San Jose.

The Grid VCA is a 4U rack-mounted server.

image_thumb[14]

Inside are up to 2 Xeon CPUs each supporting 16 threads, and up to 8 Grid GPU boards each containing 2 Kepler GPUs each with 4GB GPU memory. There is up to 384GB of system RAM.

image_thumb[16]

There is a built-in hypervisor (I am not sure which hypervisor NVIDIA is using) which supports 16 virtual machines and therefore up to 16 concurrent users.

NVIDIA supplies a Grid client for Mac, Windows or Android (no mention of Apple iOS).

During the announcement, NVIDIA demonstrated a Mac running several simultaneous Grid sessions. The virtual machines were running Windows with applications including Autodesk 3D Studio Max and Adobe Premier. This looks like a great way to run Windows on a Mac.

image_thumb[17]

The Grid VCA is currently in beta, and when available will cost from $24,900 plus $2,400/yr software licenses. It looks as if the software licenses are priced at $300 per concurrent user, since the price doubles to $4,800/Yr for the box which supports 16 concurrent users.

image_thumb[18]

Businesses will need to do the arithmetic and see if this makes sense for them. Conceptually it strikes me as excellent, enabling one centralised GPU server to provide high-end graphics to anyone on the network, subject to the concurrent user limitation. It also enables graphically demanding Windows-only applications to run well on Macs.

The Grid VCA is part of the NVIDIA GRID Enterprise Ecosystem, which the company says is supported by partners including Citrix, Dell, Cisco, Microsoft, VMWare, IBM and HP.

image_thumb[13]

Intel Xeon Phi shines vs NVidia GPU accelerators in Ohio State University tests

Which is better for massively parallel computing, a GPU accelerator board from NVidia, or Intel’s new Xeon Phi? On the eve of NVidia’s GPU Technology Conference comes a paper which Intel will enjoy. Erik Sauley, Kamer Kayay, and Umit V. C atalyurek from the Ohio State University have issued a paper with performance comparisons between Xeon Phi, NVIDIA Tesla C2050 and NVIDIA Tesla K20. The K20 has 2,496 CUDA cores, versus a mere 61 processor cores on the Xeon Phi, yet on the particular calculations under test the researchers got generally better performance from Xeon Phi.

In the case of sparse-matrix vector multiplication (SpMV):

For GPU architectures, the K20 card is typically faster than the C2050 card. It performs better for 18 of the 22 instances. It obtains between 4.9 and 13.2GFlop/s and the highest performance on 9 of the instances. Xeon Phi reaches the highest performance on 12 of the instances and it is the only architecture which can obtain more than 15GFlop/s.

and in the case of sparse-matrix matrix multiplication (SpMM):

The K20 GPU is often more than twice faster than C2050, which is much better compared with their relative performances in SpMV. The Xeon Phi coprocessor gets
the best performance in 14 instances where this number is 5 and 3 for the CPU and GPU configurations, respectively. Intel Xeon Phi is the only architecture which achieves more than 100GFlop/s.

Note that this is a limited test, and that the authors note that SpMV computation is known to be a difficult case for GPU computing:

the irregularity and sparsity of SpMV-like kernels create several problems for these architectures.

They also note that memory latency is the biggest factor slowing performance:

At last, for most instances, the SpMV kernel appears to be memory latency bound rather than memory bandwidth bound

It is difficult to compare like with like. The Xeon Phi implementation uses OpenMP, whereas the GPU implementation uses CuSparse. I would also be interested to know whether as much effort was made to optimise for the GPU as for the Xeon Phi.

Still, this is a real-world test that, if nothing else, demonstrates that in the right circumstances the smaller number of cores in a Xeon Phi do not prevent it comparing favourably against a GPU accelerator:

When compared with cutting-edge processors and accelerators, its SpMV, and especially SpMM, performance are superior thanks to its wide registers
and vectorization capabilities. We believe that Xeon Phi will gain more interest in HPC community in the near future.

Android up, Apple down, Microsoft so near, so far: 2012 in review

What happened in 2012?

Windows 8

Whether you regard it as the beginning of the end for Windows, or a moment of rebirth, for me it was the year of Windows 8. Microsoft’s new Windows is fascinating on several levels: as a bold strategic move to make a desktop operating system into a tablet operating system, or as an experiment in how much change you can make in an established product without alienating too many of your customers, or as the first mainstream attempt to create an “immersive” user interface where users engage solely with the content and have to make an effort to summon menus and tools.

The context is also gripping. Microsoft’s desktop monopoly is under attack from all sides. Apple iPad and Google Android tablets, cloud apps that make the desktop operating system irrelevant, Mac OSX computers and laptops that have captured the hearts of designers and power users. Windows still dominates in business computing, but the signs of encroachment are there as well, with reports of iPad deployments and a shift in focus away from desktop apps.

Windows 8 is intended as the fix, making Windows into a first-class tablet operating system and establishing a new app ecosystem based on the Windows Runtime and the Windows Store.

How is it going so far? Not too well. App developers have not flocked to the platform. Users who were happy with Windows 7 have been bewildered. Most seriously, the Windows ecosystem of OEM vendors and general retailers has failed to adjust to the concept of Windows as a tablet operating system, treating it more as a somewhat awkward upgrade to Windows 7.

The work of Windows President Steven Sinofksy in overseeing the engineering and design of Windows 8 and delivering it on schedule has been amazing. He kept his team focused and shipped a release of Windows that is faster and with nice improvements on the desktop side, as well as offering a tablet personality designed for touch-first, in which apps are securely sandboxed and easily installed from an online store.

At the same time, it is easy to see ways in which Microsoft bungled Windows 8.

  • Why was Microsoft so unrelenting with its “immersive” UI that it would not tolerate an option to show things like time and battery status on screen all the time, or three dots for “more” so that users will more easily discover the app bar, as suggested by Paul Thurrott?
  • Why did Microsoft spend mind-stretching amounts on advertising for Windows 8 and for Surface RT tablets, but not allocate enough budget to create a decent Windows 8 Mail app, for example? The current effort is a constant annoyance, especially on the Surface where there is no alternative.
  • Why did Microsoft expend so much effort pumping up the number of apps in its Store, but so little effort nurturing quality? Very few outstanding apps were available at launch, and even now they are hard to find.

I say this as as someone who likes Windows 8 overall. The strategy makes sense to me, but the execution in some critical areas has been disappointing. So near but so far.

 

image

The sudden departure of Sinofsky immediately after the Windows 8 launch was unfortunate; a significant loss of a person with both vision and the ability to implement it.

That said, despite all the difficulties Microsoft has now launched this radically different version of Windows; it is over the first hump and provided that the company keeps its nerve, it can focus on refining the platform and creating compelling new apps that will persuade users to explore it. Further, users who have the patience to learn a few new ways to navigate Windows will discover that it is a decent upgrade, with strong features like Hyper-V, improved file operations, Windows to Go and more.

It is tablets that matter though. Tablet usage will continue to grow, and if Microsoft cannot establish Windows as a tablet platform, its further decline is inevitable.

Does CEO Steve Ballmer have a grip on this huge, dysfunctional, brilliant, frustrating company? Maybe 2013 will answer that question definitively.

image 

Surface RT

2012 also saw the launch of Microsoft’s first own-brand tablet. It is high quality, exceptionally strong, with long battery life thanks to its ARM processor and supported by keyboard covers that let you flip it between touch and keyboard/trackpad without making the device too bulky or complex.

image

Three things, no make that four things, have prevented Surface RT from taking off as Microsoft hoped:

1. Performance is barely adequate. It is usable, but Office is sluggish with large documents and apps are noticeably less responsive than on x86 Windows 8. That said, the NVIDIA Tegra 3 chipset is capable of fast graphics, and some games run surprisingly well, so it is not all bad.

2. The lack of strong apps affects Windows RT devices like Surface more than x86 Windows 8, since you cannot install desktop apps. Yes, it is a new platform, but Microsoft could have done better.

3. There is too much desktop in Windows RT and therefore in Surface RT, making the device more complex than it should be.

4. Microsoft has not yet established Windows 8 as a tablet platform in public perception, nor yet provided the apps that make it work fully as a tablet platform. One consequence is that when someone goes out to buy a tablet, they do not think of Surface RT as a candidate; it is iPad or Android. Another consequence is that reviewers tend to evaluate Surface RT as Windows rather than as a tablet. Considered as Windows, it is weak compared to x86 builds.

Despite all the above, I often slip Surface RT into my bag when travelling. The combination of small size, keyboard cover, long battery life, and Word and Excel is a winner for me. Surface RT 2, with faster performance and a more mature app platform could be great, if the product makes it to a second edition.

Apple: a bad year

2012 was a bad year for Apple. On one level everything is fine, with iPads and iPhones selling like fury, and the successful launch of iPad Mini. What changed though is that the concern of the late Steve Jobs, that Android is close enough to iOS to capture a lot of its market, became a reality. Android is the bestselling smartphone platform and Android tablets, led by Google Nexus and Samsung Galaxy, will likely overtake iPad for the same reasons: better value, more vendors, faster innovation. There was plenty of litigation in 2012 as Apple sought to protect its inventions, but despite some legal successes, Android has continued to grow and it looks unlikely that court action will do much to impede it. Another problem for Apple is that price pressure makes it difficult to sustain the high hardware margins which have made the company so profitable.

The other Microsoft

The Windows 8 drama caught our attention, but Microsoft has been busy elsewhere, generally with better success. The most significant development was the transformation of the cloud platform, Windows Azure from an also-ran to a compelling contender (though still small relative to Amazon), thanks to the addition of IaaS (infrastructure as a service), or plain old Windows VMs, along with a new management portal that makes the service easier to use.

Microsoft also released Server 2012, a substantial upgrade to Windows Server particularly in Hyper-V, but also in storage, remote access, server management, and general modularisation.

Windows Phone had a mixed year, with a sage in sales when Microsoft announced that Windows Phone 7 devices will not be upgradeable to Windows Phone 8, but ending more positively with relatively strong (in the context of a market dominated by iOS and Android) sales for new Windows Phone 8 devices.

image

It was a good year for Office 365, on-demand Exchange and SharePoint, which is now an obvious choice for small businesses migrating from Small Business Server and a plausible choice for medium and larger businesses too.

2012 also saw the launch of Office 2013. I am not so sure about this one. It is meant to be the version of Office that is touch-friendly and cloud-centric. It is not too bad, but with its washed-out appearance and various annoyances it hardly seems a compelling upgrade. Office needs a “Windows 7” release, one where Microsoft focuses on what Office users find slow and/or irritating and sets out to fix the issues.

Adobe’s cloud and HTML transformation

Microsoft took too much of my attention in 2012, something I hope will change in 2013, but one company which caught my attention was Adobe. Without great fanfare, it has successfully switched the business model for the Creative Suite (PhotoShop, Premiere, Dreamweaver and so on) which forms the largest part of its business to a subscription-based model with cloud delivery and additional cloud services. It has also moved its technical platform away from Flash and towards HTML with less pain that I had expected, and is coming up with interesting new tools in its Edge range. Most impressive.

RIM and Blackberry: all to prove in 2013

2012 was painful for RIM, which saw interest in its Blackberry platform decline to the point where many now consider it of little relevance in mobile, but mitigated by intense effort to engage its developer community in preparation for the launch of Blackberry 10 devices at the end of January 2013. It may be too late; but the new OS does have attractions, especially in business where there is innovation in the way it separates business and personal use of a single device. Is Windows Phone or Blackberry 10 the third mobile platform after iOS and Android, or will these two stragglers simply weaken each other while Apple and Google dominate?

Amazon web services: fast pace of innovation

Amazon dominates the IaaS market and with good reason: relatively low prices, high quality of service, and fast pace of innovation. It was this last that most impressed me when I attended an update last November. Amazon prefers to talk to developers and businesses rather than the press, and its services are perhaps under-reported relative to its competitors. An impressive operation, with an inspiring CEO.

Google the winner in 2012

It may not have vanquished Facebook, but of all the tech giants Google has had the best year, with sustained success in search and advertising, huge Android sales and the establishment of the operating system on tablets as well as smartphones, thanks to Samsung and Google’s own efforts with the Nexus range. Google also won some kudos versus Apple following the iOS 5 maps debacle, with Apple’s own mapping efforts found wanting.

Not everything has worked for Google, yet. The web-centric Chromebooks are out there, but whether there is much appetite for netbooks that run everything in the browser is an open question; there are security advantages to this computing model, but users would rather have Android with its rich app ecosystem and greater freedom.

How will Google monetize Android, in the face of further fragmentation and a competitor like Amazon helping itself to what is free but building its own commercial platform on top? Another open question, though my guess is that Google will find a way.

Google rationalised its services in 2012 and pushed hard on its social platform, Google+, but failed to make much dent on Facebook’s popularity.

At the end of 2012 we were reminded of the downside of reliance on cloud providers when Google pulled Exchange ActiveSync support from its free email service. Existing users are not affected, but new users will find it harder to set up Gmail accounts on devices such as Windows Phones. Free users can hardly complain, but if they have become reliant on a gmail address there is an element of lock-in which Google is now using to discourage users from using a competitor’s mobile device.

2013?

A few predictions. More Microsoft fireworks as the PC and laptop market continues to decline; Apple vs Android wars; a strong play from Google for the Office/Exchange/SharePoint market. What else? If the past is anything to go by, expect some surprises.

Embarcadero launches C++ Builder XE3: first built on Clang

Embarcadero has released C++ Builder XE3, the first version built on the open source clang front end for the LLVM compiler. This has enabled the product to support many new features, including extensive C++ 11 support and a 64-bit compiler.

image

While it is a shame that the old Borland C/C++ Compiler is no more, it makes sense for Embarcadero to bring its VCL (Visual Component Library) and FireMonkey framework to Clang rather than continuing to work on its own compiler.

The other big change is cross-platform support. Through FireMonkey, C++ Builder XE3 supports Windows (including Windows 8) and Mac OS X, with iOS and Android promised for 2013.

Although Windows 8 is supported on the desktop, there is no official support for the Windows Runtime (Windows Store apps). Instead, Embarcadero has a curious application framework called Metropolis which fakes the Windows 8 style but with desktop applications, as if the Windows 8 world were not already sufficiently confusing.

The big question is how compatible VCL applications created for earlier versions of C++ Builder are with the XE3 release. With a new compiler and major changes to the VCL in order to support the new compiler, you might expect some issues.

“That’s what we’ve been spending all of our time on,” Embarcadero VP Michael Swindell told me. “This is fully compatible with all our previous C++ dialects. We’ve completely re-engineered the C++ front end but it’s engineered to be compatible with C++ Builder applications and Borland C++ applications.”

I would rather hear that from developers though, rather than from Embarcadero.

Although C++ Builder is a cross-platform compiler, it only runs on Windows. A common scenario is to run in Windows emulation on a Mac, using VMware Fusion or Parallels.

Similar changes are on the way for Delphi, which uses the same VCL and FireMonkey frameworks but with the Delphi language based on Object Pascal.

Note that the new Clang-based compiler is 64-bit only. You are meant to continue using the old Borland compiler for 32-bit, making it hard to maintain a single code base for both.