Posts Tagged 'Programming'

Users Blowing

No, we’re not going to talk about support woes today, and we’re not talking about anything sexual either, misinterpretable title notwithstanding; we’re pointing you at another excellent Mobile Orchard tutorial, Detecting When A User Blows Into The Mic:

The job of detecting when a user blows into the microphone is separable into two parts: (1) taking input from the microphone and (2) listening for a blowing sound.

We’ll use the new-in-3.0 AVAudioRecorder class to grab the mic input. Choosing AVAudioRecorder lets us use Objective-C without — as other options require — dropping down to C.

The noise/sound of someone blowing into the mic is made up of low-frequency sounds. We’ll use a low pass filter to reduce the high frequency sounds coming in on the mic; when the level of the filtered signal spikes we’ll know someone’s blowing into the mic….

Not that we have any actual immediate need for this … or can think of any good ones off the top of our head, really; but hey, if you want to put a cool easter egg in your iPhone app, this certainly would be a stylish way to trigger it!

Continue Reading →
0

App Store Alternatives

So as an established iPhone developer, no doubt you’ve had your share of frustrations with the App Store and its approval process. Or maybe you just don’t like giving Apple it’s 30% cut. Or the … challenged … reports and payment process. What to do? What to do?

Well, there’s always the jailbreak crowd, we suppose — and they have indeed listed almost two dozen apps now! — but call us crazy, we just kinda tend to assume that the somewhere around 8% of the crowd that jailbreaks their phones in the first place are not heavy spenders on software, if you know what we mean and we think you do. If you have any evidence that the people listing Cydia apps are making a buck off it, let us know; but we’re just going to assume that it’s not so.

That doesn’t leave anything, does it? Well, according to Dow Jones, the people at Hottrix have sussed out something:

SAN FRANCISCO -(Dow Jones)- Steve Sheraton has a new magic trick: He’s making Apple Inc.’s (AAPL) App Store disappear.

The magician turned App developer has begun selling his $4.99 “iHypno” mind- reading application for Apple iPhones and iPod Touches directly from his Web site. That means consumers can buy the program without visiting the App Store, the official software bazaar that operates under Apple’s iTunes store.

“It’s based on technology encouraged by Apple,” Sheraton said during an email interview. “It’s totally legal and possibly the way you’ll see other apps delivered in a year or so.”…

Intriguing, yes? We thought so when it came up in this thread on iphonesb. The consensus was that they were using HTML 5 features — specifically the offline application cache — and CSS 3 visual effects which are hardware accelerated on the iPhone and all to provide an application-like experience which was essentially just a Web bookmark far as the phone was concerned.

So, in our never-ending quest to inform and entertain you the Gentle Reader, we decided we’d invest the big five bucks in checking out just how acceptable the experience actually is. So off to the site we went, picked an application, paid through a pretty standard credit card web purchase interface, and in short order got the email

Hi there Alex Curylo,
Thanks for purchasing MindBeam!
Please find below instructions to get up and running with MindBeam in no time. Be sure to practice before performing.
DOWNLOAD HERE:
**************************************
Here are the files you will download to your iPhone/iPod touch (not your computer).
Open this email on your iPhone or iPod touch.
Personal download link on iPhone: http://is.gd/XXXXX
Please keep the link to yourself because it is tied to your payment information.
The link will not work on your home PC, just on your iPhone or iPod touch.

OK then. So we tap on the link on the iPhone, and up comes in Safari

HottrixActivate.PNG
So we do, and after a shortish download we get

HottrixInstall.PNG

Heh. Well, that certainly does confirm the general consensus that these “applications” are cached websites, indeed. But are they actually comparable to native apps?

Why yes, indeed, so they are! Our new MindBeam “application” has animation, device rotation detection, native alerts, and so forth … seriously, it’s more polished and functional than a lot of native apps we’ve seen. There’s nothing that we see that jars the illusion. What’s really interesting is that when you tap the “More Tricks” button that takes you to their website, it looks just like the “application” is quitting and Safari is launching. So either these offline web apps really are run as separate processes, or they’re doing the quit-zoom animation themselves and then letting the standard UI come up. But there certainly is no indication that your “application” is running in Safari — if, indeed, it actually is — or in any way other not acting just exactly like every other native app.

So! That was a most illuminating little experiment, wasn’t it? Apparently it is possible to put together a completely under your control shopping experience for the iPhone that is close enough to providing a native application so that our eagle-eyed vigilance didn’t notice anything jarring, at least not once we got past the bookmarking “install” and into the “application” itself, and we do assure you we were looking.

And the really intriguing thing is, an application developed this way would almost certainly be marketable in the same fashion to Palm Pre users, Android users, and anybody else who uses WebKit or anything else HTML 5 compliant. Sure, they’re probably trivially easy to pirate, but really, what isn’t? Personally, we figure that “display the registered user’s name prominently at startup” is as much copy protection as you need to keep honest people honest, and you can’t keep any other kind honest no matter how much you work at it instead of doing something useful.

So, to sum up, mad props to Hottrix for showing us how to work around the App Store whilst providing what appears to be a perfectly acceptable user experience … and we are definitely going to add to the to-do list getting up to speed on just exactly what classes of application functionality are practical to provide in HTML 5!

Continue Reading →
4

Library: MapKit-Route-Directions

Unfortunately, our Japanese translating skills aren’t up to reading this post, but we think that

MapKitでルート案内をするライブラリを公開しました。

translates to something to do with the library

kishikawakatsumi’s MapKit-Route-Directions at master – GitHub

Extend MapKit to add route directions powered by Google Maps API.

Hey, if you want turn-by-turn descriptions in your MapKit, then you’ll probably find someone who speaks Japanese to sort this out for you, we imagine. And if you do, come back and provide us some English usage notes, k?

Continue Reading →
4

Snippet: Selector choosing

Here’s yet another handy piece from the oft-mentioned Erica Sadun: convenience methods for NSObject which now include an elegant way to account for differing SDK interfaces at runtime.

… I’ve put together a category of NSObject utility methods here:

http://github.com/erica/NSObject-Utility-Categories/tree

This code basically derives from stuff I’ve needed for other projects at various times. The latest addition is a selector check that returns the first one an object responds to, e.g.

SEL aSelector = [object chooseSelector: sel31version, sel30version, sel22version];

This offers run-time selector selection based on the current firmware. To use the selector, I’ve added a plethora of performSelector choices…

Handier than figuring it out yourself!

h/t: iPhoneSDK!

Continue Reading →
0

Social Network: Ninja Code

And today we’re letting you know of a new social network for iPhone developers, Ninja Code. Yes, a social network. Whilst in general trolls don’t have any particular use for the onanistic triviality of these social network things all the little kiddies are into these days, we make the odd exception. Like this one. Because their intro art is just so damn cool.

ninjacodeheadercrop.jpg

Is that not, like, just essence of awesome? Why yes, indeed it is! So, we didn’t bother checking it out any more to find out if it looks actually useful or anything, because having an excuse to use that picture above, why that’s good enough for us;

Visit Ninja Code (for iPhone Developers)

So there we go then. If there’s anything actually interesting there you’ll hear about it no doubt. Any excuse to run that picture again!

h/t: LinkedIn – Cocoa Touch!

Continue Reading →
0

Tool: BuildCleaner

Here’s a handy little utility called BuildCleaner for, eponymously enough, cleaning up all those Xcode build folders that litter your drive:

I just wanted to let you know of a little utility app I’ve just posted, called BuildCleaner. As I explore example projects, open source frameworks, and test applications, I find that I usually have a lot of build folders cluttering my hard drive. When you combine that with backup services like Time Machine, Mozy, or DropBox, you can waste a lot of your bandwidth uploading build folders.

To help with this, I’ve created BuildCleaner. It’s a little menubar application that scans your hard drive every few minutes for build folders and deletes them if they haven’t been modified recently (you can change the cutoff interval in the settings window). You can also tell it to ignore the build folders of specific projects, such as the humongous project you’re following that takes ages to compile, but you only crack it open every couple of days…

Handy, indeed. And it’s been open sourced on github for your tweaking pleasure as well!

h/t: cocoa-dev!

Continue Reading →
1

UI Design for Artists

You getting a bit tired of explaining over and over to artists the specifications for what iPhone applications need for artwork and pointing them at helper files and goodies? Yeah, us too. But these great people actually went to the trouble of collecting info to get past all the common artist questions in one place:

iPhone Guidelines And Resources For Artists

Covers device specs, icon specs for app and tab bar, fonts, and layout helpers, with links to various helpful resources overlapping a good bit with the ones we’d previous mentioned in the links above. Excellent to have it all in one place to send a link to for people who’d rather ask you than use Google!

Continue Reading →
2

Tools: Simulator Helpers

And it was just a little while ago that we brought to your attention the first Simulator helper for sending accelerometer data from an actual device that we’d run across — and all of a sudden, why, there’s a veritable plethora of them out there! Okay, three, but still.

The commercial offering is iSimulate, that does not only accelerometer but touches and GPS and pretty much everything, with a real website with an SDK and documentation and all that; and there’s a really very nice paid client for it

iSimulate

which you should pop over to take a look at the screenshots of.

And if that’s too rich for your blood, there’s a free server/SDK bundle called SimRemote to check out as well, client expected to be on the App Store soon.

Must admit we’re still inclined to use the accelerometer-simulator library we originally brought to your attention, as it’s open source and all and we like the option to muck with things … but hey, if you want the snaz, or support, always good to have options!

h/t: MobileOrchard!

UPDATE:

If you stumbled across this from a search engine … check out our followup iSimulate review!

Continue Reading →
1

Xcode predefined macros

Here’s a couple tips for finding what macros are defined/available in Xcode that showed up on xcode-users for the question

Hi, I’m looking for information on Xcode or the preprocessor that would indicate whether or not my code is being compiled for a non Mac GNU target or Mac OS X or iPhone OS…

You might have known this answer, how to print out a list of gcc predefined macros from the command line:

gcc -E -dM -x c /dev/null

But we’ll just bet you didn’t know how to extract them for a particular file in compilation context!

The easier way to do this (and get more precise, per-target-per-configuration results from Xcode) is to select a source file, Get Info, click the Build tab, add -dM to it, then Preprocess that source file.

You know, there’s been times when porting particularly convoluted befuddlements of allegedly cross-platform libraries that having known that tip would have saved us literally days of flailing around…

Continue Reading →
1

Library: Satisfaction Remote Component

Here’s a service we hadn’t heard of before which could be of use to your iPhone programming — GetSatisfaction.com, which “provides customer communities for products and organizations”. Basically, it looks like a free way to set up a support/feedback forum. Or, as they put it,

How are companies using Get Satisfaction?

  • As a primary support channel
  • As a fully branded, standalone community
  • As the community portion of a multi-faceted strategy
  • As a gateway to product innovation and ideation
  • As Social CRM “front door” to welcome customers

Aside from that anyone who uses the word “ideation” without overt irony should be flayed and their wounds salted for overt pretentiousness, that does look possibly interesting yes? And there’s a library, satisfactionremotecomponent up on Google Code, which lets you embed support for it within your application! That could be a more substantive method of support than an ‘email us’ button, indeed. Not that we’ve actually got around to even that so far, but hey, best of intentions here.

In the meantime, if you’d like to see it in action in an iPhone app try out Locavore a locally grown food finder — actually, even if you wouldn’t, if you’re in the U.S. take a look at Locavore anyways, it seems to be a pretty decent guide to finding fresh produce — or if you’re really interested in the GetSatisfaction.com community, the above library is from the Satisfaction Remote application which lets you interact with the collective GetSatisfaction.com oeuvre off your phone!

h/t: iPhoneKicks!

Continue Reading →
2
Page 74 of 90 «...5060707273747576...»