Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC
WWDC 2004 WWDC Photos

Application Technologies

Mac OS X provides a wealth of technologies that make it easy for you to create reliable, high-performing, great-looking, and easy-to-use products for your customers. Whether you are using Apple’s powerful application frameworks, Cocoa or Carbon, or one of many other development options on the platform, in this track you’ll get expert guidance on the best design, development, optimization, and UI practices for creating outstanding software applications.

The first confirmed sessions for this track are listed below, with more to be added over the next few weeks.


Session Descriptions


On Off

Display


Sorted by Session # Sort by Title Sort by Day Sort by Room

400

Java State of the Union

Monday, 5:00 - 6:30

Nob Hill

The highly optimized and tightly integrated implementation of J2SE in Mac OS X—along with support for essential technologies such as Java3D and Java Advanced Imaging (JAI)—makes it the most compelling Java desktop development and deployment platform on the market today. And for server environments, Mac OS X Server v10.3 now includes the popular JBoss application server, as well as Apache Tomcat, making development and deployment of J2EE applications easier than ever. In this session, you'll discover what Apple has in store for Java on Mac OS X and learn how Java takes advantage of Quartz, Cocoa, and other Mac OS X frameworks to create and deploy competitive solutions on everything from a single iBook to a rack of Xserve G5s.

401

Advanced Website Development Techniques

Monday, 5:00 - 6:30

Russian Hill

This session is for webpage developers who want the latest information about developing highly interactive data-intensive web applications using XmlHttpRequest objects, LiveConnect, and forms with rich text content. Safari's support of these technologies provides web developers true separation of data and user interface.

402

Understanding the Font APIs in Mac OS X

Tuesday, 2:00 - 3:30

Marina

This session outlines the font technologies in Mac OS X and provides programming techniques that you can use to improve the way your application works with fonts. We'll discuss techniques for supporting font collections and the related font management advances in Carbon, Cocoa, and Font Book, as well as extensions to the printing architecture that provide additional flexibility in handling PDF and PostScript font data.

403

Using Mac OS X Installer's Features to Deliver Your Application

Tuesday, 3:30 - 5:00

Marina

This session will teach you how to use the Mac OS X installer technology and introduce new top requested features. We will explain how you can build an installer for your application, make your own installation packages, and personalize the installation experience using custom panes.

404

Fundamentals of Cocoa

Tuesday, 9:00 - 10:30

Mission

The object-oriented Cocoa application framework makes it easy to take full advantage of Mac OS X's innovative technologies—whether you are building a new application from the ground up, creating a next generation Mac OS X application, or even if you are new to the platform. This beginner-level session will provide the fundamentals for anyone new to the Cocoa framework and its primary language, Objective-C. We will explain how to take advantage of common Cocoa programming paradigms such as target/action, delegation, bindings and the document architecture, and show you, through example source code, how to use the power of Cocoa to easily create Mac OS X applications.

405

Understanding Document Binding on Mac OS X

Tuesday, 10:30 - 12:00

Marina

Uniform Type Identifiers (UTIs) are a new way of specifying document and data types. In this session, we'll cover how UTIs are used by Launch Services to enhance and simplify document binding. We will also discuss new application information property list keys, as well as APIs for controlling document binding user preferences.

406

Modern Networking Using CFNetwork

Tuesday, 5:00 - 6:30

North Beach

CFNetwork is at the heart of the fast and reliable networking built into Mac OS X. This session is for those interested in accessing the network from within an application's normal event context without getting into the details of raw sockets or specific networking protocols. We will cover CFNetwork's feature set, highlighting what's new, how and when to use CFNetwork, and how CFNetwork fits within the Mac OS X architecture. We will also provide detailed examples of HTTP and FTP transactions, including integrating proxy and authentication support, as well as exporting and discovering Rendezvous services and asynchronous DNS lookups.

407

The Accelerate Framework

Tuesday, 3:30 - 5:00

Pacific Heights

The Accelerate Framework in Mac OS X is a powerful suite of platform-optimized libraries designed to provide high performance mathematical facilities such as LAPACK, BLAS, vMathLib, and image processing operations. This session will also discuss new advances and extensions to these libraries. The Accelerate Framework takes full advantage of G3, G4, and G5 processors to unlock best-of-class performance in your application. Attend this session to learn how the Accelerate Framework can take your application's performance to the next level.

408

Distinguish Your Application Through Excellent UI Design

Tuesday, 10:30 - 12:00

Presidio

The touchstone of a great Mac OS X application is its Aqua look and feel. More than just stunning visuals, Aqua gives you the opportunity to make your application stand out from the competition—with elegant function as well as beautiful form. This session teaches the techniques and design methodologies to employ when designing for Aqua. We'll discuss mental models and how they affect menu and window layout, how to approach common window layout scenarios, how to properly communicate status and feedback, common UI design practices to avoid, and much more. This session is a must for anyone involved in UI design for a Mac OS X product.

409

What's New in Cocoa

Tuesday, 5:00 - 6:30

Presidio

The Cocoa application framework continues to improve and evolve. This session explains some of the new features and APIs being planned for Cocoa, and offers suggestions on how they can be used in your applications. Topics to be covered include new advancements in controls, drawing and graphics, accessibility, document architecture, and more.

411

Cocoa Tips and Tricks

Wednesday, 3:30 - 5:00

Nob Hill

In this session, you'll discover strategies, shortcuts, and practical tips that can help you quickly solve a problem or add unique effects to your application. Come learn about custom controls, advanced graphics techniques, special networking components, and more from the Cocoa experts at Apple. This is an intermediate-level session.

412

Moving Applications to Unicode

Wednesday, 2:00 - 3:30

North Beach

The Unicode-based APIs in Mac OS X are critical to producing a best-of-breed application and meeting customer expectations around the world. Come find out how to move your Script Manager-based application to Unicode or create a brand-new Unicode application from the ground up. Learn about the importance of Unicode for the Japanese and Chinese markets, and discover what's new in Mac OS X international support.

413

Plug-in Development for Safari and Web Kit

Wednesday, 3:30 - 5:00

North Beach

This session will cover best practices for Safari browser plug-in development and deployment, CFM versus Mach-O plug-ins, and techniques for everything from general plug-in development for Safari and Web Kit to advanced methods of integration with JavaScript.

414

Taking Advantage of the New Web Kit Features

Wednesday, 9:00 - 10:30

Pacific Heights

Apple built the Safari web rendering engine using the APIs of Web Kit. You can do the same in your application. In this session, Carbon and Cocoa developers will learn how to use the Web Kit to add powerful HTML presentation, JavaScript processing, and accelerated Internet capabilities to their applications.

416

Using and Customizing Cocoa Bindings

Wednesday, 5:00 - 6:30

Russian Hill

The Cocoa Bindings (the Controller Layer) introduced in Mac OS X Panther provides a new and easier way to manage user interfaces in Cocoa applications. Attend this session to learn about using and customizing bindings, and to see how this technology will evolve. This is an intermediate-level session.

417

Easy and Powerful XML Processing with Cocoa

Friday, 10:30 - 12:00

Presidio

From the operating system to file formats to the exchanging of data on the web, XML plays an increasingly important role wherever an open, cross-platform, scalable solution is needed. This session is for developers who are familiar with XML and want to learn about how new Cocoa APIs in the Foundation framework can enable processing, creating, or transforming any of the many XML-based file formats, web protocols, or representations in use today.

419

Best Practices in Website Development

Thursday, 10:30 - 12:00

North Beach

This best-practices session provides a comprehensive overview of Safari's Document Object Model, CSS, and JavaScript support. It will also include a discussion of common development pitfalls and techniques you can use to keep your content W3C-compliant and working across multiple browsers.

420

Building Your Website on Mac OS X

Thursday, 2:00 - 3:30

North Beach

Mac OS X is a great platform for prototyping, developing, and deploying your next Internet application. This session will cover in great detail the powerful technologies incorporated into the platform for website building. We'll cover PHP, mySQL, Tomcat, Apache, and additional open source favorites that are built in to every copy of Mac OS X, as well as others that you can readily install to create compelling websites.

421

Replacing Old Style Windows and Dialogs with Nib Files

Thursday, 3:30 - 5:00

Presidio

This session will explain in great detail how to move your existing resource-based user interface to Nib files. We'll discuss how Interface Builder can be used to build a great Aqua user interface and go in-depth on how to modernize your Carbon code by switching to HIView, using the Carbon standard event handler, and using Carbon events to simplify your existing code.

422

Switching to the Modern HIToolbox: HIView

Thursday, 2:00 - 3:30

Presidio

Whether you've been using the Toolbox for many years, or you're a new developer looking for a C/C++ widget set, this session is for you. After a short architectural overview, we'll explain through a set of examples how to adopt HIView and take advantage of other new HIToolbox features in your Carbon application.

423

Mac OS X Spoken Interface

Thursday, 9:00 - 10:30

Presidio

The Universal Access capabilities of Mac OS X are being enhanced with a spoken interface that provides a new way—through speeh, audible cues, and keyboard navigation—to access the Macintosh. In this session, we'll provide details on these spoken interface extensions as well as a thorough overview of the Accessibility API. This session is a must for developers who are interested in making their applications Section 508 compliant.

424

Developing Accessible Applications

Thursday, 10:30 - 12:00

Presidio

This session will cover the best practices for ensuring your Carbon or Cocoa application works well with the Mac OS X Spoken Interface. Carbon developers will learn methods to easily add support for the Accessibility API into existing applications. Cocoa developers will take away techniques for adding accessibility support to custom controls. This session is invaluable to developers who want to make their applications accessible to all users.

425

Modern Text Layout and Editing for Carbon Applications

Friday, 2:00 - 3:30

Marina

Using Carbon Text? If so, you should come to this session. We will discuss the API options for rendering, laying out, and editing text in your Carbon application, and help you decide on the best approach. We will discuss how to use the MLTE API for objects bound to an HITextView, work with monostyled text, "chat" text fields, and much more. You'll get performance tips and tricks to optimize API usage when setting up an MLTE object and adding large amounts of styled text or pictures to it, as well as other common usage scenarios. Finally, we will discuss the internal enhancements to MLTE and ATSUI that will benefit your applications without changes to your code.

428

Maximizing Java Virtual Machine Performance

Tuesday, 2:00 - 3:30

North Beach

Improve your Java application's performance by choosing the right APIs and tuning the Java Virtual Machine to your needs. We'll focus on the performance capabilities of Java on Mac OS X and provide information about the latest APIs, garbage collection alternatives, and other "under-the-hood" optimizations available to you.

430

Advances in Cocoa Scripting

Friday, 5:00 - 6:30

Pacific Heights

Automation is an essential feature for any Mac OS X application and Cocoa includes powerful support for easily making your application scriptable. This session will include a brief overview of Cocoa scripting, and then present detailed information about upcoming improvements, including improved error handling, improved text support, and adoption of the latest key-value coding features. This is an intermediate-level session.

431

Ten Steps to Building a Great Java Application on Mac OS X

Thursday, 3:30 - 5:00

Nob Hill

This session will discuss important considerations when bringing an existing Java application to Mac OS X. We'll cover user interface, file I/O, drag and drop, image performance, reflection techniques, and Mac OS X user experience enhancements that can be made to your Java application, without sacrificing portability or simplicity.

433

Modernizing Custom Controls to Use HIView

Friday, 10:30 - 12:00

Russian Hill

If you have custom controls or custom content drawn with QuickDraw in your Carbon application, this session is for you. The Carbon HIView and other HIToolbox features will allow you to easily support fully composited windows and improve the performance and responsiveness of your application. We'll show you how to implement a wide variety of HIViews to handle drawing, user interaction, accessibility, and lots more.

434

Cocoa Performance Techniques

Friday, 3:30 - 5:00

Russian Hill

Customers value application performance and responsiveness as highly as great new features. This session will explain, through example code and demos, how to increase the performance of your application. We'll explore a variety of performance topics and techniques, such as view display optimization, and how to organize your data to help you develop fast Cocoa applications. This is an intermediate-level session.

435

How to Thread Your Application with the MP APIs

Tuesday, 3:30 - 5:00

Mission

Learn how to leverage the threading architecture in Mac OS X with single and multiprocessor hardware to significantly boost the performance and responsiveness of your application. This session will discuss the threading models available in Mac OS X and will show a step-by-step approach to threading. We'll use the Carbon multiprocessing APIs to thread a tight loop to gain a performance boost, and discuss how to use semaphores to notify the main thread once computation is done.

437

Advanced Development with Cocoa Text

Thursday, 10:30 - 12:00

Russian Hill

Cocoa's powerful text system continues to evolve. Come to this session to learn advanced, in-depth coding techniques, including how to control the flow of text and how to incorporate compelling inline content into your text. This session will also discuss future advancements to the Cocoa text system.

Note: All sessions are subject to change. Check this page often for the latest updates.