Widge logo

Hi everybody!

After reading responses to my announcement of Widge, my iOS widgeting system, I thought I'd clarify a few things about the project. I hope to have a beta release of Widge very soon!

What is Widge?

Widge is an open source widgeting system for iOS that I'm building along with jailbreak superstar Dustin Howett. Widgets are single-purpose applications, much like the OS X Dashboard Widgets, Windows Vista/7 Gadgets and KDE Plasmoids. Widge has been built from the ground up to not affect system performance to a significant extent. This was a fundamental design decision which we believe makes Widge very competitive. The source is available at the Widge GitHub page. It's GPLv3 licensed.

How does it work for the user?

On iOS, Apple has defined visual language for the homescreen that makes sense. Swipe to the right to see all your other pages, and the left to access Spotlight. Like many other iOS users, I don't use Spotlight very frequently. Wouldn't it be great if we could move Spotlight over a page to the left, and insert Widge in its place? That's exactly how Widge works - you have a Dashboard-like page on Springboard to access your widgets. If you have more widgets than the page allows, they scroll.

I'm a developer, how can I write widgets?

Hi! I'm glad you're excited about writing widgets for Widge! I'm in the process of writing a framework called WidgeKit that allows you to write widgets for Widge very easily. If you're interested in getting in the prerelease program for WidgeKit, please email me - peterhajas@gmail - and we'll talk. If you already have emailed me, look for a message soon!

Anyways, for developers, here's what you need to do:

UIKit/iOS developers:

Write a UIViewController for your widget. It needs to subclass WGWidgetViewController (from WidgeKit) and import it. Once that's done, beyond implementing your widget, you need to write the following functions:

  • (NSString *)widgetName;
  • (int)iconRowsWide;
  • (int)iconColumnsWide;

and that's it (so far!) Just tell Widge what the name of the widget and its dimensions, and Widge will take care of the rest. Please note that dimensions of widgets are specified in terms of icon dimensions.

Web developers

A powerful part of Widge is its ability to accept widgets written in both Objective-C and in web technologies such as HTML, javascript and CSS. Stay tuned for more news on web widgets - the implementation is being drafted currently.

When can I try Widge out?

If you're a developer, sooner rather than later! I want to get WidgeKit in the hands of as many people as possible. If you're an ordinary user, don't worry yourself! A prerelease will be out once I have a decent library of widgets for you to use. Get excited!

Where can I direct questions?

Email me - peterhajas@gmail - if you have any questions - especially if you'd like to be a WidgeKit developer!