Tag Archives: apple

Adobe releases 64-bit Flash Player 11 beta, AIR 3 with packager for Windows, Mac, Android

Adobe has released a beta version of Flash Player 11 and AIR 3. The AIR release is of limited interest since as yet there is no public SDK; Adobe mainly wants to test compatibility.  That said, the announcement describes a key new feature, the ability to package AIR applications as standalone executables on Windows, Mac and Android. You can already do this on Apple iOS, a feature that was forced on Adobe by Apple’s refusal to allow application runtimes on iOS – unless they are WebKit or FileMaker. This is new for the other platforms though, and I assume comes as a result of the popularity of the iOS packager. The effect is that you no longer have to advertise the fact that your app runs on AIR or require users to obtain the runtime; your app will just work.

Adobe may have its eye on the Mac App Store, which will disallow applications that require a runtime. Extending the AIR packager to desktop OS X should get around that limitation.

64-bit Flash Player is also a big deal, and really long overdue, though there has already been a preview codenamed Square which offered 64-bit. Although there are probably not many Flash applications that really need 64-bit, this is good for compatibility with 64-bit browsers and of course desktop applications when compiled with AIR. There could also be value in 64-bit for business intelligence clients which manipulate large datasets.

Another new feature in Flash Player 11 is Stage3D, codename Molehill, which is a new API for hardware-accelerated 3D graphics. Stage3D has its own shader language, called AGAL (Adobe Graphics Assembly Language); my heart sinks a little when I see vendors inventing new languages rather than using one that is already available, such as OpenGL Shading Language, but Adobe says AGAL is simpler and more secure. If you would like to use GL SL with Stage3D, check out the 3rd-party Mandreel framework which comples GL SL shaders to AGAL.

Flash Player 11 also has a built-in H.264/AVC software encoder for cameras, which will improve video chat and video conferencing, and adds potential for applications that stream video out as well as in.

Native JSON support will simplify and accelerate the handling of data in this popular format.

Another feature that caught my eye is socket progress events. When transferring data, it is important to give feedback to the user on progress. A new property lets developers monitor the number of bytes remaining in the write buffer, and a new event is raised when data is being sent, enabling more informative data transfer applications.

LZMA compression for SWF files, the compiled format for Flash content, is claimed to reduce SWF size by up to 40%.

When do we get a full release? Adobe is taking its time, but my hunch is that it will be in 2011, maybe in time for the MAX conference in October.

Embarcadero promises Delphi everywhere: Mac, iOS this year, Android, Blackberry, Windows Phone to follow

I noticed the following remark from Embarcadero’s David Intersimone regarding Delphi, its application builder based on Pascal.

We are putting Delphi (and C++Builder) everywhere this year and over the next 5 years. Today you can use Delphi for Desktop, Client/Server, Multi-Tier, Cloud, Web, Web Services (REST and SOAP). This year you will also be able to build for Macintosh and iOS. Linux is also on the roadmap for the coming years along with Android, Blackberry and Windows Phone 7.

Welcome news; though Delphi enthusiasts are all too familiar with bold promises. Two years ago I interviewed Embarcadero’s CEO Wayne Williams and he promised cross-platform Delphi in 2010; but when Delphi XE appeared last year neither Mac nor 64-bit (another longstanding request) was included.

That said, I am still a big Delphi fan. Mobile is a particularly interesting prospect. I have tried numerous cross-platform mobile toolkits and they all have problems; on the other hand they are improving fast and in a couple of years things like Appcelerator’s Titanium and  Nitobi’s PhoneGap may be hard to catch.

Update: what will Delphi’s Android support look like? I would be interested to know whether Embarcadero is working on its own compiler, or whether it is partnering with RemObjects and that what Intersimone is referring to is Project Cooper:

“Cooper” is a new and exciting research project going on in the RemObjects Software Labs, to bring the Oxygene language to the Java and Android platforms. The original Oxygene for .NET set out to bring a modern and “next generation” Object Pascal to the .NET world; Project “Cooper” is taking this endeavor to the next level, expanding the reach of Oxygene to the second big managed platform.

In other words, Project Cooper will compile Delphi code to Java.

Note that Embarcadero officially adopted Oxygene and offers it as its own product called Prism. It seems plausible that the same will happen with Project Cooper. Since Windows Phone is a .NET platform, there is also potential for Oxygene/Prism to target Microsoft’s mobile platform:

Windows Phone 7 – Microsoft’s new Windows Phone 7 uses Silverlight for application development,  and did I mention Delphi Prism does Silverlight?

says Jim McKeeth at RemObjects.

What about Delphi on the Mac and on iOS? There is also a possible Oxygene/Prism route here, via MonoMac: Delphi to .NET/Mono to Mac. However, I suspect Delphi developers would be disappointed if this turned out to be Embarcadero’s approach to Mac and iOS support. Programmers choose Delphi because they like compilation to native code.

Google Plus demands your location on iPhone, iPad and mobile devices – but you still have control

Last week I signed up for Google + (you can find me here), and one of first things I tried was to sign in on an Apple iPad.

I was annoyed to see the following message:

image

Google demanded the right to use my location with Google Plus, otherwise it would not let me sign in. But what if you want to use Google Plus without sharing your location with the world? Since Google Plus works fine on desktop PCs without location information, why should you not use it on an iPad in the same way?

This led me to investigate the W3C Geolocation API. In fact, I wrote my own web page to test how it works. I went over to Bing Maps, signed up for a developer account, and wrote a small amount of JavaScript to test it. You can try it here if you have a reasonably modern browser. I have not bothered to test for older browsers that do not support geolocation.

You will notice a couple of things about this test page. One is that it will ask your consent before attempting to retrieve your location. Another is that on a home broadband connection, it is rather inaccurate. According to Internet Explorer 9 I am in Berkhamsted – do not try and visit me there though, I am nowhere near.

image

However, if you try this on an iPad or other mobile device, you will likely get much better results. If I use the iPad, even on home wifi, it shows my house dead centre of the map.

That is only if you give consent though. Since Google + is a web application, this consent is determined by Safari, irrespective of what terms and conditions you agreed with Google. If it bothers you, you can even go to settings – location services and disable them for Safari completely:

image

That said, Google could add some code that tried to retrieve your location and would not let you use Google+ if access is denied – but it has not done so. In fact, so far the only time I have seen Safari prompt for consent in Google+ is when making a post:

image

If you agree, this allows Google+ to geotag your post.

I am sure there are other ways Google plans to use your location in Google+. For the moment though, if you would rather maintain location privacy Google+ still allows you do to do so.

Keyboards, consoles and living rooms: Trust Thinity reviewed

Computers are for the study, consoles for the living room, right? Kind-of, but we are seeing some convergence. The box under your TV might actually be a Mac Mini or a PC, or you might be browsing the web on your Sony PS3. From time to time you hit a problem: game controllers are lousy for text input.

I was an early adopter for Microsoft’s Media Center PC, and hit exactly this problem. Microsoft’s media center remote was good in its way, but sometimes I needed a keyboard and mouse. I ended up getting a wireless keyboard. However I also discovered that a keyboard, while great for a desk, is an awkward thing to have lying around in a living room.

This is the problem Trust is trying to address with its Thinity Wireless Entertainment Keyboard. This is a small keyboard – think netbook-sized – with an integrated trackpad. It comes with a USB wifi adaptor and a stand/charger.

image

When sat in its charger it is reasonably stylish as these things go, but still looks like a keyboard.

image

The Thinity is compatible with Windows PCs – why not Mac? – Sony PlayStation 3, and Microsoft Xbox 360. There is no need to install drivers, just plug in the USB device and it works. That said, there is no caps lock indicator on the keyboard, so you can download a software indicator for Windows if you want.

The trackpad is actually multitouch, and as well as having hardware left and right buttons,  tapping with three fingers makes a right button click, and it behaves as a scroller if you drag with two fingers.

How is it then? Well, it does the job and is easier than using a game controller to type URLs and passwords. I cannot rate it highly though, since it is not a particularly well-designed keyboard. The keys are close together and it is hard to type at speed. I would not enjoy using it as a main PC keyboard; I wrote most of this review with it but found it a struggle.

It is also a shame that there are no configuration options for Windows. I would like to turn off tapping, which I personally find a nuisance because of accidental clicking though I know others who love it.

Although the Trust brand is associated with budget gear, I get the impression that the company set out to make at least a mid-range product, with multi-touch keypad and a long-lasting li-ion battery. Unfortunately it needs a bit more design effort, making it seem over-priced for what it is. There are little annoyances, like the fiddly on-off switch, the support tabs on the back that are hard to prise open, and the fact that the keyboard flexes a little more than it should.

Logitech’s Google TV, the Revue, has a keyboard/trackpad that is only a little larger, but is more usable.

But do you want a keyboard in the living room at all? Personally I am doubtful. They are a transitional necessity. I am a fan of apps rather than remotes. The virtual keyboard on an Apple iPad does all that is necessary for occasional text input in a more elegant and living-room-friendly manner. Nintendo is taking this same direction with the Wii U, which has a touch controller with its own screen.

Of course these devices cost more and do more than a simple wireless keyboard, but they are inherently better suited to the task. One factor is that when you type, you do not want to be 12 feet away from where the letters are appearing on a screen. With a screen-equipped remote, they are right in front of you.

That does not solve the immediate problem with a PS3, Xbox or Media Center PC, so you will still need something like the Thinity, though I would suggest you check out the competition too. Long term though, I do not think we will see many keyboards in the living room.

Apple’s uneasy relationship with its retailers

I’m at an event run by an Apple accessory distributor, showing off the latest add-on gadgets. Met someone whose company has a number of high street stores selling Apple products.

“What do you do when an Apple Store opens in the same town as one of your shops?”

Answer: “It screws us”

That shop becomes instantly unprofitable.

The consequence: one retailer said it is inevitable that Apple-only retailers will diversify and start selling Windows, Android and so on.

It is a bitter pill since Apple itself encouraged independent retailers to invest in prime retail sites – only to compete with them a year or two later with it’s own stores.

Resellers are also facing competition from the Mac app store, selling previously profitable applications like Final Cut and of course the next version of OS X, Lion, either exclusively or at prices with which they cannot compete.

Does Apple care? Well, it seems there is one team tasked with supporting independent resellers, and another tasked with finding good sites for new Apple stores, and the two do not talk to each other. Which I suppose is what you would expect.

Apple may deliver the most user-friendly devices out there, but that does not make it a nice company to do business with.

Hands On with Flash Builder 4.5.1 for Apple iOS

Flash 4.5.1 has been released recently, the first with integrated support for Apple iOS as well as Google Android and RIM Blackberry Tablet OS. I was keen to try my calculator app on iOS, having already tested it for Android. You can do most of the development on Windows, but I moved the project to OS X so I could try it in the iOS simulator and then on an actual iPhone 4.

Adding iOS as a target platform was easy: right-click the project, choose Properties, check to add the platform.

image

Then I worked on the UI. The buttons on my design were too small. The answer I guess is to use relative sizes, but I thought for a quick test I would simply set the device to Apple iPhone 4 and resize the layout for that.

image

After a bit of tweaking I got the app working nicely in the iOS simulator, again set to iPhone4. I was also able to set breakpoints and debug the app easily.

image

Then I tried it on the device. I did the Apple provisioning dance. I then compiled a release build, which took a long time and featured a thermometer that stuck on zero the entire time. It worked though, and I got the app into iTunes and synched.

On the device the app did not look too good.

image

Well, I have read up on supporting multiple screen sizes and on setting mobile project preferences and I am still not sure why this did not work, especially as it looked OK in the simulator. I had auto-scaling on, and the docs say:

When you enable automatic scaling, Flex optimizes the way it displays the application for the screen density of each device.

I fixed the the immediate issue though by adding the attribute applicationDPI=”320” to the ViewNavigatorApplication element.

Now it works fine.

image

So how is performance? I have managed to create some rather poorly performing calculator UIs in my various tests of cross-platform mobile tools, and this is one of the better ones, though not as responsive as the Titanium app on iOS. However the Flex app is more consistent across Android and iOS, whereas Titanium was poor on Android. Loading takes a few second, but it is acceptable. The app size is only 6MB which is not bad, considering that the necessary bits of Adobe AIR are compiled into it.

Note that this is little more than a Hello World app. My reasoning is that if this does not work well, then nothing will.

So far I am encouraged. Taking into account the development experience and performance across both Android and iOS, this is one of the best I have tried so far with my simple example.

Adobe announces strong results though much of the business looks flat

Adobe has announced its financial results for its second quarter. Revenue is up 9% year on year, and profits are up too, so it looks like a strong quarter. However, the success is really limited to a couple of business segments.

Here is the comparison with the equivalent quarter last year:

  Q2 2010 Q2 2011
Creative and interactive 429.3 433.1
Digital Media 139.3 136.7
Digital Enterprise 231.9 283.5
Omniture 91.9 115.9
Print and publishing 56.6 54

Adobe has changed the segmentation of these figures since last time I looked, removing the confusing Platform and splitting out Digital Media. Broadly:

  • Creative and interactive is most of Creative Suite and the Flash platform including both developer tools and streaming servers. It also includes the nascent Digital Publishing Suite for  Apple iPad and tablet publications.
  • Digital Media is Creative Suite Production Premium and individual sales of Photoshop. Premiere Pro, After Effects and Audition.
  • Digital Enterprise Solutions is the LiveCycle middleware, now rebranded as part of the Digital Enterprise Platform, plus the content management platform acquired with Day Software in October 2010, and Acrobat.
  • Omniture is self-explanatory; this is the analytics business acquired in 2009.
  • Print and Publishing is a bunch of tools including, oddly, ColdFusion but not InDesign. Technical authoring sits here, as does Director.

So what do these figures tell us? Creative Suite is trundling on OK, but no more than that, particularly when you consider that Q2 included the release of a paid-for upgrade, CS5.5. Revenue from Digital Media is slightly down, as is Print and publishing.

The strong results are in Digital Enterprise, following the acquisition of Day, and in Omniture.

Both of these were smart acquisitions in my view, though I am not a financial analyst. In a connected era, analytics is crucial, with great potential for integration with the design and development tools.

The enterprise middleware also seems to be going well. This is really a strange amalgam of the old Adobe document publishing and workflow servers with the application services that came from Macromedia. Throw Day software into the mix, with Roy Fielding’s content-centric vision for application development, and you have an interesting platform.

Adobe is also benefiting from the Apple-led revolution towards design-centric software.

That said, not everything is going Adobe’s way. The momentum behind both HTML5 and Apple iOS is a threat to the Flash business. Never mind the technical arguments, the fact is that designers are more likely to be working on removing Flash from their web pages than putting it in. Adobe also needs to sustain its prices, and there is plenty of downward pressure on software prices today, partly driven by Apple and its App Store model. I also get the impression that the hosted services at Acrobat.com have not taken off in the way Adobe had hoped.

Warring models of music distribution

How should we pay for the music we listen to? In the digital, internet era, it seems to me that there are three business models.

In the first model, you pay for a lifetime right to each album or track you want to add to your collection. This is the most similar to what we are used to from purchasing physical media like records or CDs. You do not own the music of course; all you have ever purchased is a licence to listen to it.

Until now the digital equivalent has been downloads as offered by Apple iTunes or Amazon’s MP3 store. However, Apple has now announced iCloud, which extends this model to de-emphasise the actual download. You download a track to play it on your device, but there is no problem if you have more licenced tracks than you have space for; you can just download the ones you want to play. You can also “upload”, but when you do this, you do not really upload the tracks, but rather just inform iCloud’s database that you are licenced for them.

The second model is where you subscribe, giving you the right to play anything that your music provider has to offer. The most successful example is Spotify, which has a superb client for Mac and PC that offers near-instant playback of any of 13 million tracks.

image

An advantage of this approach is that it is naturally social. Since everyone has access to the same library, you can share playlists easily.

The third model is where you do not pay at all. In pre-digital days, you could listen to the radio or swap tapes with friends. Now almost anything is available, legally through Spotify (though now restricted to 2.5 hours per week and 5 times per track), or illegally through countless sites easily found through Google, or through copying your friend’s hard drive stuffed with music.

Personally I am a fan of the second model. I think musicians should be rewarded for their work, and that all-you-can-eat licencing is the best and fairest approach, taking advantage of what technology enables. Buying a lossy-compressed download with a restrictive licence is also poor value compared to buying a record or CD.

I get the impression though that the music industry is set against the subscription approach. Apple seems reluctant to embrace it, hence iCloud is still tied to the first model. Spotify still has it, but the company now seems to be putting increasing emphasis on downloads and locally stored music, which is strange given its original concept, as well as making its ad-supported free streaming account less attractive.

The business reasoning, I guess, is a belief that selling music piecemeal is more profitable, and exploits the collecting instinct that has served the industry so well in the past.

The risk is that the third model will sweep it aside.

Easy database apps for iPad and iPhone with FileMaker Pro and Go

FileMaker Pro is a database manager from FileMaker Inc, a wholly owned subsidiary of Apple. It is a capable produce that has been around for over 20 years and is the dominant Mac-based database manager, though there is also a Windows version. FileMaker has evolved relatively slowly, with more focus on usability than on features. In comparison to Microsoft Access, FileMaker wins on usability and scalability, but Access has a more traditional approach based on SQL and programming with Visual Basic for Applications. FileMaker has a drag-and-drop script editor and support for AppleScript on the Mac.

Although the script editor is frustrating for someone used to writing code, it does work. As well as manipulating the data, you can set and retrieve local and global variables, perform loops and display custom dialogs; it is not as limited as it may seem at first.

A FileMaker database can be huge, with 8 terabytes specified as the theoretical limit. External databases are accessible through ODBC on both Windows and Mac.

The number of users supported by FileMaker is limited. The desktop product supports up to 5 concurrent users, and FileMaker Server up to 250 users. FileMaker has its own built-in security system, though FileMaker server can also authenticate against an external directory. Security is fine-grained, and you can even specify permissions for an individual record.

I have not looked at FileMaker for a few years, but renewed my interest when the company came out with FileMaker Go, a runtime client for Apple iOS. Given that FileMaker runs scripts you might have thought this would be restricted, bearing in mind this provision in the App Store guidelines:

2.7 Apps that download code in any way or form will be rejected

This is normally taken to prohibit runtimes like Java or Adobe Flash/AIR. Well, either someone decided that FileMaker scripts are not code; or there are special rules for an Apple subsidiary, which is reasonable enough. Anyway, FileMaker Go is in the App Store and does run scripts.

What this means is that you can create apps in FileMaker Pro and deploy them to iOS without going via the App Store. There are two models. FileMaker Go can open a file hosted by FileMaker desktop or server, in which case it behaves like a Mac or Windows client, or alternatively you can transfer a file to FileMaker Go to run locally. Transferring a file is easy using iOS launch service; essentially, if you can access the file via the internet or an email attachment, you can just tap it on the device and it will open in FileMaker Go. The advantage of running locally is offline use, whereas the advantage of the client-server model is that all users have the most up-to-date version of the data, and the database can be much larger. FileMaker is a real server application; this is not just file sharing. This also means that FileMaker must be running with the database open if you want to to use the client-server approach.

I tried FileMaker Go with a simple example and it works well. In essence it is delightful; you just open your database either locally or over the network, and it works. Here is a sample app on the iPhone 4:

image

That said, there are things that do not work, spell checking for example. It is also stripped of anything other than client features, so you cannot modify database structure, create new databases, or publish from the device to other clients. You also have to be careful with layout size. Most layouts designed for the desktop will need modification to work well.

There are a couple of issues. One is performance. It is just about bearable, but has that lethargic feel that you get with interpreted code on a relatively slow processor.

Another issue is synchronisation. If you want to work offline, how do you update your main database with any changes? The issue is little different with FileMaker Go than it is with a laptop, and it is discussed here. You have several choices:

1. Don’t synchronize, use client-server.

2. Treat your local database as read-only.

3. Use import and export. Existing records will simply be overwritten by imported ones.

4. Use a third-party tool. However the tool mentioned here, SyncDek, probably does not work with FileMaker Go since it needs to run a Java process on the client.

5. Roll your own. “FileMaker Pro has all the tools needed to create a robust synchronization system” says the guide; but it is non-trivial to implement this.

It is worth mentioning that FileMaker Pro also has an Instant Web Publishing feature that gives another route to mobile access and may perform better. There are pros and cons. The big one is offline, only available with FileMaker Go. Another is scripts. Some scripts work in Instant Web Publishing, but FileMaker Go is more compatible in this area.

I think this is significant for businesses where iOS devices are turning up. Many business apps do resolve down to forms over data, and this is is an easy way to deliver this kind of application to iOS users.

How is FileMaker pro as a programming tool? Just for fun, and because I have done it for other mobile development tools, I built a calculator in FileMaker. I do not recommend FileMaker for general-purpose programming; but it has the essentials, a form designer and scripting. Here is the result on an iPhone 4:

image

Oddly the biggest struggle I had was finding an easy way to display the input and result. In the end I added a field to the database just for this purpose. If a FileMaker expert could let me know a better way to update a text label on a layout via script, I would be interested to know.

The calculator is slow too, not for the calculation of course, but the operation of the user interface. Still, it does demonstrate that FileMaker Go is indeed able to download code and run it.

Update: I replaced the display field with a merge variable, which works better as it avoids focus issues and the keyboard popping up. Thanks to the commenter for the suggestion.

Mobile development research shows complex picture

Vision Mobile has published its report on mobile development. It is a detailed report and worth reading, though I would be wary about taking it too seriously since some of the results are puzzling. This is what the report is based on:

We spent the last few months quizzing developers and industry executives about the future of mobile. Our research included 20+ industry executives, along with 900+ developers from 75+ countries working on 8+ major platforms.

There are a few surprises. Android fragmentation is generally regarded as a problem, particularly since operators are slow or reluctant to release updates, but according to the report Android is the least fragmented platform after Apple iOS; the worst is Java ME.

Here are a couple of charts I found interesting. What kinds of apps are people paying for?

image

Source: Developer Economics 2011

It is games that dominate, but at 45% they are still less than half of the whole. Note that these stats are based on iOS sales tracked by App Annie.

In terms of monetisation, iOS is the most revenue-generating platform according to the report, and Android well down.

image

Source: Developer Economics 2011

Windows Phone is too small to make this list, but the report notes:

Windows Marketplace offers a trial version for applications, which doesn’t help developers monetise from impulse purchases – a
naive differentiation move on the part of Microsoft.

There is a fascinating section on winners and losers in the mobile platform race. There is almost no correlation between number of devices shipped and the number of apps published.

image

Source: Developer Economics 2011

Java ME is way ahead on devices shipped; but these are feature phones for a market that buys relatively few apps.

Finally, a look at the platforms developers are planning to use, and the ones that plan to abandon. Here is the first:

image

Source: Developer Economics 2011

I am not sure what to  make of this one. 621 developers were surveyed, and placed Android top, Windows Phone 2nd, Chrome OS third, and iOS level pegging with MeeGo in fourth place. I could almost believe it if it means which additional platforms, since many will already be developing for iOS. I wonder if the question was clearly put?

Next comes a chart of platforms developers are planning to abandon:

image

Source: Developer Economics 2011

Bad news for Symbian and Java ME, and also uncomfortable reading for HP with webOS and Adobe with Flash. However, only 285 respondents for this part of the survey.

There are harsh words for Adobe. The report gives several reasons why Flash is losing the battle for developer mindshare, including the abandonment of Flash Lite and the perception that “by focusing on large business partners, Adobe has been unable to cultivate momentum among developers in the long-tail.”

Microsoft is praised for its developer tools, but the decline of Windows Mobile and “lacklustre sales” for Windows Phone raise questions over whether it can create a viable market for mobile developer. The report is not always clear about when it means Windows phones of all kinds, and when it means the new Windows Phone 7+ platform.

The report shows that actual usage of Windows Mobile and Windows Phone by developers has gone down from 39% to 36% between 2010 and 2011, while Flash/Flash Lite has increased from 22% to 34%. It is rather hard to make sense of this alongside the other figures showing platform intent and abandonment intent and again it makes me wary of the report’s accuracy.

Frankly, it is hard to discern any safe bets in such a complex market, though Apple seems to be a consistent platform from a developer perspective – provide that the company does not decide to absorb the functionality of your app into iOS itself.