FaceTime between an iPhone and a Blackberry?

June 10, 2010
iSlide Camera shares photos instantly with any device

iSlide Camera shares photos instantly with any device

I sure want it. In the meantime, I created a little hack now available for free in Apple’s iTunes Store. Its called “iSlide Camera.” Ok, ok, I’m not the best at naming these things. I’m open for suggestions.

The app is curiously fun. It all began out of my frustration with trying to share photos, live, with another person while talking on my phone.

I wanted the other person to see what I was seeing. I wanted the ability to snap a photo, then have it instantly appear on another person’s phone, be it a Blackberry, a mobile web browser, or even their desktop (assuming they were calling from home).

I went home and hacked something together, first on the iPhone, then on a few servers on Amazon. By combining the cloud with mobile devices, the service finally provides the utility I sought.

It works. The effect is remarkable. I was at a conference a few months ago, trying it out. I put my iPad on a desktop, opening Safari to my short URL at http://isli.de. I just let the iPad sit there. Then, one by one, I started snapping photo’s. The pictures changed instantly on the iPad, fading in seconds after they were uploaded from my camera.

“Is that an app?”

“Well, soon. Think people will like it?”

“Its fun. I’d buy it.”

I tried all kinds of names:

  • Social camera
  • Photo conferencing
  • Photo time
  • Instant Photo
  • Photomatic
  • Network camera
  • Instant Slideshows
  • iSlide

There weren’t a lot of URLs available from GoDaddy. I liked iSlide the best, then registered a play on the name, “iSli.de”. That’s pretty short. Now, when I upload pictures, I create a slideshow and give it a shortened URL, like http://isli.de/1.

One problem I had to solve was deciding when to start and end a particular slideshow. If I’m out shopping, I’d like the slideshow to change whenever I change stores. That got me to thinking about FourSquare, geo location, and checking in. I played around with the geographic APIs from Simple Geo, Four Square, and Geo API. The final service blends all three. When you upload a picture, I check your location, and try to find a place in FourSquare. If its a new place or later in the day (after 8 hours seemed best), I create a new slideshow for you. All subsequent photos then feed into this gallery. As an added bonus, the app will check you into FourSquare if its the first time today.

The app has to do reverse geocoding. That’s the process of taking a longitude and latitude and turning it into a descriptive location. Google provides a great service. But. You have to use the information to display a Google Map. I wanted it for slideshows, so that wouldn’t work. I ended up using a combination of my own Tiger Data from the US Government (all 8 million records in a SQL database) and several live services. Simple Geo is best for finding street locations. GeoAPI is best for finding specific, geometric areas and working across all the geo startups out there. Besides, its Twitter.

Oh, want to Tweet or update Facebook? Keeping the app simple, I let Foursquare do that for me. When you check into Foursquare, and if you’ve set up your account properly, both Twitter and Facebook will get a tweet and status update.

I hope you enjoy my iSlide Camera. I plan on adding a lot more functionality, better designed galleries, and more. Thanks to the beauty of iAds, the more people that use it, the more it pays for the infrastructure on Amazon (costing me about $300/mo right now).

0

iPhone Game Development

June 6, 2010

Eric Wing put together this video to help promote our Beginning iPhone Games Development Book from APress. The video shows a live version of Ben Britten’s Asteroids Game in OpenGL. Note the use of sprites, particle effects, Core Audio, and more. The chapter I wrote on Quartz 2D shows how to write a similar version in 2D, without resorting to OpenGL. All the source code is included with over 700 pages of techie goodness.

0

Android surpasses iPhone in market share

June 2, 2010
The Android Fleet

The Android Fleet

Tonight I read that Android’s market share has outpaced iPhone in the US. Thought so.

Google wants to see an ad on every screen, just like Microsoft saw a PC on every desktop 30 years ago. A well engineered, free O/S is highly addictive to the carrier and mobile phone companies. They’re pumping out Android-based phones faster than Ford used to dump Taurus’s into the backlots of Hertz. Volume, baby, volume. Move those phones!

Yet Google is tackling an enormous technical challenge. The O/S must run on a myriad of hardware, software, network and devices configurations. That’s hard. We see the result in the seams, a lack of polish here, a rough edge there, all in the name of finding a lowest common denominator. What runs best across all these configurations? They need an army of engineers.

Apple is the yellow car, the purple cow amidst a sea of me-too clones. There are less than a dozen Apple configurations today. That’s a lot simpler than Google’s OS integration challenge. As a result, Steve can pour intense resources on getting all the edge cases right, polishing to the nth degree. The result is beauty, luxury, taste.

In the end, I bet Google makes more money and dominates the market. They’re the new Ford. Apple will be BMW — with a tad higher market cap. What do you drive?

0

Learn iPhone fonts in our latest book

May 28, 2010
More iPhone Cool Projects

More iPhone Cool Projects

One of the more popular posts on this blog is a little list of iPhone fonts. When I first started writing iPhone apps, I was puzzled by the lack of documentation on font names within the wonderful little devices. My post gets visited daily by dozens of programmers who, apparently, run across the same issue.

My love/hate relationship with fonts began in college. I made pizza and beer money by encoding my friends’ papers into Scribe, an early word processing program. Later in grad school I learned how to hack LaTex, and once contributed a few morsels to the AAAI library for publishing AI papers. After my PhD thesis my advisor introduced me to a mailing list at CERN, run by a guy named Tim. I was smitten BY his vision of a World Wide Web. I looked for months to find Web work at IBM, and finally landed a job building a rendering engine for IBM’s first browser. Most of my coding efforts were spent wrestling OS/2 presentation manager and… you guessed it… fonts. They seemed inescapable.

Fast forward a decade and a half. At the beginning of my iPhone career, I landed a sweet deal working on an iPhone game for DreamWorks. We were cruising along when the creative team decided to use a custom font. Uh oh. I faced having to rewrite a lot of Apple’s font mechanisms with very little investment. I didn’t have time. I needed something practical, something that would let me build a font package quickly.

The project tapped some dusty memories from Scribe, LaTex, OS/2, and now OpenGL. The end result was a quick, useful set of classes and tools for converting any TrueType font into a mipmapped OpenGL font on the iPhone. Word spread, and soon I found myself writing a chapter from APress about the experience.

I hope the chapter saves you, and other programmers, tons of time in writing and building quick, lightweight font engines!

0

Amazon.com EC2 instance lasted nearly 3 years

May 11, 2010
Oldest EC2 Instance in History

67.202.27.129: The oldest EC2 Instance in History?

Back in September 2007 I began to play with an emerging service from Amazon.com called the “Elastic Compute Cloud.” I pulled out my credit card, signed up, and lit a new Xen server in about 5 minutes. That server lived for years at 67.202.27.129. I used it for my personal blog, scottpenberthy.com, as well as several sites that erupted from nighttime dreams of entrepreneurial hackery.

Yesterday I ran rsync to copy the local files to my computer, making sure I had the latest and greatest. Uh oh. Near the end of rsync the disk activity started to spike, CPU spiked, and then rsync died. I tried to resuscitate the patient several times, cycling through several reboots. No joy. SSH stopped responding. I officially declared it dead at 11pm this morning.

Who knows? Maybe Amazon finally sunset the server hosting my virtual instance. It was nearly 3 years old, after all. Still, I’m impressed. Who would’ve thought that a virtual instance would live so long? I’m going to miss you, good ol’ 67.202.27.129.

0

iPhone Games Book

May 10, 2010

Hardcopy editions are now available for our best-selling book, “Beginning iPhone Games Development” with APress. The book is quite the tome, over 700 pages chock full of information on writing your own iPhone game. I hope you have as much fun reading and building games as we did writing the chapters!

Beginning iPhone Games Development

Beginning iPhone Games Development

0

App Fund: Get while the gettin' is good

February 15, 2010
The App Fund

The App Fund

I read today about The App Fund. They’re looking for killer apps that will run on an iPad, targeted at early adopters. Funding starts at $5000 and grows to $500k for a fully funded app with marketing. We would be happy to build the app for you! :-)

0

Sausage Pad

February 11, 2010
Sausage Pad

Sausage Pad

Having trouble using that iPhone while wearing gloves? No problem! By a Jimmy Dean and slap that baby on the screen instead of your sticky mitts. Its all the rage in South Korea.

0

iPad, meet Google Chrome

February 3, 2010
The Google Tablet

The Google Tablet

Google “leaked” their tablet concept for Chrome yesterday. The video depicts an even larger format, a 24″ screen laying flat on your desktop.

Apple is clearly #1 in the App universe. I love writing code for their wonderful devices. The recent, mocking attacks from the Twitterverse and Blogosphere remind me of a famous quote:

“For over a thousand years Roman conquerors returning from the wars enjoyed the honor of triumph, a tumultuous parade. In the procession came trumpeteers, musicians and strange animals from conquered territories, together with carts laden with treasure and captured armaments. The conquerors rode in a triumphal chariot, the dazed prisoners walking in chains before him. Sometimes his children robed in white stood with him in the chariot or rode the trace horses. A slave stood behind the conqueror holding a golden crown and whispering in his ear a warning: that all glory is fleeting.

- Gen. George C. Patton

0

Flame It! hits the App Store

February 2, 2010
Tags: ,
Deadly Nadder from Flame It!

Deadly Nadder from Flame It!

Last fall Ben Preuss called me from ThinkNerve. Ben runs a fantastic little studio in Brooklyn, partnering with Hollywood boutiques, producing dozens of Flash widgets and microsites. I’ve always been an admirer of his work.

Ben had an iPhone project called “Flame it!” and wanted to know if we could help. The idea was silly but fun: transform your breath into a fire-breathing dragon. Sounds simple enough. Today we submitted it to the App store. Shortly we’ll submit the native French and German versions.

Yet, when all was said and done, the App had to be written in OpenGL, CoreAudio, C and C++. The menus were all custom, maintaining the look and feel of the movie. Listening to your breath, processing the audio, then controlling the stereo sound and flame in real time required a bit more work than I originally thought. The audio engine is custom, as you’re recording, playing and animating sounds in a real-time loop with less than a 10msec delay.

After I got audio working — suspending correctly, resuming without hanging, and handling sound effects in real time — I had to create a new particle engine for the flames, inspired by the fabulous work of Particle Illusion. It should be able to play all effects from their library of thousands, some of which were used in 2012 and other Hollywood films. So fun. As the movie draws closer, new flames and particle engines will showcase the unique character of the starring Dragons. You can even use a multiplayer mode, flaming particles across a local WiFi network in real time using UDP.

0