Stack v2 is DONE!
Well, the day has finally arrived; Stack v2.0 has been completed and is almost ready for release.
Stack is one of my oldest, and undoubtedly most successful, iPhone endeavours and is one I'm particularly proud of. I bought an iPod touch the day they were launched back in '07, and as soon as I could I began developing software for it. Looking at the design back then, the Button Bar (or Dock) on the iPod touch looked similar to that in Mac OS X 'Leopard' , and near instantly the idea popped into my head: why not recreate 'Stacks' on iPhone OS?
I played around with it in my head, as I knew it would be pretty simple to pull off visually as all 'Stacks' did was translate an icon in y and rotate it - dead simple to do with CoreAnimation. Pretty soon I had a demo version up and running and it looked great!
Complexity soon set in. I had to create a seperate application to manage the settings of Stack (singular, as there currently is only one Stack onscreen at a time ;-) ), and Stack itself originally modified the Button Bar icon list and placed a blank icon behind where the Stack should be. On top of that, Stack had to run on launch as an application displaying above SpringBoard.
Former users might recall that adding items to Stack was a messy, convoluted process involving XML editing and restarting the Stack application. Similarly, the original had reported issues of being unable to install, and I never developed it past iPhone OS 1.1.2, leaving many users stuck.
Then came the iPhone SDK, and iPhone OS 2.0, and it was exalted. But, for Stack, it meant DOOM. iPhone OS 2.0 prevents any application from running above SpringBoard and drawing a UI to the screen, and any such attempts equalled a nasty crash.
For a long time I thought Stack was dead, undoable for 2.0. For a long time, I was wrong =).
Dynamic Library Injection was its saviour. Basically, it means that the Stack code could be *injected* into Springboard, and actually run as part of SpringBoard. Thanks go to Nate True without whom I wouldn't have figured this all out. But wait, there's more! Since I was now part of SpringBoard, I had full access to add everything I had dreamed about adding to Stack v1 but never found a way to. With a bit of ingenuity, I was able to detect the dragging of SpringBoard icons and dynamically add items to Stack with but drag & drop. I was also able to pick up on WinterBoard themes, the #1 requested feature before v2. To seal the deal, I added the ability to drag-remove any item in Stack, replete with the familiar Mac 'poof' animation; a puff of smoke.
Where before Stack was a complex, power-user tool to set up and manage, it is now a user-friendly, drop-dead simple tool. I couldn't be happier with the results, and I'm proud to announce that it will be freely available next week from Ste Packaging in Cydia. A big thanks to all whom have e-mailed me over the past months, and I hope you all enjoy Stack v2!
-S
Subscribe to:
Post Comments (Atom)
Hi, with the Dynamic Library Injection method, would it be possible to add more pages to the SpringBoard, I'm running out.
ReplyDeleteThis would be a great app/mod!
Is the iPhone Emulator the SDK version, and if so, how do you get iphone apps that you've made on the sdk into cydia?
ReplyDeleteLook awesome. Will you hangle 5-icons docks ?
ReplyDeleteHi where can we get the stack ? I don't find it on Installer or Cydia.
ReplyDeleteCan we have the bin ?
Does it work on iphone 2.1 ?
Thank
That looks amazing.
ReplyDeleteGreat work, and thank you!
I have this installed now and LOVE it. but have one problem. The icons that I drag into the Stacks folder also are adding to the dock. How do I add to the folder without doing this?
ReplyDeletewhen you add icons to the stack they remain on the springboard. if you try to use poof or categories to add an item that is in the stack, and therefore also on the springboard, the iphone crashes into an unfixable state. You MUST restore after this point. This has happened twice now. WTF!!!! Fix this P.O.S.
ReplyDeleteGreat app!
ReplyDeleteThings to fix:
- bugs!
- Stack should be a normal icon
- support for more than 2 icons (5 icon dock please)
- hide icons that you add
- move the settings to the ihpone settings
- make it more difficult to remove something from the stack (right now if you press too long and it's gone)
- ability to rearrange icons inside stack (drag and drop or settings menu)
Great Great Great Great
ReplyDeletewt can i do if stack crashed....
ReplyDeleteeven when i uninstall it and reinstall it, the problem is still here...
anyone help??