Category Archives: software

A close look at Word for the iPad. What is included and what is missing?

I have been having a closer look at Word for iPad. This has limited features compared to Word for Windows or Mac, but how limited?

image

So far I am more impressed than disappointed. Here are some of the things that Word on the iPad does support:

Spell check with support for a range of languages including Catalan, Cherokee, two variants Chinese, Icelandic and many more.

image

Tabs including left, center, right and Decimal

Paragraph styles – with some limitations. There are a range of common styles built in, such as Normal, No Spacing, Heading 1, 2 and 3, Subtitle and so on. If you edit a document including a style not on the list, it will be formatted corrected and the style is preserved, but you cannot apply it to new text.

Text boxes. You can do crazy stuff with text boxes, like word-wrapping around angled text.

image

Dictionary. Select a word, hit Define, and a dictionary definition appears. You can manage dictionaries, which seem to be downloaded on demand.

image

Tables. People use tables for things like formatting minutes: speaker in left column, actions in right, and so on. They work fine in Word on iPad. You can insert a table, type in the cells, and select from numerous styles including invisible gridlines.

image

Track changes. You can review changes, make comments,suggest new text, approve changes made by others, and so on.

image

You can change the direction of text by 90°.

You can edit headers and footers.

You can insert page numbers in a variety of formats.

You can use multiple columns. You can insert page breaks and column breaks.

You can change page orientation from portrait to landscape.

Shapes are supported, and you can type text within a shape.

image

Text highlighting works.

image

Bulleted and numbered lists work as expected

Footnoting works.

Word count is available, with options like whether to include footnotes, plus character count with or without spaces.

Pictures: you can insert images, resize, stretch and rotate them (though I have not found a crop function) and apply various effects.

Overall, it is impressive, more than just a lightweight word processor.

What’s missing?

So what features are missing, compared to the desktop version? I am sure the list is long, but they may be mostly things you do not use.

One notable missing feature is format support. Desktop Word supports OpenDocument (.odt) and can edit the old binary .doc format as well as the newer .docx (Office Open XML). Word for iPad can only edit .docx. It can view and convert .doc, but cannot even view .odt. Nor can you do clever stuff like importing and editing a PDF. Here are a few more omissions:

  • No thesaurus.
  • No equation editor.
  • No character map for inserting symbols – you have to know the keyboard shortcut.
  • Paragraph formatting is far richer in desktop Word, and you have the ability to create and modify paragraph styles. One thing I find annoying in Word for iPad is the inability to set space above or below a paragraph (let me know if I have missed a feature)
  • Academic features like endnotes, cross-references, index, contents, table of figures, citations.
  • Watermarks
  • Image editing – but you can do this in a separate app on the iPad
  • Captions
  • Macros and Visual Basic for Applications
  • SmartArt
  • WordArt
  • Templates
  • Special characters (you need to know where to find them on the keyboard)
  • Printing – I guess this is more of an iPad problem

Office for iPad versus Office for Surface RT

If you have Microsoft’s Surface tablet, would you rather have the equivalent of Office for iPad, touch-friendly but cut-down, or the existing Office for Surface RT? I took a sample of opinion on Twitter and most said they would rather have Office for iPad. This is Office reworked for tablet use, touch friendly in a way that desktop Office will never be.

image

Then again, Office on Surface RT (VBA aside) is more or less full desktop Office and can meet needs where Office for iPad falls short.

If Microsoft is still serious about the “Metro” environment, it will need to do something similar as a Windows Store app. Matching the elegance and functionality of the iPad version will be a challenge.

I typed this on the iPad of course, using a Logitech Bluetooth keyboard. I would not have wanted to do it with the on-screen keyboard alone. However for the final post, I moved it to Windows (via SkyDrive) in order to use Live Writer. Word on the Surface has a Blog template I could have used; another missing feature I guess.

Microsoft has exceeded expectations. This would sell well in the App Store, but you need an Office 365 subscription, making it either a significant annual cost, or a nice free bonus for those using Office 365 anyway, depending on how you look at it. The real target seems to be business users, for whom Office 365 plus Apple iPad (which they were using anyway) is now an attractive proposition.

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.