Category Archives: software

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.

Infragistics building cross-platform development strategy on XAML says CEO

I spoke to Dean Guida, CEO at Infragistics, maker of components for Windows, web and mobile development platforms. Windows developers with long memories will remember Sheridan software, who created products including Data Widgets and VBAssist. Infragistics was formed in 2000 when Sheridan merged with another company, ProtoView.

In other words, this is a company with roots in the Microsoft developer platform, though for a few years now it has been madly diversifying in order to survive in the new world of mobile. Guida particularly wanted to talk about IgniteUI, a set of JQuery controls which developers use either for web applications or for mobile web applications wrapped as native with PhoneGap/Cordova.

“The majority of the market is looking at doing hybrid apps because it is so expensive to do native,” Guida told me.

Infragistics has also moved into the business iOS market, with SharePlus for SharePoint access on an iPad, and ReportPlus for reporting from SQL Server or SharePoint to iPad clients. Infragistics is building on what appears to be a growing trend: businesses which run Microsoft on the server, but are buying in iPads as mobile clients.

image

Other products include Nuclios, a set of native iOS components for developers, and IguanaUI for Android.

I asked Guida how the new mobile markets compared to the traditional Windows platform, for Infragistics as a component vendor.

“The whole market’s in transition,” he says. “People are looking at mobility strategy and how to support BYOD [Bring Your Own Device], all these different platforms, and a lot of our conversations are around IgniteUI. We need to reach the iPad, and more than the iPad as well.”

“There’s still a huge market doing ASP.NET, Windows Forms, WPF. It’s still a bigger market, but the next phase is around mobility.”

What about Windows 8, does he think Microsoft has got it right? Guida’s first reaction to my question is to state that the traditional Windows platform is by no means dead. “[Microsoft] may have shifted the focus away from Silverlight and WPF, but the enterprise hasn’t, in terms of WPF. The enterprise has not shifted aware from WPF. We’ve brought some of our enterprise customers to Microsoft to show them that, some of the largest banks in the world, the insurance industry, the retail industry. These companies are making a multi-year investment decision on WPF, where the life of the application if 5 years plus.

“Silverlight, nobody was really happy about that, but Microsoft made that decision. We’re going to continue to support Silverlight, because it makes sense for us. We have a codebase of XAML that covers both WPF and Silverlight.”

Guida adds that Windows 8 and Windows Phone 8 are “great innovation”, mentioning features like Live Tiles and people hub social media aggregation, which has application in business as well. “They’re against a lot of headwind of momentum and popularity, but because Microsoft is such an enterprise company, they are going to be successful.”

How well does the XAML in Infragistics components, built for WPF and Silverlight, translate to XAML on the Windows Runtime, for Windows 8 store apps?

“It translates well now, it did not translate well in the beginning,” Guida says, referring to the early previews. “We’re moving hundreds of our HTML and XAML components to WinJS and WinRT XAML. We’re able to reuse our code. We have to do more work with touch, and we want to maintain performance. We’re in beta now with a handful of components, but we’ll get up to 100s of components available.”

It turns out that XAML is critical to the Infragistics development strategy for iOS as well as Windows. “We wrote a translator that translates XAML code to iOS and XAML code to HTML and JavaScript. We can code in XAML, add new features, fix bugs, and then it moves over to these other platforms. It’s helped us move as quickly as we’ve moved.”

What about Windows on ARM, as in Surface RT? “We fully support it,” says Guida, though “with a straight port, you lose performance. That’s what we’re working on.”

Will you buy a Surface Pro? Here is why and why not

Microsoft has announced pricing for Surface Pro, its own-brand tablet running Windows 8. Quick summary:

  • 64GB is $899
  • 128GB is $999

image

UK pricing has not been announced, but if it follows the pattern of Surface RT we can expect around £720 and £799.

These prices include a free Surface pen, but not a Touch or Type keyboard cover. Since this is one of the best features of Surface, you can add around $120 or £100 (a little more for the Type cover) to the price.

Here’s why you don’t want a Surface Pro:

  • Unlike Surface RT, this tablet runs any Windows application, most of which do not work well with touch control. So you will need that keyboard and trackpad or mouse, making it an awkward thing versus an iPad or, in some ways, a traditional laptop.
  • The spec is a long way from cutting-edge. Screen is 1920×1080 pixels, versus 2048-by-1536  on a cheaper Apple iPad. Core i5 has been around a while. Storage spec is poor – even 128GB is small by current standards, my Samsung Slate from February had a 256GB SSD – and the cameras seem no better than the basic ones in Surface RT. 4GB RAM is also minimal for a new Windows machine.
  • This thing is not cheap. With the keyboard, it is nearly double the cost of a Surface RT, and you don’t get Office 2013 thrown in – Home and Student is around $100 or £85.
  • Microsoft is including a pen. Why? It does not clip into the Surface so you will lose it, and a pen, while fantastic for taking notes or sketching in tablet mode, is less good than a mouse or trackpad for most other operations.
  • Battery life half that of Surface RT: ouch.
  • Do not compare this with an iPad. It only makes sense if you want or need to run Windows. It is even less like an iPad than Surface RT.

A failure? Not necessarily. Here is why you do want a Surface Pro:

  • It is a little bigger than Surface RT, but much smaller than the average laptop, even with the keyboard cover, and it is all you need on your trip. I find laptops bulky and awkward now.
  • Performance will be much better than Surface RT. I presume it better my existing Samsung Slate, which has an older Core i5, and that is already a zippy performer.
  • The Surface is well made and designed. The only problem I am aware of with Surface RT is fraying keyboard seams, which I hope will be fixed in later production runs. The flip-out stand works well and the keyboard covers are excellent.
  • That USB 3.0 port is a big asset.  Of course Surface RT should have had this as well. You can attach as much storage as you need with great performance, or other devices.

The question is this: what other laptop or Windows 8 slate will be better than a Surface Pro, all things considered? You will easily find a better spec for the money, but when you evaluate the complete package Surface Pro may still be a winner.

That said, we have not yet seen Surface Pro and my judgment is based on combining what I know about Surface RT with my experience of the Samsung Core i5 slate.

The internal storage limitation is my biggest concern. 64GB is hopeless and 128GB still too small. There is a microSDXC card slot, and a sizeable card will be pretty much essential, again increasing the real-world price.

Visual Studio 2012 gets Windows XP targeting, Team Foundation Server fixes

Microsoft has released Update 1 for Visual Studio 2012. New in this update is the ability to target Windows XP with C++ applications. Brian Harry has a list of what has changed here, based on the preview from a month ago.

image

There are many updates and fixes for Team Foundation Server (TFS), including support for the Kanban development methodology in TFS Web Access. You can now do load testing, unit testing and coded UI tests for SharePoint apps. Another notable fix is that you can do mixed managed/native debugging in Windows Store (that is, Metro) apps.

The TFS update is not seamless, as Harry explains:

It’s actually a full new install (though it will silently uninstall the older version and install the update so it feels like a “patch”).  However, we still have some work to do to make this as seamless as possible.  If you’ve done any customization of your TFS install (enabling https, changing ports, etc) you will need to reapply those customizations after installing the update.

Harry also says there will not be an SP1, except that there might be:

As we are currently thinking about it, there will be no SP1.  We have changed the model from a single Service Pack between major releases to a sequence of “Updates”.  So you can, kind of, think of Update 1 as SP1.  I suppose it’s possible that, at some point, we will decide to name one of the Updates as an “SP” but that won’t really change anything.

Confused? Surely not.

You can get the update here or an offline (complete) installer is here.

Finally, I was interested to see some of the issues which developers find annoying highlighted in the comments to Soma Somasegar’s blog:

  • XAML 2009 is not supported in the editor
  • Expression Blend is still in preview
  • The need for a developer license to build Windows Store apps is a constant irritation. The complaint is not about needing a license to deploy to the Store, but about Visual Studio refusing to build Windows Store apps unless you obtain a free online license, which installs some sort of key on your machine, and which expires after a few months.

No complaints about monochrome icons though, so I guess the new look has been accepted if not actually loved by developers.

ThoughtWorks bemoans excessive software complexity, advocates small, focused services

ThoughtWorks has released its latest Technology Radar, an opinionated analysis of software development trends.

Things the folk at ThoughtWorks like include automated build and deployment, essential for Continuous delivery; NOSQL database managers especially Neo4j; mobile-first development; the AppCode IDE for Apple’s Objective-C; the Graphite realtime graphing tool for creating dashboards; Clojure and Scala for programming.

I meet some of the ThoughtWorks team at developer conferences from time to time, and generally find them smart and though-provoking to talk to. They must be the despair of the big enterprise software vendors, with a liking for open source and an aversion to heavyweight high-maintenance systems.

This remark particularly caught my eye:

Simple architectures—Simple continues to gain traction, including both techniques for building and composing applications, as well as infrastructure-based techniques to enable simple deployment, failover and recovery. This theme is a recurring one for us, but we have not yet seen the usage shifts we believe are necessary.

I asked consultant James Lewis and practice lead Sam Newman to expand on that. Why do we continue to choose complexity over simplicity?

“A lot of people like to stay inside their big box, and don’t understand the complexities that then creates,” said Newman. “There’s a lack of critical thought given to how services talk to each other. A lot of them are driven by whatever the vendor says you do. Java makes RMI very easy. [Microsoft] .NET makes binding to WSDL [SOAP] schemas very easy. All these tools make bad things very easy to do.

“When you start talking to organisations about smaller services that are focused on doing one thing well, they have the horror associated with now having more than one box to manage and operate. So it’s hard to talk about moving from one big monolithic complicated box that is hard to change, to lots of little boxes, without also having conversations with those clients about how they get better at managing multiple services.

“Netflix has 300 services. Each service runs on at least six machines. They are very good at deploying those services. Yet they are not an overly complicated domain compared to some of our clients.”

“Amazon were talking about this in 2004,” adds Lewis, “the idea that you join up development of these small, simple applications with the operational control, so the same people who build them are also the people who run them. Now that we’re seeing both private and public clouds, and the ability to spin up machines becoming more and more prevalent, its starting to become more attractive.”

This is a consistent theme from ThoughtWorks. Break up complex solutions into many small services, think about how they talk to each other (with REST and HTTP favoured), and think about the infrastructure and how to automate it as well as the software itself.

“In many organisations these conversations are happening,” Newman told me. “I go to clients now, and they talk about the Enterprise Service Bus as being something they’d love to get rid of if they only knew how. Five to ten years ago, to even mention the Enterprise Service Bus as being a problem, they’d look at you with daggers in their eyes.”

“It’s almost like we’re now able to fulfil the promise of service orientation,” says Lewis. “It needed these additional practices, around things like automated deployment, automated rollback, and an understanding that people and process are tied intrinsically with it.”

Another issue, claims Lewis, is that software architects simply get out of touch with best practice.

“Most architects who build big systems are quite a long way from their codebases. They sit in rooms talking to other architects. They might have last written a line of code five or ten years ago. What they do is to design systems as they would have done ten years ago. People do get divorced from the latest trends and perpetuate less effective ways of doing things.”

Finally, here’s something for the Microsoft platform people who read this site. ThoughtWorks is not altogether averse to Microsoft and mentions the Azure cloud platform as something which is becoming interesting. But Windows Phone:

Despite a promising start to Windows Phone, a well thought-out user interface, and probably the best development experience of any mobile platform, we have seen several stumbles in the execution of the platform strategy by Microsoft and its partners. This makes us less optimistic about the future of the platform than we were in the last radar.

Translation: nice mobile platform, but nobody’s buying it. Then again, on Monday next week Windows Phone 8 will be properly unveiled. Still hope?

Delphi XE3 Professional downgraded to local databases only

There is a bit of a stir in the Embarcadero community following the leaking of a document which appears to be an email to partners concerning a major change in the EULA (End User Licence Agreement) for the Professional edition of Delphi, the RAD development tool for Windows (with lately some cross-platform capability).

This email is to let Embarcadero Technology partners know about some changes being made to the EULA changes in our XE3 release.

In particular, the use of data access technologies for client/server connectivity will no longer be allowed in the Professional edition.
This includes both Embarcadero and 3rd party solutions. Professional users may only, legally, access local databases with their applications.

Users who want to use client/server database access can purchase a Client/Server Add-On Pack for their Professional edition or purchase
an Enterprise, Ultimate or Architect edition product.

This restriction if for new licenses only.  Users upgrading to XE3 will be "grandfathered" in that they will be able to continue to use 3rd party data access technologies for client/server database access in version XE3. Additionally, Starter Edition has been restricted to use of MyBase (.CDS or .XML file formats) only for "database access."

While this has not been officially confirmed I believe the email, at least,is authentic. Embarcadero’s David Intersimone implicitly confirms it with comments in the lengthy discussion on the Embarcadero forums.

It sounds complex and, like many software licences, based essentially on trust rather than technical limitation.

In the past, Professional has been the edition of Delphi to get if you want to do real work but do not need fancy stuff like modeling tools, advanced database frameworks and so on.

A “Professional” edition with local database access only does not deserve the name. This kind of restriction is usually reserved for tools aimed at hobbyists or intended mainly for trial purposes.

The news has not gone down well. Some of the most vocal on the Embarcadero forums are partners whose add-ons will no longer be legal to use with the Professional edition.

As a loyal Delphi developer since 1995… and as an Embarcadero Technology Partner… I cannot simply sit by and say nothing. This EULA change is WRONG. There’s no moral ambiguity here! It doesn’t tow a line, fall into a "grey area" or wobble on the tightrope… it is simply wrong. It crosses every line: ethically, morally, and progressively. Not only that, but as an idea it is patently stupid! The condition is financially and logistically unenforcable, and the only thing it does is serve to deter new customers.

says Simon Stuart, creator of the Lua4Delphi library.

The core problem here? It is hard to make money on development tools, given the competition that is either free or provided by platform vendors (meaning Microsoft or Apple) who have every advantage in terms of finance and inside knowledge.

Delphi is a fantastic tool; but Embarcadero still struggles with quality issues. The answer is greater investment, but where does that come from? Upping the price is one strategy, though it is no sure-fire solution as the above debate demonstrates.

Update: It appears that Embarcadero has backed down. The “finalized” EULA states that the local database restriction only applies to dbExpress, a specific Embarcadero database framework:

Licensee may not use that portion of the Product identified as “dbExpress” in association with a database located on a different machine other than the machine on which the Works are installed.

Uh-oh, here come the OEM improvements to Windows 8

Reports from a Samsung event today indicate that the company is implementing its own version of the Windows 7 Start menu, which it calls the S Launcher.

The all-in-one PCs Samsung unveiled this morning are the first Windows machines to sport the S Launcher, a simple widget that acts just like the old start button: Click, start typing (say “keyboard”) and it instantly shows you the settings and apps that relate to your term. There’s also a separate settings icon for quick access to the most commonly needed controls.

On the face of it that sounds like a good move. The general reaction to the removal of the Start button in Windows 8 has been mixed at best. Why not put something like it back?

It is hard for Microsoft to object to this. The official line is the Microsoft’s partners add value to Windows with customization and software unique to each vendor, enabling them to differentiate. There is also the matter of fees paid by third-parties such as browser or security software vendors, to pre-install their stuff and win lucrative traffic or subscriptions.

This is a big one though. Microsoft must care about its new Start menu, to have resisted all pleas from its customers to reinstate the old-style version as an option.

It is also obvious that this is not just about usability. The Start screen is the gateway to the new Windows: Modern UI, Windows Store, tie-in with Windows Phone, Windows Tablets and Xbox, and more.

Here it gets interesting. Although Microsoft and Samsung are both selling Windows, the objectives of the two companies are not altogether aligned. Samsung is a big Android vendor; and even within the Android world, it is promoting Galaxy as a brand and links to its televisions. Samsung also sells Windows Phone, but you would hardly know it.

You can think of it as two separate ecosystems, one based around Windows and Microsoft, the other based around Samsung, which happen to intersect in the area of desktop operating systems.

Samsung then does not care whether the Modern UI, Windows Store and Windows Phone are hits. In fact, when it comes to Windows Store and Windows Phone, it may prefer that they fail.

It is not even that simple. If the Microsoft and Windows ecosystem continues to decline, who can take on Apple? It is in Samsung’s interests as an OEM Windows vendor for Microsoft to succeed, as the same time as other parts of its business would prefer that it fails. Complex.

If nothing else, the S-launcher show how little Microsoft and its hardware partners are aligned when it comes to Windows marketing strategy.

What about the users though? Will they not benefit from having a more familiar way to launch their applications? Personally I doubt it. The problem I have with utilities like this is that they break the design work Microsoft puts into Windows, introducing inconsistency and often working less well than what is baked into the operating system.

I will add too that the Windows 8 Start screen is actually not the monster it is made out to be. It is richer than the old one, with its Live Tiles and large icons, and once you have learned how to organise it in the way you want, it is an effective launch manager. The fast incremental search in the Start screen works brilliantly.

It would benefit Samsung’s users more if the company focused on helping them learn how to get the best from Windows 8 and its new user interface, rather than encouraging them to avoid some of its key features.

Now you know why Microsoft is doing Surface and the Microsoft Store with its Signature PCs, tweaked (or untweaked) to run as designed.

Review: Dragon NaturallySpeaking 12. Stunning accuracy, a few annoyances

I am writing this review, or should I say dictating, in Nuance’s Dragon NaturallySpeaking 12, the latest version of what is in my experience the most accurate speech recognition system out there. Accuracy has got to the point where the great majority of words are recognised perfectly. There are a few intractable problems though. How is a dictation system meant to distinguish between nuances and Nuance’s, for example? The answer is generally that it cannot, but in mitigation Dragon has an excellent correction box. You speak a command to select the intransigent word, and either select the correct spelling from a list or in the worst case spell it out. After a bit of practice you can progress quickly and easily.

image

First, a few quick facts about the system. Your first task after running setup is to set levels and check the quality of your microphone. Nuance supplies a microphone in the box, which is worth it because the average user is unlikely to have a suitable microphone of good enough quality. That said, I was unhappy with the quality of the microphone supplied this time around and will return to this issue later. There is a handy fold-out reference card supplied, a nice touch.

Once set up, Dragon walks you through a quick training exercise during which it sets up a profile with some knowledge about your particular voice. I remember spending ages training early voice recognition systems and it was a tedious procedure. This is no longer the case and Dragon can be set up effectively in just a few minutes.

Dragon runs by default with a menu bar across the top of the screen and a contextual sidebar which lists common commands for the particular application you are using. The sidebar also gives a quick reference to global commands such as those to wake or sleep the microphone, move the mouse, or even post to Twitter or Facebook. Once you have learned all the commands, you can close the sidebar to get your screen space back.

image

Dragon works best in applications which are supported, which includes the obvious ones like Word and OpenOffice. In other applications you can use a dictation box which lets you dictate into a Dragon window and then transfer your text in either plain or Rich Text Format. Microsoft Office support depends on an add-In. Unfortunately I am currently running the Office 2013 preview and the add-in currently causes Word to crash. No doubt this will be fixed when the final version of Office is released. As an alternative I used OpenOffice which worked fine. I was also able to use Word 2013 with the dictation box.

While the accuracy is impressive, I did find that recognition slows down on occasion for no obvious reason, which is annoying and slows down your work.

Dragon is not limited to text input. You can run your entire Windows session with speech, using it to switch between windows, move and click the mouse. I found that Dragon works well in dialogs, using the Tab command to switch between fields, and Click … to click buttons and checkboxes.

If you have the Premium edition, you can also use Dragon to transcribe recordings and to read back editable text. Do not get your hopes up too much. If you create a recording of your own voice using a high quality recorder, you can get good results. I tried transcribing a telephone call though, and got gibberish.

So what is new in Dragon 12? It has to be said that version 11.5 was already very good. Accuracy is perhaps slightly improved, but not as much as 11.5 improved over 11. You do get the Dictation Box. You also get browser extensions for the Web-based Gmail and Hotmail provided you use a supported browser, which includes IE9, Firefox 12 or higher, and Google Chrome 16 or higher. I tested this with Gmail in Chrome and it does make a big difference to usability. Go to a Google Doc though, and it is back to the Dictation Box.

Also new in version 12 is the ability to disable voice commands that you do not use to boost performance. The full list of new features is available on the Nuance website.

Now about that microphone. The headset that came in my box is called the HS-GEN-C, and include an adaptor so it can be used with the combined earbud/microphone inputs now common, especially on tablets and laptops. However I had difficulty getting this to work well. It failed Dragon’s built in microphone test at first, though with some effort and speaking more loudly than usual I managed to get it reported as “acceptable. This could be because of a poor microphone preamp on the PC, though I got the same results with another machine. I did not want to test the software with doubtful microphone input, so I used a the Plantronics Bluetooth headset that came with Dragon 11.5 instead. This passed the microphone check first time.

image

I also tried Dragon NaturallySpeaking with Windows 8. The news is mixed. On the plus side, Dragon worked fine in the Windows desktop and with applications like Google Chrome and OpenOffice Writer. When I switched to the Modern UI (formerly known as Metro) though, I could not get Dragon to work at all. This does not surprise me since the Windows Runtime environment is different from the desktop. I do not see how the Dragon sidebar will ever work, for example, since all apps run full-screen. Nor is the Dragon bar available in the Modern UI. Microsoft does claim an accessibility story for Windows 8, and I am asking Nuance what if anything  is planned for Dragon NaturallySpeaking in this respect.

Do not try to use Dragon with Microsoft’s Office 2013 preview; wait for the final version and proper support.

Conclusion

Dragon NaturallySpeaking combines a high standard of accuracy with strong correction tools. If you are wondering whether speech recognition is a viable and productive technique for text input, have no doubt that it is.

There is still scope for improvement. If I can make sense of my recorded telephone call, then in principle voice recognition should be able to do so as well. It will get there.

Is Dragon now more productive than keyboard and mouse, if you have the choice? It may be in some scenarios, but probably not for expert typists. If you are in the habit of frequently switching applications, for example to research an article you are typing, Dragon can get in the way.

Is Dragon 12 worth the upgrade? From 11.5, that is doubtful unless one of the new features matters a lot to you, perhaps because you use Gmail frequently, for example. From older versions, it probably is.

I am puzzled why Nuance supplies what in my experience was a poor headset for the purpose, though you may be luckier (and the box says “actual model may vary”). I preferred the Plantronics headsets that used to be bundled, but guess that the cost was higher. If you do serious amounts of dictation, do not skimp on the headset as it soon pays for itself.

  

Offline web mail in new Office 365 and Exchange 2013 Outlook Web Access

Microsoft has posted details of the forthcoming Exchange 2013, and one of the features that intrigues me is the ability to use the browser-based email client, Outlook Web Access (OWA), offline.

Since offline use is one of the primary issues with web applications, this is a key feature. It would be particularly interesting if it worked with mobile devices such as the Apple iPad or Google Android tablets.

I asked about this and was directed to this table, which states that offline access is supported in Internet Explorer 10 or later, Safari 5.1 or later, and Chrome 18 or later. Offline is not supported on mobile browsers, nor on “Windows 8 tablet”.

image

I have not seen Microsoft use the term Windows 8 tablet in a technical sense before. I presume it means Metro-style IE and Windows RT?

Next, I went to my preview Office 365 account on a Windows 8 tablet (ha!) but in desktop IE, and noticed that OWA already has an offline option there, which I presume is essentially Exchange 2013 though perhaps with some differences.

image

I selected the option and was prompted to confirm.

image

I clicked Yes and was prompted to add to favourites.

image

Then I closed the browser, turned on Airplane mode, and restarted.

Success! I was able to return to OWA, compose and send an email. Note the Airplane mode icon in the screen grab.

image

Looking at IE settings I also had an offline cache set for outlook.com.

image

I closed the browser, re-enabled the network, and restarted.

Bad news, my first email was never sent. I tried again though, and this time confirmed that, while offline, my email was in an unsent folder.

image

However, when I went back online I could not see it in sent items. I made a third attempt. Eventually though, both my second and third attempts succeeded and I got the email.

image

That’s good, but I have a few observations (bearing in mind that this is preview software):

1. The experience in Metro-style IE is terrible. You can enable offline there (I tried) but it does not work. And where is the cache setting for Metro-style IE, is it shared with desktop IE? Does it have one? This whole relationship between the two forms of IE 10 in Windows 8 is obscure and difficult.

2. What happened to my first email? Did I not in fact click send (I am fairly sure I did)? Losing emails is bad and can be costly.

3. This offline setting would be particularly useful on mobile devices so I would like to know what plans Microsoft has to get it working.

Updating the world’s most widely deployed SQL database engine: welcome to SQLite 4

A new version of SQLite is in preparation. If you are not a developer, you might not have heard of SQLite, but you have almost certainly used it. It is built into Mac OS X and numerous web browsers, used by many applications which run on Adobe’s Flash runtime, and is the obvious choice if you want a small, fast and reliable database engine to embed into an application. It is open source and as free as you can get:

Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

SQLite3 is the current version; but now there is an update to version 4:

SQLite4 is an alternative, not a replacement, for SQLite3. SQLite3 is not going away. SQLite3 and SQLite4 will be supported in parallel. The SQLite3 legacy will not be abandoned. SQLite3 will continue to be maintained and improved. But designers of new systems will now have the option to select SQLite4 instead of SQLite3 if desired.

The reason for the new version is that some issues in version 3 could not be fixed without breaking compatibility.

So what is new? On a quick read, these seem to be the highlights:

  • A global configuration object (sqlite4_env) which eliminates all use of global and static variables.
  • A new key/value storage engine which has a “greatly simplified” interface and which is pluggable, so you can use a different one if required. The default storage engine is described as a “log-structured merge database”. A B-Tree engine may also be offered later.
  • Primary keys are now real primary keys, as opposed to unique constraints. This speeds up primary key searches.
  • Decimal maths. “All numeric values are represented internally as an 18-digit decimal number with a 3-digit base-10 exponent.” This is advantageous for currency calculations and for cross-platform consistency.
  • Foreign key constraints and recursive triggers on by default
  • Covering support in indexes (when required), to increase the number of queries that can be resolved by querying the indexes alone, at the expense of greater duplication of data

When will SQLite 4 be ready? Code is available but Author D Richard Hipp says:

Everything is still pretty makefile-touchy. Remember, this is like pre-alpha code. It works, but just barely. And things are changing rapidly.

Porting an application from SQLite3 to SQLite4 should be straightforward, according to the author. “An hour or two search-and-replace.”

image