The Last Mile to Desktop Java™ Technology

Total Page:16

File Type:pdf, Size:1020Kb

The Last Mile to Desktop Java™ Technology The Last Mile to Desktop Java™ Technology Anton Kast Chief Architect Light Crafts Inc. www.lightcrafts.com TS-3938 2007 JavaOneSM Conference | Session 3938 | Desktop Java Technology Works Great It is Mostly Possible for a Small Group to Develop Cross-platform Desktop Software Products in Java Technology ThingsT That Work Great: h ● i AWT, Swing, SWT ● RT Framework s ● Component abstraction ● Collections ● Preferences t ● Event abstraction ● I/O (File, network) a ● Widgets l ● k The VM i ● Exceptions s ● Synchronization a ● Garbage collection (if you get the policy right) b 2007 JavaOneSM Conference | Session 3938 | 2 What Is LightZone? LightZone is advanced photo editing made simple Requirements Big image files (100MB+) Maximum Power Many image processing layers Fast rendering Desktop integration User Focus Conformant look-and-feel Standard behaviors This talk is about the stuff we had to add to Java technology to make this product 2007 JavaOneSM Conference | Session 3938 | 3 DEMO Briefly see what LightZone is about 2007 JavaOneSM Conference | Session 3938 | 4 Huge Universe of Java Technology UI Kits L&F's AWT Metal “Foundation classes” Swing Windows SWT (Eclipse) Aqua Quaqua javadesktop.org GTK Swing Depot (component libraries) Winlaf Project Looking Glass Substance blogs/discussion Alloy Nimbus SwingLabs ... SwingX (widgets) Java technology-based Desktop Integration Components Toolkits is a vigorous specialty, and it is expanding Leaders and experts may be seated near you 2007 JavaOneSM Conference | Session 3938 | 5 Deployment How to get the app running in the user’s environment? Windows Macintosh ● Can’t assume Java technology is ● Java technology is always present, so present, so we can’t control the Applet WebStart Java technology version (Argh!) ● “DMG” A file system image holds an Deploy Java technology itself “application bundle,” including all icons and desktop logic ● Desktop icon, document associations, controlled launching INSTALLER NSIS/InstallShield is popular, but we like Install4J 2007 JavaOneSM Conference | Session 3938 | 6 Launching Absolutely Critical: ● Heap Limit (“-Xmx*M”) ● In general, this must depend on physical memory ● Desktop Events ● Handle drag-and-drop onto desktop icons, taskbar or dock ● Single Instance ● Prevent two running copies of the app Need a native app, just to launch the Java Virtual Machine (JVM™) The terms “Java Virtual Machine” and “JVM” mean a Virtual Machine for the Java™ platform. 2007 JavaOneSM Conference | Session 3938 | 7 Java Technology’s 2GB Heap Limit Actually, it’s less (~1.5GB on Windows) We made a native allocator of ByteBuffers, and we swap image data to it: // Allocate a chunk outisde the Java heap. for instance, native long alloc(int size); “return new char[size];” // Free a chunk outside the Java heap. native void free(long addr, int size); for instance, “delete[] addr;” // Construct a ByteBuffer inside a chunk. native ByteBuffer getNativeByteBuffer(long addr, int size); // JNI to instantiate the ByteBuffer: JNIEXPORT jobject JNICALL getNativeByteBuffer( JNIEnv *env, jclass, jlong jAddr, jint jSize ) { void *addr = reinterpret_cast<char*>(jAddr); return env->NewDirectByteBuffer(addr, jSize); } 2007 JavaOneSM Conference | Session 3938 | 8 File Choosers Users spend a lot of time with these: Shortcuts Search Preview Forward/back Native Shortcuts (Key Bindings) Solutions: ●Another L&F (Quaqua, Winlaf) Better, but still not authentic ●java.awt.FileDialog Native, but restrictive API ●Native code JFileChooser The cadillac of file choosers 2007 JavaOneSM Conference | Session 3938 | 9 File System Presentation LightZone has a folder tree Windows Macintosh ● These common displays require lots of trickery in Java: ● Icons: (Windows: native code; Mac: Quaqua L&F) ● Hidden folders: (C:\WINDOWS; /bin /etc /usr etc.) ● Shortcuts/Aliases: (Native code in all cases) ● Java technology-based Swing provides some help: javax.swing.filechooser.FileSystemView 2007 JavaOneSM Conference | Session 3938 | 10 Licensing License enforcement in Java technology is hard because bytecode is readable Story of Cracking LightZone ● We wanted hard licensing ● 30-day trials, credit cards, copy-paste your key, etc. ● We implemented this in native code, for obscurity ● Within two months of release, a hacked version was on bittorrent ● Our mistake: the license check was called from Java technology ● Someone just decompiled the bytecode and bypassed the license check Two Solutions Cool, but a hassle if you like stack traces ● Obfuscation—See ProGuard More native code ● Digital signing—Sign your jars, obfuscate the verification 2007 JavaOneSM Conference | Session 3938 | 11 A Word on Desktop GC The word is: -XX:+UseParallelGC We’ve had problems: 1.GC fails to keep up with the user 2.GC blocks the app intermittently ● (Maybe server GC gets more love) ● Parallel GC smoothed the ride in LightZone ● Treatise on GC configuration at http://java.sun.com 2007 JavaOneSM Conference | Session 3938 | 12 Standard APIs We Replaced We had some specific requirements, mostly related to image processing Printing ● Needed sticky printer options, reliable imageable areas ImageIO ● Needed faster image I/O and full image metadata ● Didn’t need diverse image formats (Just TIFF, JPEG, and RAW) Color Management ● Needed thread-safe color space conversions, to run on Java Advanced Imaging (JAI) API tile threads JavaHelp™ Tool ● JavaHelp tool’s searching, indexing, and UI coupling are all great ● But its HTML renderer is nonstandard 2007 JavaOneSM Conference | Session 3938 | 13 Another Standard API We Replaced JOptionPane ● Mac alert dialogs are a joy to use: App icon gives context Simple question in bold Destructive option Boring explanation separated on left in fine print (Accelerator keys work) Default option throbs ● The Quaqua Swing L&F does a good job with this on Mac ● On Windows, JOptionPane can be warped to a close imitation default JOptionPane.showConfirmDialog() 2007 JavaOneSM Conference | Session 3938 | 14 More Native Tips and Tricks ● Discover “My Documents” on Windows ● It’s localized ● Find the color profile of a display device ● Resolve file “shortcuts” and “aliases” ● We cash file data, so we need a truly unique path for every file (File.getCanonicalPath() won’t do) ● Bring a Window to the front ● Evil? 2007 JavaOneSM Conference | Session 3938 | 15 Mac-Specific Tips and Tricks ● Screen menu bar (“-Dapple.laf.useScreenMenuBar=true”) ● Application menu ● Use a native launcher to control the menu name ● About, Preferences, Quit items: try MRJAdapter at java.net ● Sheets ● Someone please try this with the new Java Platform v.6 frame “modalities” ● Apple’s specialized system properties ● (showGrowBox, fileDialogForDirectories, brushMetalLook, etc.) ● Use Quaqua, not Aqua 2007 JavaOneSM Conference | Session 3938 | 16 Why Was LightZone Written in Java Technology? Because we find Java technology to be a fun and productive framework ● Almost all the code is cross-platform, including all the GUI ● JAI API works great ● We can easily integrate third-party libraries when needed ● We can easily integrate native code when needed 2007 JavaOneSM Conference | Session 3938 | 17 For More Information GC configuration in Sun Vms: ● http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html Mac system properties: ● http://developer.apple.com/documentation/Java/Conceptual/ JavaPropVMInfoRef Swing Toolkits: ● http://community.java.net/javadesktop ● http://swinglabs.org Apple’s MRJAdapter ● https://mrjadapter.dev.java.net EJ-Technologies “install4j” Java installer ● http://www.ej-technologies.com 2007 JavaOneSM Conference | Session 3938 | 18 Q&A Anton Kast Chief Architect Light Crafts Inc. www.lightcrafts.com 2007 JavaOneSM Conference | Session 3938 | 19 The Last Mile to Desktop Java™ Technology Anton Kast Chief Architect Light Crafts Inc. www.lightcrafts.com TS-3938 2007 JavaOneSM Conference | Session 3938 | .
Recommended publications
  • Solaris 10 End of Life
    Solaris 10 end of life Continue Oracle Solaris 10 has had an amazing OS update, including ground features such as zones (Solaris containers), FSS, Services, Dynamic Tracking (against live production operating systems without impact), and logical domains. These features have been imitated in the market (imitation is the best form of flattery!) like all good things, they have to come to an end. Sun Microsystems was acquired by Oracle and eventually, the largest OS known to the industry, needs to be updated. Oracle has set a retirement date of January 2021. Oracle indicated that Solaris 10 systems would need to raise support costs. Oracle has never provided migratory tools to facilitate migration from Solaris 10 to Solaris 11, so migration to Solaris has been slow. In September 2019, Oracle decided that extended support for Solaris 10 without an additional financial penalty would be delayed until 2024! Well its March 1 is just a reminder that Oracle Solaris 10 is getting the end of life regarding support if you accept extended support from Oracle. Combined with the fact gdpR should take effect on May 25, 2018 you want to make sure that you are either upgraded to Solaris 11.3 or have taken extended support to obtain any patches for security issues. For more information on tanningix releases and support dates of old and new follow this link ×Sestive to abort the Unix Error Operating System originally developed by Sun Microsystems SolarisDeveloperSun Microsystems (acquired by Oracle Corporation in 2009)Written inC, C'OSUnixWorking StateCurrentSource ModelMixedInitial release1992; 28 years ago (1992-06)Last release11.4 / August 28, 2018; 2 years ago (2018-08-28)Marketing targetServer, PlatformsCurrent: SPARC, x86-64 Former: IA-32, PowerPCKernel typeMonolithic with dynamically downloadable modulesDefault user interface GNOME-2-LicenseVariousOfficial websitewww.oracle.com/solaris Solaris is the own operating system Of Unix, originally developed by Sunsystems.
    [Show full text]
  • Support for Mobile Augmented and Synthesized Worlds
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Illinois Digital Environment for Access to Learning and Scholarship Repository Support for Mobile Augmented and Synthesized Worlds December 17, 2007 Won J. Jeon and Roy H. Campbell {wonjeon, rhc}@uiuc.edu Department of Computer Science University of Illinois at Urbana-Champaign Abstract Virtual worlds provide 3D-immersive experiences to users and some of them already have already launched commercial service to users. As computing environment becomes more heterogeneous, more mobile users are anticipated to access the virtual world with their mobile devices. However, still there are challenges and problems to be addressed for mobile users. In this report, state-of-art virtual world platforms are presented and their key features are compared. We compare possible approaches to tackle these problems to support virtual worlds for mobile devices. Transcoding scheme at the proxy is presented and evaluated for a given computing and networking environment. 1. Introduction A virtual world is a computer-simulated or synthesized environment where multiple users inhabit and interact to each other via avatars. The world mimics the real world via simulated real world physics and the persistence of the world comes from maintaining and updating the state of the world around the clock. Historically this concept is rooted from distributed interactive simulation (DIS) and massively multiplayer online role- playing game (MMORPG). DIS is used mainly by military organizations whereas MMORPG has gained huge popularity among general users or gamers. The world is typically represented as 2D or 3D graphics to multiple users.
    [Show full text]
  • Changing Java Applications
    Menu Topics Archives Downloads Subscribe The code underpinning the Brazilian CODING healthcare system—and other world- changing Java applications The code underpinning the Brazilian Thanks for the memories healthcare system—and other world- Developer software for the win changing Java applications Banking on financial software Games and visualization Your reactions to the list of the 25 greatest Efficient communication Java apps ever written Science and AI applications by Alexa Morales August 28, 2020 It was with a smidge of trepidation that I offered my list of the 25 greatest Java applications, frameworks, platforms, and libraries ever written. After all, developers are a demanding audience. But the article received hundreds of comments on Reddit, Slashdot, Hacker News, and Twitter, and it inspired many letters to the editor. The piece even received happy social media posts from those who made the list, including the US National Security Agency and a.i. solutions. The US National Security Agency was secretly pleased we noticed its Ghidra binary decompilation tool. The team from a.i. solutions was happy its DSTE trajectory design tool made the list. The tenor of conversation was both positive and polite. That speaks volumes about the excellent character of Java developers, don’t you think? But, developers being who they are, opinions on what should have made the list abounded. The good news is, Java has transformed the world. The bad news is, my list didn’t represent enough of the world beyond the United States. For example, there’s the Java code written to manage the Brazilian Healthcare Information System and the Brazilian tax system (Duke’s Choice Award winner in 2005).
    [Show full text]
  • Proceedings of the Linux Symposium Volume
    Proceedings of the Linux Symposium Volume Two July 19th–22nd, 2006 Ottawa, Ontario Canada Contents Evolution in Kernel Debugging using Hardware Virtualization With Xen 1 Nitin A. Kamble Improving Linux Startup Time Using Software Resume (and other techniques) 17 Hiroki Kaminaga Automated Regression Hunting 27 A. Bowen, P. Fox, J. Kenefick, A. Romney, J. Ruesch, J. Wilde, & J. Wilson Hacking the Linux Automounter—Current Limitations and Future Directions 37 Ian Maxwell Kent & Jeff Moyer Why NFS Sucks 51 Olaf Kirch Efficient Use of the Page Cache with 64 KB Pages 65 Dave Kleikamp and Badari Pulavarty Startup Time in the 21st Century: Filesystem Hacks and Assorted Tweaks 71 Benjamin C.R. LaHaise Using Hugetlbfs for Mapping Application Text Regions 75 H.J. Lu, K. Doshi, R. Seth, & J. Tran Towards a Better SCM: Revlog and Mercurial 83 Matt Mackall Roadmap to a GL-based composited desktop for Linux 91 K.E. Martin and K. Packard Probing the Guts of Kprobes 101 A. Mavinakayanahalli, P. Panchamukhi, J. Keniston, A. Keshavamurthy, & M. Hiramatsu Shared Page Tables Redux 117 Dave McCracken Extending RCU for Realtime and Embedded Workloads 123 Paul E. McKenney OSTRA: Experiments With on-the-fly Source Patching 139 Arnaldo Carvalho de Melo Design and Implementation to Support Multiple Key Exchange Protocols for IPsec 143 K. Miyazawa, S. Sakane, K. Kamada, M. Kanda, & A. Fukumoto The State of Linux Power Management 2006 151 Patrick Mochel I/O Workload Fingerprinting in the Genetic-Library 165 Jake Moilanen X86-64 XenLinux: Architecture, Implementation, and Optimizations 173 Jun Nakajima, Asit Mallick GCC—An Architectural Overview, Current Status, and Future Directions 185 Diego Novillo Shared-Subtree Concept, Implementation, and Applications in Linux 201 Al Viro & Ram Pai The Ondemand Governor 215 Venkatesh Pallipadi & Alexey Starikovskiy Linux Bootup Time Reduction for Digital Still Camera 231 Chan-Ju Park A Lockless Pagecache in Linux—Introduction, Progress, Performance 241 Nick Piggin The Ongoing Evolution of Xen 255 I.
    [Show full text]
  • ICL Template
    Collaborative Virtual 3D Environment for Internet-accessible Physics Experiments 1,2 2 1,3 2 Tina Scheucher , Philip H. Bailey , Christian Gütl , V. Judson Harward 1 Graz University of Technology, Graz, Austria 2 Massachusetts Institute of Technology, Cambridge, USA 3 Curtin University of Technology, Perth, WA Abstract—Immersive 3D worlds have increasingly raised the user is able to interact within the environment. For interest of researchers and practitioners for various example, the user can enter and exit rooms, walk around learning and training settings over the last decade. These buildings, and open drawers to see what is inside. virtual worlds can provide multiple communication Increases in desktop 3D computer graphics and network channels between users and improve presence and infrastructure were the two main technological advances awareness in the learning process. Consequently virtual 3D that have enabled the development of 3D VEs and have environments facilitate collaborative learning and training generally increased the potential of the World Wide Web. scenarios. Such environments provide the illusion of being immersed within a 3D space, and enable the user to perform actions In this paper we focus on the integration of internet- and behaviors which are analogous to those she can accessible physics experiments (iLabs) combined with the initiate in the real world [16]. The fact that users can gain TEALsim 3D simulation toolkit in Project Wonderland, experience in the same way that they can in the real world Sun's toolkit for creating collaborative 3D virtual worlds. opens new and interesting opportunities for physics Within such a collaborative environment these tools provide education.
    [Show full text]
  • A Survey of Technologies for Building Collaborative Virtual Environments
    The International Journal of Virtual Reality, 2009, 8(1):53-66 53 A Survey of Technologies for Building Collaborative Virtual Environments Timothy E. Wright and Greg Madey Department of Computer Science & Engineering, University of Notre Dame, United States Whereas desktop virtual reality (desktop-VR) typically uses Abstract—What viable technologies exist to enable the nothing more than a keyboard, mouse, and monitor, a Cave development of so-called desktop virtual reality (desktop-VR) Automated Virtual Environment (CAVE) might include several applications? Specifically, which of these are active and capable display walls, video projectors, a haptic input device (e.g., a of helping us to engineer a collaborative, virtual environment “wand” to provide touch capabilities), and multidimensional (CVE)? A review of the literature and numerous project websites indicates an array of both overlapping and disparate approaches sound. The computing platforms to drive these systems also to this problem. In this paper, we review and perform a risk differ: desktop-VR requires a workstation-class computer, assessment of 16 prominent desktop-VR technologies (some mainstream OS, and VR libraries, while a CAVE often runs on building-blocks, some entire platforms) in an effort to determine a multi-node cluster of servers with specialized VR libraries the most efficacious tool or tools for constructing a CVE. and drivers. At first, this may seem reasonable: different levels of immersion require different hardware and software. Index Terms—Collaborative Virtual Environment, Desktop However, the same problems are being solved by both the Virtual Reality, VRML, X3D. desktop-VR and CAVE systems, with specific issues including the management and display of a three dimensional I.
    [Show full text]
  • Geoff Ulman.Pdf
    Browsing Data in 3D: An Immersive First Person File Browser GEOFFREY ULMAN Rose-Hulman Institute of Technology ADVISOR: DR. J.P. MELLOR Rose-Hulman Institute of Technology Draft: 3-23-2005 Abstract As the data typical computer users receive and store daily increases, traditional hierarchical file browsers are becoming less and less useful in helping organize and retrieve that data. People do not have the time to create sufficiently “deep” hierarchies which accurately reflect the semantic structure of their data. More fundamentally, file hierarchies impose a single organization on the data, meaning interaction with the data is based on how the data was stored, not which properties pertain to the current task. Numerous solutions to this problem have been proposed, ranging from complicated search and indexing schemes (Google Desktop Search) to Microsoft Longhorn’s WinFS file system and others. This paper, however, focuses on addressing the question “where is my data?” by fundamentally changing the file browser metaphor so that interaction with computer data takes place in a 3-D virtual space which simulates an actual physical desk/office. First, current similar solutions using 3-D techniques are discussed and evaluated. Second, possible benefits of 3-D file browser interfaces are suggested. Finally, a list of design principles for use in 3-D user interface development was created by condensing research from HCI, human cognition and perception, VR, and UI design. These form the basis of the prototype immersive 3-D first person file browser currently under development. Abstract............................................................................................................................... 1 1. Introduction..................................................................................................................... 3 2. Interface Metaphor and Design Paradigms..................................................................... 5 3.
    [Show full text]
  • Rotating Windows and Billboarded Icons
    Using Perspective in 3D File Management: Rotating Windows and Billboarded Icons John R. Maltby School of Commerce and Management, Southern Cross University [email protected] Abstract make an interface more usable, or that they can improve efficiency or productivity. A key premise of many of the The evaluation and comparison of 2D and 3D workspace current designs is that 3D virtual environments can more environments is a hot topic. Much has been said effectively engage spatial cognition and perception than concerning the promise of 3D workspaces but much less can 2D environments. However, to date, research studies has been realised. Part of the problem appears to be the have provided conflicting conclusions: certain studies difficulty of developing 3D GUIs with high usabilities have indicated that spatial memory can help locate items and effective navigation mechanisms. Many early in a 3D environment (e.g. [6][12][13][14]); others have environments simulated a 3D office but all suffered from indicated the reverse (e.g. [15][16]). The result is that all a range of problems, from poor navigation to issues of of currently available 3D GUIs have been less than spatial cognition. Indeed, most researchers now consider successful, with many suffering from major navigation an office to be an inappropriate metaphor for an problems [17]. Part of the problem in obtaining evidence effective 3D computer environment. This paper describes that the use of 3D images can improve efficiency or the development of a 3D workspace based directly on the productivity is the large number of differences that arise WIMP metaphor as opposed to a desktop or office between a typical 3D environment and a normal 2D metaphor.
    [Show full text]
  • UNIX – LINUX: Kernels, Distributions & Security Μάντζιος Παναγιώτης
    ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΥΠΟΛΟΓΙΣΤΙΚΗ ΒΙΟΙΑΤΡΙΚΗ» UNIX – LINUX: Kernels, distributions & security Μάντζιος Παναγιώτης ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Υπεύθυνος Λάμψας Πέτρος Λαμία, 2016 Institutional Repository - Library & Information Centre - University of Thessaly 07/10/2021 00:35:02 EEST - 170.106.39.241 Μάντζιος Παναγιώτης ‘‘Unix – Linux: Kernels, Distributions & Security’’ 3 Institutional Repository - Library & Information Centre - University of Thessaly 07/10/2021 00:35:02 EEST - 170.106.39.241 Μάντζιος Παναγιώτης ‘‘Unix – Linux: Kernels, Distributions & Security’’ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΔΙΑΤΜΗΜΑΤΙΚΟ ΜΕΤΑΠΤΥΧΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΥΠΟΛΟΓΙΣΤΙΚΗ ΒΙΟΙΑΤΡΙΚΗ ΚΑΤΕΥΘΥΝΣΗ: «ΠΛΗΡΟΦΟΡΙΚΗ ΜΕ ΕΦΑΡΜΟΓΕΣ ΣΤΗΝ ΑΣΦΑΛΕΙΑ, ΔΙΑΧΕΙΡΙΣΗ ΜΕΓΑΛΟΥ ΟΓΚΟΥ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΠΡΟΣΟΜΟΙΩΣΗ» UNIX – LINUX: Kernels, distributions & security Μάντζιος Παναγιώτης ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Επιβλέπων Λάμψας Πέτρος Λαμία, 2016 4 Institutional Repository - Library & Information Centre - University of Thessaly 07/10/2021 00:35:02 EEST - 170.106.39.241 Μάντζιος Παναγιώτης ‘‘Unix – Linux: Kernels, Distributions & Security’’ «Υπεύθυνη ∆ήλωση µη λογοκλοπής και ανάληψης προσωπικής ευθύνης» Με πλήρη επίγνωση των συνεπειών του νόµου περί πνευµατικών δικαιωµάτων, και γνωρίζοντας τις συνέπειες της λογοκλοπής, δηλώνω υπεύθυνα και ενυπογράφως ότι η παρούσα εργασία µε τίτλο «UNIX – LINUX: Kernels, distributions & security» αποτελεί προϊόν αυστηρά προσωπικής εργασίας και όλες οι πηγές από
    [Show full text]
  • Après Le Summer of Code
    Après le Summer of Code Gazette Linux n◦119 — Octobre 2005 Jimmy O’Regan Copyright © 2005 Jimmy O’Regan Copyright © 2005 Sébastien Duburque Copyright © 2005 Joëlle Cornavin Article paru dans le n◦119 de la Gazette Linux d’octobre 2005. Traduction française par Sébastien Duburque <SebastienDuburque CHEZ gmail POINT com>. Réécriture et relecture de la traduction française par Joëlle Cornavin <jcornavi CHEZ club TIRET internet POINT fr>. Article publié sous Open Publication License (http://linuxgazette.net/copying.html). La Linux Gazette n’est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc. Table des matières 1. Les suites.................................................................................................................................................3 2. Les projets ..............................................................................................................................................4 3. Nombres de postulants retenus par projet ..........................................................................................5 3.1. Google (http://google.com/)........................................................................................................6 3.2. KDE (http://kde.org/) ..................................................................................................................6 3.3. Mozdev (http://mozdev.org/).......................................................................................................7 3.4. XWiki (http://www.xwiki.org/)...................................................................................................7
    [Show full text]
  • CU CSCI Senior Project
    Department of Computer Science University of Colorado Boulder home ! undergraduate program ! senior project ! projects ! Senior Project - smrt 3D Media Center Senior Project: 2005-2006 Cory Maccarrone, Daniel Seikaly, Wallace Sheehan and David Trowbridge Sun Microsystems, Inc. Advanced Development Group Santa Clara, CA Sun Microsystems, Inc. has been an innovator in the world of computing since its inception in 1982. In following this innovative spirit, Sun has created Project Looking Glass (LG3D) to explore the field of 3D user interfaces and to determine what improvements in user interaction can be made by taking advantage of the third dimension. Sun hopes to use LG3D to break down the 2D barriers that Sun feels have become limiting factors in user-interface design and to usher in a new generation of 3D computing. The purpose of this project is to utilize LG3D to explore the user-interface possibilities for a 3D media center -- think TiVo but in 3D. The goal is to utilize the third dimension in such a way that navigating through the media center is noticeably faster, more convenient and more intuitive than navigating through a 2D system. The software was built using LG3D and employs three basic menus: the ring menu, the arc menu and the cityscape menu. The ring menu, which has all of its items around an invisible ring, has the advantage of an elegant look and the quickest access to its items. At most, the user must go through only half the items in the ring menu to get to any other item. However, only so many items can be added to the ring without it becoming cluttered.
    [Show full text]
  • Introducing Java 3D
    817-2CH01.qxd 2/11/07 2:24 PM Page 3 CHAPTER 1 Introducing Java 3D The Java 3D API, Java’s scene graph API developed by Sun Microsystems, provides a collection of high-level constructs for creating, rendering, and manipulating a 3D scene graph. A scene graph makes 3D programming much easier for novices (and even for experienced programmers) because it emphasizes scene design, rather than rendering, by hiding the graphics pipeline. The scene graph supports complex graphical elements such as 3D geometries, lighting modes, picking, and collision detection. This chapter gives an overview of the main features and strengths of Java 3D, leaving program examples aside for the moment, and addresses the common complaints about the API (which are unfounded). I include URLs leading to more information, games, model loaders, extra games-related libraries, and alternative scene graph systems. Overview of Java 3D Prior to the most recent release, version 1.5, there were two Java 3D variants: one implemented on top of OpenGL, the other above DirectX Graphics. OpenGL (the Open Graphics Library) is a cross- language, cross-platform API for 3D (and 2D) computer graphics. The DirectX Graphics API supports a rendering pipeline quite similar (in concept) to OpenGL, describing all geometry in terms of vertices and pixels. It’s part of DirectX, a collection of related gaming APIs aimed at Microsoft Windows (http://www.microsoft.com/directx). The other APIs support 3D audio, net- working, input device integration, multimedia, and installation management. Java 3D on Windows uses the OpenGL renderer by default and requires OpenGL 1.3 or later.
    [Show full text]