Tag Archives: ios

Embarcadero pre-announces AppMethod cross-platform development tool: Delphi repackaged?

Embarcadero is spilling the beans on a new development tool called AppMethod, which has its own site here and a little more information on TechCrunch. A fuller reveal is promised at SXSW, which kicks off on March 7 in Austin, Texas.

image

But what is AppMethod? The IDE looks very like Delphi, the languages are Object Pascal (like Dephi) or C++ (like C++ Builder), and target platforms include Windows, Mac, iOS and Android. It would be extraordinary if the GUI framework were not some variant of FireMonkey, the cross-platform and mobile framework in Delphi.

Just Delphi (and C++ Builder, which is Delphi for C++) repackaged then? In a comment Embarcadero developer evangelist David Intersimone says that is “way off base” though the only firm fact he offers is that AppMethod is less capable than Delphi for Windows, which presumably means that Delphi’s VCL (Visual Component Library) framework for Windows applications is not included.

Lack of a feature is not a compelling reason to buy AppMethod rather than Delphi so Object Pascal enthusiasts must hope there is more good stuff to be revealed.

I looked out for the Embarcadero stand at Mobile World Congress (MWC), which was a small affair tucked away in the corner of one of the vast halls.

image

The stand was hardly bustling and was overshadowed by a larger stand next to it for another app building tool, AppMachine. While I would not read much into the size of a stand at MWC, that accords with my general sense that while the recently added cross-platform and mobile capabilities in Delphi have won some take-up, it is a small player overall. Embarcadero may feel that a new name and a bit of distance between FireMonkey/Delphi and the original Windows-only tool will help to attract new developers.

Something Microsoft has never fixed: why Windows is slow to start up

One of the most common complaints I hear about Windows is that it is slow to start up. Everything is fine when a machine is new (especially if it is a clean install or purchased from a Microsoft store, and therefore free from foistware), but as time goes on it gets slower and slower. Even a fast PC with lots of RAM does not fix it. Slow boot is one of many factors behind the drift away from PCs to tablets, and to some extent Macs.

image

As far as I can tell, the main reason PCs become slow to start is one that has been around since DOS days. Some may recall fussing about TSR – Terminate and Stay Resident – applications that would run at startup and stay in memory, possibly causing other applications to fail. Windows today is generally stable, but it is applications that run at startup that cause your PC to start slowly, as well as having some impact on performance later.

I install lots of software for testing so I suffer from this myself. This morning I took a look at what is slowing down my desktop PC. You can view them easily in Windows 8, in Task Manager – Startup tab. A few of the culprits:

  • Adobe: too much stuff, including Service Manager for Creative Suite, Creative Cloud connection, Acrobat utilities
  • Intel Desktop utilities – monitors motherboard sensors
  • Intel Rapid Storage Technology – monitors on-board RAID
  • Sync applications including SkyDrive, Dropbox, SkyDrive Pro (Groove.exe)
  • Seagate Desktop, manage your Seagate NAS (network attached storage)
  • Google stuff: Google Music Manager, Google update, some Chrome updater
  • Plantronics headset updater
  • Realtek HD Audio Manager
  • Fitbit Connect client
  • SpotifyWebHelper
  • Microsoft Zune auto-launcher
  • Microsoft Lync, famously slow to start up and connect
  • Roccat Gaming mouse settings manager
  • Flexera “Common software manager” (InstallShield updater)

Many of these applications run in order to install a notification app – these are the things that run at bottom right, in the notification area of the taskbar. Some apps install their own schedulers, like the Seagate app which lets you schedule backup tasks. Some apps are there simply to check for updates and inform you of new versions.

You can speed up Windows startup by going through case by case and disabling startup items that you do not need. Here is a useful guide. It is an unsatisfactory business though. Users have no easy way to judge whether or not a specific app is doing an important or useful task. You might break something. When you next update the application, the startup app may reappear. It is a mess.

Microsoft should have addressed this problem aggressively, years ago. It did put great effort into making Windows boot faster, but never focussed on the harder task of bringing third-parties into line. A few points:

  • If Windows had a proper notification service, many of these apps would not need to exist. In Windows 8, it does, but that is little help since most applications need to support Windows 7 and even in many cases Windows XP.
  • The notification area should be reserved for high priority applications that need to make users aware of their status at all times. The network connection icon is a good case. Printer ink levels are a bad case, aside from reminding us of the iniquity of printer vendors selling tiny ink cartridges at profiteering prices. In all cases it should be easy to stop the notification app from running via a right-click preference. The Windows 7 idea of hiding the notification icons is counter-productive: it disguises the problem but does not fix it, therefore making it worse. I always set Windows to show all notifications.
  • Many tasks should be done on application startup, not on Windows startup. Then it is under the user’s control, and if the user never or rarely runs the application, no resources are grabbed. Why do I need to know about an update, if I am not running the application? Have the application check for updates each time it runs instead.
  • It is misguided to run a process on start-up in order to speed up the first launch of the application. It may not be needed.
  • If a background process is needed, such as for synchronisation services, why not use a Windows Service, which is designed for this?
  • Windows has a scheduler built in. It works. Why write your own?

Of course it is too late now for desktop Windows. Microsoft did rethink the matter for the “Metro” personality in Windows 8, which is one reason why Windows RT is such a pleasure to use. Apple does not allow apps to run on startup in iOS, though you can have apps respond to push notifications, and that strikes me as the best approach.

Update: I should mention a feature of Windows 8 called Fast Boot (I was reminded of this by a commenter – thanks Danny). Fast Boot does a hybrid shutdown and hibernation:

Essentially a Windows 8 shutdown consists of logging off all users and then hibernating.

This is almost another subject, though relevant. Microsoft has for years sought to address the problem of slow boot by designing Windows never to switch off. There are two basic approaches:

Sleep: the computer is still on, applications are in memory, but in a low power state with screen and hard drives off.

Hibernation: the computer writes the contents of its memory to disk storage, then powers off. On startup, it reads back the memory and resumes.

My own experience is that Sleep does not work reliably long-term. It sometimes works, but sooner or later it will fail to resume and you may lose data. Another issue on portables is that the “low-power state” is not as low power as it should be, and your battery drains. These factors have persuaded me to shut down rather than sleep.

My experience of hibernation is better, though not perfect. It usually works, but occasionally fails and again you lose data.

Fast boot is a clever solution that works for some, but it is a workaround that does not address the real issue which I have outlined above: third-party and Microsoft applications that insist on automatic start-up.

Not just Instagram: the Windows Phone (and BlackBerry, Firefox OS) app problem

I like the Windows Phone OS and use one day to day. However it has become impossible to do my job in technical journalism without either an Apple iOS or Android device alongside it. The reason is that I review gadgets and find increasingly that they come with app support – but only for iOS or Android.

The Fitbit exercise tracking gadget, for example.

image

Or the Corsair Voyager Air wireless hard drive, almost inaccessible from Windows Phone (you can do it with a firmware update and DLNA).

 

image

Or the Seagate Wireless Plus. Actually this one is better as it has a web UI, but no app.

image

My bank is Nationwide and has an app – uh oh.

image

It’s not just Instagram.

image

Where do Microsoft and Nokia go from here? Or other contenders like BlackBerry and Firefox OS? The answer of course is to sell lots of devices so that discontented users beat up the companies that do not support them. But selling lots of devices is difficult when the customer says, “it’s a nice phone, but it does not work with my portable hard drive. Or my bank. Or my Fitbit.”

The Mac survived versus the PC for many years with this kind of problem. It takes a loyal customer base and excellent 1st party and niche apps. There are still areas of strength which Microsoft and its phone partners could exploit (though they have been poor at this to date). Enterprise integration with Windows Server and System Center. Consumer integration with Xbox.

If the company can get it right with Windows tablets that would help too, especially combined with unification of the Windows 8 and Windows Phone app platforms.

Unfortunately for Microsoft though, the market has already decided that only two mobile platforms matter, and that will not be easy to change.

Changes in the Delphi language for ARM and mobile support

Delphi developers should note changes in the Delphi language coming as a result of the move towards the LLVM compiler for mobile support. Embarcadero has released a paper describing these in detail. The just-released RAD Studio XE4 includes the ARM compiler for iOS, with an Android compiler to follow later this year.

It seems to me that Delphi developers will now fall into two broad camps:

1. Windows VCL developers for whom the new FireMonkey cross-platform framework is of little interest, either because they are not developing for Mac or mobile, or because they prefer other tools for those platforms.

2. Developers who are embracing the new platform targets, migrating code to FireMonkey or starting new projects there, and planning to share code across all platforms as far as possible.

If you are in the first camp, you need not worry too much about language changes yet. I believe it is Embarcadero’s long-term intention to unify Delphi’s compilers around LLVM on all platforms, but when or whether this will happen for Win32 and Win64 is moot; my guess is that what the company now calls the “classic compiler” will be around for a long time yet. However the Mac compiler may migrate to LLVM sooner. (I am speculating).

Currently, RAD Studio XE4 includes five compilers:

  • The Win32 compiler (DCC32)
  • The Win64 compiler (DCC64)
  • The Mac compiler (DCCOSX)
  • The iOS Simulator compiler (DCCIOS32)
  • The iOS ARM compiler (DCCIOSARM)

Of these, only the last one currently uses LLVM, though the iOS Simulator compiler behaves as closely as possible like its ARM cousin. In general the language changes are currently only applicable by default for the LLVM and Simulator compilers as far as I can tell.

What are the language changes? My quick summary of the biggest changes is as follows:

  • One string type only: UTF16, reference counted, immutable (though this is a point of confusion; reading the paper it seems it is not yet immutable as it describes modifying in place, but may become so).
  • 0-based strings. There is a compiler directive $ZEROBASEDSTRINGS, which is off for Delphi XE3 and Delphi XE4, but on for the mobile compiler in XE4.
  • Automatic reference counting. Objects are destroyed automatically when the reference count hits zero. MyObj.Free; does not destroy the object, only reduces the reference count (and destroys it if zero). You can create weak references (which do not increment the count) by using the [Weak] attribute. If you really want to destroy the object, use MyObj.DisposeOf;.

In addition, the With statement is now deprecated.

The language changes are described in detail in the paper The Delphi Language for Mobile Development, which you can find here.

Cross-platform frameworks ordered by percentage of shared code

Following my piece on different approaches to building the user interface in cross-platform frameworks, twitter user Sam Hogarth pointed me to the PropertyCross project. This implements a non-trivial application in 8 different cross-platform tools, covering Android, iOS and Windows Phone. Note that only four of the frameworks support Windows Phone.

Using the pie charts presented for each framework, I was able to order them by percentage of shared code as follows:

1= Adobe AIR (100%), JQTouch (100%) , RhoMobile (100%), Sencha Touch (100%)

5. Appcelerator Titanium (around 90%)

6. JQuery Mobile (around 80%)

7. Xamarin (around 40%)

8. Native (0%)

A couple of notes. Of the 100% frameworks, three do not support Windows Phone, and the one which does (Rhomobile) seems to be a bit broken on Windows Phone, judging by the screenshots. The Property Details and Favourites pages do not render properly.

You would get more code sharing with Xamarin if you only supported two rather than three platforms. That is logical: since it does not abstract the GUI.

In most cases (not Rhomobile) it is striking how different Windows Phone appears versus iOS and Android, even with jQuery Mobile which uses HTML5.

image

RØDE Mic: High quality recording with iPhone or iPad

Interested in high resolution recording with an iOS device? It may be worth checking out the RØDE iXY which for $199 gets you a pair of cardiod capsule microphones which attach to the docking port on your iPad or iPhone (note that you will be holding your device upside down though it hardly matters).

image

Using the associated app you can record at 24-bit/96Khz – good enough to allow some further processing while retaining high quality.

Suggested uses are recording concerts, broadcasting, or attaching to a camera for video with superior sound (though it might be easier to use a conventional external microphone).

Currently I travel with a separate device for recording so something like this is interesting. On the other hand, the recorder I use is small and light, the batteries last for days, and I can plug in any external microphone or use the one built-in. Still, an advantage of the RØDE iXY approach is that you get to use a lovely colour app for recording, and have one less device to keep charged up on the road.

Review: Skullcandy Navigator, smart on-ear headphones with microphone and special controls for Apple devices

Skullcandy has released the Navigator on-ear headphones, using some of the same technology found in the over-ear Aviator though simplified and at a lower price. An inline microphone is included, with buttons to control call answer, play, pause and volume on iOS devices.

image

The Navigator is a stylish device, with the glossy black finish on the outside of the ear cups nicely offset by sliver chrome trim and sliders. The cups fold inwards for storage and a silky drawstring bag is supplied. The cable is detachable, which is always a good thing since if you are are lucky the cable will detach when you trip over it rather than breaking internally, and if you are unlucky you can replace it.

image

In the box you get a a guide to the “MIC3” button controls and a leaflet showing how to attach the cable, along with the headphones, bag and cable itself.

The soft inside of the ear pieces has a cutaway section showing the Skullcandy logo.

image

While the designers no doubt thought this a nice touch, it looks like there is potential for the edges to lift or tear here, but only time will show whether this is a real concern.

Sound

The sound is decent but falls short of greatness, no more or less than you would expect at this price point. First impressions are good, with a smooth sound and adequate bass, but close listening revealed some compromises. The sound is a little recessed, with accentuated bass and slightly dulled treble, with the result that handclaps, for example, sound less real and natural than they should.

Listening to Sade’s By Your Side, with its strong rhythmic bass lines, is always revealing; it is on my list of difficult tracks. On an iPad this was disappointing, with the bass turning to mush and the treble detail getting lost too. Switching to a desktop PC and a dedicated headphone amplifier made a substantial improvement and the music became enjoyable, though still some distance from how it can sound with the best equipment.

Mirror in the Bathroom by the Beat (or English Beat) is a punchy and demanding track that is also good for revealing gear differences. The Navigators are claimed to have “punchy and powerful bass” but on this track they sounded too polite, losing too much of the rhythmic drive in the song, and again recessing the treble too much.

Adele’s Daydreamer sounded reasonable with forward vocals, though the Navigator loses some of the delicacy of the guitar picking and the sound is a little closed-in compared to better units.

The sound is unexceptional then; but good enough for casual use.

Having a microphone built in is great though. Plugged into Microsoft’s Surface RT tablet, this set made a great job of a Skype call with clear, solid sound at both ends of the call.

Controls

The Navigator’s inline microphone includes controls for use with iOS.

image

The plus and minus buttons control the volume, while the central clicker is multi-function. One click is for play/pause, or to take a call if ringing. Two clicks in quick succession moves to the next track, and three clicks the previous track.

On the Surface RT the microphone worked fine, but the controls did nothing.

Comfort

Headphones are personal things and ideally you will try these before you buy. In general the design is good, with plenty of travel on the rails to which the ear pieces attach so that you can fit these headphones to the size of your head.

Unfortunately I found the clamping pressure too tight, though over time this may reduce a little. The result for me was that I could not wear these headphones comfortably for an extended period. This might not be the case for you; but I cannot agree with the “insanely comfortable” claim in the press release.

Conclusion

The design is beautiful, the inline microphone useful, and the sound is not too bad. Overall I rate these a reasonable but unexceptional purchase, but only if you can wear them without discomfort. If you prefer a slightly looser fit, these will not be for you.

The Skullcandy Navigator comes in three colours: Black, White or Royal Blue. It costs £84.99.

Mobile: Windows Phone appeal growing, iOS and Android secure say Titanium developers

Appcelerator and IDC have released their latest mobile developer report, in which nearly 3,000 users of the cross-platform development tool Titanium report on their views and intentions.

These reports are always interesting but experience suggests that they are poor predictors. A year ago, the Q4 2011 report told us:

Amazon’s new Kindle Fire ignites developer interest. When surveyed among 15 Android tablets, the lowcost, content-rich eReader was second only to the Samsung Galaxy Tab globally in developer interest. A regional breakdown shows Amazon edging Samsung in North America for the top slot. At 49% very interested in North America, the Kindle Fire is just 4 points less than interest in the iPad (53%) prior to its launch in April 2010.

Now, the Q4 2012 report says:

Amazon’s Kindle continues to struggle for developers’ interest. With less than 22% of mobile application developers “very interested” in building mobile apps for the device, the Kindle just barely breaks into developers’ top 10 app targets.

This is one example; a glance back through previous editions shows plenty of others, showing that developers struggle as much as the rest of us when it comes to guessing the value of future markets.

The report is still useful as a snapshot of how things look now, for cross-platform mobile developers. One question which is always asked, and therefore can be compared easily from one report to another, is the proportion of developers who are “very interested” in developing for each platform.

image

The top 5 contenders here are relatively stable, with Apple iOS top (iPhone and iPad), Android next (phone and tablet), and HTML5 Mobile Web also strong at about 65%.

The lower ranges are more interesting, as developers change their minds about prospects for the minority players. Windows Phone dived to around 22% in August 2012 but grew strongly to 36% in this report. Windows tablets, which we should probably take to mean the new Windows 8 app platform, is about the same. BlackBerry has declined from over 40% in March 2010 to 9% today, though I would suggest this will inevitably increase in the next report which will be after the launch of BlackBerry 10.

What else is interesting? One thing is Apple “fragmentation”. The problem here is that Apple iOS now has six screen sizes, once you add iPad mini and iPhone and iPad with or without high-res Retina displays. This gives me pause for thought. The challenge of mobile apps is now closer to that of desktop apps, where you do not know what display will be used or how users will choose to  size the application window. Intelligent layout and scaling is key.

Apple is also increasingly awkward to work with:

More generally, 90% of developers believe that Apple has become more difficult, or about the same, to deal with over the past three years when it comes to application
submission, fragmentation, and monetization.

Part of the report concerns Microsoft Surface. This focus is puzzling, in that it is the Windows 8 app platform which really matters, rather than Surface itself. Another oddity is the questions put, with no option to say “Surface is great”. The most positive option was:

It is a nice piece of hardware, but Windows 8 needs a lot more than that to be successful

A rather obvious statement which apparently won the agreement of 36% of developers.

The report gets even sillier when it comes to market disruption:

The top three companies that developers perceive to be ripe for disruption are a veritable who’s-who of the biggest tech darlings

say Appcelerator and IDC. It is true; but the figures are tiny:

Microsoft (8% of respondents), Google (7% of respondents), and Facebook (7% of respondents).

In other words, over 90% of developers believe these three companies are not likely to be disrupted soon; a figure that strikes me as conservative, especially for Microsoft.

More impressive is that over 60% of developers believe Facebook will lose out in future to a mobile-first social startup. This was also true last time round; 66% in Q3 2012 and 62% in Q4 2012.

The length of time it took Facebook to release just a single native iOS app, coupled with the fact that a corresponding native Android app is still MIA, has proven that the company does not yet have a viable cross-platform mobile strategy.

say Appcelerator and IDC. A fair point; but Facebook’s primary asset is its network of relationships rather than its software and it is not easy to disrupt. I would also guess that disruption is more likely to come from Google as it promotes Google+ and builds it more aggressively, perhaps, into Android, along with apps for iOS and other platforms as needed, than from a startup. But like the developers in this survey, I am guessing.

Xamarin brings C# to development of apps for the Mac App Store

Xamarin has released Xamarin Mac which adds Mac support to the existing iOS and Android compilers from the company:

  • MonoTouch: apps for iPhone and iPad using the MonoDevelop IDE on the Mac
  • Mono for Android: apps for Android using either Visual Studio or MonoDevelop
  • Xamarin.Mac: apps for Mac OS X using MonoDevelop on the Mac

The major platforms missing from the above are Windows and Linux (unless you count Android), even though Mono began as a Linux implementation of Microsoft’s .NET platform.

Xamarin says that a Windows version is not necessary since you can use Microsoft’s tools to code in C# for Windows desktop and Windows phone.

You can also get Mono for Windows, Mac and Linux from the old Mono project site.

Why would you bother with paid-for Xamarin.Mac when you can get Mono for Mac as a free download? There is even a Mac packager which lets you create a standalone package for your Mono app. A good question, but I guess the answer is the benefit of Xamarin-specific libraries and support from the company. Xamarin has also done the work to ensure that you can distribute your app via the Mac App Store.

Xamarin.Mac costs $399 for personal use, or $999 for an enterprise license which allows internal as well as app store distribution. A one year, one seat license with priority support costs $2,499.

Xamarin knows how to charge then, and in the end that may be a key reason why the project is working, whereas Mono struggled as an open source project that never had the resources it deserved.

The Mono Project site now says that it is “sponsored by Xamarin” so open source developers are getting some benefit from the commercial offshoot.

Xamarin is important for the C# language, since it represents a viable implementation which is independent of Microsoft.

The disruption of pay as you go hardware – and I do not mean leasing

Last week Amazon CEO Jeff Bezos spoke at a “Fireside Chat” with AWS (Amazon Web Services) chief Werner Vogels. It was an excellent and inspirational performance from Bezos.

image

If there was a common theme, it was his belief in the merit of low margins, which of necessity keep a business efficient. Low margins are also disruptive to other businesses with high margins. But how low can margins go? In some cases, almost to nothing. Talking of Kindle Fire, Bezos remarked that “We don’t get paid when you buy the device. We get paid when you use the device.” It is the same pay as you go model as Amazon Web Services, he said, trying to remain vaguely on topic since this was an AWS event.

His point is that Amazon makes money when you buy goods or services via the device, not from profit on the device itself. He adds that this makes him comfortable, since at that point the device is also proving its value to the customer.

Google has the same business model with its Nexus range, which is why Google Nexus 7 and Amazon Kindle Fire are currently the best value 7” tablets out there. For Google, there is another spin on this: it makes the OS freely available to OEMs so that they also push Google’s adware OS out to the market. If you are not making much profit on the hardware, it makes no difference whether you or someone else sells it.

We do not have to believe that either Amazon or Google really makes nothing at all on the Kindle Fire or Nexus 7. Perhaps they make a slim margin. The point though: this is not primarily a profit centre.

This is disruptive because other vendors such as Apple, Microsoft, Nokia or RIM are trying to make money on hardware. So too are the Android OEMs, who have to be exceptionally smart and agile to avoid simply pushing out hardware at thin margins from which Google makes all the real money.

Google can lose too, when vendors like Amazon take Android and strip out the Google sales channels leaving only their own. This is difficult to pull off if you are not Amazon though, since it relies on having a viable alternative ecosystem in place.

But where does this leave Apple and Microsoft? Apple has its own services to sell, but it is primarily a high margin hardware company selling on quality of design and service. Apple is under pressure now; but Microsoft is hardest hit, since its OEMs have to pay the Windows tax and then sell hardware into the market alongside Android.

Ah, but Android is not a full OS like Windows or OSX. Maybe not … yet … but do not be deceived. Three things will blur this distinction to nothing:

1. The tablet OS category (including iOS) will become more powerful and the capability of apps will increase

2. An increasing proportion of your work will be done online and web applications are also fast improving

3. More people will question whether they need a “full OS” with all that implies in terms of maintenance hassles

Microsoft at least has seen this coming. It is embracing services, from Office 365 to Xbox Music, and selling its own tablet OS and tablet hardware. That is an uphill struggle though, as the mixed reaction to Windows 8 and Surface demonstrates.

Most of the above, I hasten to add, is not from Bezos but is my own comment. Watch the fireside chat yourself below.