Aufbauend Sideline: Lessons in YUI + Adobe AIR

31. März 2009 um 09.52 Uhr von Chad Auld | In Entwicklung , YUI-Implementierungen | 13 Kommentare

Über den Autor: Chad Auld ist ein Front-End-Ingenieur die Arbeit mit dem Yahoo! Buzz Marketing-Team. Eine lange Zeit, Open-Source-Beitrag hat er kürzlich dazu beigetragen, starten Sie den MiaCMS Projekt , ein Next-Generation-Gabel von Mambo gebaut mit YUI. In diesem Artikel geht er uns durch den Prozess der Entwicklung einer Desktop-Anwendung mit YUI auf der Adobe-Air-Plattform.

Screenshot der Sideline

Überhaupt sich wundern, was die Leute jetzt sagen über Ihre Firma, Marke, Service, Produkt, etc? Sideline , durch eine aktuelle interne Hack Projekt bei Yahoo! inspiriert, geht über den Standard-Kundenbefragung Prozess können Sie in Echtzeit hören die Menschen Gespräch über Ihre Produkte und verwenden Sie dann das Feedback auf Ihre Dienst zu verbessern oder helfen Anwendern bei ihren Problemen.

Kurz gesagt, waren die Ziele unseres Projektes zu

  • Erstellen Sie eine Desktop-Anwendung, die für die Erstellung, Gruppierung und automatische Ausführung von erweiterten Suche Abfragen Twitter erlaubt
  • Nutzung vorhandener Skill-Sets und-Tools
  • Ziel des Windows, Mac OS X und Linux Betriebssystemen und Minimierung der Menge von Plattform-spezifischen Code, der geschrieben werden muss
  • Open-Source-Code, so dass andere davon lernen, dazu beitragen, und / oder erweitern das Produkt nach eigenem Ermessen

Unser Team von Front-End-Ingenieure sind Experten in JavaScript, CSS, HTML und PHP, aber nicht über eine große Erfahrung in der Entwicklung Desktop-Anwendungen. So wurde die Frage, wie wir unsere vorhandenen Fähigkeiten-Sets für Desktop-Entwicklung zu maximieren? Die Antwort war für uns das nutzen Adobe AIR-Plattform , die "können Entwickler bewährter Web-Technologien, um Rich-Internet-Anwendungen, die außerhalb des Browsers laufen auf mehreren Betriebssystemen bauen." Da AIR unterstützt HTML / JavaScript-Entwicklung (zusätzlich zu Flex und Flash), konnten wir unsere Anwendung auf die traditionellen Web-Technologien zu bauen, auf der Oberseite des YUI , und haben es auf die drei wichtigsten Desktop-Betriebssystemen laufen.

YUI Grids in AIR

Sideline enthält eine umfangreiche Umsetzung der YUI-Bibliothek. Es sollte hoffentlich als gutes Beispiel für andere Entwickler in das Experimentieren mit YUI und Adobe AIR Interesse dienen. Die Anwendung Layout aufgebaut ist mit YUI Grids und sogar nutzt die kürzlich hinzugefügten ARIA Landmark Roles . Grids funktionierte sehr gut in die AIR-Umgebung und machte Redesigns, die Mitte der Entwicklung einfach mit minimalen Änderungen am Code zu implementieren aufgetreten. Genau wie in der Standard-Browser-Umgebung können YUI Grids als eine großartige Grundlage für eine AIR-Anwendung dienen, auch wenn der Entwickler entscheidet sich gegen die Verwendung der Rest der JavaScript-Bibliothek und entschied sich für einen anderen Rahmen statt.

YUI-Komponenten in AIR

Neben Grids, Sideline nutzt auch der Dom , Event- , Drag and Drop , JSON , Selector , Container , Knopf , Menu , Slider und TabView Komponenten. Ich bin glücklich zu berichten, dass alle YUI-Komponenten sehr gut durchgeführt in der AIR-Umgebung und benötigt keine Änderungen. Sideline nicht implementieren ein ziemlich individuelles Design und damit einige angepasste Häuten der YUI-Komponenten erforderlich war, aber keinen Kern Modifikationen. Die meisten AIR-Anwendungen dazu neigen, haben eine reiche Desktop-Anwendung, um sie zu fühlen. Für dieses Maß an Anpassung, die YUI Skinning Artikel ist eine gute Referenz, um loszulegen.

Beyond the Browser

Eine wichtige Erweiterung des Adobe AIR-Plattform über die traditionelle Web-Umfeld ist der Zugang zu einem lokalen SQLite-Datenbank und die Benutzer-Dateisystem. Lokale Datenbank zugreifen wird immer in herkömmlichen Web-Umgebungen durch Technologien wie Gears und HTML 5 Client-Seite Speicher, aber für jetzt diese Lösungen sind nicht allgegenwärtig. Für Interessenten an AIR Entwicklung hat Sideline viele der gemeinsamen Aufgaben, die ein typisches AIR-Anwendung erfordert möglicherweise, z. B. in Angriff genommen, das Abrufen externer Daten, Handhabung Anwendungs-Updates, die Interaktion mit der lokalen Datenbank in Zusammenarbeit mit dem lokalen Dateisystem, bringt nativen Browser-Fenster, Anzeige Desktop-Benachrichtigungen, etc. Es sollte sich als ein nützliches Nachschlagewerk werden in dieser Hinsicht.

Tipps für AIR-Entwicklung

  1. Kennen Sie Ihre Umwelt. AIR nutzt die WebKit Open-Source-Browser-Engine unter der Haube. Traditionelle Web-Entwicklung ist bei der Antragstellung oder Arbeiten vor Ort über so viele Browser / Betriebssysteme wie möglich ab. Welche Browser unterstützen in der Regel kommt es zu einem Kosten im Vergleich zu Auslastungsgrad. Allerdings Codierung für einen einzigen Rendering-Engine reduziert die Notwendigkeit zur Vorbereitung und Test gegen die slue der möglichen Kombinationen auf dem Markt. That being said, es immer noch sinnvoll, in einem cross-browser Weise zu entwickeln, wo möglich, da es eine Zeit kommen kann, wenn die Anwendung benötigt, um seine Rückkehr in die eine eher traditionelle Browser-Umgebung. Mit einem Framework wie YUI wird dieser Prozess relativ schmerzlos. Es ist einfach, die Browser und Plattformen derzeit von YUI über die unterstützten sehen Graded Browser Support-Chart . Entwickler sollten ziemlich sicher, einige grundlegende Abkürzungen nimmt, beim Bau von AIR-Anwendungen (mit -webkit-border-radius macht abgerundeten Ecken ein Kinderspiel), aber sie sparsam und dokumentieren sie, damit sie später leicht vor Ort sind.
  2. Bei der Entwicklung einer komplexen Anwendung in jeder Umgebung eine solide Reihe von Debugging-Tools ist ein must-have. Adobe bietet einige nützliche Tools zur Fehlersuche AIR out of the box. Entwickler sollten sich die AIR Debug Launcher (ADL) , die HTML Introspector , und die HTML-Source-Viewer . Zusätzlich zu den mitgelieferten Tools, Aptana Studio mit seiner Adobe AIR Plugin erwies sich als ein unverzichtbarer Vorteil. Die Aptana Plugin bietet Unterstützung bei der Erstellung von AIR-Projekt, das Importieren von gemeinsamen JavaScript-Frameworks, Debugging-, Verpackungs-/ Export und der digitalen Signatur der Anwendung.
  3. Vergessen Sie nicht, die Leistung Techniken, die wir aus dem Standard-Browser-Umgebung (dh, optimieren Sie Ihre Bilder, minify und kombinieren Sie die Anwendung CSS-und JavaScript-Dateien und für schwere Ereignis-basierte Anwendungen wie Sideline, nutzen Sie gelernt haben, Event-Delegation Techniken ) . AIR-Anwendungen auf dem Desktop laufen und so gibt es ein bisschen mehr Nachsicht mit der Leistung als bei der typischen Browser-Umgebung, aber nicht vergessen, wie der Browser selbst, der AIR-Container verbraucht auch ein Stück des Systems im Speicher noch vor der Anwendung benutzerdefinierten Code Tritte in .

The Road Ahead

Die Beta-Version von Sideline können installiert werden http://sideline.yahoo.com . Der Code ist Open Source unter den Bedingungen der BSD-Lizenz und gehostet auf GitHub . Wir freuen uns über Beiträge, Feedback und / oder Anregungen. Auch in den Geist der die Dinge so offen wie möglich und unterstützt aufstrebende Technologie, die wir wahrscheinlich Port Sideline zu Titanium in der nahen Zukunft. Einige anfängliche Arbeit hat bereits auf den Hafen getan worden und wird in den kommenden Wochen fortsetzen. Es ist auch durchaus möglich, dass Sideline werden am Ende die Implementierung eines JavaScript ORM wie JazzRecord zur Datenbank-Interaktionen über Plattformen hinweg zu erleichtern. Wenn jemand weitere Tipps für die Unterstützung mehrerer Plattformen würden wir sie gerne hören.

Nun geh hin und Gabel es !

Share and erweitern: Lesezeichen mit del.icio.us | digg it! | reddit!

Implementation Focus: DocLanding

30. März 2009 um 10.24 Uhr von Eric Miraglia | In YUI Implementierungen | 1 Kommentar

DocLanding: Online, On-Demand-Dokumenten-Management

Todd Fishback ist der Präsident der DocLanding , eine web-basierte Dokumenten-Management-Lösung. Todd gesellt sich zu uns auf YUIBlog seinem Team die Wahl des YUI Utilities und Widgets innerhalb der DocLanding Benutzeroberfläche zu diskutieren. Sie können mehr über DocLanding von ihrer Präsentation auf Herbst 2008 Demo Conference .

Erzähl uns ein wenig über DocLanding - was sind die zentralen Probleme, die Sie für Ihre Benutzer zu lösen?

DocLanding ist ein On-Demand-Dokumenten-Management-Lösung der Enterprise-Klasse Dokumenten-Management-Funktionalität bietet für einen Bruchteil der Kosten für die meisten Enterprise-Lösungen. Die Software kann durch unser Software as a Service (SaaS) anbieten oder als Inhouse-System geliefert werden. Unsere Kunden sind vor allem in den Finanzdienstleistungen und Gesundheitswesen Arenen.

Gemeinsame Themen, die wir für unsere Kunden lösen die Bereitstellung einer Web-basierten zentralen Repository für verteilte Arbeitskräfte, on-demand web-gestützten Scan nach wenig Papier Volumen Büros und Desktop-Batch-basierten Scan in hoher Papier Volumen Büros. Andere Themen, die wir behandeln sind sichere gemeinsame Nutzung von Dokumenten und die Zusammenarbeit, die Bearbeitung von Dokumenten / Anmerkungen, Versionskontrolle, das Dokument kommentieren und dokumentieren Wasserzeichen. Unser einzigartiger Ansatz separat gesteuert, aber miteinander verbundenen Dokumenten-Repositories können Anwender unterschiedliche Repositories mit einem gemeinsamen Login.

Was waren die besonderen Benutzeroberfläche Herausforderungen durch das Design Ihrer Produkte präsentiert?

DocLanding: Dokument-Vorschau UI.

Wir lernten von einigen unserer früheren Arbeiten, die kann man einfach nicht unterschätzen, wie wichtig benutzerfreundliches Design. Erstellen einer Website ist ziemlich einfach, aber die Schaffung eines echten Web-Anwendung, die auf die Bedürfnisse von Geschäftsleuten gerecht hat, ist echte Arbeit. Unser Produkt versucht, Dokumenten-Management aus streng die Domäne der Großunternehmen übernehmen und zur Verfügung zu stellen jedes kleine Unternehmen. Elektronische Dokumenten-Management in seinem Kern ist keine einfache Aufgabe. Das Ziel ist die Organisation und Steuerung des Zugriffs auf eine massive Anzahl von Dateien zusätzlich zu macht sie vollständig durchsuchbar. Aus diesem Grund ist die Benutzeroberfläche wirklich, wo die Mehrheit unserer Entwicklungszeit traditionell ausgegeben wurde.

Wir haben festgestellt, dass Sie Zeit und Geld für die Unterstützung Fragen sparen, wenn Sie Ihre Website einfach und einfach zu bedienen. Ein Teil davon ist die Lockerung der Vorgaben benötigt, um die Website ausgeführt werden. Wir haben uns bis auf fast jedem modernen Browser mit JavaScript und Flash verglichen. Der Kern Website-Design kamen wir mit präsentiert seine eigenen Herausforderungen mit ihren ganz spezifischen Gebrauch der Bildschirm Immobilien. Wir fanden unsere Anwender wurden besser in der Lage, vollen Gebrauch von der Anwendung zu machen, wenn wir uns darauf geachtet, Farben, Ikonographie und die Nähe der Kontrollen auf ihre Funktion. Wir denken, wir sind auf dem richtigen Weg, denn unsere Feedback-Seite mehr Anfragen für zusätzliche Funktionen als um Hilfe ersucht zurückgekehrt ist.

Sie wählte YUI zu helfen Macht Ihre Website. Was hat Sie zu dieser Entscheidung?

DocLanding: On-Demand-Dokumenten-Management

Die einfache Antwort ist die Konsistenz und Geschwindigkeit. Wir brauchten einen Rahmen, der es uns ermöglichen, den Design-Vorgaben unserer Produkte erfüllen würden. Genauer gesagt, hatten wir hochgesteckte Ziele wie die Erhaltung einer Bildschirmansicht und die Minimierung oder Beseitigung ganzseitigen Postbacks. Darüber hinaus wollten wir unseren erforderlichen Elemente, um Aussehen und Funktion identisch in möglichst vielen verschiedenen Browsern wie wir es schaffen könnten. Es gibt genug Konsistenz Fragen zwischen Browsern und deren Rendering Methoden, um mit bereits zu kämpfen, so dass jeder Rahmen wählten wir benötigt, um die Menge des Browser-spezifische Kodierung wir zu tun haben würde zu minimieren. Nach dem Experimentieren mit einer Vielzahl von verschiedenen Toolkits, kam YUI ganz klar an der Spitze. Es war ein bisschen eine Lernkurve für alle Produkte, sondern YUI hatte die beste Belohnung.

Die Basis-Framework erfordert keine Plug-in, es spielt gut mit. NET, und die Skripte sind leicht, fest und solide. Sobald wir den Dreh Rahmen ankamen, fanden wir es aufschlussreich zu unserem alten, traditionellen Schnittstelle Seiten der YUI-Versionen zu vergleichen. In jedem Fall passen unsere UI-Methode zurückgegeben riesige Gewinne in Leistung und Konsistenz mit leichteren Downloads für unsere Kunden.

DocLanding: Mult-Datei-Uploads mit YUI Uploader.

Was YUI-Komponenten verwenden Sie am stärksten in Ihrer Anwendung?

Wir sind tatsächlich mit ziemlich viel der Komponenten. Die günstigste diejenigen haben diejenigen, die uns so viel mit und auf einem Bildschirm wie möglich erlauben worden, so der TreeView , Menu , SimpleDialog und Layout-Manager sind äußerst nützlich. In Wahrheit sind wir fast mit allen Kontrollen, aber wir schätzen vor allem die Uploader Steuerung 's Fähigkeit, die Auswahl mehrerer Dateien verarbeiten. Wir haben nach einer Lösung für dieses Problem seit längerer Zeit und YUI wurde die eleganteste, die wir bisher kennen gelernt habe. Wir machen gute Nutzung der JSON-Dienstprogramm und Connection Manager zu stark minimieren die Größe und Anzahl der Anfragen an den Server machen wir, was unsere Präsenz hält sich und was noch wichtiger hält unsere Benutzer arbeiten und nicht darauf warten.

Was kommt als nächstes für DocLanding? Was sind die Herausforderungen, denen Sie arbeiten in Ihrem kommenden Releases Adresse sind?

Wir arbeiten ständig daran, die Funktionen unseres Produktes zu verbessern. Unsere Mitglieder haben für Features gebeten, eine bessere Integration der Bearbeitung ihrer Dokumente mit den wichtigsten Anwendung, so dass wir Zeit dafür machen werde. Wir arbeiten auch auf eine bessere Aufnahme großer Datei-Uploads. Ansonsten haben wir mehrere Ideen auf dem Tisch, und wir sind mit einem Gewicht, welche wäre sehr vorteilhaft für unsere Nutzer. Eine Version der Website für Handys und Netbooks optimiert ist in den Planungsphasen bereits, sowie Werkzeuge zur strukturierten Ordner vom Desktop direkt Import in DocLanding. Experimentell sind wir mit der Idee, nur die Speicherung der Metadaten auf der Website und Ziehen von Inhalten direkt von vernetzten Client-Rechnern mit unserer Software liebäugelt. Letztendlich wird die Bedürfnisse unserer Nutzer in welche Richtung wir uns bewegen nächsten diktieren.

Share and erweitern: Lesezeichen mit del.icio.us | digg it! | reddit!

Der Aufbau eines Fast-People-Finder für Flickr mit YUI AutoComplete

26. März 2009 um 08.59 Uhr von Ross Harmes | In Entwicklung | 1 Kommentar

Bei Flickr , haben wir vor kurzem wurde eine neue Leute-selector-Widget, ein paar von unseren Seiten; diese Funktion basiert auf dem YUI AutoComplete Kontrolle . Die Menschen-selector-Widget ermöglicht es unseren Mitgliedern zu Personen aus ihrer Kontaktliste, die nach oben von 20.000 Einträge enthalten können. Aufgrund der großen Menge von Daten beteiligt sind, traditionelle Techniken für das Abrufen und die Analyse der Daten wurden nicht machbar, vor allem aufgrund extrem langsam parse Zeiten. In diesem Beitrag werfen wir einen Blick auf einige der verschiedenen Datenformate haben wir versucht und an der AutoComplete-Konfiguration haben wir festgestellt, dass die meisten performant sein.

Zunächst ist hier ein Video-Rückblick auf das, was wir versuchen zu erreichen, die neue Interaktion mit dem Menschen-Finder Widget ist auf der rechten Seite dargestellt:

Das Abholen und Parsing: XHR und Custom Data

Die größte Herausforderung bestand darin, ein Datenformat, das schnell sein zum Download, schnell zu analysieren, und würde - vor allem - zu sichern. Wir versuchten zuerst XML und Ajax, aber das Parsen von XML erwies sich als viel zu langsam - in der Tat fanden wir, dass dieser Ansatz könnte den Browser auf größere Datenmengen. Nächstes versuchten wir eine Kombination von JSON und Ajax, das war deutlich schneller, aber es dauerte noch mehr als 80 Sekunden, um unseren größten Datensatz (ein Array mit rund 10.700 Objekten, die jeweils mit mehreren Eigenschaften) zu analysieren.

Am Ende fanden wir zwei Transport / parse-Techniken, die sich als extrem schnell sein:

  1. Holen JSON (eingewickelt in eine Callback-Funktion) mit dynamisch generierten Skript-Tags;
  2. Parsen einer benutzerdefinierten Daten-Format (eine Steuer-Charakter getrennte Liste) mit split() , holte mit Ajax (mit YUI Connection Manager ).

Am Ende gingen wir mit dem benutzerdefinierten Format. Formatieren unserer JSON, so dass es durch eine dynamische Script-Tag durchgeführt werden konnte, war eine weniger sichere Ansatz und nicht um eine Leistung zu gewinnen. Mit XHR gab uns eine sicherere und immer noch sehr performante Lösung.

User Interaction: YUI AutoComplete

Sobald wir eine Möglichkeit, die Daten in JavaScript schnell war, war die nächste Herausforderung, einen Weg für den Benutzer zu erstellen, um schnell durch die Liste der Kontakte suchen. Um dies zu erreichen, wandten wir uns an AutoComplete Control-YUI ist. Es erfüllt unsere Anforderungen genau: extrem schnell und sehr gut konfigurierbar. Um es zu benutzen mit unseren Kunden Daten, haben wir eine Funktion, um die Verwendung als AutoComplete Instanz DataSource; jedem Tastendruck in das Widget löst diese Funktion auf und übergibt den Suchbegriff. Innerhalb dieser Funktion durchlaufen wir alle Mitglieds Kontakte und versuchen, die Abfrage auf vier verschiedenen Feldern übereinstimmen. Wir verwendeten reguläre Ausdrücke, um das String-Matching zu tun.

Auch für große Gruppen von Kontakten, finden wir diese Technik als äußerst effizient. Hier ist die Basisversion von dem, was wir getan haben:

  Funktion searchContacts (query) {

        var Spiele = [],
            queryRegEx = new RegExp (Abfrage, 'i'), sollte / / Abfrage
                                                 / / Überprüft, bevor 
                                                 / / Verwendung in einer Regex.
            Kontakt;

         for (var n = 0, len = contacts.length; n <len; n + +) {

                contact = Kontakt [n];

                if (contact.username.search (queryRegEx) == -1! | |
                    contact.realname.search (queryRegEx) == -1! | |
                    contact.emailAddress.search (queryRegEx) == -1! | |
                    contact.alias.search (queryRegEx)! == -1) {
                        matches.push (Kontakt);
                }
        }

        Rückspiele;
 } 

Einmal hatten wir die Daten mit dem Widget, haben wir eine Änderung an der Standard-Konfiguration AutoComplete: Wir setzen die queryDelay Parameter auf 0 (Standardwert ist 200ms). Dies bedeutet, dass es keine Verzögerung zwischen einem Tastendruck und eine Suche initiiert werden. Es gibt Nachteile dieser (der AutoComplete-Display neigt dazu, ein wenig aufflackern, wenn Sie ein paar Zeichen in schneller Folge), aber wir fanden es die größte Verbesserung, die wir gemacht, wichtiger noch als Optimierungen, um unsere Suchfunktion werden. Während ein queryDelay von 200ms oder mehr könnte besser geeignet sein für XHR oder andere Remote-DataSources, fanden wir, dass unsere Regex-based mit lokalen Daten DataSource wurde bis zur Aufgabe des Suchens auf jeden Tastendruck. Mit Auto-Vervollständigen, bekamen wir kostenlos Caching hinzugefügt, um die Mischung, so dass einer Suche nur müssten einmal durchgeführt werden.

Weitere Details zu all diesen Techniken, einschließlich der vollständigen Details zu den verschiedenen Datenformaten und umfangreichen Profiling-Daten für jeden einzelnen, sich auf der gefunden werden code.flickr Blog.

Share and erweitern: Lesezeichen mit del.icio.us | digg it! | reddit!

In the Wild für 25. März 2009

25. März 2009 um 09.08 Uhr von YUI Team | In In the Wild | 3 Kommentare

Nachrichten und Notizen aus der YUI-Community in den vergangenen Wochen. Lassen Sie uns in den Kommentaren, was wir verpasst wissen, und wir bekommen es beim nächsten Mal:

Share and erweitern: Lesezeichen mit del.icio.us | digg it! | reddit!

Georgiann Puckett: YUI / ASTRA Program Manager (AdaLovelaceDay09)

24. März 2009 um 08.06 Uhr von Eric Miraglia | In Entwicklung | 1 Kommentar

Dav Glass und George Puckett der YUI-Team

[Anmerkung: Dieser Beitrag ist Teil der YUI-Team die Teilnahme an Ada Lovelace Day , eine Feier der weiblichen Technologen der ganzen Welt.]

Georgiann Puckett (besser bekannt als "George" genannt) dient als Programm-Manager für YUI und verbundenen Projekte (einschließlich der ASTRA-Bibliothek). Programm-Management komplexer technischer Programme mit mehreren Projekten ist eine der anspruchsvollsten Aufgaben in einer Software-Firma, und George ist ideal, um die Herausforderung geeignet. Sie bringt die Tabelle eine schnelle Intelligenz, Geduld und Disziplin, um große Datenströme verwalten und ein tief verwurzeltes Verständnis der Prozesse, durch die erfolgreiche Software-Programme sind nachhaltig. Ihr Hintergrund dient hier auch - als C / C + + Engineering Veteran, sie kann direkt mitfühlen mit den Erfahrungen der Ingenieure, mit denen sie arbeitet.

YUI Versionen gehen mit Hunderten von Veränderungen, von denen viele vorgeschlagen oder sind mit Beiträgen Entwickler auf der ganzen Welt. Seit seinem Eintritt in das Team vor zwei Jahren hat George revolutioniert die Art und Weise all dieser Informationen umgegangen wird. Das ist eine bessere Prognose, bessere Kommunikation und eine bessere Qualität auf der ganzen Linie geführt.

George hat darüber hinaus lobenswerte Führung für die YUI-Team bei der Unterstützung von wichtigen internen Projekten bei Yahoo zur Verfügung gestellt. Wenn wir ein internes Projekt zu bezeichnen, als einen "großen Wette", etwas entscheidend für die Zukunft des Unternehmens, arbeiten wir mit dem Projekt der Frontend-Engineering-Team und stellen Sie sicher, dass wir tun was wir können, um sie zu unterstützen. George verwaltet diese Beziehungen, sicherzustellen, dass unsere Mitarbeiter zeitnah, gut dokumentierte baut erhalten und dass ihre Prioritäten sind genau in unserer Release-Pläne wider. Mit der Fähigkeit, die vielfältigen Projekte gerecht zu werden und unsere erfolgreiche Zusammenarbeit zu erleichtern ist keine kleine Herausforderung, und George hat die schweres Heben notwendig, um sicherzustellen, dass YUI und ASTRA Ingenieure bieten die richtige Unterstützung zum richtigen Zeitpunkt über Yahoo getan.

Apropos wogenden Anheben .... George ist auch bei Yahoo als außergewöhnliche Technologe und ein unermüdlicher Fürsprecher für YUI bekannt, aber sie ist auch gut für diejenigen, die häufige Yahoos Mitarbeiter Turnhalle bekannt. Hier finden Sie George gibt vier oder fünf Abenden in der Woche arbeiten, um ihren eigenen Weltrekord Formular auf der freien Gewichten besser.

George Arbeit und ihre allgemeine Verpflichtung zu herausragender Leistung hat sicherlich jeder von uns, die mit ihrer Arbeit in den vergangenen Jahren inspiriert. Ich fragte George, hatte sie inspiriert und schickte sie auf dem Weg zu einer Karriere in der Technologie.

Was war Ihre erste Erfahrung mit Computern?

Ich war darauf bedacht, beim Betreten eines pre-med track in der Schule und ich hatten eine AP Calculus natürlich meinem Abschlussjahr als Teil des College Prep Lehrplan. Wie es der Zufall wollte, bekam der Lehrer ein Stipendium für zwei Apple-Computern als Teil einer Studie, die die Programmierung an der High School zu unterrichten. Nicht nur, dass wir es - wir haben wettbewerbsfähig sie versucht, die robusten Funktionen mit der geringsten Menge an Code zu tun. Der erste digitale Elektronik in der Schule besucht, wo ich zu programmieren Schaltungen hat auf einem Steckbrett mit Assembler machte den Deal.

Hattest du irgendwelche weiblichen Technologe Vorbilder, die Sie beeinflusst?

Es gibt zwei Frauen, die ich mit, dass ich durch sehr beeindruckt und sehr viel gelernt aus gearbeitet habe. Darragh Muldoon, Mitbegründer von Cricket Software, stellte mich aus der Schule in die mit Abstand die schönsten Start Abenteuer meiner Karriere. Sie war nicht ein Techniker per se, aber ich lernte sehr viel von ihr in Bezug auf ihren Umgang mit Menschen in führenden technischen Leute, Aufbau von Teams und wachsende Unternehmen. Die andere Frau, die ich aufblicken und daraus gelernt wurde Sheila Brady, der durch die Reihen, um Direktor-Niveau stieg in Apples System Software Division. Sie definitiv wusste, wie man ein Release-Laufwerk, in vielen Fällen führenden Teams meist von männlichen Ingenieuren zusammen. Sie zeigten eine Ebene des Vertrauens, der Kompetenz und Aggressivität, die von jedem Ingenieur geschätzt werden könnten - männlich oder weiblich.

Share and erweitern: Lesezeichen mit del.icio.us | digg it! | reddit!

Jenny Han Donnelly: YUI Engineer (AdaLovelaceDay09)

24. März 2009 um 08.05 Uhr von Eric Miraglia | In Entwicklung | 3 Kommentare

Jenny Han Donnelly, Sr. Engineer, Yahoo, Autor von YUI DataTable, DataSource und AutoComplete

[Anmerkung: Dieser Beitrag ist Teil der YUI-Team die Teilnahme an Ada Lovelace Day , eine Feier der weiblichen Technologen der ganzen Welt.]

Jenny Han Donnelly ist Autor von drei YUI-Komponenten:

  1. The DataTable Control : YUI's DataTable is one of our signature UI widgets, providing a powerful menu of interactive options for tabular data.
  2. The AutoComplete Control : AutoComplete provides typeahead, suggest, filtration and combo-box functionality to any text input area.
  3. The DataSource Utility : Shared by DataTable, AutoComplete and the Charts Control , DataSource serves as a conduit between widgets and potential sources of data — including server-side data, JavaScript arrays, and DOM structures like HTML tables.

Jenny's work inspires us in part because of the technical challenges she takes on — try getting fixed headers with xy scrolling to work in IE6 using a semantically sound base table sometime, if you have any doubts. Jenny has taken on some of the most complex HCI challenges anywhere in YUI and engineered them to suit virtually any environment. DataSource enables other YUI components to work with anything from flat files to JSON and XML to JavaScript arrays and DOM structures. We've heard from thousands of people on the YUI forums using all of these features and more in ecclectic and novel ways.

We're also inspired by the organizational leadership Jenny has shown in her time at Yahoo. Currently, she's the lead editor of YUIBlog, bringing technical voices from throughout Yahoo to these pages to share their insights. She has also organized our annual frontend engineering summit at Yahoo, bringing hundreds of Yahoo engineers from around the world together in a rich weeklong technical conference. She's taught weeklong YUI courses to engineers in the USA, Korea and Japan, and she's been an integral member of the hack day group at Yahoo that's such an important part of our engineering culture.

Whether she's coding, writing, teaching or leading — all of which are aspects of the modern technologist's job description — Jenny sets a high bar with her intelligence, dedication, imagination and wit. Ada would be proud.

[ photo of Jenny used by kind permission of Stephen Woods ]

Share and erweitern: Lesezeichen mit del.icio.us | digg it! | reddit!

Survey: When is an Accordion not an Accordion?

March 23, 2009 at 9:20 pm by Christian Crumlish | In Design , Development | 6 Comments

example of an accordion I'm looking for feedback from people who have designed or built an interface using an “accordion” module (or are considering doing so). You see, I've been working on a design pattern for accordion modules, and I'd like to throw out a handful of open questions to the community via this brief survey . I'll be listening elsewhere as well, on twitter ( @mediajunkie ) and on mailing lists where web designers and developers hang out.

(I realize this is not a scientific survey. I'm just interested in engaging the wider community in a discussion instead of trying to impose my view or Yahoo!'s view on the community as authoritative.)

Everywhere I go lately, it seems that interaction designers and web developers are talking about accordion widgets and debating about what makes an accordion an accordion. Not everyone working in this field has heard the term (some may simply refer to “stacked panels” or “collapsible panels”) but most get the gist fairly easily. Ironically, none of the UI elements described as accordions share the actual behavior of a real-world accordion (the musical instrument): namely, that stretching an accordion opens all the folds evenly.

Accordions have been an on-and-off topic of discussion on the main IxDA mailing list ; we discussed them in our Pattern Library workshop in Vancouver earlier this month, and there's been an ongoing discussion about accordions on our internal designer mailing list here at Yahoo!.

So I sat down with some folks from the YUI team (and Marco, the maker of an experimental YUI accordion widget ) a little while ago to sort through a draft of an accordion pattern that might help inform the development of an official YUI component.

Broadly speaking, most people agree on what we're talking about when we talk about an accordion interface element. Everyone agrees that accordions are used to compress content into a limited space and that they consist of panels that can collapse or expand. Beyond this, there are a number of subtle nuances that not everyone agrees on.

One trend I've noticed is that front-end developers tend be agnostic about how the accordion should work, viewing it as really just a variant on a tree widget. Designers tend to be more prescriptive, saying that to be an accordion it must behave in thus and such a way (but not all designers agree on what these rules are).

In the end, the YUI folks will produce code that can be made to do just about anything. We aren't going to try to impose our own taste or preferences in design through the functionality of the code itself. However, we will use the associated pattern to make suggestions and recommendations drawn from the experience of the entire design community, and we will probably lobby for default behaviors that match what most people expect.

So, if you've got a few minutes and an opinion, please visit the survey and let me know what you think!

I'll close the survey on April 30.

Share and erweitern: Lesezeichen mit del.icio.us | digg it! | reddit!

Nächste Seite »
Hosted by Yahoo!

Copyright © 2006-2012 Yahoo! Inc. Alle Rechte vorbehalten. Datenschutzbestimmungen - Nutzungsbedingungen

Präsentiert von WordPress auf Yahoo! Web Hosting .