Purpose:
Vikingblog is the codename of a new Mac OS X app which will provide a UI for the buildtools, provide high-level app management features, and provide features that facilitate common tasks (sc-gen, sc-server, log, updating sproutcore, etc).
1) Completely wrap a sproutcore environment within the app.
2) Allow one-click creation of a new application
3) start/stop sc-server
4) automatic update notifications (sparkle - http://sparkle.andymatuschak.org/)
5) view sc-server console
6) sc-gen wrapper
My preference is to keep the feature list small for v1.0, since I want to really avoid feature-creep and keep the purpose of this app clearly defined.
This is just a mockup, subject to change, but it should give you a good idea of what the project is, its scope, and how it will work.
Resource | Feature |
NSFileHandle | Need to pipe sc-server output to console |
NSFileHandle |
Need to generate Buildfile |
NSDirectoryEnumerator |
Inspect file structure and determine assets |
NSUserDefaults |
Save list of projects and state.
Open questions: Should the app determine existing options by inspecting the Buildfile? If so, we need to analyze the Buildfile. Is there a way within the buildtools to do this? |
NSTask |
Run the buildtools as sub-processes |
- How to properly bundle sproutcore and the buildtools in a way that makes it possible to easily update them?
- Can we rely on the folder structure to determine assets?
DragNDropOutlineView Sample Application contains a demo of the outline view that we need to implement in the assets page (shown above).