»
S
I
D
E
B
A
R
«
Polishing new iPhone app with spittle.
Sep 29th, 2009 by alec

So close, just waiting on a little animation from a certain animator. Here is a hint, if you don’t already know.

Snow Leopard: some warnings.
Sep 28th, 2009 by alec

After all the hype and excitement about Mac OS X 10.6 (“Snow Leopard”), I am not sure if I am seeing any benefits and have had two immediate problems after upgrading:

1) my TIme Machine backups stopped working. I am using firewire drive mounted as a network drive, not the officially supported Time Capsule. After much struggling, I was able to get this to work by sharing mounting the drive as an SMB (Windows “Samba”) share instead of using the AFP (Apple File Sharing Protocol) that had previously worked for me.

2) My trusty 12 year old HP LaserJet 5MP printer stopped working. It turns out that Snow Leopard kills off the legacy AppleShare. Wish I’d known that! Tried to get it working as an IP printer to no avail, but I should be able to use it via the old computer (running Tiger still) that I am using as the fileserver. So far, even that isn’t working though….

Freedom Time “more important” rejection than Google Voice
Sep 21st, 2009 by alec

Jason Grigsby wrote an excellent article on Cloud Four about the significance of Apple’s rejection of Freedom Time that anyone who is interested in Apple’s App Store policies, or corporations and censorship should take a look at.

Thanks Jason, I am glad that someone gets the real issue, and I won’t even take issue with “simple, stupid”:

Can you imagine political discourse of any significance that doesn’t include demeaning or attacking political figures? Like it or not, that’s part of the exchange of ideas that form a democracy.

This policy essentially bans any editorial cartoons—cartoons that have been part of America’s history since its inception….

Freedom of speech is easy to defend when the speech is popular, but the real test comes when you have to defend unpopular speech or things that you don’t agree with.

In Fall 2008, George Bush had the worst approval ratings since Nixon. At a time in which we had one of the most unpopular Presidents in American history, Apple didn’t have the courage to approve a simple, stupid application like Freedom Time.

What is the likelihood that Apple would approve a truly controversial and unpopular application during a time when popular opinion makes it difficult to stand up for what’s right?

mySQL to SQLite cheatsheet for iPhone developers
Sep 2nd, 2009 by alec

Although I started writing this as a cheat-sheet for myself (after many hours of struggling with this by trial-and-error), I figured it would be helpful for other iPhone developers who’d like to take a mySQL database online and migrate it to their current iPhone project. While other tutorials cover how to read the database into the application from the coding point-of-view, this is just to make sure you get your data uncompromised from your existing mySQL database into a new SQLite DB that your iPhone app can read.

First of all, here’s what I am currently using; I am including versions in case that’s relevant to your situation:

  • MySQL 5.0.81
  • MySQL charset: UTF8-Unicode (utf8)
  • MySQL connection collation: utf8_unicode_ci
  • phpMyAdmin – 2.11.9.5
  • SQLite Database Browser 1.3 (includes 3.3.5 of the SQLite database engine)
  • iPhone Dev Kit – 3.0
  • XCode 3.1.3
  • SQLite 3 framework found at /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk/usr/lib/libsqlite3.dylib

You can try other solutions for importing the data into a SQLite format, but I’ve had the best luck with Mauricio Piacentini’s SQLite Database Browser. Other options you might want to try include a Firefox plugin.

Here are the steps, using SQLite Database Browser:

  1. phpMyAdmin options for exporting to SQLitelog into phpMyAdmin, select your database and go to Database> Export.
  2. On the export tab, make sure all databases are selected, and the “SQL” radio button is selected.
  3. Select ANSI from the pulldown for export compatibility.
  4. Uncheck all options under Structure and Data, but leave each section checked.
  5. Save as file should be checked, and probably be via ZIP or GZIP, just in case.
  6. Click the Go button to download your file.
  7. Extract the file and open it up in your favorite text editor (I use BBEdit).
  8. Find the first CREATE TABLE line. We need to modify these by hand to simplify the table creation so that SQLite doesn’t get confused. For example, my file came down looking like this after the comment section ended:

    CREATE TABLE dictionary (
    id int(11) NOT NULL auto_increment,
    word varchar(100) NOT NULL,
    adjective tinyint(1) NOT NULL default '0' COMMENT 'is an adjective',
    noun tinyint(1) NOT NULL default '0' COMMENT 'is a noun ',
    intro tinyint(1) NOT NULL default '0' COMMENT 'is an intro',
    PRIMARY KEY  (id),
    UNIQUE KEY words (word)
    );

    You’ll want to edit this to remove pretty much everything but the most basic information and normalize the data types to SQLite 3 Data Types, which are TEXT, NUMERIC, INTEGER, REAL, or BLOB. Your CREATE TABLE should look something like this:

    CREATE TABLE dictionary(
    id INTEGER PRIMARY KEY ASC,
    word TEXT,
    adjective INTEGER,
    noun INTEGER,
    intro TEXT
    );

    I was using id as a primary key so I’ve added “PRIMARY KEY ASC” after “id INTEGER”. (Primary Keys are aliases to row IDs in SQLite, if you have questions read this.)

    However, I’ve noticed that the SQLite Database browser exports SQL in the even more simplified format with no datatype specification as such, which also seemed to work for me and may work just as well for your needs:

    CREATE TABLE dictionary (id, word, adjective, noun, intro);

  9. Continue going through your text file and fix all CREATE TABLE lines as in #8, above.
  10. Check your file text encoding. BBEdit may default to Western (Mac OS Roman), which worked for me, but if you have problems you may need to set it to Unicode, depending on your character set.
  11. Check your file for suspicious characters that might cause the import to choke. Single quotation marks used as apostrophes show up as escaped by themselves; for example you're becomes you''re. This seemed to import fine as long as the other guidelines are followed. Here’s what an example INSERT should look like:

    INSERT INTO dictionary VALUES(305, 'ne''er-do-well', 0, 1, 0);

  12. Check your line endings. BBEdit defaulted to Unix (LF) which worked for me.
  13. Open up SQLite Database Browser, create a new database (.db) file, and import your SQL text file by selecting File> Import> Database From SQL File from the menu.
  14. Check your data by clicking the Browse Data tab and make sure everything came in all right. If not, go back over the steps. Look for weird characters, text and line encoding issues, and syntax issues. The only two commands in your file should be CREATE TABLE and INSERT, although technically it should probably begin with BEGIN TRANSACTION; and end with COMMIT;

Again these steps were derived mostly by trial-and-error, so there may be issues particular to your DB that these guidelines didn’t solve. Please feel free to add any corrections, tips, and questions to the comments area.

Also, I know that with the iPhone OS 3.0, Core Data can take care of a lot of database functionality for you. I’d love to hear how people made the transition, and especially how anyone got a pre-existing SQL database into a Core Data store.

Next iPhone App almost done
Aug 28th, 2009 by alec

At Juggleware, we specialize in making lemons (or a Ramos Gin Fizz) out of lemonade. Although our first app was rejected, denying us untold millions and a yacht in the Bahamas, it’s time to pull ourselves up by our puppet strings and do a little monkey dance.

Thanks in particular goes to the random internet troll who sent us hate mail (something along the lines of “go back into the hole you crawled out of for taking an unwarranted swipe at my hero George W Bush”) for providing the inspiration.

Details to follow. Just waiting on some clever line art animation by my good friend David Rhoden.

Apple tries to defend its App Store to the FCC
Aug 25th, 2009 by alec

I just saw that Apple has put on its home page now has a public response to justify its App Store policies.

http://www.apple.com/hotnews/apple-answers-fcc-questions/

Of course the FCC is primarily interested in its rejection of big, important apps like Google Voice, and not indie developer apps, so Apple was able to gloss over its political censorship of apps like Freedom Time (See section 5, above), and not even include any rejected political content app in its list of “representative applications.”

To me, rejecting an app for speech reasons is much worse than for technological competition reasons, but maybe that’s because I am someone who cares about the first Amendment, something that has been shoved to the back of the bus while greasing the wheels of the free market machine.

Thanks to Brad at Bent Media for pointing me to this excellent essay by Joe Hewitt demanding the end of the App Store approval process as we know it.

App Store controversy continues
May 5th, 2009 by alec

Well, I’ve given up on trying anything too humorous for the App Store— if you have to finish your idea BEFORE it’s approved, what’s the point?

But that hasn’t stopped others from trying ideas that are beyond the pale, and some that are so truly tasteless, that our little attempted joke at the expense of the outgoing president of the US seems really sterile by comparison.

I’m sure you’ve all heard about the “Baby Shaker” app controversy. It got the press scrambling to look at Apple’s app approval stories once more and, after months of assuming the whole thing had been relegated to its proper place as a footnote in the appendix of the Apple history books, I got contacted by ABC News and the Wall Street Journal over Apple’s rejection of Freedom Time.

All very exciting, I suppose, except that the reporters never seem to get the gist of what I was trying to say, which was this:

If Apple makes itself the gatekeeper, it is actually causing itself the problems it’s trying to avoid. By rejecting an app that makes fun of Bush, but accepting one that lets you kill babies, it implies that it disapproves of one and approves of the other. If someone had made this application for Windows, Mac OS X, or any other desktop system, no one would accuse Microsoft, Apple or Linux for not building an OS that prevents Baby Shaker applications from being installed. Apple made both a whole lot more work and a whole lot more controversy for itself by insisting on manually gatekeeping for every single app that goes in the store.

Conqueror! solo game version now available.
Feb 10th, 2009 by alec

Juggleware’s long-standing immensely popular multiplayer game Conqueror! now can be played solo. (Before you had to log in to the server and create a private game in the Lobby to test your skill against the AI’s.)

Conqueror! is a free, original turn-based empire strategy game for fans of games like Risk and Civilization, but want a shorter game than Civilization, and Risk can be a little too simplistic (nothing but dice rolling, really). A game of Conqueror! can be as short as 30 minutes, and our ingenious system of simultaneous move-planning means that as little time is wasted during network games as possible, unlike other games where one player moves at a time.

Conqueror! Screenshot of a game in progress.

Conqueror! Screenshot of a game in progress.

It’s not just about moving armies, but supporting your troops, and your population while building your culture and influence. An empire that grows too fast in Conqueror! will surely fall as quickly and leaving a province unguarded an unhappy will certainly lead to its rebellion.

Conqueror! has 10,000 registered members and nearly a million logins logged (and that’s since we started counting). It’s playable with the latest version of the free Adobe Shockwave player. A downloadable version of the game will be available soon.

Forced obsolescence; Happy new era.
Feb 10th, 2009 by alec

It’s a new year and a new era!

Juggleware’s debut iPhone app, Freedom Time, as many of you so cleverly noticed, was an application with a time-specific usage. Funny, it just happened to coincide with the inauguration of President Obama.

For those of you who were lucky enough to get the banned iPhone app, or even bothered to look at the Flash version on the site, you’ll see that the time began to move forward at the precise instant* of the swearing in of President Obama at the inauguration, and the text end of an error changed to time to clear some brush!

So it’s a kind of forced obsolescence, but it’s still functional for those who wish to count the days, hours, minutes and seconds since the Bush regime, it’s still working. And in all humility, we were the first to pat ourselves on the back for the nifty symbolism of time moving forward from that moment on.

We’re not giving away any more copies of the app however. We’re moving onward and upward!

In that respect, we hope to have some nifty games for the iPhone in 2009. Keep checking back for news on the latest.

* actually, the precise scheduled moment; he was sworn in a few minutes late and the clock actually ran out during Yo Yo Ma’s cello introduction.

The end of an error? Not quite yet…
Jan 12th, 2009 by alec

Steve Jobs might think that counting down the last days of Bush’s grip on authority (and loose grip on reality) might be too controversial to allow in the Apple iPhone world, but today Bush actually said that he did a good job responding to Hurricane Katrina.

Yes we all know the guy refuses to take blame in any case, shifting reality to suit his power politics; but I thought he’d at least be smart enough to shut up about it now the gig’s been up.

The whole world knows his famous phrase “Heckuva Job, Brownie,” that he was cutting birthday cake with John McCain and only days later blessed the skies with Air Force One as he looked down upon the mess caused by the failures of the federal levee system. The Coast Guard did their best, as did local volunteers and others who drove to New Orleans, but Bush couldn’t get a single bottle of water distributed in a week, and people were on roofs for 5 DAYS or longer.

If you think Katrina wasn’t enough (you don’t live in New Orleans), here’s another 127 reasons why.

»  Substance: WordPress   »  Style: Ahren Ahimsa
© 2009 Juggleware LLC, New Orleans, Louisiana. All Rights Reserved.