Tag Archives: lion

Building PasswordSafe for the Mac: Lion development hassles

I am doing some work on a Mac at the moment. On Windows I store passwords in PasswordSafe, an open source utility that works well, so I wondered if I could access my PasswordSafe database from the Mac.

image

I could have run the Windows version in Parallels, which I have just installed, but I figured a Mac version would be more convenient. I didn’t see a Mac build among the downloads, but PasswordSafe is cross-platform, so I downloaded the source to do a quick compile.

I was glad to find README.MAC.DEVELOPERS.txt in the PasswordSafe source and set to work. The first task is to download wxWidgets, a cross-platform GUI library, so I went off to download that. Ran the osx-build-wx script as instructed. Result: error message stating C compiler cannot create executables.

The problem seems to be that PasswordSafe expects GCC 4.0 but the latest Xcode installs GCC 4.2. The solution suggested here is to remove Xcode 4, install Xcode 3, and then reinstate Xcode 4. There are related issues concerning PPC fat binaries and older versions of the Mac SDK.

That solution seemed risky and ardous to me, and I remembered that I still had an old Mac Mini from which I was forced to upgrade in order to install Lion, the latest OS X. I hooked it up, removed Xcode 4, installed Xcode 3, and set to work again.

I get the impression not many people build PasswordSafe for the Mac. The first issue I discovered was that the steps in in the README.MAC.DEVELOPERS.txt don’t mention that after running osx-build-wx you also have to run make in order to build static libraries. That was easy though. The next thing is to load the supplied PasswordSafe project into Xcode and build.

I did that but got an error – the linker could not resolve SizeRestrictedPanel. The fix was to add SizeRestrictedPanel.cpp and SizeRestrictedPanel.h to the project. PasswordSafe then built and seems to work fine, on Lion as well as earlier versions of OS X, though there are a few cosmetic issues. You can see from the image that the caption for the New Database button is slightly awry.

If anyone wants my build, it is here. There is also a Java version, and some people have success with that on the Mac.

Living in an App Store world: what are the implications?

A few recent events prompt some reflections on the rise of app stores and the implications for developers and for the IT industry.

One is Apple’s OS X Lion release, available only through the Mac App Store; and the removal of the optical drive on the Mac Mini, making it hard to install shrink-wrap software.

Another is Adobe’s closure of its InMarket service and AIR Marketplace app store. Some app stores are doing better than others.

A third is TechCrunch reporting that book apps such as Nook and Kindle are being hobbled or removed from the Apple iOS store. While I cannot verify this at the moment – I still see the Kindle app in the store, and it still has a link to the Kindle web store – it is in tune with Apple’s announcement in February:

… publishers may no longer provide links in their apps (to a web site, for example) which allow the customer to purchase content or subscriptions outside of the app.

Enforcing this on an app such as Kindle promotes Apple’s own iBooks app and store.

There are lots of app stores out there, though one fewer with the forthcoming closure of AIR Marketplace, but how many of them matter? Here is my pick of the top three:

  • Apple iOS and Mac App Store – arguably two different stores, but since you access them with the same account I bracket them together.
  • Google Android Market – not a lock-in like Apple’s store, but still the primary store for Android.
  • Windows vNext marketplace – how this will work is not yet public, but the existence of a new app store in Windows 8 is widely rumoured and might be expected to tie in with what is already in place for Windows Phone 7.

Perhaps I am overstating the importance of the Windows 8 marketplace, given the failure of the Windows Vista marketplace, but given that Apple has now shown the way I find it hard to see how Microsoft can fail with this one.

Note that an app store is not just a marketing ploy. It is a software deployment and update tool.

App Stores score well in terms of usability. Another advantage is that users have a centralised mechanism for software updates, managed by the operating system. That is good for security, because it is unlikely to be disabled, and good for usability as it should mean fewer third-party updaters like those from Adobe, Oracle Java, Symantec and others.

App Stores typically enforce certain conditions on developers. In essence they must be well-behaved. For examples, the Mac App Store prohibits apps that request escalation to root privileges. Apple also rejects apps that use “deprecated or optionally installed technologies”, including specifically Java and by implication Adobe Flash or other runtimes.

This is great for security. In principle, if you decide that you will only install apps from the App Store, you can be confident that all your apps are well-behaved. On the Mac this is interesting; on Windows it would be a revolution.

What are the business implications though?

  • First, it is a significant source of new revenue for the operating system vendor. It gets a cut of everything.
  • Second, it gives tremendous empowerment to user ratings and reviews. On iOS or Android, if you want an app, you automatically search the app store and take note of factors such as user ratings and popularity. Most of us can figure that if there are few ratings or reviews, the app is not popular.

If you are a software company, getting high ratings and good reviews on app stores is now a key challenge, even more so than it is already with the likes of Amazon.

  • Speaking of Amazon, the third point is that app stores will not be welcomed by software resellers. They are simply being bypassed. Amazon is addressing this with its own App Store for Android; but can it really win against the official Google Android Market? Its MP3 store is better value than Apple’s iTunes, but has smaller market share.

Amazon has other business to fall back on, but specialist software resellers will be watching the growth of app stores nervously. Apple resellers in general are already hurting and diversifying, thanks in part to Apple bypassing them with releases like OS X Lion.

The app store revolution is good for users in many ways, especially as prices seem to end up lower than before, but there are worrying aspects. In particular, the ability of the operating system vendor to tilt the store in its own favour is a concern, and we will hear more complaints about that.

Finally, it is interesting to speculate how this may impact enterprise software deployment. Will Microsoft aim to link its forthcoming Windows app store to other deployment mechanisms such as System Center Configuration Manager? What about volume licensing sales, will resellers be able to keep hold of those? Maybe we will learn more of Microsoft’s story on this at the Build conference in September.

Adobe recommends Flash Builder, Adobe Reader users not to upgrade to Apple Mac OS X Lion

Apple and Adobe appear to have a difficult relationship, as shown by Apple CEO Steve Jobs with his Thoughts on Flash last year. Now it seems that there are issues for users of some Adobe products if they upgrade to the new version of OS X, Lion, just released.

Adobe’s FAQ on Creative Suite compatibility starts well:

Adobe and Apple have worked closely together to test that Adobe® Creative Suite® 5 and CS5.5 suite editions and individual products run reliably on Intel® based systems running Mac OS X Lion (v10.7) with optimal performance and user experience.

The FAQ adds that Creative Suite 3 and 4 also mostly work; but it gets worse:

Adobe Flash® Catalyst® CS5.5 and Adobe Flash Builder® 4.5 software are generally compatible with Mac OS X Lion; however, we have discovered issues that may degrade the user experience or affect use of the products. We do not recommend that these customers upgrade to Mac OS X v10.7.

Flash Catalyst CS5 and Flash Builder 4 will not work on Mac OS X v10.7. Adobe does not intend to update either of these products for use on Mac OS X v10.7. It is recommended that customers using these versions not upgrade to Mac OS X v10.7.

What is the problem with Flash Builder 4.5 on Lion? It seems to be to do with 3rd party components:

Flash Builder and Flash Catalyst are dependent upon a number of foundational technologies provided by third parties that are not yet fully compatible with Mac OS X v10.7. As these foundation pieces are certified on Lion, Adobe plans to undertake additional testing and issue a compatibility update to our products if applicable.

It would be good to know what these components are and whether there are real problems, or possibly Adobe is just being cautious.

There are also problems for users of Adobe Reader. Reading between the lines, it seems that Apple is discouraging the use of a third-party plug-in to render PDF in Safari, in favour of its own PDF renderer:

Adobe Reader plug-in and Acrobat plug-in are not compatible with the Safari 5.1 browser, which will ship with Mac OS X 10.7 and for 10.6 in July. Adobe Reader and Acrobat will continue to work as standalone applications on Mac OS X 10.7 and 10.6, and will render PDF documents outside of the browser. In addition, Safari 5.1 renders PDF documents natively. However, the Adobe Reader and Acrobat plug-ins will not function as expected in LiveCycle and Acrobat workflows that require either plug-in to render PDF documents in Safari 5.1

The problem is not with viewing standard PDF documents, but with documents and forms that require advanced features of the Adobe Reader to work. A partial workaround is to open documents outside Safari, but Adobe says this is not always enough:

In other cases, such as Adobe Reader, Acrobat and LiveCycle applications that utilize functionality like forms, digital signatures, portfolios, guides, 3D, extended PDFs and rights management, viewing a PDF inside the browser with the Adobe Reader or Acrobat plug-in may be required, and thus this workaround will not be successful.

and you cannot use Firefox either:

Acrobat Reader plug-in and Acrobat plug-in are dependent on the WebKit WebPlugin API and capabilities that were unique to Safari. Other browsers like Firefox, Chrome, or Opera do not have the required functionality to run the plug-ins properly.

The suggested solution is not to upgrade to Lion.

There are also some issues with the Flash Player. An inconclusive note in the FAQ suggests that hardware acceleration is not working:

Flash Player may cause higher CPU activity when playing a YouTube video. Possibly related to disabled hardware acceleration.

Update: Adobe now says hardware acceleration is OK on Lion.

In addition, if you right-click Flash content in the browser, you will find that the settings do not respond to mouse clicks.

Finally, when I fired up Dreamweaver CS 5.5 on Lion, the system informed me that there is a dependency on Java and prompted me to install it:

image

This went smoothly, Dreamweaver 5.5 opened and seems to work fine.