Realizzazione di messa a fuoco: Insight modello

4 dicembre, 2009 alle 12:05 da Erik Hinterbichler | In In the Wild , Implementazioni YUI | Comments Off

Erik Hinterbichler di Insight Pattern. Erik Hinterbichler ( @ ehinter ) è il cavo di interfaccia utente progettista / ingegnere per modello Insight , una startup di tecnologia con sede a Mountain View, CA. Erik è responsabile per l'interfaccia utente e l'usabilità dei prodotti Insight Pattern. Egli crea mockup dell'interfaccia utente e aiuta a sviluppare l'interfaccia web per il modello Insight prodotti di punta, Insight Insight Codice e registro. Erik ha una laurea in HCI presso la University of Illinois a Urbana-Champaign, l'università presso la quale modello Insight è stata fondata. Ha conseguito anche una laurea in Informatica e Matematica presso il Dartmouth College.

A proposito di modello Insight

Insight modello fornisce soluzioni potenti per indicizzare, cercare e analizzare i dati semi-strutturati. Con il termine "semi-strutturato" si intende qualsiasi tipo di dati di sistema - codice, log, script e altro ancora.

Attualmente abbiamo due grandi suite software: ". Insight Log" "Codice Insight" e

Codice Insight fornisce diverse funzionalità esclusive per analizzare il codice sorgente. Al suo centro è un fulmineo ricerca frammento sfocata che scala a miliardi di righe di codice. Con la ricerca di frammento, è possibile incollare in un frammento di codice e di trovare tutti i frammenti simili in tutta l'intera base di codice, anche tollerare variazioni nome di variabile o di linea inserimenti / cancellazioni. Costruito in cima a questa funzionalità di ricerca fuzzy Patch Miner, un'applicazione per l'individuazione di codice bacato, che deve essere risolto. È possibile inserire un bug fix e patch Miner troverete tutte le altre posizioni in cui tale bug fix deve essere applicato. Infine, abbiamo Miner modello, un copia-incolla e rilevatore di duplicazione. Miner modello può aiutare refactoring del codice di base da trovare automaticamente il codice duplicato, anche quando i nomi delle variabili sono cambiate. Può anche rilevare perdite IP su basi di codice diverso, ad esempio, se si utilizza sia open source e codice proprietario e vuole evitare che il codice di fluire tra di loro.

Log Insight è la nostra prossima generazione di log di ricerca e analisi di prodotto. Log Insight in grado di indicizzare TB di dati del sistema e fornire prestazioni inferiori al secondo per le query di ricerca complesse. Inoltre, consente la creazione di firme persistenti che possono essere usati per acquisire nuovi dati o archiviati per le partite istante. Log Insight può anche estrarre automaticamente modelli comuni (ad esempio per guasti) che possono poi essere codificata come firme torna al motore Insight Pattern.

L'importanza di interfaccia utente

Ci rendiamo conto che in possesso di grande tecnologia di base non è sufficiente per creare un prodotto di successo. Una buona interfaccia utente è assolutamente essenziale se vogliamo che gli utenti siano in grado di vedere il valore della nostra tecnologia e trarre il massimo vantaggio di esso. Così i requisiti per le nostre interfacce utente guidare buona parte dello sviluppo della nostra tecnologia back-end.

Come un esempio, un prodotto come Patch Miner è fortemente dipendente sull'interfaccia utente per darle forma. Al massimo livello, Patch Miner è un concetto abbastanza astratto: ". Trovare tutti i luoghi dove un bug fix deve essere applicato nella mia base di codice" Trasformare tutto ciò in una interfaccia utente di cemento fornisce molte difficoltà design unico. Per esempio, che cosa è esattamente un "bug fix" e qual è il modo migliore per un utente di inserire questo? E una volta che Patch Miner ha trovato un bug da qualche altra parte, qual è il modo migliore per presentare il risultato per l'utente? Risolvere questi problemi l'esperienza degli utenti ha fornito la road map per lo sviluppo dell'applicazione Patch nucleo Miner.

Utilizzando YUI a modello Insight

Le interfacce utente per il codice Insight e Log Insight sono completamente web-based, e stiamo usando YUI pesantemente per migliorare l'esperienza degli utenti. Quando eravamo inizialmente cercando di decidere quale JS quadro da usare, c'erano due cose che ci ha venduto il YUI: l'ampia documentazione e la grande varietà di componenti già pronti e widget. Abbiamo finito per fare uso di quasi tutti: animazione , completamento automatico , pulsante , calendario , gestione delle connessioni , contenitore , biscotti , datasource , storia , JSON , cursore , visualizzazione a scheda , treeview , caricatore , logger , di prova , e di base CSS / Reset / fonts / griglie .

Il mantenimento di alte prestazioni in un'applicazione Rich

La nostra strategia principale di mantenere la nostra performante applicazioni ricche è stato quello di sviluppare la nostra API di servizi web che usiamo per caricare i dati su richiesta il più possibile. Il supporto integrato per il caricamento on-demand nei widget YUI treeview come ha fatto questo molto più facile per noi. Abbiamo anche preso la decisione di non supportare IE 6. Questo ci ha permesso di usare Javascript molto più sofisticati che i browser moderni in grado di gestire, ma IE 6 non si può.

Più interessanti YUI implementazione Caratteristiche

Abbiamo sviluppato un bel po 'del nostro widget personalizzati, tra cui una selezione multipla lista con capacità di filtraggio e un auto-ridimensionamento casella di testo che cresce e si restringe in base all'input dell'utente. Cose come l'auto-ridimensionamento potrebbe sembrare minore, ma credo che la maggior parte degli utenti concordano sul fatto che le piccole cose come questo sono spesso la differenza tra il dolore e la gioia quando si utilizza un interfaccia.

Inoltre, puramente da una prospettiva di sviluppo, il nostro uso del loader YUI rende molto facile scrivere rapidamente nuove pagine. Siamo in grado di sforzo calo di tutto ciò che vogliamo in una determinata pagina, o widget standard YUI o nostra. In sostanza, nella parte superiore di ogni pagina abbiamo solo bisogno di chiamare la nostra funzione "loadModules" e dargli la lista dei componenti che vogliamo usare, oltre a una funzione di callback:

  YAHOO.PI.loadModules (['ad albero', 'PI.SelectableList'], function () {... 

Stiamo ancora usando YUI 2 , ma questo funziona in modo simile al nuovo YUI().use la funzione di YUI 3 .

Cosa c'è di nuovo?

Siamo attualmente al lavoro sul codice Insight 1.6, la nostra prossima major release, che sarà disponibile con alcuni miglioramenti impressionanti di Patch Miner. Stiamo anche sviluppando la prossima versione di Log Insight, che includerà un nuovo marchio, l'interfaccia utente altamente sofisticati. Tra le nuove caratteristiche sono un editor web-based firma con evidenziazione della sintassi dal vivo, completamento automatico e il controllo degli errori.

Se siete interessati a saperne di più su di noi, si può leggere sui nostri prodotti e verificare alcuni video sul nostro sito: http://www.patterninsight.com . Inoltre, non esitate a contattarci via email a info@patterninsight.com.

Condividere ed estendere: Bookmark con del.icio.us | Digg it! | reddit!

Nessun commento ancora

Al momento l'inserimento di commenti non è in questo momento.

Ospitato da Yahoo!

Copyright © 2006-2011 Yahoo! Inc. Tutti i diritti riservati. Informativa sulla privacy - Termini di Servizio

Powered by WordPress su Yahoo! Web Hosting .