Some changes today with Apple App Store Guidelines

Apple loosened restrictions slightly with this morning's announcement, but they didn't go far enough.

We are continually trying to make the App Store even better. We have listened to our developers and taken much of their feedback to heart. Based on their input, today we are making some important changes to our iOS Developer Program license in sections 3.3.1, 3.3.2 and 3.3.9 to relax some restrictions we put in place earlier this year.

In particular, we are relaxing all restrictions on the development tools used to create iOS apps, as long as the resulting apps do not download any code. This should give developers the flexibility they want, while preserving the security we need.

In addition, for the first time we are publishing the App Store Review Guidelines to help developers understand how we review submitted apps. We hope it will make us more transparent and help our developers create even more successful apps for the App Store.

What this means is you can now author apps in whatever developer tools you want. Section 3.3.2 had said that no interpreted code may be downloaded or used in an app except for code run by an Apple-documented software program. Sounds like you will now also be able to run interpreted code in your application. Sounds also like not only can Adobe's Flash Authoring tool be used to produce apps, but that your app can include a Flash runtime and can interpret and execute code in your SWF.

It will be interesting to see to what extent runtimes such as Flash will be allowed on iOS. Will Flash Professional continue to recompile code into native language, will they now produce an app that bundles the Flash runtime into each individual app, or will there somehow be a mechanism by which a shared Flash runtime can be used on the iOS? I imagine that Apple's restrictions still don't permit the later option.

This is a good move for developers but it falls short of allowing larger companies reign to innovate on top of the iOS platform. You will not, for example, be allowed to have an app that downloads an eBook that contains scripted, interactive content. See my previous post iPad an impediment to document innovation to understand what some of these issues are.

Of course the repercusions of this announcement extend beyond Flash. I hope it also means that we'll be able to run MacRuby on iOS sometime in the next few months :-). Publishing the App Store review guidelines is big news as well. You actually have a chance now of knowing before you start writing your app whether it will be rejected. For instance, I am working on an app that contains ads, and I won't use iAds. Apple now states that "apps that are designed predominantly for the display of ads will be rejected", which means I should be okay.

In summary:

  • Removed restrictions on running interpreted code in your app
  • Did not remove restrictions on interpreted code within document formats
  • App Store guidelines are now published

AIR Badge Installer Gotchas

If you want to pass parameters down to your application through the badge installer launch parameters:

  1. Make sure you set allowBrowserInvocation to true in your application descriptor file (appname-app.xml). Doh!

  2. Encode your launch arguments. A lot of characters are not permited.

Read More

Unpleasant trip down memory lane

We've all heard how smells can tickle a memory?

Today's unpleasant smell eminated from a PC running Windows 7. You'd think mounting a network drive would be easy. It was. But then the mount somehow went stale a few minutes later? Not sure what happened exactly, but connection errors ensued. Trying to disconnect and remount didn't work. Navigating the UI was as retarded as it always has been on Windows. The solution that was within my patience threshold was to use a different machine (a PC that was already configured to mount to the same network drive).

The experience, though short, brought back a flood of sour, aweful memories from years of using Windows PCs. What utter crap. On the plus side it reminds me of how absolutely great computing has become since my switch to a Mac.

Rails: Installing a gem to plug-ins

Installing a gem to vendor/gems is easy. The basic steps are:

  1. Unpack the gem
1
2
$ cd vendor/gems
$ gem unpack oauth
  1. Add the gem to your config load path in config/environment.rb
1
2
3
4
5

config.load_paths += Dir["#{RAILS_ROOT}/vendor/gems/**"].map do |dir|
File.directory?(lib = "#{dir}/lib") ? lib : dir
end

Benefits are easier debugging and removing gem dependencies.

Click here for more details.

How Would You Simplify the Financial-Reform Bill?

Three decades of “Radical Deregulation” freed banks to engage in all manner of reckless behavior. Leaving the status quo in place guarantees another crisis in the future. Historical patterns suggest the next calamity will dwarf the collapse of 2007-09.

A great article on how to fix the United State's financial system, asking the question "if you were writing the financial-reform bill and, instead of more than 2,300 pages, were limited to five specific reforms, what would they be?"

Epic Post on Java and Oracle vs Google

Recommended reading is this epic post on Java, Android, Sun, and Oracle vs Google by Charles Nutter. Charles writes about the background of Java, Sun, why Google developed Android the way it did and then looks at the patents that Oracle is using in their suit against Google.

Update: A good post No Java 7, The End Game on the future of Java.

About Companies and What Motivates Them

It's a sad comment on the morality of large modern software companies that Microsoft, while I don't think they've gotten any better since Sun sued them, probably has the high ground.

James Gosling on the recent Oracle patent suit against Google.

Ecospeed Electric Bike Assist

I don’t normally geek out about bicycle technology, in particular electric bikes, and definitely not recumbent bicycles. But I was taken enough by the Ecospeed electric bicycle system to want to share.

Read More

Facebook Privacy Loss Creep

More Facebook default opt-in shenanigans. I'm not sure whether this one bothers me so much, but here's why this may be a problem for you and how to turn off the possibility of your friends giving away your location on your behalf. Sigh.

Microsoft Street Slide: One-uping Google Streetview

Microsoft researchers are developing a street view implementation called Street Slide that allows for interesting ways of navigating up and down a street. It seems the photos are taken the same way; a vehicle moves down the road and takes a series of photos in all directions at intervals in time. Each of these intervals results in a bubble of photos, as they call it.

Read More