Movie downloads and more? I found download movies. Maybe you wonder why download movies when you can buy dvds? Downloading is much cheaper, much faster and very convinient way to do this.

Adobe Apollo Wish List

31 May, 2007 (14:53) | Adobe Apollo

I’m really fired up on Adobe Apollo right now. I think Adobe’s Apollo has the potential to be a lot more than a tool allowing current web developers to write rich Internet applications. With a bit more functionality, I see it as a total competitor against all those old Visual Basic and newer .NET WinForms applications. I’m really looking forward to seeing how the online/off-line APIs work. I’m looking forward to third-party components. I’m looking forward to the applications Google creates with it. Can you imagine Google making their Google Docs application available off-line? That would be huge. The ability to write a Google Doc off-line, let it sync to the online repository upon connecting to the Internet, and then share it, edit it, and publish it from any computer, like I can today. I like this prospect very much. Also, with Apollo, I know it’s going to be a lightweight install, and have a modern, sexy interface!

With Adobe’s Apollo offering there’s a few things to be desired. First, according to the Adobe Apollo FAQ, here’s what’s not in the Alpha bits, but coming soon:

  • PDF support
  • Online/off-line APIs
  • Full top-level HTML application support
  • Settings/data persistence APIs (I’m assuming this is going to be like .NET’s app.config file API)
  • Drag and drop support
  • Copy and paste support
  • Native file picker dialog boxes (This is essential since I can’t really think of a desktop app that doesn’t interact with files. And if you have any friends with Macs, then you know how much they love their file-chooser.)
  • Full native window support (I’m assuming that Adobe wants to use native windows for their windowing support, so OSX will by default have those red, yellow, green buttons, and Windows will have it’s min, max, close. Vista should look like Vista.)
  • File extension registration (Custom Apps = custom data = custom file types. Allowing a user to click on their saved file data to launch the app is essential.)
  • Launching an application to handle a file type
  • Full control of the right-click menu
  • Transparency in HTML

With this in mind, here’s my wish list for Adobe Apollo (if they exist, please, point me to the solutions whether third-party or not), I’ll update this over time as I discover more:

  • Simple database support — maybe an API for SQLite. (I notice that Adobe Lightroom and Adobe Bridge both use SQLite.)   Updated:  Adobe announced support for this.
  • Primitive support for multi-threading. Asynchronous operations? Microsoft’s WPF has Dispatcher.BeginInvoke that I can use when firing off long running tasks and allow the UI to repaint itself properly. Currently, in Apollo, I’m having to use an asynchronous Directory listing method (File.listDirectoryAsync) to get a progress bar to draw itself properly while performing a long operation on a file, even though I’ve already established my working set of files. I’m essentially getting a list of directories everytime I want the screen to repaint itself. (I’ve tried creating a custom event, even, but this doesn’t seem to be working.) Desktop applications need simple ways to multi-thread on takss that aren’t solely related to directory or network operations (both of which are supported in Apollo).
  • Hot-key accelerators. Real desktop applications need key accelerators, you know ctrl-c that is bound to copy via a menu command? Or having labels of field names with underlined letters that let the user know to press alt/option-”some character” to set the focus to the input field (ex, “First Name:” the user presses alt/option-F). Another example is displaying menus at the top of an application. In Firefox, on Windows, I press alt-V to get the view menu to expand. The prospect of programming this functionality doesn’t sound very appealing to me, especially since I know every application I write should have it.