I’ve seen rumors (or better: hopes) about widgets finally arriving in iOS5. While this is the only thing I still need a jailbreak for, I think I should clarify what Apple could do to make it real. They will want to save battery life.
@flyosity Ideas for iOS 5 widgets: in your app’s .plist you pick 1 of 2-3 sizes of widgets that Apple pre-defines, then designate a UIVC to manage it.
While your app is running in foreground or background, widget will update. If quit, widget “pauses” and is grayed out till you re-open app.
Some apps could only include the single UIVC to manage the widget state, they would have no full-screen UI; widget-only.
No studid idea, but I think they would want to have a single application for that, as they won’t want to have to keep the main app or all widgets that ship with an application in memory to show a widget. My take on this would be this route:
Make every widget a single application that is fed with data via push messages OR coredata OR only a very small memory footprint (no memory hogs allowed for dashboard widgets). Include the binary of this app with your main app, and in your main app use a new api to let a user activate or deactivate the widget, which would of course send a warning alert to the user “AppX wants to install WidgetY on your Dashboard ALLOW BLOCK”. To keep battery consumption low, the widget would only get processor time when the user goes to the widget screen, and it would be guardanteed to not get a lot of it, as multiple widgets would simultaneously need to update. Another possibility would be to update a widget in the background once a minute or maybe once every 10 minutes and return a number of seconds for which the widget doesn’t need updating, again to keep battery consumption low.