About the iPhone App Widget

The IdeaScale iPhone widget allows any iPhone app to quickly and easily collect crowdsourced feedback right within their application. With this widget, your users can leave feedback within your app - as opposed to following a link to Safari or sending an email (thus they leave your app). In addition, the iPhone widget supports push notifications. This allows you to notify your users when their ideas/bugs are implemented: bringing them back to your application.

Create your IdeaScale Account

  1. Create an account on IdeaScale.com (if you have not already).
  2. Create New Feedback Community
  3. Create just two categories: Features & Bugs. Currently the plugin only has 2 icons, which are hardwired to the words ‘Bugs’ and ‘Features’
  4. Choose ‘Suggestion Box’ Community Type.
  5. Click "Continue" to finish.

Obtain your API Key for your IdeaScale Community

  1. Visit the IdeaScale community you just created above. Click on the link labeled ‘Developers’ in the footer. It should be:  http://[communityname].ideascale.com/a/ideascaleStatic.do?mode=api
  2. Click the link ‘Register for the API’.
  3. Fill out the form with your details.
  4. Note your API key for later.

Integrate the IdeaScale Plugin into your Application

  1. The IdeaScale Widget project is hosted in Google Code.Project URL http://code.google.com/p/ideascale-iphone-widget/SVN URL: https://ideascale-iphone-widget.googlecode.com/svn/trunkCheck out the project like this from the command line: svn co https://ideascale-iphone-widget.googlecode.com/svn/trunk IdeaScaleWidget
  2. Open the IdeaScale Widget project in Xcode (Look for IdeaScale.xcodeproj)
  3. Optionally compile & run the IdeaScale example application in the Simulator.The existing code assumes you have the 3.2 SDK installedYou can use a newer SDK if you don't have 3.2
  4. There are 2 ways you can do the integration:A) Copying Files into your projectB) Referencing Files from the Widget projectThese instructions will assume option (B)
  5. Open the project you'd like to integrate with, for these instructions we'll assume this app is called 'MyApp'
  6. Drag & Drop the 'Widget' Folder from the IdeaScale project to the MyApp project within XcodeNOTE: Do not choose 'Copy items into destination group's folder' (we are following option (4B) above).Click 'Add'
  7. Your project may already use some classes found in the newly created MyApp/Widget/Foundation folder. (JSON is typically used in a lot of projects) If your project does use some of these foundation classes, you will need to delete the references to the duplicate classes found in MyApp/Widget/Foundation/(…duplicate classes)
  8. Add the following code to your ApplicationDelegate implementation class:Add this to the import section of the .m file:# import "ISFeedback.h"In application:didFinishLaunchingWithOptions:[ISFeedback initSharedInstance:@"YOUR-API-KEY-HERE"];
  9. The Feedback widget can be launched from anywhere within your application. This method can be used within a UIViewController to launch the widget (below). Hook this method to a button using InterfaceBuilder:In the @interface block of the .h file-(IBAction)feedback:(id)sender;In the import section of the .m file import "ISFeedback.h"In the @implementation block somewhere:-(IBAction)feedback:(id)sender {[[ISFeedback sharedInstance] pushOntoViewController:self];}
  10. Compile & Run MyApp, the Widget should be functional at this point.You are done! You should see something like this:

Did this answer your question?