Witam witam.
Zaszła mi potrzeba skrobnąć prosty menadżer pakietów co będzie w stanie ściągnąć paczuszki i odpowiednio odpalić prawdziwą aplikację.
Jednakże okazało się że okienko pierwszej wersji jest zbyt trudne w obsłudze dla typowego użyszkodnika.
Główne problemy:
-Nigdy nie robiłem aplikacji z interakcją pod szeroką publikę (jak dotąd to były to prymitywy gdzie nie było co zepsuć)
-Nigdy też nie robiłem bardziej skomplikowanych okienek, zazwyczaj były one wielkości kalkulatora i o podobnym stopniu skomplikowania
-Mam problemy z dzieleniem okna na części, kończę z jedną zakładką z dwoma przyciskami a drugą tak wypchaną że wymusiło powiększenie okna
Tak więc:
-Czy są jakieś tutoriale dedykowane pod design takiego gui?
-Czy jest jakiś menadżer pakietów na którym warto się wzorować?
-Jak nie zwariować przy robieniu okienek?
Opis apki:
Paczuszki dzielą się na dwie grupy: główne i pomocnicze.
Pierwsze są malutkie i niezbędne do działania aplikacji. Mogą działać w stand-alone ale design apki (wymuszone przez cudzy soft więc się nie zmieni) sprawia że paczki główne są (uproszczając) wersjami i pomimo możliwości pracy samodzielnej lepiej się im pracuje gdy wszystkie nowsze wersje także są zainstalowane.
Druga grupa składa się z większych zestawów danych przypisanych pod wersję paczki głównej. (take tam paruset megabajtowe "pluginy")
Wedle mojego bieżącego pomysły użyszkodnik popełnia następujące akcje:
- odpala programik
- wybiera które paczki główne go interesują
2a. okazuje się że sam nie wie
2b. wrzuca plik na okienko i programik próbuje sam się domyślić
2c. aplikacja proponuje paczki do pobrania
2d. akceptuj/zmień/anuluj - obserwacja paska postępu
- drag&drop pliku -> launcher odpala prawdziwą aplikacje
Jednakże mimo że aplikacja musi osiągnąć pewien stopień idioto odporności to nie chcę by ograniczała ona "power usera", co sprowadza się do wyboru pomiędzy:
-kompromisem ograniczającym oba typu użytkowników
-dodaniem trybu zaawansowanego obok trybu upośledzonego
Jako że wydajność aplikacji jest daleka od bycia ważną cechą a najcięższą operacją będzie porównywanie plików i grzebanie w XML jako środowisko wybrałem .NET 3.5 (limity WinXP...). Ograniczenie do systemów M$ nie jest problemem jako że cudzy soft do którego pomocą ma służyć aplikacja którą popełniam jest akurat na te systemy.