You can easily intercept all UI events via UIWindow or UIApplication subclass, no swizzling required. I do this routinely to detect when a user is idle: no events - no activity.
OK, so there is gratuitous use of push notifications, but it's also unfair to compare push usage between a utility app and apps that are trying to convince you to try something new.
How about we compare the pushes to email campaigns by companies?
I for one am constantly amazed at how much users tolerate these emails.
So I say, yes, make it easier to stop the pushes just like it's easy to unsubscribe from email campaigns. It could be as easy as making sure users know that the pushes stop when the app is uninstalled.
But I think outside of other app developers and the tech community, users may not feel as strongly that this is abuse.
I was already planning to do the popping of each menu button in a follow up post.
You're right about the menu appearing underneath the tweet. Luckily doing it that way is just as easy as having them animate together. I'll look at modifying the code to handle both animation styles.
The bounce is already implemented in the current code.
I agree with you that Tweetie's implementation is well thought out. The goal is to have a 100% faithful recreation that is indistinguishable from the original
ah yes, i see the bounce code now. i was half way through reading the source when you replied :) good on ya.
i was searching for a resource that explained exactly this swipe menu technique for an app i just submitted, so i'm glad there finally is one for others to use as well.
again, great post. looking forward to the follow ups! i really dig your blog, btw. very helpful and clear. i just happened to have spent a lot of time with tweetie and its nuances since i modeled a bunch of UI effects it has into the Notifo app.
Chad, the code now puts the menu behind the cell and only animates the cell in and out while leaving the menu at x offset 0. Thanks for pointing this out!
Check web logs for regular visits from a specific IP address. Setup alternate site (eg: on a different port) and use firewall rules to direct http traffic from that IP to that port. Make a small change to the site and verify that the copied site is altered. Then have fun.
Setting up a new site is trivial to do and allows you to mess around with it without modifying your main site... which may not be so simple as your example if it's based on a CMS or other framework.
Agreed. The vigilante content of the switcheroo is whatever. I want to know how he actually pulled it off. The not-so-over-the-top-vigilante-ish alternatives are pretty endless.
Why do a couple of articles in that feed say either "Unable to parse this page for content" (daringfireball.net) or "unable to retrieve full-text content" (nytimes.com)?
it's still just a weekend project, but if everyone keeps throwing love at it like this, it might be more than a weekend project. he's working on it now. :)
Coincidentally just today I released an open source library on iDevRecipes to do smarter metrics. My approach is to use base classes.
To achieve the no extra code part, is the SDK using swizzling?