Recently in Programming Category

Programming tips, news, and libraries.

  1. Aug22

    Flash Player adds H.264, AAC support

    Flash Player logo

    Yesterday Adobe released a beta version of its Flash Player browser plugin capable of decoding H.264 video, AAC audio, and associated rich metadata. Web browsers utilizing Flash 9.0.60.184 or higher will now be able to playback content encoded for digital television, iPods, and high-end mobile phones using international standards. Adobe's support for these standardized audio and video codes will streamline the production process for desktop and web video, hopefully reducing time-to-market and opening more video catalogs to online viewers. A beta version of the new player, Flash Player 9 Update 3 Beta 2 "Moviestar", is available from Adobe Labs.

    Flash video sites such as MySpace or YouTube currently encode video content using the On2 TrueMotion VP6 codec and MP3 audio built-in to Flash 8 and above. Some sites also output content in H.264 with AAC audio for playback on handheld devices such as the iPod, iPhone, or Nokia N-series handsets. The new Flash Player lets publishers skip the extra step of VP6 encoding and pipe in H.264 content using their existing web players. Flash programs rely on the same NetStream method used for existing Flash video with a few new optional callbacks for metadata and encoding types.

    Adobe licensed core codec technologies from MainConcept for x86, PowerPC, and ARM processor architectures. The new media technologies will be bundled with the next major Flash Player release and Adobe AIR (formerly code-named Apollo), both expected this Fall. The new technology will also power Adobe Media Player (formerly code-named Philo), expected in early 2008.

    Hardware acceleration

    AAC and H.264 are ISO standards introduced in 1997 and 2003 respectively. Over the past 4-10 years hardware manufacturers have introduced specialized hardware encoders and decoders for the professional video industry to speed-up the production and presentation process. Like most new hardware technologies initial solutions cost thousands of dollars and were beyond the reach of most consumers but we're finally starting to see low-priced hardware optimized for multimedia encoding and decoding. The recent acceleration in hardware encoding and decoding solutions is partially driven by the large data processing requirements of high-definition H.264 video on Blue-ray and HD-DVD media.

    Current H.264 hardware sampling

    Enhanced metadata support

    Flash Player now supports 3GPP time text tracks, iTunes metadata ("ilst" atom), and chapter listings for easy-to-navigate playback and searchability. Flash developers will need to listen for and handle each format but publishers may choose to output a full transcript or keyword markers with every video.

    Chapters technology lets publishers addressable parts of a movie. The nightly news might contain a chapter marker for each story or a music video countdown might list the start of each new video as a distinct chapter.

    Timed text is a closed-caption format for audio and video. A content producer might sync a full transcript to audio or video input to improve the parsing abilities of search engines, foreign language translations, or persons with disabilities.

    Technical notes

    The new Flash player decodes Base, Main, and High H.264 profiles and Main, LC, and HE AAC profiles. Sound is mixed down to two-channels and resampled to 44.1Khz according to Adobe developer Tinic Uro. This downmixing is a limitation of the current Flash sound engine, which dates back to 1996 and will likely need to be rewritten for the current publishing environment and ActionScript 3 architecture.

    There is currently no support for third-party streaming services. Media companies who would like to stream H.264 and AAC content to the new Flash Players need to use the upcoming Flash Media Server 3.

    Conclusion

    Web video and its production process just received a major upgrade with Adobe's latest decoders in Flash 9. New opportunities for hardware acceleration, streamlined encoding, and multiple device support will increase the amount of video available for playback within web pages. Media companies have a new level of archival confidence this week as well, with one major international formatting option delivering quality video for the foreseeable future.

    We will not see a change in online video overnight. Once Adobe releases the final version of this new Flash 9 player users will need to upgrade, either automatically through the Player's built-in update system or through a separate download, before publishers can feel confident switching their Flash video players to H.264 sources.

    One big story that has yet to play out is Flash Lite and AIR on mobile systems. Adobe would like to compete with Microsoft and Sun in this application space and already has a major proving ground in Japan. Flash Lite 3 is based on Flash 8 and already shipping on devices such as Chumby so it may be too late for the ActionScript 3 player paired with the underlying ARM codecs. Adobe AIR may be bundled separately with mobile carrier contracts and is expected to have Flash 9 features such as H.264 and AAC included.

  2. Jun18

    Widgets on your iPhone

    iPhone innovative applications

    Steve Jobs announced the iPhone development platform at last week's Worldwide Developer Conference to sighs of disappointments. Mac developers were anxious to develop new applications for the the most anticipated consumer electronics device in years, only to be told they should code fancy websites instead. The 9-minute iPhone development demonstration during the WWDC keynote was a bit confusing for anyone new to Apple widget development. In this post I'll break down a few Apple widget components, transport you to the iPhone development world, and explain a few restrictions and lock-downs common in the mobile phone industry.

    Dashboard under the hood

    Apple's Dashboard application acts as a bridge between web technologies and your desktop. Basic widgets contain HTML, CSS, and JavaScript describing widget structure, styling, and interaction respectively. Multiple widgets utilizing this same base technology form a single process group on OS X 10.5 (Leopard) and minimize the total amount of system resources (CPU, memory, etc.) required by each new widget.

    Dashboard widgets can access the local operating system's look and feel through the Apple JavaScript classes inside your system's WidgetResources directory. These specialized JavaScript resources expose a scrollbar, slider, buttons, animations, and widget flip controls specific to the operating system and Apple's UI of the moment.

    Apple Dashboard widgets may also tap into local resources such as your computer's iSight camera, your MacBook's current battery levels, songs in your iTunes libraries, or contacts in your Address Book. Any application may add a widget-plugin as a Cocoa bundle to allow widget access to application-specific data and functionality.

    Today's Dashboard widgets take advantage of web browsing technology, plugins, and local application resources exposed to the widget engine via specialized plugin interfaces. Dashboard is an part of your computer's Dock application. Dashboard widgets exist behind a single Dashboard icon; they do not have individually callable Dock icons out of the box.

    Dashboard experience ported to iPhone

    iPhone innovative applications

    What if Apple's desktop widget were ported to a mobile device such as the iPhone? The iPhone runs OS X, and contains the essential components necessary for widget operation on a mobile device.

    iPhone widgets would operate inside the mobile WebKit library. They would have access to device-specific UI elements such as stylized buttons, smooth transitions, and personalization options. Pieces of the underlying operating system and installed applications would be exposed via widget plugins. Widget files would be distributed as a bundle, downloaded to the iPhone over the air or via a tethered sync. Each widget could have access to limited system resources such as iPhone battery life, WiFi signal strength, the local Address Book, or the iPhone's built-in camera.

    iPhone developer features announced at WWDC

    There were two types of iPhone announcements at WWDC last week: public statements made by Steve Jobs and Scott Forstall during the conference keynote and NDA-bound statements to developers during conference sessions. I'll only cover the public statements in this post.

    iPhone developer features

    iPhone applications will "utilize the full Safari engine" and "look exactly like apps on the iPhone." Interpretation: Applications created for the iPhone will be powered by WebKit technology and have access to Apple-specific JavaScript libraries to create the look-and-feel of the underlying Apple OS. This behavior is similar to the current Dashboard experience.

    Write applications using Asynchronous JavaScript and XML (Ajax). Interpretation: The iPhone's web browsing technology supports XMLHttpRequest as a data retrieval method. This statement could also mean Apple will support JavaScript programmability of a local sandboxed CoreData store delivered as XML but that's more advanced and unlikely due to no current offline storage support on the desktop browser.

    "Integrate with iPhone services." You can make a phone call, send an e-mail, or lookup a location in the built-in Google Maps application from any web application. Interpretation: The iPhone's Safari browser contains the same data detection features for phone numbers, e-mail addresses, and address data seen in Mail.app in Leopard. This detected data can be passed into its default handler as an automatically-generated hyperlink. This statement could also mean WebKit applications will have access to special plugins created for system-level services similar to the desktop API but that may be too hopeful.

    "Instant distribution." "Easy to update." "Sandboxed on iPhone." Interpretation: Widget bundles are not stored on the iPhone. All files are retrieved from the a remote server and treated as a web resource. Your files are cached and have the same access restrictions as a standard public Internet site.

    Safari vs. widgets

    iPhone widgets are small applications powered by WebKit launched from the iPhone application menu. Web applications created by third-party developers for the iPhone are three clicks away from the same home screen -- Web, Bookmarks, bookmark name -- but have similar functionality. Personalization data such as stock tickers or your local ZIP code is stored inside a browser cookie.

    iPhone widgets store resource files such as images, HTML, CSS in the iPhone's local storage and update the entire widget with the operating system. iPhone widgets pull data updates such as stock prices or the latest weather report from a remote server or could also access locally stored data such as a dictionary.

    Safari-based applications request each resource from a remote server and poll for cache updates with each page load. If your weekly weather display contains a sun, cloud, and cloud with rain your application might poll a remote server for possible changes to each of the three images with every display of your weather page.

    AT&T or Apple restriction?

    Apple developers wanted at least iPhone widget-level application marketing and were visibly disappointed by Apple's keynote announcement last week. It's still unclear if AT&T or Apple is keeping third-party developers off the main app menu. I can only postulate based on existing developer programs from each company.

    AT&T certifies applications to operate on phones in its network across multiple operating systems. Productivity applications receive an enterprise solution certification after successfully passing security, reliability, and network usage tests and paying fees starting at $1000 a test. Enterprise applications are usually available for free and side-loaded (updated via a tether) by corporate IT departments. Consumer applications are typically distributed through AT&T's MEdia Net portal after similar testing and certification fees for a purchase fee split between AT&T and the developer. This process is the "orifice" Steve Jobs referenced in a 2004 Wall Street Journal interview.

    Current video iPods feature games purchased from the iTunes Store. Apple currently distributes 14 games created in-house and through external companies such as Astraware who specialize in porting games to PDAs and cell phones. The current iPod games platform is not open to third party or "homebrew" creations. Anyone can create their own iQuiz, using a specially formatted text file (essentially a fancy Note).

    New developers could enter the iPhone application menu through AT&T, Apple, or both.

    Ten days until iPhone

    The iPhone will be available at 6 p.m. on June 29, or a little over 10 days from the time I write this post. More developer documentation may emerge after the device's official release. Hardware and software hackers will likely pull the device apart in search of custom modifications already present on Palm Treo devices or the Sony PSP.

    Hopefully this long post clarifies the data we already know about applications and widgets on the iPhone. The device and its software was certainly under a tight release schedule and it's reasonable to assume new features are on their way in new versions of operating system hardware and software expected over the next six months. There is a developer story on the iPhone, but Apple has not communicated this story very well to their developer base over the past 6 months. They're battling the same closed carrier system as any other mobile application provider, so expect slow change assisted by market leverage.

  3. Mar21

    Adobe Apollo: beyond the hype

    Adobe Apollo logo

    Adobe released early bits of its next big product bet on Monday morning, a web and desktop hybrid code-named Apollo. Apollo is the first child born out of the Adobe-Macromedia merger of April 2005, bringing together the desktop strength of Adobe PDF combined Macromedia's web-savvy Flash and Apple's web browser engine. Apollo will continue to receive heavy marketing from Adobe building towards a 1.0 launch in the fall. In this post I'll break down the components of Adobe's Apollo framework, identify opportunities for application development, and compare the promised features against other software offerings.

    What is Apollo?

    Apollo combines Adobe Reader, Flash Player, and Apple's Safari browser engine into a single desktop application for the Windows and Mac platforms. Apollo applications have access to the local file system and are placed on your taskbar or dock just like you'd expect from an application.

    Apollo will be available as an autoupdate for Flash 9 users and will have similar distribution to existing free products from Adobe such as Reader and Flash.

    Adobe Internet TV: Philo

    Adobe Philo Rocketboom

    Adobe's first big Apollo app is an Internet video application codenamed Philo. The pervasiveness of Flash Player created multi-billion dollar Internet video startups powered by the Flash video format. The Philo team hopes to expand the display size and quality of distributed videos and get publishers encoding using the latest Flash video encoders. Publishers can skin the entire video player, delivering MTV content in what looks like a MTV video player, or a Rocketboom-themed player shown above..

    I have not seen or used Philo, but it should directly compete with Democracy player and possibly Joost. The popularity of online video and cobranded players should help accelerate Apollo's adoption.

    Apollo components

    Expect Apollo to use the latest version of all available components at ship time. Apollo requires ActionScript 3, meaning content must be written for Flash 9 and above in order to interact with the Apollo program. HTML, JavaScript, and CSS are handled by WebKit, the open source browser engine behind Apple Safari, Apple Dashboard widgets and the Nokia S60 browser. PDFs will support features such as digital signing and approval, and it's probably best to develop on the recently released PDF 1.7 format.

    Step out of the browser

    Modern web applications are pushing the web browser to its limits and already taking advantage of desktop functionality such as JavaScript execution and browser plugins such as Flash or Quicktime. Publishers can take that same web application running inside a browser tab, wrap it in Apollo descriptors, and create a cross-platform desktop application.

    Most Apollo applications will likely be repurposed web pages running inside a specialized environment. Mac users already have some of this functionality today as fans of a particular service have created WebKit-based applications combining desktop familiarity with a constantly connected web application.

    Imagine your heavy, always-open web apps leaving your browser tab and creating an application-like presence in your taskbar. With a few extra hooks into the Apollo runtime the web application could access files on your hard drive such as your address book, music library, or calendar.

    Plugins such as Flash are second-class citizens within the web browser, receiving limited resources even when displayed in the active window. Safari and WebKit lead Dave Hyatt recently explained some of the plugin issues in detail, including complicated state of balancing system resources and user expectations. A stand-alone application removes the limits of these resource constraints, letting an Apollo application write more data to disk, consume more CPU cycles, and interact with other application data on your computer (for better or worse).

    Existing WebKit apps

    Pyro Campfire application

    Pyro is a desktop application for the Mac that takes 37signals' Campfire chat application out of the browser and into the desktop environment. Pyro accesses local UI elements such as new message displays, and supports system notifications using Growl. Campfire might stay open during your entire workday, and it's useful to have a separate application window and desktop features associated with that workflow.

    Pandoraman logo

    PandoraMan takes Pandora's Flash-based streaming music player out of a web browser window and into an application in your dock. You might listen to music throughout the day or enjoy quitting your web browser often, and a desktop application such as PandoraMan helps the music keep playing.

    Mac OS X (Objective C/Cocoa) applications taking advantage of the WebCore framework compete with Apollo on the Mac platform. Mac applications built on WebCore can bind to other libraries on the Mac system, taking advantage of notifications, system libraries, and native UI elements.

    Windows Presentation Foundation

    Windows Presentation Foundation (WPF) is part of Microsoft's .Net Framework version 3.0. The presentation layer runs on a user's graphics card, taking advantage of the specialized hardware to create a the glassy look of Windows Vista or offload other system tasks. WPF UI effects will likely become expected behavior from future applications.

    Windows developers can take advantage of Internet Explorer libraries on the machine to render HTML while maintaining the same zones and access controls defined by other parts of the system. A C# developer should be able to write a small application to wrap a website, including plugins such as Flash.

    Microsoft's planned release of WPF/E will extend the reach of Microsoft runtimes across operating systems and web browsers. WPF/E is the most direct competitor to Apollo outside the native application space with support for animation, graphics, and common audio and video codecs.

    Summary

    Apollo extends the reach of the Flash development community onto the desktop, creating new opportunities for application development using ActionScript 3. The ActionScript development community can now deploy applications onto cell phones using Flash Lite, inside a web browser using Flash Player, and onto the desktop using Apollo.

    Apollo's PDF electronic document support will play a role within the enterprise, opening up smarter form handling and reliability. An enterprise already dependent on PDF workflow and accountability may tap into Apollo for a consistent work flow across the company.

    I've heard the write-once run-anywhere many times over the past 10 years, but few applications have actually delivered. Java and Java Web Start are the closest historical comparisons, but the demand for multimedia content creates a new breed of competitors in the form of Flash, Apollo, and WPF/E.

    I'm still a fan of native application development to create the most feature-rich and well-integrated application possible in the smallest resource footprint. Java and ActionScript programmers can extend the reach of their code base without learning too many new things, and I definitely understand that attraction, but serious applications should be well integrated.

    Adobe has allocated $100 million towards investing in companies that enhance its engagement platform and is especially interested in funding Apollo companies. As of last month Adobe had invested in 6 companies, including word processing company Virtual Ubiquity. Companies might develop for Apollo to take advantage a strategic investment from Adobe at reasonable terms.

    Apollo in its current form seems overhyped, but the cross platform development space will definitely look different in a year as we see new toolkits from big companies executed inside and outside of the browser. It's not too difficult for a web application to pop out of the web browser and into a standalone web technology, and the marketing and investment dollars being spent by large companies such as Adobe and Microsoft should help boost the visibility of cutting edge web apps.

  4. Feb22

    Yahoo! centralizes its JavaScript network with free hosting

    Yahoo! is opening up the JavaScript powering its websites a bit more tonight, encouraging developers to directly reference libraries on its servers from within their webpages. Yahoo! User Interface Hosting opens up versioned access to the popular YUI Library, creating faster load times for sites across the web using Yahoo's optimized, geo-distributed, and reliable data centers.

    Yahoo! UI hosting sample code

    Many websites utilize common libraries for JavaScript development, creating a drop-down menu, file retrieval, or chart rendering using a library such as Prototype, script.aculo.us, dojo, and many others. If five Ruby on Rails sites utilize the same script.aculo.us library for effects you'll have to download the same file(s) five times from each of the five different domains. Centralized resources such as YUI Hosting create a single download source requiring one file download regardless of the number of sites taking advantage of the YUI library.

    Yahoo! is a global company and spends a lot of money serving up web content as fast as possible in London, San Francisco, or Tokyo. The central YUI files are on that same network, creating a shorter path from a user's browser to required files needed to enhance a website. Pulling files from a separate domain also creates an opportunity for more parallel content downloads, circumventing the two requests per host limit in Firefox and Internet Explorer.

    Yahoo! will be logging each request and its page origination, so if you are worried about privacy and providing pageview numbers to outside sources the hosted version of YUI may not be for you (grab a download, host your own).

    A web widget feature

    Version 2.2 of YUI, released on Tuesday, includes support for a new global variable named YAHOO.env. Web widget developers can reference this variable to determine if YUI is already present on the page for additional functionality or before loading a conflicting library. It's a useful feature for blog sidebars, letting your widget peacefully co-exist with a del.icio.us, Flickr, or MyBlogLog widgets/badges without unnecessarily weighing down the page.

    Summary

    I think the Yahoo! Interface Library will continue to gain traction thanks to its heavy development, extensions, and documentation. It's already being used by large sites such as The Wall Street Journal and SmugMug and across the revamp of the Yahoo! network, which are some key votes of confidence important in new technology adoption.

  5. Nov30

    Google Mondrian: web-based code review and storage

    Google Mondrian logo

    Guido van Rossum unveiled his first Google project, Mondrian, tonight during a Python tech talk at the Google campus in Mountain View. Mondrian is a web-based code review system built on top of a Perforce and BigTable backend with a Python-powered front-end. Mondrian is a pretty impressive system and is currently in use across Google.

    Shared Development Environment

    Google uses a company-wide Perforce depot with almost no developer branches. Each developer has their own NFS workspace readable by anyone in the company, including automated processes. An administrative process takes snapshots of each developer workspace including local development environments accessed over SSH. Files within these snapshots can be compared to checked-in data, encrypted, and archived.

    Previous methods of review

    Previous to Mondrian code review was conducted largely over e-mail using Google command-line wrappers built on top of Perforce. A developer could initiate a code review from within the g4 mail tool, which would fire off an e-mail and begin a review thread. When the developer receives a response of "looks good to me," or lgtm for short, they could proceed to checkin. Changes could be compared using tkdiff.

    Design-level reviews are often conducted by e-mailing around Word documents or editing a team wiki. Recently some design reviews have moved onto an internal version of Google Docs.

    Web-based collaboration meets code review

    Mondrian code review

    The Mondrian tool creates a much better workflow by creating task-specific dashboards, in-line commenting, well-tracked statistics, and more. The application is built on top of Python open source libraries such as the Django framework, smtpd.py mail service, and the wsgiref web server software.

    Code reviews can be initiated and completed from within the Mondrian interface. A developer requests a review from another user or a group of users to kick off the process. Each invited reviewer can add comments directly underneath a line of code or reference the entire file. You can request and diff the file against previous versions as well. It's a pretty slick interface, lightly highlighting each line of code as you hover, and popping open a comment box in response to a double-click. Comments can be saved as a draft and shared at a later time.

    Putting the entire code review process online means you never have to worry about referencing the most recent version of a file or losing e-mails. Mondrian captures every outgoing e-mail related to the workflow, looks for key data such as revision numbers, and updates a to-do list accordingly.

    More on BigTable

    Mondrian uses BigTable as backend storage for user data. More specifically, it's used to store:

    • Change metadata such as a description or list of files
    • Comments entered through the web interface or via e-mail
    • Encrypted file snapshots taken from user workspaces
    • Per-user data such as active changes or last view dates

    Summary

    The Mondrian web code review system is pretty impressive. Guido estimates he has spent about 25% of his work time on the project since joining Google in December 2005. Mondrian served as Guido's introduction to Google technologies and processes with the help of a few other Googlers treating it as a side-project. The application is so deeply intertwined with Google technologies it's not likely to be available as open source until Subversion and a backend such as SQLite can be supported.

    Guido's full talk, including a demo of Mondrian, is available on Google Video.

  6. Oct04

    Google Code Search

    Google Code Search

    Google has a new search product focused on source code. It peeks inside tarballs and other recognized formats, allowing you to search the index by regex, license, or language. It's pretty easy to see how many projects are using a given library (such as feedparser or magpie) and keep inventing new ways to explore software.

    You can access the code search engine through a GData Atom feed for easy integration wherever you choose.

    I find Google Code Search is easier to use than Koders, and may come in handy when looking for different ways of approaching a particular programming problem or library.

  7. Aug15

    Facebook Developer API

    Social networking site Facebook has opened up access to its service via a set of RESTian APIs, giving developers access to a user's profile data, friend list, inbox, calendar, photos, blog posts, and more. The API could be used to create a desktop or mobile version of a user's Facebook data or easily migrate them to a new social network, photo site, or calendar. (via GigaOm)

    Web applications are limited to 100,000 requests a day and desktop applications are restricted to 5 requests per second.

  8. Aug01

    Flash 9 and the MySpace effect

    Flash logo

    Adobe released version 9 of its popular Flash player in June, boasting 10x performance increases and a variety of new video, audio, and security filters. MySpace worked with Adobe on new security settings for Flash embeds on its sites and required its members upgrade to the new plugin version for access to Flash content on the site. The new player release combined with the MySpace required upgrade created a lot of confusion around the future of embedded widgets on MySpace and other popular web properties. I spoke with Emmy Huang, senior product manager of the Flash 9 plugin at Adobe, to learn more about the changes in Flash 9 and its effect on the Flash and MySpace ecosystem.

    Background

    Web plugin statistics

    The Flash browser plugin has been a huge success on new web communities with its ubiquity across PCs and its efficient bundled audio and video codecs. Research firm NPD found the Flash Player installed on almost 98% of desktops in April, including a 70% penetration for then 7-month-old version 8. Flash is used on sites such as YouTube, Google Video, Flickr, and Photobucket to display rich content on-side or through embeddable widgets added to any web page. The embedded Flash widgets have become popular additions to configurable sites such as MySpace, allowing users to add their favorite video clips, images, or music tracks anywhere they imagine.

    Open, yet more secure

    Flash 9 adds new options for site owners allowing more control over the embedded content present on their pages. The allowNetworking and allowScriptAccess property tags can be added to HTML markup describing a Flash file to restrict the virtual machine's permission set within your pages. Emmy mentioned the extra parameters allow websites to "safely provide a controlled embed environment with decreased opportunity for abuse and control." Without such restrictions it is possible for a Flash widget to take control of the browser window and navigation, open pop-up windows, and other unwanted behavior.

    Emmy confirmed MySpace had contacted Adobe about better ways to secure Flash content embedded on their pages and the two companies worked together on an escalated solution included in Flash 9. MySpace began testing the new Flash features two weeks after launch and made the complete switch about 3 weeks after the launch of Flash 9.

    What changed?

    MySpace restricts the behavior of Flash embeds, limiting their ability to call external links or URLs by setting allowNetworking to internal. The files can display pictures and videos, but cannot add clickable external links to their Flash files. Flickr can display a slideshow of your latest photographs, but clicking an individual photo will not launch the destination page.

    Widget producers need to rethink their embedded content strategy, adding new actionable items to their HTML snippets. You can add a clickable image inside the object or add new lines to the snippet with links back to the full web page.

    Conclusion

    Web sites allowing users to insert arbitrary HTML should take a look at the new security restrictions in Flash 9 to limit the actions of such content on site visitors. Flash producers relying on large embedded install bases such as MySpace need to rethink the monetization of those eyeballs, as users are no longer able to visit your full page through on a 425x350 pixel link target at the end of an embedded video.

    Flash 9 does not currently have the widespread adoption allowing new embeddable objects to be coded in only ActionScript 3.0, so it does not make sense to code a SWF directly for the version 9 player at this point. MySpace may speed the adoption of version 9, and version 8 was able to capture 70% of the install base within 7 months, but the new player is currently limited to Windows and PPC Macs only. An Intel Mac version of Flash 9 is currently in beta and a Linux version is not due out until next year "early 2007" according to Emmy. Site owners could sniff the Flash version of their visitors using JavaScript, creating a profile for future embed deployment.

    You can read more about the Flash 9 security measures in Adobe's white paper.

  9. Jul20

    MySpace upgrades to Flash 9

    MySpace requires Flash 9

    Mega social networking site MySpace now requires all members to upgrade their Flash players to version 9 in order to view new embedded content on the site. Flash Player 9 is only three weeks old, released by Adobe on June 28. The required upgrade adds new security restrictions for any new content embedded on the site utilizing the latest supported object properties.

    When you add a new embedded object to your page MySpace automatically sets the allowNetworking property of the object to internal restricting external interfaces and links contained within outside Flash files. The new setting disables common calls such as clicking on a Flash widget to view the original site or data provider. It also restricts the use of JavaScript from outside providers.

    How will the MySpace requirement drive adoption of the three-week-old Flash player? The new version has lots of new features including better multimedia support, so it would be a good thing if users had it right away and all the new video companies could plan even better features using the same bandwidth. Meanwhile MySpace widget producers will need to write their software using ActionScript 3.0 to make sure they can monetize their content within both the embed and the destination page.

  10. May17

    Tetris using Yahoo! UI utilities

    Yahoo UI Tetris

    Yahoo! released the latest version of its UI utilities this week, including the components used in the new Yahoo! homepage design. You can use the various utilities to build your own website, but Dustin Diaz decided to build a version of Tetris.

    The game combines Yahoo's Event Utility and DOM Collection utility to create some cross-browser brick busting action.

    One of the good things about releasing your code to the world is you never know just how people will use it. I doubt anyone at Yahoo! thought about gaming when they released the UI widgets but developers are resourceful!

Niall Kennedy Niall Kennedy is a web technologist in San Francisco, California in the United States. I am very interested in the world of... MORE »

Search this weblog:

Subscribe:

Latest feature: Widget development

Archives: Popular Categories

Sites: More from Niall