0 Replies Latest reply on Feb 11, 2010 8:28 PM by bringrags

    API Lockdown Update

    bringrags Level 4

      We're a little more than halfway through our current development sprint, so I'd like to give an update on the status of our API lockdown effort.  For those who are working off of the public trunk, much of this will be familiar to you.


      API Changes


      The API review process continues apace, and we've implemented a significant number of changes in the past few weeks, with more to come in the final two weeks of the sprint..  Every API change that we've committed to public trunk is listed on our API Lockdown Status page.  If/when you make the move from Sprint 9 to Sprint 10 (or to public trunk), this page will be a handy reference for updating your apps and plugins to the latest APIs.  Per our previous guidance, almost all of the changes involve APIs being renamed or moved.


      Of the API changes, the biggest impact to you will be our consolidation of all MediaElement subclasses into the org.osmf.elements package.  This change should make OSMF's media types much more discoverable (and has the added benefit of reducing our package count to a more manageable number).


      In many cases, we're eliminating APIs that we originally thought we needed.  The most notable example (not yet committed to public trunk) is MediaPlayerSprite.  For several sprints, this has been the go-to class for getting started with OSMF.  It was one of the first UI classes we built, and in the course of our API review we realized that you could do everything that MediaPlayerSprite can do (and more!) with our other UI class, MediaContainer.  So in the spirit of keeping things simple and avoiding duplication, we'll be removing MediaPlayerSprite.  We realize this will impact a significant chunk of client code, but on the positive side the change from MediaPlayerSprite to MediaContainer is fairly trivial, and MediaContainer provides much more flexibility with regard to layout.  The MediaContainer class shipped with the sprint 9 drop, so you can start the transition over to the preferred API in advance of any update to the latest code.


      For any high impact API changes like this one, we'll be providing specific instructions on how to migrate your code to the new APIs.  For those of you who have already upgraded to public trunk, we'd love to hear if there were any specific pitfalls that we ought to call out to other developers.


      Sample Apps


      We've heard from a number of you that our sample apps range from the useful to the inscrutable, and we've begun a reorganization effort which will hopefully eliminate the latter and expand the former.  You may notice that some of the old sample apps have disappeared from the public trunk -- this is our first step in that effort.  We've love to hear what you'd like to see in sample apps, what you've found useful, what you've found inscrutable, etc.


      Thanks again for all the great feedback, and keep it coming...