<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Πρώτα Βήματα - Αρχές προγραμματισμού</title><link>https://www.dotnetzone.gr:443/cs/forums/72/ShowForum.aspx</link><description>Αναρωτιέστε τι σημαίνει object; Class; Inheritance; Design pattern; Την απάντηση μπορείτε να την βρείτε εδώ!</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: GUI! Τα «φώτα» σας!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/34292.aspx</link><pubDate>Tue, 14 Aug 2007 07:22:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:34292</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/34292.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=34292</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;div&gt;&lt;img src="http://www.dotnetzone.gr/cs/Themes/default/images/icon-quote.gif"&gt; &lt;strong&gt;tommas:&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;Καλησπέρα σας!&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;θα ήθελα την βοήθεια σας , λόγο ότι βαρέθηκα την συνηθισμένη διαπαφή που έχει το |VS2005(c#)| θα ήθελα να μου πείτε είτε εργαλεία , είτε τεχνάσματα που χρησιμοποιείται για να είναι ποιο ωραία και προσιτά στο χρήστη(εμένα) τα έργα σας!!!( GUI)&lt;BR&gt;&lt;BR&gt;&lt;/div&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Εμένα η ερώτηση μου θυμίζει περισσότερο εργαλεία για ανάπτυξη User Interface παρά Βασικές Αρχές UI... οπότε επιτρέψτε μου να αναφερθώ στο 1ο.&lt;/P&gt;
&lt;P&gt;Στην εταιρία μου (και όχι μόνο....) χρησιμοποιούμε components της &lt;A href="http://www.devexpress.com/Index.xml"&gt;Dev-Express&lt;/A&gt;.&lt;BR&gt;Κατά την γνώμη μου, είναι καλογραμμένα, δεν&amp;nbsp;παρουσιάζουν προβλήματα και τα data&amp;nbsp;components τους (gridviews, treeviews, etc...)&amp;nbsp;είναι απλά το&amp;nbsp;οτι καλύτερο&amp;nbsp;αυτή τη στιγμή κυκλοφορεί στην αγορά&amp;nbsp;σε δυνατότητες!&lt;BR&gt;&lt;/P&gt;</description></item><item><title>Απ: GUI! Τα «φώτα» σας!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/33145.aspx</link><pubDate>Mon, 25 Jun 2007 19:57:17 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:33145</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/33145.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=33145</wfw:commentRss><description>&lt;p&gt;προσθέτω κι εγώ μερικά, όπως μου ήρθαν αυτή τη στιγμή:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Ακολουθούμε τις παραδοχές των &lt;b&gt;shortcuts&lt;/b&gt; των δημοφιλών εφαρμογών (π.χ. δεν βάζουμε στο ctrl+S την λειτουργία Show αλλά τη λειτουργία Save)&lt;/li&gt;&lt;li&gt;Δίνουμε στον χρήστη &lt;b&gt;wizards&lt;/b&gt; για να εκτελέσει πολύπλοκες εργασίες που δεν γίνονται κάθε μέρα.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Δεν&lt;/b&gt; δίνουμε στον χρήστη wizards για να εκτελέσει απλές εργασίες ή πολύπλοκες εργασίες που γίνονται συχνά. Οι εργασίες που γίνονται συχνά πρέπει να γίνονται γρήγορα. Ακόμα κι αν είναι πολύπλοκες, επειδή ο χρήστης τις κάνει συχνά, θα τις συνηθίσει.&lt;/li&gt;&lt;li&gt;Φροντίζουμε να ανανεώνουμε το &lt;b&gt;tab order&lt;/b&gt; κάθε φορά που κάνουμε αλλαγές στο UI. Αλλιώς... που είναι ο cursor;... οεο;&lt;/li&gt;&lt;li&gt;Χρησιμοποιούμε σωστά το &lt;b&gt;hourglass&lt;/b&gt;.&lt;/li&gt;&lt;/ul&gt;</description></item><item><title>Απ: GUI! Τα «φώτα» σας!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/33138.aspx</link><pubDate>Mon, 25 Jun 2007 18:13:49 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:33138</guid><dc:creator>manosB</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/33138.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=33138</wfw:commentRss><description>&lt;p class="MsoNormal"&gt;&lt;span&gt;Να δώσω και εγώ τα αμυδρά
μου φώτα.&lt;br&gt;
&lt;br&gt;
Αυτό που πιστεύω είναι πολύ σημαντικό στο όλο θέμα του &lt;/span&gt;&lt;span&gt;user&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;interface&lt;/span&gt;&lt;span&gt; είναι το θέμα της αισθητικής συνοχής της
εφαρμογής. Δηλαδή όλες οι φόρμες που την απαρτίζουν είναι πολύ σημαντικό να
ακολουθούν κοινό σχεδιαστικό πλάνο. Π.χ&lt;br&gt;--Π.χ κοινή γραμματοσειρά,&lt;br&gt;--κοινά χρώματα σε πεδία
(υποχρεωτικά , &lt;/span&gt;&lt;span&gt;Display&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;items&lt;/span&gt;&lt;span&gt; κλπ).&lt;br&gt;--Ίδια κουμπιά για ίδιες ενέργειες&lt;br&gt;--Κοινό &lt;/span&gt;&lt;span&gt;Background&lt;br&gt;--Παρόμοια &lt;/span&gt;&lt;span&gt;Grids&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;κ.λ.π. &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Επίσης παρόμοιες
ενέργειες πρέπει να γίνονται με παρόμοιο τρόπο. Π.χ το σώσιμο εγγραφών στη βάση
πρέπει να γίνεται με ίδιο τρόπο σε όλες τις φόρμες της εφαρμογής. Ομοίως και η
φόρμα αναζήτησης πρέπει να είναι κοινή, κλπ&lt;br&gt;
Τα παραπάνω έχουν σαν αποτέλεσμα ο χρήστης να μπαίνει στη λογική της εφαρμογής,
να μην μπερδεύεται και να μπορεί εύκολα να καταλάβει τα νέα κομμάτια που προστίθενται
με τις αναβαθμίσεις. Έτσι αποκτά και το πρόγραμμα χαρακτήρα για τον χρήστη και αποπνέει
εμπιστοσύνη!!!( άβυσσος η ψυχή του χρήστη)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;



&lt;p class="MsoNormal"&gt;&lt;span&gt;Και μια μικρή συμβουλή. Βάλτε
το χρήστη να μπει στη λογική της εφαρμογής. Έτσι θα μπορέσει να καταλάβει πιο
γρήγορα το πνεύμα και την επόμενη φορά που θα ζητήσει κάτι απλό (!@#$!@#$%) θα έχει
υπόψη του τουλάχιστον πως μπορεί να υλοποιηθεί με βάση την ήδη υπάρχουσα. Εντάξει
όχι ακριβώς αλλά δεν θα σου ζητάει : «Θέλω ένα &lt;/span&gt;&lt;span&gt;Excel&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;που να κάνει αυτό»!!!&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Απ: GUI! Τα «φώτα» σας!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/33114.aspx</link><pubDate>Sat, 23 Jun 2007 00:29:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:33114</guid><dc:creator>Q-apprentice</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/33114.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=33114</wfw:commentRss><description>Αυτό που έκανε post η Νατάσα βοηθά πάρα πολύ...ειναι ένας καλός μίνι οδηγός!&lt;br&gt;</description></item><item><title>Απ: GUI! Τα «φώτα» σας!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19459.aspx</link><pubDate>Mon, 30 Oct 2006 17:48:15 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19459</guid><dc:creator>Νατάσα Μανουσοπούλου</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19459.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=19459</wfw:commentRss><description>Αυτό που ζητάς είναι αρκετά γενικό και σηκώνει πολύ μελάνι και αίμα για να συζητηθεί. &lt;br&gt;Τα δικά μου δύο λεπτά (του Ευρώ), συγκεντρωμένα από διάφορα σχετικά βιβλία και την εμπειρία μου:&lt;br&gt;&lt;br&gt;Το user interface έχει το οπτικό κομμάτι (τι βλέπω στην οθόνη μου), το ακουστικό (τι ακούγεται από τα ηχεία μου) και το κιναισθητικό (τι μπορώ να κάνω με αυτό που βλέπω). Υπάρχει και η δυνατότητα σε λίγες εφαρμογές να χρησιμοποιήσω ήχο ή ομιλία για να τις ελέγξω (π.χ. εφαρμογές υπαγόρευσης), αλλά δε θα πω τίποτα για αυτές.&lt;br&gt;&lt;br&gt;Το αξίωμα που πρέπει να διέπει ένα user interface είναι ένα: &lt;i&gt;Ο χρήστης είναι το αφεντικό και το software ο υπηρέτης του&lt;/i&gt;. Από αυτό το αξίωμα προκύπτουν πολλά θεωρήματα.&lt;br&gt;&lt;h4&gt;1. Σεβασμός στις προτιμήσεις και συνήθειες του χρήστη για το περιβάλλον εργασίας του&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Ακολουθούμε τα χρώματα, τις γραμματοσειρές και τα μεγέθη του συστήματος&lt;/li&gt;&lt;li&gt;Παρέχουμε πρόσβαση με το πληκτρολόγιο όπου αυτό είναι δυνατόν, κατά προτίμηση στο σύνολο των λειτουργιών της εφαρμογής&lt;/li&gt;&lt;li&gt;Σε μια web page δεν καρφώνουμε το μέγεθος των γραμμάτων, αλλά αφήνουμε το επιλεγμένο μέγεθος του browser να το καθοδηγήσει. Ας μην ξεχνάμε άλλωστε ότι υπάρχουν εκεί έξω και άνθρωποι της τρίτης ηλικίας που χρησιμοποιούν υπολογιστές!&lt;/li&gt;&lt;li&gt;Τηρούμε τις συνήθεις «χειρονομίες» του περιβάλλοντος και του λειτουργικού συστήματος. Στα Windows π.χ. το δεξί κλικ ανοίγει ένα context menu, οπότε εμείς με το δεξί κλικ θα κάνουμε το ίδιο και σίγουρα δε θα το αντιστοιχίσουμε στο Send to back&lt;/li&gt;&lt;li&gt;Ακολουθούμε τα guidelines και τις κοινές πρακτικές του περιβάλλοντος για το οποίο αναπτύσσουμε. Το να βάλεις το menu bar της εφαρμογής στο κάτω μέρος του παραθύρου δεν είναι δημιουργικό, είναι προβληματικό.&lt;/li&gt;&lt;li&gt;Δε χρησιμοποιούμε στοιχεία του user interface που έχουν ήδη κάποια σημασία. Σε μια web page για παράδειγμα, δεν τονίζουμε κάποιο κείμενο υπογραμμίζοντας το, γιατί η υπογράμμιση στο Web σημαίνει κάτι άλλο.&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;2. Ο χρήστης δεν πρέπει να ψάχνει&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Όλες οι εργασίες που μπορούν να γίνουν με το λογισμικό πρέπει να είναι συγκεντρωμένες κάπου (π.χ. μενού ή κάποιο άλλο κεντρικό control panel)&lt;/li&gt;&lt;li&gt;Σε κάθε σημείο της εφαρμογής, να υπάρχει ένας εμφανής τρόπος για να γίνει το καθετί. Π.χ. για μια εργασία που γίνεται με drag and drop πρέπει να υπάρχει και το αντίστοιχο button/menu item/toolbar button κλπ.&lt;/li&gt;&lt;li&gt;Δίνουμε hints για το καθετί δεν είναι τελείως τελείως προφανές. Αν κάτι είναι clickable και αυτό δεν είναι ολοφάνερο, τότε δίνουμε ένα rollover effect, αλλάζουμε τον κέρσορα όταν περνά από πάνω του κλπ.&lt;/li&gt;&lt;li&gt;Συγκεντρώνουμε τις βασικές λειτουργίες στο κέντρο του οπτικού πεδίου του χρήστη και όχι π.χ. στη status bar.&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;3. Τηρούμε τις μεταφορές που είναι κοινές στις περισσότερες εφαρμογές&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Αν είναι button, πρέπει να μοιάζει με button και να αντιδρά σαν button. Μπορεί να είναι σχεδιασμένο αρτιστικά και να μοιάζει με έναν πραγματικό on off διακόπτη, αλλά η μεταφορά από τον πραγματικό κόσμο πρέπει να τηρείται. Ένα κοκοράκι που κουνάει τα φτερά του δεν είναι καλό υποκατάστατο για κουμπί.&lt;/li&gt;&lt;li&gt;Από την άλλη, αν δεν είναι button δεν πρέπει να δίνει τέτοια εντύπωση. Μπορεί να είναι ωραία τέσσερα ημισφαίρια στις τέσσερις γωνιές του παραθύρου μου, αλλά αυτά μοιάζουν για clickable, και ο ταλαίπωρος ο χρήστης θα αναρωτιέται τι είναι αυτά και γιατί δεν κάνουν τίποτα όταν τα πατάει.&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;4. Δίνουμε στο χρήστη πάντα μια έξοδο κινδύνου&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Προσπαθούμε να παρέχουμε κάποιου είδους undo για σημαντικές ενέργειες.&lt;/li&gt;&lt;li&gt;Αν ξεκινάμε μια ενέργεια που δεν μπορεί να γίνει undo, προειδοποιούμε και ρωτάμε, &lt;i&gt;δίνοντας την ευκαιρία στο χρήστη να πει όχι&lt;/i&gt;. To message box που γράφει «Η επιλογή αυτή θα διαγράψει όλα τα δεδομένα της βάσης» και έχει μόνο ένα κουμπί ΟΚ δεν προσφέρει τίποτα&lt;/li&gt;&lt;li&gt;Ο χειρισμός των controls πρέπει να είναι ακυρώσιμος. Έτσι, ένα context menu μπορεί να ακυρωθεί με escape και δεν υποχρεώνουμε το χρήστη να επιλέξει κάτι από αυτό. Σε ένα clickable element κάνουμε την ενέργεια του click στο mouse up και μόνο αν το ποντίκι είναι μέσα στο element ώστε να είναι δυνατή η ακύρωση της ενέργειας και μετά το mouse down.&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;5. Κάνουμε το user interface customizable, αλλά με μέτρο&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Το βασικό control panel της εφαρμογής (το μενού σε πολλές περιπτώσεις) πρέπει να είναι πάντα προσβάσιμο.&lt;/li&gt;&lt;li&gt;Το customization που γίνεται με drag and drop πρέπει να είναι undoable (σκεφθείτε την menu bar του Word και θα καταλάβετε τι εννοώ)&lt;/li&gt;&lt;li&gt;Μετά το πιο δραστικό customization, η εφαρμογή πρέπει ακόμα να θυμίζει την αρχική της κατάσταση. Αλλιώς δεν υπάρχει δυνατότητα για εκπαίδευση, καλό manual, ή απομακρυσμένη υποστήριξη.&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;</description></item><item><title>Απ: GUI! Τα «φώτα» σας!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19403.aspx</link><pubDate>Sun, 29 Oct 2006 07:05:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19403</guid><dc:creator>tommaσ</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19403.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=19403</wfw:commentRss><description>Ανυπομονώ…. &lt;br /&gt;
&lt;br /&gt;
   καλή συνέχεια και «επιτυχία» ……&lt;br /&gt;
&lt;br /&gt;</description></item><item><title>Απ: GUI! Τα «φώτα» σας!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19399.aspx</link><pubDate>Sun, 29 Oct 2006 06:38:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19399</guid><dc:creator>Panagiotis Kefalidis</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19399.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=19399</wfw:commentRss><description>Τι έθιξες τώρα Θωμά.. Λιγο υπομονή και τελειώνω τα άρθρα μου για να μπορέσω να κάνω post.. Επίσης ετοιμάζω και tutorial κλπ κλπ για XAML και WinFX (XP και Vista)..</description></item><item><title>GUI! Τα «φώτα» σας!</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/19396.aspx</link><pubDate>Sun, 29 Oct 2006 04:33:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:19396</guid><dc:creator>tommaσ</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/19396.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=72&amp;PostID=19396</wfw:commentRss><description>Καλησπέρα σας!&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;θα ήθελα την βοήθεια σας , λόγο ότι βαρέθηκα την συνηθισμένη διαπαφή που έχει το |VS2005(c#)| θα ήθελα να μου πείτε είτε εργαλεία , είτε τεχνάσματα που χρησιμοποιείται για να είναι ποιο ωραία και προσιτά στο χρήστη(εμένα) τα έργα σας!!!( GUI)&lt;br&gt;&lt;br&gt;</description></item></channel></rss>