Category Archives: software development

LocationTech: a new Eclipse working group for location technologies

The Eclipse Foundation has announced a new working group, called LocationTech.

What is it? There is only one project currently, called LocationTech Technology.

Here is what it covers:

LTT projects provide artifacts such as libraries, user interfaces, and methodology logic that enable location aware applications and services. The nature of this work is scoped as follows:

  • Developing and delivering location aware services for web, mobile, and desktop based systems.
  • Storage, exchange, processing, and interpretation of massive data volumes with a component of spatial information
  • Apply Model based design in the context of geospatial information systems, building information modeling, and computer aided design
  • Aggregating and relating data from diverse sources including a spatial component. e.g. Analytics, Geospatial Business Intelligence, Geocoding, Routing
  • The implementation of generally applicable geospatial standards (e.g., Open Geospatial Consortium, ISO TC211, SQL MM, etc.)

The group is sponsored by IBM, Oracle, OpenGeo and Actuate.

Projects hosted at LocationTech benefit from a range of services, including git code repository, bugzilla bug tracking, hudson continuous integration, apache and drupal for a project dashboard, and “intellectual property services” covering licensing and related areas.

LocationTech is seeking involvement from OpenStreetMap (discussed here) and MapBox, among others.

Names not on the list of sponsors include Google and Nokia. Is this, perhaps, an effort to support location-based development in a manner that does not include a dependency on Google?

Microsoft’s Visual Studio and Team Foundation Server get Git integration

Microsoft has announced Git integration in both the Visual Studio IDE and the Team Foundation Service hosted source code management system. According to Technical Fellow Brian Harry:

1. Team Foundation Server will host Git repositories – and more concretely, Team Foundation Service has support for hosting Git repositories starting today.

2. Visual Studio will have Git support – and concretely, we released a CTP of a VSIX plugin for the Visual Studio 2012 Update 2 CTP today.

Git is an open source version control system originally designed by Linus Torvalds to support the development of the Linux operating system. It is a distributed version control system, which means every working directory is itself a full repository, enabling easy forking and offline work.

Team Foundation Service is a version of Team Foundation Server hosted by Microsoft.

Git integration was also recently added to Perforce, another version control system, in the form of the Perforce Git Fusion add-in, emphasising the fact that Git is now a mainstream, enterprise revision control system.

Got a Ruby on Rails application running? Patch it NOW

A security issue has been discovered in Ruby on Rails, a popular web application framework. It is a serious one:

There are multiple weaknesses in the parameter parsing code for Ruby on Rails which allows attackers to bypass authentication systems, inject arbitrary SQL, inject and execute arbitrary code, or perform a DoS attack on a Rails application. This vulnerability has been assigned the CVE identifier CVE-2013-0156.
Versions Affected:  ALL versions
Not affected:       NONE
Fixed Versions:     3.2.11, 3.1.10, 3.0.19, 2.3.15

and also worth noting:

An attacker can execute any ruby code he wants including system("unix command"). This effects any rails version for the last 6 years. I’ve written POCs for Rails 3.x and Rails 2.x on Ruby 1.9.3, Ruby 1.9.2 and Ruby 1.8.7 and there is no reason to believe this wouldn’t work on any Ruby/Rails combination since when the bug has been introduced. The exploit does not depend on code the user has written and will work with a new rails application without any controllers.

You can grab patched versions here.

How quickly can an organisation patch its applications? As Sourcefire security architect Adam J. O Donnell observes, this is where strong DevOps pays dividends:

Modern web development practices have made major leaps when it comes to shortening the time from concept to deployment.  After a programmer makes a change, they run a bunch of automated tests, push the change to a code repository, where it is picked up by another framework that assures the changes play nice with every other part of the system, and is finally pushed out to the customer-facing servers.  The entire discipline of building out all of this infrastructure to support the automated testing and deployment of software is known as DevOps.

In a perfect world, everyone practices devops, and everyone’s devops workflow is working at all times.  We don’t live in a perfect world.

For many organizations changing a library or a programming framework is no small task from a testing and deployment perspective.  It needs to go through several steps between development and testing and finally deployment.  During this window the only thing that will stop an attacker is either some form of network-layer technology that understands how the vulnerability is exploited or, well, luck.

This site runs WordPress, and if I look at the logs I see constant attack attempts. In fact, I see the same attacks on sites which do not run WordPress. The bots that do this are not very smart; they try some exploit against every site they can crawl and do not care how many 404s (error showing page not found) they get. One in a while, they hit. Sometimes it is the little-used applications, the tests and prototypes, that are more of a concern than the busy sites, since they are less likely to be patched, and might provide a gateway to other sites or data that matter more, depending on how the web server is configured.

Hands on Cross-Platform Windows and Mac development with C++ Builder XE3

I have been writing about Embarcadero’s RAD Studio XE3, which includes Delphi and C++ Builder, and as part of the research I set this up for cross-platform development on a Mac.

My setup uses a Parallels Virtual Machine to run Windows 7, on which RAD Studio XE3 is installed. This is convenient for Mac development, since the IDE itself is Windows only. That said, if I were doing this in earnest I would use multiple displays or perhaps separate physical machines, since it is no fun debugging in a VM with the application running in another operating system behind it.

Is it straightforward to configure? Not too bad. You have to install Xcode on the Mac, and in addition, you have to install the Xcode command line tools, which you can do from Xcode itself, in Preferences – Downloads – Components, or as a separate download.

image

Then you need to find the Platform Assistant (paserver), an agent which runs on the Mac to support remote debugging. I was annoyed to find that this has a dependency on Java SE6, which to be fair it downloaded and installed automatically. Actually I find this amusing, after hearing from an Embarcadero VP how native code is all the rage and nobody uses managed code any more. Except Embarcadero for the paserver.

Once that is all up and running you are done on the Mac side. On Windows, you then need to sort out a remote profile, after having installed RAD Studio of course. The way to do this is first to start a new cross-platform project, which means using the FireMonkey framework. Then right-click TargetPlatforms in the project manager and add a platform. If you add OSX but no remote profile exists, you will be prompted to create one.

image

This is where something went slightly wrong. I created a profile and could connect OK. However, when I tried to build the project, I got an error: Unable to open include file ‘CoreFoundation/CoreFoundation.h’. You get this if for some reason the required library files have not been pulled over from the Mac. The fix is to edit the profile and click Update Local File Cache.

image

After that I was away. Set breakpoints if needed, build and debug.

image

Cross-platform is not new in RAD Studio; it was in XE2, and in some ways better, since you could target iOS as well as OSX. C++ Builder XE3 is actually a new generation though. In the 64-bit update 1, it is the first release to use Clang and LLVM, and from what I understand this represents the future for Embarcadero’s tools.

Updates are promised in 2013 for both Delphi and C++Builder – this roadmap is most of what we have to go on – which will add first iOS and later Android support, at what the company calls a “low cost”. Unlike the iOS support in XE2, the coming update will not use the Free Pascal compiler, but the new architecture based on LLVM. This also suggests that the add-on will replace some of the guts of Delphi when it arrives, so it will be significant and somewhat risky.

The cross-platform capabilities look good, though I am somewhat wary of FireMonkey which is less complete and mature than the Windows-only VCL. For example no Webbrowser component is supplied, which is a significant limitation, though I am sure there are ways of hacking this, perhaps through ChromiumEmbedded for which a Delphi FireMonkey exists.

It is worth a bit of effort, since Delphi and C++Builder are productive tools, and the output is true native code which still had advantages.

More information on RAD Studio XE3 is here.

Microsoft updates .NET Framework 4.5 for Windows 8, Server 2012 to fix performance, bugs

Microsoft has released an update for .NET Framework 4.5 which you may have noticed flying past if you keep an eye on Windows Update in Windows 8. The update is described here, and it is a big one. For example, in the Network Class Library:

Assume that you run a .NET Framework 4.5-based application that uses asynchronous APIs to read chunked responses. In this situation, the chunked responses may be read synchronously.

The HttpWebRequest class lets callers read an HTTP response either synchronously or asynchronously. However, if the response is a chunked HTTP response, then parts of the response are read by using synchronous I/O (Winsock calls) even when the caller uses the asynchronous code path. In this situation, the calling thread is blocked until data is received on the network.

Given this and other issues, the update is highly recommended. Maybe we will see fewer pauses in Windows App Store apps, some of which have not delivered on the “fast and fluid” promise.

Google the new Microsoft, goes to war on Windows Phone users (updated)

Google has fired a one – two – three salvo at Microsoft and Windows Phone users. Consider the following.

First, we learn that Google, under the guise of Winter cleaning, is removing Google Sync from its Mail, Calendar and Contacts online products, for consumers only. This is the Exchange ActiveSync protocol used by Windows Phone and other mobile devices:

Starting January 30, 2013, consumers won’t be able to set up new devices using Google Sync; however, existing Google Sync connections will continue to function

Next, Microsoft reveals that Google is blocking the creation of a YouTube app for Windows Phone:

Microsoft is ready to release a high quality YouTube app for Windows Phone. We just need permission to access YouTube in the way that other phones already do, permission Google has refused to provide.

Now Google is blocking Windows Phone users from accessing Google Maps in the mobile browser. Google says:

The mobile web version of Google Maps is optimized for WebKit browsers such as Chrome and Safari. However, since Internet Explorer is not a WebKit browser, Windows Phone devices are not able to access Google Maps for the mobile web.

but Microsoft observes that Google Maps works fine in IE on Windows and:

Internet Explorer in Windows Phone 8 and Windows 8 use the same rendering engine.

This last is of most concern. It is one thing to “optimize” for WebKit, another specifically to block non-WebKit browsers. If WebKit is in Google’s eyes the de facto standard for mobile devices – which are more significant than desktop browsers – then what is the function of the W3C, and what is to prevent a repetition of the IE6 effect where one company (Microsoft) in controlled what was implemented for most users?

We can conclude that Google has decided its interests are better served by inconveniencing Windows Phone users in the hope of stifling the platform, rather than trying to persuade Windows Phone users to use its services as it does on Apple’s iOS platform (with considerable success).

Sympathy for Microsoft will be limited because of its history. The company has never been a friend of cross-platform support, preferring to keep its customers on Windows. That said, it is difficult to find exact analogies for what is happening now. Nor is it clear what is and is not reasonable. Google Mail, YouTube and Maps are all Google properties. Is it reasonable to expect Google to make the extra effort required to support additional platforms? It is a matter for debate with no easy and clear cut answer.

This does not mean you have to like it. If it is Windows Phone today, what platform might it be tomorrow? Google’s willingness to lock out users of other platforms is a warning, and one that should give pause for thought to any individual, business or government entity who depends or is considering depending on the Google platform. If history tells us anything, it is that monopoly and lock-in always works out badly for users. Check the price of inkjet cartridges for a simple example, or the price of Microsoft Office for business users for another.

What will be the effect on Windows Phone of Google’s campaign? That again is hard to judge. Microsoft is better off than RIM, for example, because it does have something like a complete stack of what it takes to be a mobile platform, especially in conjunction with Nokia: search, maps, email, web-based documents, cloud storage, music streaming and so on. That said, “doesn’t work properly with YouTube, Gmail, Google Maps” is hardly a selling point.

Update: Google now says:

We periodically test Google Maps compatibility with mobile browsers to make sure we deliver the best experience for those users.

In our last test, IE mobile still did not offer a good maps experience with no ability to pan or zoom and perform basic map functionality. As a result, we chose to continue to redirect IE mobile users to Google.com where they could at least make local searches. The Firefox mobile browser did offer a somewhat better user experience and that’s why there is no redirect for those users.

Recent improvements to IE mobile and Google Maps now deliver a better experience and we are currently working to remove the redirect. We will continue to test Google Maps compatibility with other mobile browsers to ensure the best possible experience for users.

Is Google being straight with us? Why has the statement changed overnight?

One user discovered that certain URLs work for Google maps on Windows Phone and posted a video to prove it.

The video shows Google Maps working on a Lumia 800 (not the latest version of Windows Phone). I tried this URL:

ms-gl=au&ie=UTF8&t=m&source=embed&oe=UTF8&msa=0&msid=202255975001106586432.0004bb17c01b36a71a644

on my own Lumia 800 and it does indeed work. You can search for places, they show up on the map, and you can zoom with the + and – controls. However, it is not perfect. The search box is slightly corrupted and I am unable to pinch to zoom or swipe to pan. Better than nothing? Certainly.

Still, the experience is sufficiently degraded to lend some credence to Google’s statements; and there is undoubtedly extra work in supporting additional browsers as any web developer will confirm. 

Is Google at war with Windows Phone, or just not going out of its way to support a rival platform? Watch this space.

Visual Studio LightSwitch HTML: mainly for mobile

Microsoft’s Visual Studio LightSwitch is an innovative development tool that lets you build multi-tier database applications without ever designing the user interface directly. Instead, you work with defining the database and the the features you want on your screens. LightSwitch generates the user interface for you. You can also add code snippets, and advanced developers can create custom controls and extensions.

The thinking behind LightSwitch was to make it easy for non-developers to create database applications, though it is not the most intuitive of tools and in reality it is developers looking for rapid application development who are most likely to use it. There is a lot to like in the way it is designed, like the data-first approach and the easy to use database designer, but this is spoilt by some odd decisions. One is that the LightSwitch team are seemingly averse to reference documentation, preferring to deliver various how-to walkthroughs, which is frustrating if you want to find out in detail how it is meant to work.

The initial release of LightSwitch, as well as the new edition in Visual Studio 2012, generates only a Silverlight client, making it useless for mobile devices and somewhat annoying on desktop PCs since you have to install the Silverlight runtime. Microsoft has addressed this by creating an HTML client update, which lets you generate an HTML user interface. This is now at Preview two, and I downloaded it to have a look.

Since LightSwitch generates the user interface from metadata, you might hope that the HTML version would let you take a project created for Silverlight, and simply generate a functionally equivalent HTML application instead. Even if some touching up was needed, such as rewriting C# snippets in JavaScript, this would be a nice option. However that is not the approach Microsoft has taken. It has added an option to create an HTML client for a LightSwitch project, but you have to redo all the screens. In addition, the HTML client is intended mainly for mobile, and is designed for touch control, as explained by Microsoft’s Joe Binder here:

We are not expanding the HTML client’s scenario target to include desktop in our first formal release.  The first release will be based exclusively on JQueryMobile and be optimized for building touch-oriented apps.  We’ll stay tuned to your feedback to sort out where/when we go after that, but we still have some issues to sort out for our mobile story and we’ll remained focused until we feel confident that we have a viable mobile offering.

Of course it is still HTML, and will run on modern desktop browsers, though the generated user interface uses JQuery Mobile extensively. Another of the issues here is that HTML 5 may be better supported on smartphones running WebKit-based browsers than on desktops such as Windows XP running Internet Explorer 8, creating problems for LightSwitch. It is also hard to create a user interface that is equally well suited to touch control as to keyboard/mouse interaction; this issue is a common complaint about Windows Store apps on Windows 8.

The HTML client is still interesting, more so than the original LightSwitch with its Silverlight web or desktop clients. Rapid database app development for mobile devices is an key area, as businesses work to enable their mobile users to access company data.

After installing the preview, I built a quick HTML client app, based on a contact database.

image

It did not take long to build a working application, though there are some puzzles. My first effort at creating a contact list only displayed the firstname of each record. Apparently that is the “summary” layout, and I cannot see any quick way to change the summary definition to something more useful. Instead, I changed it to a Rows Layout which shows all the fields, but lets you delete those which are not required. Then I added an Edit contact button, though it appears as plain text without even an underline to show that it is a hyperlink, and I cannot see quickly how to change this:

image

The button’s “Appearance” properties are not helpful:

image

I also found an annoyance that may be a bug. I created several new contacts via a Contact details form (the first illustration above). I saved each contact with the tick button, whereupon they appear in the contact list. However they are not yet really saved. To save the contact to the database, you have to execute the save action, which is a built-in button on the BrowseContacts form. When I tried to save, the phone number fields (defined as Phone Number fields) failed validation, even though they would be valid phone numbers in the UK, and the records were not saved. Fair enough I suppose, but why did they pass validation in the Contact Detail form?

I am sure there are easy fixes for all these niggles, but I mention them to illustrate the point about this not being the most intuitive of tools.

The general approach also takes some mental adjustment. Here is a tool that makes web apps, but you cannot use a web design tool to customise the user interface.

As a tool for building mobile web apps, LightSwitch does show promise and I look forward to the final release. That said, it would be good if Microsoft could adapt the HTML output so you can make it suitable for desktop browsers as well.

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.

Fresh Paint Windows Store app: in equal parts great and frustrating

Now that the initial shock of “where is the Start menu” is wearing off, some of the real issues and points of interest in Windows 8 are coming to the surface (ha!), one of which is what a good Windows Store (also known as Metro) app is meant to look like. Microsoft has not been helped by the fact that most apps in the Store are either simplistic, or poor quality, or both.

In this respect Fresh Paint is worth a look, since it comes from Microsoft and is the outcome of considerable work and research. There is a post about the history of the app on Steve Clayton’s blog which is good reading.

The title cleverly combines the sense of a new approach to Paint, the Windows app from way back, with the fact that this is a simulation of paint (the liquid stuff). I have not found much in the way of documentation, though there is a FAQ here, but even a few moments playing shows that this is a sophisticated painting tool, especially on a tablet where you can paint with a finger or stylus. It works on both x86 and ARM devices such as Surface RT though performance is laggy compared to that on a modern x86 PC, and the pencil and pastel tools are missing.

This is an example of immersive UI. While painting, few tools are visible. As a concession, there are five faint tools at the bottom of the screen for undo, redo, show template, centre artwork, and dry. Right-click or swipe in, and you get tools for selecting the painting tool (pencil, brush or pastel), a colour palette that really is like a palette, with the ability to mix your own colours, an eraser, a dropper tool which I have not fully figured out, and a dry paint tool that picks up wet paint from the canvas.

image

Click or tap surface and you can select the canvas type and background colour. The camera button lets you use an image as the background.

image

Paintings are saved automatically every five minutes or when you return to the home page. You can also export paintings as .PNG files.

You can zoom in and out using the mouse wheel or pinch gestures.

The app is free, but Microsoft offers paid-for add-in packs which provide templates. You can paint over the template, then use the template tool mentioned above to remove it from the canvas. There is a free Fun Pack to get you started.

image

This is not a replacement for the desktop Windows Paint. Features missing in Fresh Paint include selection, fill, cropping, resizing, rotation, clipboard support and printing, to name a few.

Concerning Fresh Paint, three things are obvious.

One is that this is innovative, bold, and excellent in the way it lets you paint in a manner that is much closer to the real thing than most computer graphics software.

Second, users are having real difficulty figuring it out. Some users have not worked out how to get the menus and tools showing at all, hence this is explained in the FAQ mentioned above. Others are like Terry Odell who says:

The problem I have is there’s no "help" or "right click to figure out what things do" in the app. It’s total trial and error, and perhaps if I were 5 like my grandson, I’d be able to figure it out. There are choices on the top of the screen, and more choices/icons on the bottom. The camera on the bottom opens up the ‘real’ camera on my computer, but there’s no ‘click here to take a picture’ (not to mention I have no idea what to do with one.  I’d rather see a tutorial of some sort than have to keep wading through forums to get a question answered. As for ‘dropdown’ I have no idea where that is? The top menu? The bottom menu. Windows 8 is hardly intuitive, and the apps, while great in theory, don’t have enough information provided for how to use them.

It is as if not having documentation is a point of pride, because the app should be so easy to use that documentation is not needed, and if the user does not get it, it is the user’s fault. It puzzles me, since it in a few hours the team could provide some simple documentation that would help users get the best from this app.

Third, it is not stable. I got several crashes in the course of playing around briefly to write this post.

image

Why is it crashing? There are hints that it may be to do with graphics drivers. I have the latest NVIDIA drivers and other apps and games are solid. It would be interesting to know the reason why it falls over so much, and whether this is caused by buggy app code or problems in the Windows Runtime itself. It is not just my system; take a look at the reviews in the Windows Store for more reports.

I do not mean to be snarky; in many ways this is a brilliant app both for children and for anyone with some artistic talent. It just needs a little more work, and seems to say a lot about the state of Windows 8 apps right now.

Microsoft scraps Expression Web and Design, blends Blend with Visual Studio

Microsoft is giving up its long effort to compete with Adobe in the design tools space. The Expression range of products is being discontinued, in favour of enhanced design capabilities in its developer-focused Visual Studio. Blend for Visual Studio continues, as a design tool for Windows Store apps and Windows Phone apps. A future edition of Blend for Visual Studio, currently in preview, will add WPF (Windows Presentation Foundation), Silverlight, and SketchFlow support. The release version of this upgraded edition is promised for Visual Studio 2012 Update 2.

The new product plans are announced here:

Microsoft is consolidating our lead design and development offerings — Expression and Visual Studio — to offer all of our customers a unified solution that brings together the best of Web and modern development patterns.

Expression Web, the web design tool which evolved out of FrontPage, and Expression Design, a vector drawing tool, will be discontinued completely. Microsoft’s web design tool will now be Visual Studio.

One consequence of this decision is that Expression Web 4 and Expression Design 4 are now free downloads, though unsupported.

Expression Encoder, for converting media for streaming, is also being discontinued, though Expression Encoder Pro will remain on sale throughout 2013. Microsoft says it is still investing in format conversion as part of Windows Azure Media Services.

Is this a good decision? In one sense it is a shame, since Expression Web is a decent product. At least one longstanding user of the product is disappointed:

For Microsoft, the web is dying and the future lies in Windows 8 apps. When asked what we web developers should be doing the answer was the same: Make Windows 8 apps. Which is about as useful as telling a contractor to start erecting tents instead of houses because houses are no longer relevant. Anyone outside the reach of whatever reality distorting force field they have running at the Redmond campus can see how idiotic this is, but that hasn’t stopped the people in charge for pulling the plug on one of the few applications from the company that had something new to offer.

That said, Expression Web has been available for a number of years and made little impression on the market, so how much value is there in continuing with a tool that few use, irrespective of its merits?

The decision makes sense in that Microsoft is shutting down an unsuccessful product line in order to focus on a successful one, Visual Studio.

Further, the end of Expression illustrates the difficulty Microsoft has had in attracting designers to its platform, despite high hopes in the early days of WPF and Mix conferences in Las Vegas.