Unfuddle
Initial personal responses from using web-based software and project management for a day.
Unfuddle.com provides issue tracking tickets, a documentation wiki, Subversion & Git repositories along with web-based interfaces to all these services. Whilst beginning a new personal iPhone project today, I wanted to test a hosted service to aid with small, non-public development projects.
Sign up was quick and simple; further profile information can be entered at a later date. Next, the user is given the option to create a new repository—a choice of Subversion or Git. I chose Subversion. The repository was available immediately both in local client applications and in the web-based browser. The connection was not the fastest, especially for a Sunday afternoon and I wonder how it will cope midweek. As mentioned, I writing a small, by their nature, iPhone application which shouldn't overwhelm any network connections.
The UI is OK. The interface, especially for tickets is not as nice as lighthouseapp.com which we use at Watershed. The web-based source code browser does support Objective-C highlighting. Which was nice.
An HTTP REST API is available with read & write access to most of the data. At Watershed, a Cocoa bundle uses the REST API to allow end users to send feedback from within the application directly into the Lighthouse database. Repository commit comments can be linked against individual bugs with a rudimentary text formatting pattern in the comment.
A dashboard widget is available for MacOS X. The widget is well designed and shows the latest messages, repository commits and project progress. Clearly designed and concise email reports can be received hourly, or at less frequent intervals. I found, as a solo developer, these two features less useful but small teams may benefit.
Unfuddle could save lots of time, configuring a server, providing network access & off-site backup services, adding repositories and writing Subversion hook scripts.
iPhone SDK
As disappointing as the lack of an iPhone Cocoa SDK was at last week's WWDC and the 'controversial' techniques developers are encouraged to use to write applications for the iPhone, there is an application that appears to substantiate Apple's suggestions.
OneTrip is a shopping list web application specifically styled and built for the iPhone. It uses UI metaphors from the iPhone's applications, is styled sympathetically and is designed with features such as drag-scrolling and screen resolution in mind. Data storage happens on the server with cookies managing session identification so there is no user registration or login.
If all iPhone web applications are like this then maybe the current lack of a SDK it isn't such a disaster.
Where is the QuickTime I knew?
Interactive QuickTime is pretty much dead and the QuickTime (.mov) file format is dying.
A short while ago, whilst working on Electric December, I spent some more time working on server generated, interactive video presentation. This was an exact repeat of the previous year's Electric December development and once again I abandoned the work after a couple of weeks.
Yes, I know this type of thing can be done easily enough in Flash but I wanted to do it in QuickTime for a few reasons:
- We want to keep the video content in MPEG4 data files because we don't want to encode very large amounts of our content in a proprietry codec.
- In my opinion, the pereformance of MPEG4 is better than the Flash On2 codec.
- We need to distribute our content in a format that can be played on mobile devices such as iPods, PSPs and of course the iPhone.
In the Applesphere it appears that the QuickTime file format has been beaten down by MPEG4. The Apple TV doesn't appear to support QuickTime files and neither does the iPod. If the ipod doesn't support quicktime files then it is very unlikely the iPhone will. Interactivity and the other advanced features of MPEG4 are not supported in QuickTime and MPEG4 is seen as a linear audio and video format.
Interactivity in QuickTime has been neglected and become an embarrassment for Apple. QuickTime VR is hardly mentioned these days. Have you tried opening a .m4a file with chapter artwork and links in QuickTime Player? How ugly is the result? The chapter implementation in the QuickTime UI is neat and tidy but why draw text using Times, in 'link blue' across the artwork?
Apple recently disabled QuickTime's default ability to play Flash movies embedded inside a movie. Security issues with the existing code led Apple to turn this option off, without warning content producers this was going to happen. Flash playback in QuickTime couldn't have been a high priority. The user can re-activate the functionality, but the settings are hidden many levels down in nested preference panels, and not something you would expect an end user to perform in order to view content.
QuickTime's XML parsing and resource loading performance makes using techniques such as SMIL or wired, umbrella movies very difficult to deploy. How long can it take to display a few, small, simple media resources such as text and still images?
There are so many differences between the implementations of features, that haven't changed, in versions 6 and 7 of QuickTime? A content developer can't distinguish if something is working or not. Well, apart from text rendering which is not great in either. Why does QuickTime 7 install two different versions of the plug-in? One, a Coca/QTKit Webkit plug-in used by Safari, and the other, a Netscape style plug-in that all the other Macintosh browsers use. It would be quite nice if these two plug-ins displayed content and behaved identically. Based on content from Apple's own site, the Quicktime plug-in is used simply to provide basic, interactive playback of linear MPEG4 video controlled by Javascript. The interface is provided by the surrounding HTML.
It appears all the graphics & media engineers at Apple are working on technologies such as such as CoreAnimation, CoreVideo & Quartz Composer. All the advanced media technology work is done on the Mac OS X platform and not QuickTime! This is all great stuff and I love working in CoreVideo and CoreAnimation. They produce spectacular results and I amaze myself every time I click Build & Run. This is nothing we can deploy effectively to the public at large, for which the MS Windows using majority, the QuickTime plug-in is the only bridge there is. QuickTime will become a media generation framework to support Apple's pro & iLife applications, along with third party developer's desktop applications. The browser plug-in will just handle playback of MPEG4 data.
I guess what I'm trying to say is don't waste any more time trying to use QuickTime for interactive work, use it for what it's best at: playback of MPEG4 content and leave the interactivity & interface to Javascript & HTML.