Posts Tagged 'open source'

Source: AppReviews

Here’s a handy open-source application for the busy little iPhone programmer:

AppReviews is a tool for iPhone and iPod touch developers, allowing you to keep track of how your applications are being reviewed and rated by users across all of the iTunes App Stores worldwide…

AppReviews is open-source, the source code is available on github. You will require a copy of the iPhone SDK from Apple in order to compile the source code.

Very helpful, very nice, this fellow couldn’t get Apple to approve it so he open sources it … but wait! The plot thickens!

Today I discovered that there is a recent app in the App Store also called AppCritics, which also scrapes review data from the AppStore. I was doubly shocked by this because:

1) I submitted my AppCritics to the AppStore on 30th November 2008 and it was finally rejected in January 2009 because it scrapes data using a non-public web API (the same API iTunes uses). So how come this new app gets approved when it does the same thing?

2) I thought that I “owned” the name AppCritics in the AppStore because I still have the rejected app in my iTunes app listing, with a button that says “Resubmit Binary”. So how can someone else come along and submit an app with the same name, that does the same thing, and get approved?

This is yet another example of how inconsistent and poorly run the App Store still is.

I am emailing Apple about this matter now, I doubt that I will get any meaningful response beyond some canned auto-reply. In the meantime I will be renaming my AppCritics to AppReviews instead.

Heh. On the one hand, at least he GOT a rejection, instead of 110+ days in limbo like our Forgotten Project™, but really, approving an app that does the same thing with the same name … now, that’s just rubbing salt into the wounds, isn’t it?

h/t: LinkedIn – Cocoa Touch!

Continue Reading →

Source: XPilot

Here’s another GPL’d game ported to the iPhone, like World Challenge that we mentioned earlierXPilot, an old school multiplayer game that now has a new lease on life. But, as we pontificated in the World Challenge notes, there are those who have issues with this kind of resurrection; and in this case, it includes one of the original developers. From the Slashdot article “The Ethics of Selling GPLed Software For the iPhone”:

…We priced it at $2.99 on the App store (we don’t expect it to become the Next Big Thing, but hoped to recoup our costs — such as server charges and Apple’s annual $99 developer fee), released the source on our web page, then enthusiastically tracked down every member of the original community we could find to let them know of the hoped-for renaissance. Which is where things got muddy. After it hit the App store, one of the original developers of XPilot told us he feels adamantly that we’re betraying the spirit of the GPL by charging for it.

This would be the kind of person that Fake Steve Jobs coined the term ‘freetard’ for. The GPL not only doesn’t mandate a price of nothing, it explicitly allows the charging of whatever fee you see fit for distribution, so long as all source is made available. So nobody serious believes that said original developer has any point. But it does bring up where the real debatable point is, since you can’t recompile on your own phone or redistribute through the App Store without the $99/yr licensing fee by Apple, does that constitute a violation? If you read through the 581 and counting comments, you’ll see every shade of opinion … including a link to the one that we can take as authoritative, I have no doubt: Brett Smith. And who is Brett Smith, you ask? Why, he’s the “Licensing Compliance Officer” for the FSF. Seems that this subject was brough up last year with him over at, and here’s the scoop: There is no barrier the FSF sees to GPLv2 compliance. However, GPLv3 is off the table:

…The iPhone Developer Program establishes Apple as the sole provider of iPhone applications. You can choose not to charge for an app you author, but the iTunes Store is the only channel through which it can be delivered to end users and installed. Apple signs the apps it approves with a cryptographic key. Unsigned apps won’t run on the iPhone.

This condition conflicts with section 6 of the GPLv3, the so-called “anti-TiVoization” provision. In particular, it prohibits Apple from distributing a GPLv3-licensed iPhone application without supplying the signing keys necessary to make modified versions of the application run, too.

Thus, you as the developer could attempt to place your code under the GPLv3, but Apple could not distribute it — and since only Apple-signed programs will run, no one else could distribute it either.

The FSF’s Smith says the fact that the author of the program (i.e., you) and the distributor of the binary (i.e., Apple) are unrelated entities makes no difference. “If a program is meant to be installed on a particular User Product, GPLv3 imposes the same requirements about providing Installation Information whether the software is directly installed on the device or conveyed separately.”

Because of the GPL’s viral nature, any app that is derived from other GPLv3 code must be licensed in a way that preserves GPLv3’s code signing requirement. But there are still projects that have chosen to retain earlier licenses, such as GPLv2, and prior versions of the GPL did not include the code signing requirement. Thus you could in theory place your work under GPLv2, as long as it was either entirely original or derived only from code licensed under GPLv2 and earlier…

So there you go, we’ve got that question officially settled then; any program licensed under GPLv2 is cool with the FSF for the App Store, long as you make the source available. Excellent. Soon as we find some free time under the couch or something we will definitely look at picking a project like these to port to the iPhone for the benefit of those who enjoy rooting through code written by their potential contract trolls.

In the meantime, support these fellows’ trailblazing efforts, pick up what all the fuss is about for a mere $1.99!


Continue Reading →

Source: World Challenge

Now here’s something we’d sorta been pondering ourselves might be worth doing; this fellow’s taken the GPL’d crossplatform game Tux Racer and ported it to the iPhone


… for $3.99. Whilst providing a desktop build for free, and source downloads at the bottom of the product page which apparently this fellow feels meet the terms of the GPLv2 sufficiently.

We say “apparently”, because there is a body of opinion out there that since the casual consumer cannot edit the source code to an App Store-bought application and run the edited program directly on their phone, it is impossible to comply with the terms of the GPL with an application distributed through the App Store. We don’t subscribe to that personally, mind you; first off, nowhere in GPLv2 does it explicitly state that you must be able to run it on the distributed device — so being able to run your modified code in the simulator, which requires nothing but the freely downloadable Xcode toolchain, arguably satisfies the license adequately. And even if you do insist that the terms implicitly require that you run the modified version on the distributed device, then we don’t think that the $99/year developer program fee to Apple to be able to run whatever source you like on your phone is a condition that amounts to a GPL violation, any more than needing to buy a commercial compiler to do something useful with any desktop GPL’d source would violate it. But as the Free Software community is disproportionately populated with Apple-haters, mere logic is not always sufficient to appease them; and as this (to our knowledge) is the first GPL-licensed iPhone program that anyone has attempted to charge money for, if there is anyone out there willing to test their anti-iPhone interpretation of the GPL in court, well, this is whom they’d probably pick for a test case.

So we’ll be watching to see if any of the huffers and puffers get all indignant about this fellow’s entrepreneurial bent; and if not, we’ll probably look for some GPL’d game to port ourselves, as we would rather like to have an open source iPhone project to direct those who would like to see some demonstration of our coding practices to, and hey if it might make a buck or two that’s always great as well! In the meantime, if you’re a desktop Tux Racer fan, and not a programmer yourself — buy it to encourage more GPL’d source ports!

World Challenge

Colophon:Well, today was to be the final client-provided post of The Great WordPress Client Test, finishing up with über-text-editor


TextMate 1.5.8!

but the actual testing ends up a DNF, as we couldn’t be bothered actually getting TextMate to work. See, its blogging extension’s bundle’s idea of configuration is to have you put your blog’s XMLRPC address in a text file. We gave it a couple tries at what we think that address should be for this blog, but it failed to make them work. And we figured we just wouldn’t bother to keep trying, since obviously there wasn’t going to be any useful conveniences here at all, so at best it would make it into the same class as the other non-WYSIWIG tools. So we’ll award it 2/10 to put it at the bottom of our ratings due to its completely beyond the pale requirement of “needing a clue about blog internals” and leave it at that.

Continue Reading →

Resources: Open Source

Let’s list off today some sites worth checking out for iPhone/Mac programming open source goodies should there not — heaven forfend! — be anything particularly appropriate already mentioned in the annals of this humble journal. Hard though that is to imagine of course!

And for a vast list of iPhone-devoted not only open source projects but everything from LinkedIn groups to useful blogs (why, it even lists us! How sweet!), the pithily named

iPhone Resources

is not to be missed.

As always, if there’s anything noteworthy we’ve missed, comment away!

Continue Reading →

Displaying PDFs

So if you want to display static content from HTML and PDF in your application, you probably know that it’s pretty easy to just throw the files into a folder and display them in a UIWebView something like this:

NSString *basePath = [[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"/html/"];
NSURL *baseURL = [NSURL fileURLWithPath:basePath];
NSString *dataPath = [basePath stringByAppendingString:FILENAMEHERE];
NSString *dataType = [dataPath hasSuffix:@"pdf"] ? @"application/pdf" : @"text/html" ;
NSData *infoData = [NSData dataWithContentsOfFile:dataPath];
[infoView loadData:infoData MIMEType:dataType textEncodingName:@"UTF-8" baseURL:baseURL];

which works just fine, if your data is formatted nicely for iPhone display. Which for HTML is easy to sort; but it’s rather less likely that the PDFs you’re provided are suitable for iPhone display, they may be unduly large, inappropriate compression, yadayadayada. Well, here’s how you fix that quickly: just get the handy-dandy PDF Shrink desktop utility and apply iPhone-targeted compression settings. Convenient, yes?

Now, if you’d prefer a free alternative, or if you’re interested in perhaps putting programmatic conversion into a utility of your own, here is a useful walkthrough of creating a Quartz Filter to apply to exporting from, which presumably you could apply from within your own code as well.

But if you really want your PDFs to get displayed professionally with table of contents and everything, here’s just your thing: The fellow who published the book ‘Scientific Scripting with Python’ exclusively on the App Store has very kindly provided a detailed walkthrough of constructing the application, formatting the document for the device, providing a table of contents … all with BSD-licensed open source!

If you decide to publish your own book using the source code, here is what you will need to do:

  1. Create a document like the one I made in Pages, with the same or similar page layout and text formatting.
  2. Generate a PDF from the document, and include it in the Xcode project.
  3. Change the value of the BKPDFFileName variable in BooksViewController.m to point to your PDF file.
  4. Change the data in the TableOfContents.plist file so the table of contents is correct.
  5. Double click the ‘Python’ target, and change the name to something suitable for your book.
  6. In the Build settings of the target, change the ‘Product Name’ setting.

That should cover most of it.

Sweet! Not that we have any actual full books to publish at the moment, but hey if we ever do we certainly know where to start!

Continue Reading →

SIO2 3D engine

Here’s something we stumbled across while checking a post on the previously mentioned here cocos2d-iphone 2D open source engine for the iPhone: SIO2 a 3D open source engine for the iPhone! Some of its particularly nifty feature list entries:

  • Bullet physics engine
  • OpenAL positional and ambient sound
  • Theora video
  • Blender content creation
  • Lua scripting
  • That looks pretty darn impressive as a free foundation to build on, doesn’t it now?

YouTube demo video here; Google Code project here; main website here.

And as an aside, here is a roundup of this and other free and commercial 3D engines available and rumoured for iPhone development. Looks like we certainly won’t be short of options soon!

h/t: iPhoneintouch!

Continue Reading →

Molecules open sourced!

Here’s some good news for anyone wanting a leg up on OpenGL for the iPhone: Brad Larson, the developer of Molecules a 3D molecular visualizer available on the App Store, has now open sourced the entire project:

With the lifting of the Nondisclosure Agreement on the iPhone SDK, I’m pleased to finally make available the source code to Molecules. If you go to the main page for the application, you should now find a link to download the latest source tarball (for version 1.2) on the right-hand side. You can also download the source code here. I am working on migrating my personal Subversion setup so that you can check out the latest code and so that I can authorize contributors to commit fixes and additions.

Unfortunately, I haven’t documented the current code release as well as I would like. To make up for that, I’ll attempt to describe the structure of the application and why I do things the way I do. I don’t claim that everything here is optimal, but I hope that it can be a useful resource for those interested in OpenGL ES, SQLite, multitouch, and table views on the iPhone.

All code is released under the BSD license, so you are free to cut and paste it into your own applications without restriction…

Sweet! Also, don’t miss Messr. Larson’s earlier blogging about OpenGL ES for non-NDA-covered lessons learned in connection with Molecules’ development. Lot of great info there too.

h/t: MacResearch!

Continue Reading →

TouchCode open source

Another day, another open source project for all us iPhone programmers; today, it’s TouchCode from Toxic Software:

TouchCode is my iPhone Open Source umbrella project encompassing a bunch of technologies that for various reasons Apple decided not to include with Cocoa Touch.

TouchCode is made up of:

  • TouchXML – A document tree XML library with XPath support (based on Cocoa’s NSXMLDocument)
  • TouchJSON – An extremely fast and memory efficient library for processing and creating JSON data.

And this one’s famous, as iPhone open source projects go: it won “Best Open Source Project” at iPhoneDevCamp2, congratulations on a fine job well done. And to boot, It’s MIT-licensed, so nobody should have any legal issues in the way of using it; check out the wiki, then check out the code!

Continue Reading →

cocos2d-iphone library

Today we have another native iPhone Open Source library in development for you:

cocos2d-iphone is a framework for building 2D games, demos, and other graphical/interactive applications. It is based on the cocos2d design: it uses the same API, but instead of using python it uses objective-c.

A cocos2d-iphone application consists of several scenes, and a workflow connecting the different scenes. It provides you with a “director” which handles the workflow between scenes. Each scene is composed of an arbitrary number of layers; layers take care of drawing to the screen (using the OpenGL ES APIs), handling events and in general contain all of the game/application logic.

cocos2d-iphone simplifies the game development in these areas:

  • Defining a workflow for your game
  • Creating special effects in layers
  • Creating transitions between scenes
  • Managing sprites
  • Basic menus
  • Integrated Chipmunk 2d physics engine
  • Particle system
  • Text rendering support
  • Touch/Accelerometer support
  • Integrated Pause/Resume
  • Language: objective-c

You can find a gallery of screenshots here.

And the source can be downloaded from Google Code here.

h/t: iphonesdk!

Continue Reading →

WordPress for iPhone source released

And then there were two! Yep, today the number of released open source applications for the iPhone doubled, as the promised source for WordPress for iPhone joins the yesterday-mentioned Box Office.

Instructions for retrieving the source are here; grab it, check it out, and … hey, you know the drill by now!

Continue Reading →
Page 1 of 2 12