Infragistics: upbeat on Windows Phone but also building for Apple iOS, Google Android

I spoke to Dean Guida, CEO and co-founder of Infragistics, at TechEd in Atlanta earlier this week. Infragistics makes components, mainly for Windows but now beginning to support non-Windows clients. There is a set of jQuery controls in preparation, and “Our roadmaps are also going to deliver native on Android and iPhone,” Guida told me. “We have a lot of software companies that use our tools in their commercial apps, and a lot of enterprises, and we feel that we need to do it,” though he adds, “we feel that the best and the smartest business solution is to go mobile web.”

image

Infragistics has a focus on data visualization, and Guida showed me some great-looking components that show animated charts, with a huge range of customisation options, and including geo-spatial and timeline controls.

I was intrigued to find Guida more upbeat about Windows Phone than most commentators, though I make allowance for the fact that his company has a component suite for the platform. “More than half of our customers told us that they’re either building or they will build for Windows Phone in the next 12 months,” he told me.

His view, which I share, is that they key advantage of Windows Phone is to Microsoft-platform enterprises rather than to consumers. “It’s so easy to extend their knowledge of Silverlight and extend apps, that they’ll be able to extend the data and the access to information this way. I think that’s going to be a beachhead for Microsoft.”

Of course Microsoft has marketed Windows Phone to consumers so far, and has told businesses they should continue to use Windows Mobile 6.5, clearly a dead-end. It may be easier when the company is able to move on from this mixed messaging and get behind Windows Phone as a business mobile platform.

Continuing a contrarian theme, Guida is also positive about Windows Presentation Foundation (WPF). “It’s huge, especially in the financial markets. They’ve made big bets on it. They’ve built a lot of their trading apps and a lot of their internal apps on it. We’ve been telling Microsoft this for years,” he says.

The problem I guess is that while WPF/Silverlight makes sense for data visualisation for internal apps where you control the platform, for broad reach apps that are visible to the rest of us, Adobe Flash or some other approach is a better fit.

It is understandable that companies like Infragistics are keen to talk up the Microsoft platform. Their business depends on it. It is true that Infragistics is now experimenting with other platforms like Apple iOS and Google Android, but historically developers on non-Microsoft platforms have not formed a strong component market.

“They don’t get it as much as Microsoft developers,” says Guida. “We used to have a ton of Java components. I was at the second JavaOne conference. We built some of the first AWT components, JavaBeans, Swing components. There’s a lot more pain developing for these platforms than on the Microsoft platform, Microsoft has done a great job with the tooling. Why have that pain? I think there is a distinction between the Microsoft and the non-Microsoft developer, that they have a higher tolerance for, pain’s probably not the right word, but a higher tolerance for taking longer to get stuff done. I can only believe that over time maturity will happen. It’s really about satisfying a business need or a consumer need. These platforms are different, but if we go in and give them the tools, why not? We’re really just this year starting to get there.”

It is a brave hope; but looking at the Infragistics site, there are currently no Java controls on offer, and even the 2008 NetAdvantage for JavaServer Faces (JSF) seems to have disappeared. If the Microsoft client platform does decline, the future will be challenging.

Three questions about Microsoft’s cloud play at TechEd 2011

This year’s Microsoft TechEd is subtitled Cloud Power: Delivered, and sky blue is the theme colour. Microsoft seems to be serious about its cloud play, based on Windows Azure.

Then again, Microsoft is busy redefining its on-premise solutions in terms of cloud as well. A bunch of Windows Servers on virtual machines managed by System Center Virtual Machine Manager (SCVMM) is now called a private cloud – note that the forthcoming SCVMM 2012 can manage VMWare and Citrix XenServer as well as Microsoft’s own Hyper-V. If everything is cloud then nothing is cloud, and the sceptical might wonder whether this is rebranding rather than true cloud computing.

I think there is a measure of that, but also that Microsoft really is pushing Azure heavily, as well as hosted applications like Office 365, and does intend to be a cloud computing company. Here are three side-questions which I have been mulling over; I would be interested in comments.

image

Microsoft gets Azure – but does its community?

At lunch today I sat next to a delegate and asked what she thought of all the Azure push at TechEd. She said it was interesting, but irrelevant to her as her organisation looks after its own IT. She then added, unprompted, that they have a 7,000-strong IT department.

How much of Microsoft’s community will actually buy into Azure?

Is Microsoft over-complicating the cloud?

One of the big announcements here at TechEd is about new features in AppFabric, the middleware part of Windows Azure. When I read about new features in the Azure service bus I think how this shows maturity in Azure; but with the niggling question of whether Microsoft is now replicating all the complexity of on-premise software in a new cloud environment, rather than bringing radical new simplicity to enterprise computing. Is Microsoft over-complicating the cloud, or it is more that the same necessity for complex solutions exist wherever you deploy your applications?

What are the implications of cloud for Microsoft partners?

TechEd 2011 has a huge exhibition and of course every stand has contrived to find some aspect of cloud that it supports or enables. However, Windows Azure is meant to shift the burden of maintenance from customers to Microsoft. If Azure succeeds, will there be room for so many third-party vendors? What about the whole IT support industry, internal and external, are their jobs at risk? It seems to me that if moving to a multi-tenanted platform really does reduce cost, there must be implications for IT jobs as well.

The stock answer for internal staff is that reducing infrastructure cost is an opportunity for new uses of IT that are beneficial to the business. Staff currently engaged in keeping the wheels turning can now deliver more and better applications. That seems to me a rose-tinted view, but there may be something in it.

What’s coming in Microsoft Visual Studio

Microsoft is beginning to talk in detail about the next version of Visual Studio, though currently mostly in the area of ALM (Application Lifecycle Management) tools.

Continuous testing and support for diverse test frameworks

The new Visual Studio will support unit tests that run in the background. Visual Studio VP Jason Zander adds that:

With Visual Studio vNext we are enabling you to use your favorite unit testing framework integrated deeply into the IDE. We will support MS Test, xunit, and nunit with vNext. You will also be able to target both .NET and native C++ code. Adding test frameworks is an extensibility point as well so if you don’t see your favorite one listed here, you can easily add it.

Storyboarding in PowerPoint
This is not exactly a Visual Studio feature; but the new version will include a PowerPoint plug-in and templates that lets you mock up a user interface. Why bother, when Microsoft already has Sketchflow in Expression Blend, and tools in Visio for laying out a GUI? Apparently many users are more comfortable in Office.

Integration with System Center

Visual Studio 2010 already includes a virtual lab management feature that lets you test applications on virtual machines managed by System Center Virtual Machine Manager. But what about deployed applications? A new connector for System Center Operations Manager brings similar integration, so that bugs can be reported directly to Team Foundation Server complete with stack trace enabled by IntelliTrace, a historical debugging feature.

Context switching

The thinking here is that when developers are interrupted they lose the flow of their work. Context switching lets you shelve code changes, open windows and other activity tied to the current task. You can then do other work; when you later resume the task Visual Studio recovers its state.

New Team Explorer

Team Explorer is the connector and window in Visual Studio that forms the client for Team Foundation Server. This has been revamped for the new version, and now uses “full asynchronous communication” to improve load time and responsiveness. There are new views for common categories of information, including work items, pending changes, builds, reports and bugs.

New Agile collaboration tools

There are new tools in the Web Access client for Team Foundation Server for feedback and collaboration on projects using Agile methodology. Backlogs shows features to be implemented in a sprint, a unit of project iteration. The Task Board shows the backlog in a new visual view.

Connector for Project Server

A new connector for Project Server enables project-style views of project progress, such as Gantt charts.

Feedback tools

A new feedback mechanism aimed at stakeholders lets users enter feedback into Team Foundation Server. Tools include a web recorder that lets users comment on actions in a web application with linked recordings.

Code Clone Detection

This is a code quality feature that analyses a project looking for common code that should be refactored into a shared block.

Code Review

Code Review lets team members comment on code, similar in some ways to a commented document in Word.

Hosted Team Foundation Server on Azure

“Any team up and running within 30 seconds” is Microsoft’s claim for a new hosted option for Team Foundation Server. An exaggeration no doubt; but since a full-featured TFS takes some effort and infrastructure to implement, the hosted option will be welcome.

Visual Studio tends to be synchronized to some extent with new versions of Windows, so I would guess we will learn more about Visual Studio vNext at the Professional Developers Conference (though it may be called something else) in Anaheim on September 13-16 this year.

You can read more about Visual Studio vNext on Jason Zander’s blog and in a white paper [pdf]. 

Mono splits from Novell/Attachmate to form basis of new company

Mono is an open source implementation of .NET, formerly sponsored by Novell, and its future following Novell’s acquisition by Attachmate has been the subject of speculation.

Today Mono leader Miguel de Icaza has revealed new plans. In a blog post, he announces Xamarin, a new company focused on Mono. This company will build new commercial .NET tools for Apple iOS and Google Android, to enable .NET development on those platforms. Note that they will not be called MonoTouch and MonoDroid, the Novell offerings for this, but will be “source compatible”. I am sure there are brand and intellectual property ownership issues here; but de Icaza is no stranger to negotiating tricky issues of this kind, bearing in mind Mono’s relationship with Microsoft .NET. However I am not sure why the new company cannot acquire the existing brands, since it seems that Attachmate will no longer be able to support them.

The plans are not exactly new, but have been forced by Attachmate’s decision to lay off the entire Mono team:

We have been trying to spin Mono off from Novell for more than a year now. Everyone agreed that Mono would have a brighter future as an independent company, so a plan was prepared last year.

To make a long story short, the plan to spin off was not executed. Instead on Monday May 2nd, the Canadian and American teams were laid off; Europe, Brazil and Japan followed a few days later. These layoffs included all the MonoTouch and MonoDroid engineers and other key Mono developers.

Apparently Xamarin has “angel funding” but is looking for more.

The advent of MonoTouch and MonoDroid has been good for Mono, since it gives the project a stronger business model than it had previously. These mobile platforms are hot, and the ability to code for them in C# is great for Microsoft Platform developers. This factor could enable Xamarin to succeed.

On the other hand, Novell’s name gave Mono enterprise credibility as well as the backing of a large company, and these it now lacks.

The curious thing is that Mono is valuable to Microsoft. The company seems at times to hate Mono, because it removes the need for Windows, and at other times to love it, because it extends the breadth of .NET to include Linux and now iOS and Android. Microsoft gave some sort of official status to Moonlight, the Mono implementation of Silverlight, though the company’s support for Moonlight has always seemed hesitant.

So can we expect now that the company which can afford $8.5 billion for Skype, could expend a few million in support of Xamarin? Or will it stand by and hope that Mono fades away?

I have no idea, though I would like to see both Mono and Xamarin succeed. It is no threat to Microsoft, but does take .NET to places that Microsoft will never support. Without Mono, C# is merely a language for programming Windows.

Cloud is identity management says Kim Cameron, now ex-Microsoft

Kim Cameron, formerly chief identity architect at Microsoft, has  confirmed that he has left the company.

In an interview at the European Identity Conference in Munich he discusses the state of play in identity management, but does not explain what interests me most: why he left. He was respected across the industry and to my mind was a tremendous asset to Microsoft; his presence went a long way to undoing the damage of Hailstorm, an abandoned project from 2001 which sought to place Microsoft at the centre of digital life and failed largely because of industry mistrust. He formulated laws of identity which express good identity practice, things like minimal disclosure, justifiable parties, and user control and consent.

Identity is a complex and to most people an unexciting topic; yet it has never been more important. It is a central issue around Google’s recently announced Chromebook, for example; yet we tend to be distracted by other issues, like hardware features or software quality, and to miss the identity implications. Vendors are careful never to spell these out, so we need individuals like Cameron who get it.

“Cloud is identity management,” he says in the interview.

Cameron stands by his laws of identity, which is says are still “essentially correct”. However, events like the recent Sony data loss show how little the wider industry respects them.

So what happened at Microsoft? Although he puts a brave face on it, I am sure he must have been disappointed by the failure of Cardspace, a user interface and infrastructure for identity management that was recently abandoned. It was not successful, he says, because “it was not adopted by the large players,” but what he does not say is that Microsoft itself could have done much more to support it.

That may have been a point of tension; or maybe there were other disagreements. Cameron does not talk down his former company though. “There are a lot of people there who share the ideas that I was expressing, and my hope is that those ideas will continue to be put in practice,” he says, though the carefully chosen words leave space for the possibility that another well-represented internal group do not share them. He adds though that products like SharePoint do have his ideas about claims-based identity management baked into them.

Leaving aside Microsoft, Cameron makes what seems to me an important point about advocacy. “We’re at the beginning of a tremendously complex and deep technological change,” he says, and is worried by the fact that with vendors chasing immediate advantage there may be “no advocates for user-centric, user in control experience.”

Fortunately for us, Cameron is not bowing out altogether. “How can I stop? It is so interesting,” he says.

Apple, Google: risks of third–party platforms for developers

This week there are a couple of stories about companies whose business was affected by the third-party platform on which they deploy.

The first is from a post from Beamitdown Software’s Dennis Morin whose iFlowReader app for iOS is no longer viable following changes Apple has made to its developer agreement, insisting that add-on content for apps must be sold through Apple’s purchase system, where it is subject to a 30% fee. Beamitdown’s product is an eBook reader, and the content is eBooks, on which the company gets a 30% commission from the publisher. No profit.

It is also worth reading Morin’s interview with CNET in which he adds some detail.

Morin’s complaint is that Apple changed the rules; and reading his account of how difficult it was to communicate with Apple and how unsatisfactory and unreasonable the outcome is, it is hard not to be sympathetic.

On the  other hand, was it sensible to build a business on a platform that you do not control, and with a product that competes, and was always likely to compete, with a similar service from the owner of that platform?

Ask Skyhook, which is trying to offer location services on Android devices, and is suing Google for allegedly blocking Skyhook’s deal with Motorola to favour of its own services. The action has unearthed  correspondence between Google and Motorola that shows the limits of Android’s openness, though I have no idea about the merits of the legal action. Note that a key point here is not the Android OS itself, but Google’s applications which include Android Market. You will notice that the cheapest Android devices, like the famously poor Next Tablet, do not include the Android Market or other Google applications; they use Android source code but are not fully part of the ecosystem:

Is compatibility mandatory?

No. The Android Compatibility Program is optional. Since the Android source code is open, anyone can use it to build any kind of device. However, if a manufacturer wishes to use the Android name with their product, or wants access to Android Market, they must first demonstrate that the device is compatible.

How can I get access to the Google apps for Android, such as Maps?

The Google apps for Android, such as YouTube, Google Maps and Navigation, Gmail, and so on are Google properties that are not part of Android, and are licensed separately. Contact android-partnerships@google.com for inquiries related to those apps.

Who determines what will be part of the compatibility definition?

Since Google is responsible for the overall direction of Android as a platform and product, Google maintains the Compatibility Definition Document for each release. We draft the CDD for a new Android version in consultation with a number of OEMs, who provide input on its contents.

The Next tablet and devices like demonstrate why Google having a measure of control over Android is not a bad thing. However it gets uncomfortable if you want to put out a device that uses Android in ways that conflict with Google’s goals.

What are Google’s goals? It is a good question; but my assumption is that Android is intended to promote Google’s services such as search, and to make your Google identity central to your digital life so that you use Google mail, payments, Google Apps and so on. Further, Android is a strategic play to prevent Apple from owning mobile outright, at least at the high end, and in that respect it is proving successful.

The newly announced Chromebook is more closely tied to Google and delivers more obvious benefit to the company, but whether it will be as successful as Android is doubtful.

The bottom line is that if you choose to deploy on someone else’s platform, you have to take account of the risk that entails. This is nothing new – try marketing an office suite for Windows – but the extent to which the platform is controlled has been taken to a new level by Apple, and even Android has its risks. The nearest thing to an open platform that has broad reach is the Web and web technologies.

Chromebook: web applications put to the test, and by the way no Java

Yesterday Google announced the availability of the first commercial Chromebook, a Linux computer running the Chrome browser and not much else. There are machines from Acer and Samsung which are traditional laptop/netbook clamshell designs, with an Intel Atom dual core processor, 16GB solid state storage, and a 12.1” screen. Price will be a bit less than $400, or organisations can subscribe from $28 or €21 per month in which case they get full support and hardware replacement. There are wi-fi and 3G options. Nobody is going to be excited about the hardware.

image

The Chromebook may be the most secure computer available, if Google has got it right. The OS is inaccessible to the user and protected from the browser, and system patching is automatic.

The strength and weakness of the Chromebook is that is only runs web applications – the only exception being utilities that Google itself supplies. Are we ready for a computer that is little use offline? I am not sure; but this will be an interesting experiment.

The Chromebook is a compelling alternative to a traditional PC with its susceptibility to malware and dependence on locally installed applications and data. If you lose your PC, getting a new one up and running can be a considerable hassle, though large businesses have almost cracked the problem with system images and standard builds. Lose a Chromebook, and you just get another one and sign in.

You sign into Google of course, and that is a worry if you would rather not be dependent on a single corporation for your digital identity and a large chunk of your data.

The problem for the Chromebook is that Apple’s iPad and numerous Google Android tablets and netbooks offer security that is nearly as good, and local applications as well as web applications, for a not dissimilar cost. These devices are also easy to restore if they break or go missing, slightly less so than a Chromebook but not much.

The choice looks a bit like this:

  1. Chromebook: Web applications only
  2. iPad/Android: Web applications and local apps

Put like that, it is difficult to see the advantage of the Chromebook. The subscription scheme is interesting though; it is a new business computing model that brings the cloud computing principle of operating expenditure instead of capital expenditure to the desktop.

The offline issue may be the worst thing about a Chromebook. When I travel, I frequently find myself without a good internet connection. The word “offline” does not feature in either the consumer or business frequently asked questions – a question Google would rather you did not ask?

Yet there is 16GB storage on board. That is a lot. In theory, HTML 5 local storage should solve the offline problem, but few web apps, including Google’s own, make this seamless yet.

A few other observations. While there are no user-installable client apps, Google is adding some utilities.

VPN is coming:

We’ve heard from our pilot customers that VPN is an important feature for businesses and schools, and we’re working very hard to bake this into Chromebooks soon. Support for some VPN implementation is already in the product and we’ll both extend support for more VPNs and get these features to stable soon.

Remote desktop access is coming:

we are developing a free service called Chromoting that will enable Chrome notebook users to remotely access their existing PCs and Macs.

Apparently this is based on Citrix Receiver.

There is a bias towards Adobe Flash:

Chromebooks have Flash support built-in, but they do not support Java or Silverlight.

Another blow for Java on the client.

Battle of the portables: Netbook vs Apple iPad 2

A semi-serious comparison

The popularity of tablets has seriously undermined the market for netbooks, according to many reports. But to what extent are the two comparable, and if they are, is a tablet unequivocally superior? I’m asking the question as much as answering, because I am trying out an iPad 2 and intrigued to see to what extent it can replace the netbook with which I normally travel. I have found I prefer the netbook to a laptop when out and about: the lightness and long battery life is worth the performance limitations for me.

The comparison is not straightforward. An iPad is a thing of beauty, whereas a typical netbook is an obvious compromise, nearly a laptop but limited in memory and performance. For some people that is enough; they will say, it is not about features, it is about the experience, and it is night and day.

Even so there are things that the netbook does better. What follows are some notes on the subject, based on the iPad vs a Toshiba NB 300 netbook with which I am familiar. I may add or amend the entries, so check back for updates.

1. Price

iPad2: £399 (wi-fi with 16GB)

Toshiba netbook: £230.00 (based on typical current price of NB305)

Winner: netbook

the netbook comes with Windows 7 starter, a crippled version of Windows, and only 1MB RAM. You probably want to add 1GB RAM (£17.00). If you want to join your netbook to a business domain you’ll need to upgrade Windows 7 to the Professional version; if you want to get rid of the annoying ads in Office Starter you’ll need to upgrade Office too.

2. Ease of setup:

iPad2: Switch on, and it asks you to connect to a computer running iTunes. This actually has its annoyances. iTunes is rather slow and bloated especially on Windows. When you connect, the default is auto-sync, which means iTunes will attempt to copy its music library to your iPad, likely not have enough room, and copy a random selection. If you have an iPhone, you will also get all your iPhone apps copied across, like it or not, which means you have to delete the ones you do not want.

Toshiba netbook: I recounted the “fairly dismal” experience of setting up a Toshiba netbook here. The main problem is all the trialware that is pre-installed, plus a bunch of Toshiba utilities of varying quality. Rather than repeat it all here, I will show show the screenshot a few minutes after first power-on:

Winner by a mile: iPad 2

3. Boot time

iPad 2: instant

Toshiba: ages. Better from hibernation, though still much slower than iPad 2. Better from sleep, but I am not a big fan of sleep because it drains the battery and occasionally crashes on resume.

Winner by a mile: iPad 2

4. Multi-tasking, or the ability to do several things at once

iPad 2: does multi-task but the experience is not great. Only one app is visible at a time, and to switch you have to double-click the big button, swipe through a list of apps, and tap the one you want.

Toshiba: It’s Windows. Fortunately Microsoft changed its mind about having a limit of three apps you can run at once. You can run lots of apps, switch between them with alt-tab or by clicking a taskbar icon, and size them small so you can see more than one on-screen at one time.

The simplicity of one app to view is meant to be an advantage of iOS; but while the Windows model can be troublesome – see the above screenshot for proof- I’d like to see some improvement in this part of iOS. It is not a matter of screen size: the screen size on the netbook is similar to that of the iPad.

Winner: netbook

5. Keyboard

iPad 2: soft keyboard that obscures half the screen, or add-on physical keyboard.

Toshiba netbook: traditional clamshell design with integrated keyboard.

I do a lot of typing, and my speed is substantially better on a physical keyboard. However I do not like carrying lots of accessories, and while the iPad add-on  keyboard is fine at a desk, if you are in a confined space such as an aeroplane the clamshell design works better than a loose keyboard.

That said, I recall hearing how a school that issued all its pupils and staff with iPads was surprised by how few wanted keyboards. Some kids apparently prefer the soft keyboard to “all those buttons”, so it may depend what you are used to. However, even if you replaced the “Keyboard” heading with “Text input”, my vote would still go to the netbook.

Winner: netbook

6. Touch control

iPad 2: yes

Toshiba netbook: no

I’m putting this in just to make the point. Even a Windows tablet, with a stylus, is less convenient to use with touch than an iPad.

Winner by a mile: iPad 2

7. Applications

iPad 2: A bazillion apps available in the app store, cheap or free to purchase, a snap to install. Not so many for iPad as for iPhone, but still a good number.

Toshiba netbook: It’s Windows. They are a bit slow to load, but I run Microsoft Office, Outlook, several web browsers, music apps, games, network utilities and all sorts of other stuff.

Winner: I am going to call this a tie. There are some beautiful apps for the iPad 2, but I miss the features of Windows apps like Office. With the netbook my experience is that I can do almost anything that I can do with a desktop PC, although more slowly, but that is not the case with the iPad 2. On the other hand, the way apps can be installed and removed in a blink on the iPad 2 is a delight compared to Windows setup.

8. File system and storage

iPad 2: There is a file system, but it is hidden from the user.

Toshiba netbook: Yes. I can save a document from one app, and open it in another. I can connect to it over a network and copy files from one folder to another. Not possible on the iPad 2 without workarounds like iTunes and DropBox; and even then some things are difficult. For example, you cannot save a document from Pages on the iPad directly to your DropBox. Let me add that the netbook has a 250GB hard drive, whereas the iPad gets by with a maximum of 32GB solid state storage – though also note that solid state storage is faster to access, and that because the iPad is designed to work like that it does not feel particularly space-constrained.

Winner by a mile: netbook

9. Connectivity

iPad 2: Wireless network, or devices that accept Apple’s proprietary connector. You can attach the iPad to a PC with USB, but only iTunes really understands it, unless you just want to copy photos and videos. Apple offers an add-on camera connectivity kit for downloading photos from a camera, and AirPrint for printing over a network. It is annoying that you have to buy add-ons to do what a netbook does out of the box.

Toshiba netbook: Three standard USB ports, you can attach external hard drives or most USB devices such as printers.

Winner: netbook

10. Battery life

iPad 2: Apple says up to 10 hours, but I have never managed as much as that. Maybe 7 or 8 hours.

Toshiba netbook: I get about 6 hours on wifi, more than that without.

In practice, I have no quibble with either machine – though I am envious of Amazon Kindle owners with their one month charge.

Winner by a whisker: iPad 2.

11. Portability

iPad 2: no bigger than a pad of paper. It is not exactly pocketable, but slips easily into any kind of bag or briefcase. It perhaps needs the protection of a case, but even in a case it is not bulky.

Toshiba netbook: fatter and uglier than an iPad, but still very portable. The worst thing is the power supply, if you need it: the Apple mains adaptor is much smaller than Toshiba’s effort.

Winner by a whisker: iPad 2

12. Watching videos

iPad 2: Great. It is like a portable TV or DVD player, but better – as long as you have a strong wifi connection and BBC iPlayer or the like. Just prop it up on its stand (most cases have one) and enjoy.

Toshiba netbook: it works but the graphics capabilities are inferior and it feels like you are looking at a netbook.

Winner by a mile: iPad 2

13. Built in cameras and microphone

iPad 2: two cameras, front and back, and a microphone that works.

Toshiba netbook: webcam and microphone, but they are junk; I have not seen a netbook with anything decent.

Winner by a mile: iPad 2

14. Reading eBooks

iPad 2: iBooks app and Amazon Kindle app. I prefer the Kindle app, though whether it will survive Apple’s assault on alternative readers I am not sure.

Toshiba netbook: Kindle app, as well as Adobe Reader etc.

A tablet is great for reading, much better than a netbook. However despite its humble appearance Amazon’s Kindle device really is better for reading, thanks to a screen you can read in sunlight, much longer battery life, and free internet access to download books everywhere.

Winner: iPad 2, though a Kindle is better

15. Attract admiring glances

iPad 2: Yes

Toshiba netbook: No

Winner: I did say “semi-serious”.

Hands On with Adobe Flash Builder 4.5 for Android

I have been trying several cross-platform development tools for mobile, and today I set out to create an Adobe AIR app for Android using the new Flash Builder 4.5, available separately or as part of the Creative Suite CS5.5.

I made another calculator app, which may seem boring but gives me a chance to compare like with like.

You get started by running up Flash Builder and creating a new Flex Mobile Project.

image

The disappointment here is that only Android is supported, so it is not all that cross-platform. According to Adobe’s Andrew Shorten:

An update to Flash Builder, scheduled for June 2011, will provide additional options to package Flex applications for Apple iOS and will include built-in support for packaging both Flex and ActionScript applications for BlackBerry Tablet OS.

so we have not got long to wait.

Flash Builder is based on Eclipse. The IDE is slow at times, for example when switching to visual design mode, but the platform is familiar to many developers and it feels reassuringly enterprise-ready. I find it a productive environment.

I laid out a screen with buttons and a label to display the output. The alignment tools work well although I made them a little too small as you will see shortly. Then I started writing code. The language of Flash Builder is ActionScript, which is based on JavaScript.

Here I met my first little annoyance. You can easily create a click handler for a button by right-clicking in the designer and choosing Generate Click Handler, or by clicking Generate Event Handler in the properties window. However, I thought it would be smart for most of my buttons to share the same event handler. All I need to do is to read the label of the button which was clicked, and pass it to my addnum routine that processes the input:

protected function btn_clickHandler(event:MouseEvent):void
{
    var theButton:Button = Button(event.currentTarget);
    addnum(theButton.label);
}

This works fine, but the IDE does not let you select an existing event handler for a button. You can paste it in, or add in in the source code editor, which is what I ended up doing. The source code editor is rather good, with excellent code completion, hover-over help for keywords, and so on.

image

The second annoyance was with the label. I wanted to add a border. I selected the label but could not see a border property. I went to the full list of properties and found exotic things like dominantBaseline in the style list but still no border.

Then I found this in the reference for a label:

Borders are not supported. If you need a border, or a more complicated background, use a separate graphic element, such as a Rect, behind the Label.

I wondered if a panel would work, and started to type it in the editor:

image

Well, it looks as if Panel is overkill for simply getting a border, but it was interesting to see the editor report that “Adobe discourages using Panel when targeting profiles: mobileDevice”. I decided to do without a border for the moment.

I finished the coding and successfully ran the project in the Android simulator. Next, I attached a device and created a new Run Configuration for a device attached via USB. I plugged in my HTC Desire running Android 2.2. Provided USB debugging is enabled on the device, this works well. Not only could I run on the device; I could also set a breakpoint and debug on the device. Everything was a bit slow in debug mode but it worked.

image

Finally, I built a release version using Export Release Build on the Project menu. You have to sign the package, but there is a wizard to create a certificate for testing.

Here it is on the device – as I mentioned, the size of the buttons needs a little work:

image

So how is performance, bearing in mind that the app is trivial. Well, the good news is that performance is OK, though launch is a little slow, except for one thing that I have not figured out. Sometimes I touch a button, and see the graphic effect as the button depresses, but the input does not register. It seems most prone to this just after launching, and usually a second tap works fine.

The vsize reported for the app process by the Dalvik Debug Monitor is around 200K, similar to that for the PhoneGap version.

Overall I am impressed, though I would like to understand the button issue, and I am beginning to wonder if my year-old HTC Desire is a bit under-powered for AIR. Device performance is improving rapidly, and Flash optimization is part of the design process for mobile graphics chips, so my guess is that AIR will be more than viable as a cross-platform toolkit for mobile. You also get the benefit of all those lovely Adobe design tools.

Google seeks to automate the home

Google made a bunch of announcements at its Google I/O keynote today. It showed off the next version of Android, called “Ice Cream Sandwich”; it announced its Music Beta, a service which looks a lot like Amazon’s Cloud Player, in which you upload your music collection to the cloud; it announced movie rentals.

The most intriguing announcements though were about how Android devices will be able to connect to other devices in future. The Open Accessory API lets manufacturers create devices which talk to Android over USB, and in future over Bluetooth, in a standard manner. The idea is that if you have an Android-compatible device – Google demoed an exercise bike – you can attach your smartphone and do some clever stuff, such as controlling it, analysing its data, or whatever is appropriate.

A related idea is called Android@Home. Google has developed a new lightweight wireless protocol which will let manufacturers create household devices that can communicate with Android:

We previewed an initiative called Android@Home, which allows Android apps to discover, connect and communicate with appliances and devices in your home.

image

The automated home is a grand concept where almost any device, from a light to a coffee maker to a fridge or a door becomes available to control and program. However, the examples Google gave were not exciting: playing a CD by waving it at a player, coding an alarm clock to turn the light on gradually. Big deal.

It is not really a new concept. Sun had ideas to develop Java as a universal runtime and language to automate the home. Microsoft has similar thoughts, maybe using the .NET Micro Framework. So far none of these efforts have come to much – will Google’s initiative be different?

Probably not; but there is something else going on here. I travel a bit, and it is now common to find an iPod dock in your hotel room. If you have an Ipod or iPhone you just plug in and go; if you have a non-Apple device, you are out of luck. That is a kind of pressure exerted on every guest, a hint that they might be better off with an Apple device.

Google wants to do the same for a variety of other devices, but with respect to Android. Here is a refrigerator, and by the way, if you have an Android device you can do this other clever stuff like, I don’t know, alerting you if the temperature goes too high, or letting you peek at the contents from your smartphone so you can see if you need to buy milk.

Same with the Open Accessory API. If Google can sign up enough manufacturers, it will be increasingly difficult for non-Android devices to compete.

That said, we did not hear much about Google TV at today’s keynote. Why? Because it has flopped; a reminder that not all Google’s efforts succeed.