Monthly Archives: Luty 2016

Ale mam super pomysł, zrobię aplikację…

Mam świetny pomysł, tzn. wydaje mi się, że ten pomysł jest super i co robię? Zabieram się za pracę i rozwój. Ewentualnie zarażam pomysłem innych i nie słucham ich rad, bo przecież ja wiem, że to jest super, a oni pewnie są hejterami i po prostu chcą żeby mi się nie udało.

Jeżeli zdarzyło Ci się coś takiego, albo co gorsza nadal tak robisz, to właśnie dla Ciebie przygotowałem ten wpis. W nim opiszę kilka moich (naszych, bo dość często projekty robiłem w grupie) projektów, które nie wypaliły, a ja nie potrafiłem wcześniej ocenić, że to się nie uda. Czy to Ci pomoże uniknąć podobnych błędów? Być może, ale nawet jeżeli tak nie będzie, to przynajmniej będziesz znał ryzyko.

Pomysły na aplikację bardzo często czerpie z życia i staram się rozwiązać problemy z jakimi się stykam. Dlatego jedna z aplikacji, która niestety nie wypaliła to gdziejestmedyk.pl czyli prosta aplikacja która w góra 2 krokach prowadziłaby do najbliższego lekarza. Pomysł wydaje się fajny, nawet wygraliśmy z prototypem aplikacji konkurs programistyczny, ale na jakim etapie popełniliśmy błąd? Nie badaliśmy rynku. Wiedzieliśmy, że problem istnieje, ale nie wiedzieliśmy, że ktoś ten problem zaczął rozwiązywać. Tam były bardzo duże pieniądze i bardzo duża grupa programistów, marketingowców i grafików, u nas zespół 3 osób, które choć chętne i zaangażowane, nie są w stanie walczyć z takim kolosem. Projekt upadł, a po tym my również byliśmy nieco przybici. Jednak ten właśnie projekt mnie nauczył tego, że analiza rynku musi zostać przeprowadzona na wczesnym etapie przygotowań projektu, tak aby cała praca nie poszła w niwecz. My na szczęście nie straciliśmy dużo, ponieważ dostaliśmy nagrody, ale jednak pomimo wszystko wiele godzin poszło na marne.

Drugim projektem, który poszedł nie tak jak byśmy się tego spodziewali był projekt parkeo.pl, który początkowo polegał na odnajdywaniu darmowych parkingów w dużych miastach, jednak po czasie zmieniły się założenia. Zaczęliśmy negocjować z władzami Poznania, w celu skorzystania z monitoringu miejskiego do rozpoznawania wolnych miejsc parkingowych przy niektórych ulicach. Pomysł był fajny i udało nam się przekonać miasto do udostępnienia kamer przy jednej z ważniejszych ulic Poznania, ale pomysł również upadł. Dlaczego? Ponieważ nie zweryfikowaliśmy założeń i nie przewidzieliśmy, że w trakcie zimy nie będziemy w stanie rozpoznawać obrazu zaśnieżonych aut i przez co nie będziemy wiedzieć ile realnie miejsc parkingowych jest wolnych. Porażka. Ale nauczyła mnie kolejnej rzeczy, że trzeba stworzyć dokładne założenia, aby już na etapie planowania przewidzieć pewne rzeczy. To akurat było proste do przewidzenia, ale niestety byłem zbyt zapatrzony w projekt i nie myślałem o tym. Myślałem o tym jak zdobyć dostęp do kamer, bo myślałem że to będzie najtrudniejsze, a jednak nie było.

Trzeci ciekawy przykład to taki, kiedy nie do końca się zna technologie w której się chce tworzyć projekt. Tutaj niestety dodatkowym utrudnieniem było to, że tworzyłem program dla klienta, który oczywiście musi znać cenę i to kiedy program będzie gotowy. Bardzo się cieszyłem z tego zlecenia, dlatego bardzo szybko wyceniłem je i przyjąłem ofertę. No i po około miesiącu pracy rozbiłem się o to, że nie jestem w stanie spiąć w najmniejszym stopniu swojego harmonogramu. Bardzo niekorzystna sytuacja i dużo tłumaczenia się klientowi. Nie polecam nikomu i z pewnością takiego błędu nie popełnię nigdy. Ale wyciągnąłem wniosek z tej sytuacji taki, że jeżeli chce wejść w jakąś nową technologię, to najpierw tworze w niej projekt dla siebie, który rozwiąże jakiś mój problem, a dopiero później gdy już mam jakieś pojęcie na ten temat, mogę zacząć oferować taką usługę innym.

Tym wpisem nie chcę Was zniechęcić do tworzenia. Chcę zachęcić Was do obiektywnego spojrzenia na temat. Znam wiele osób, które założyły startup, ponieważ myślały, że pomysł chwyci, a teraz mają kilkanaście tysięcy kredytu. Trzeba zawsze przemyśleć jakie są realia rynku i go dobrze zbadać, ponieważ może to zaoszczędzić bardzo wiele naszego trudu i pieniędzy.

PS. Jeżeli masz jakiś ciekawy pomysł, ale potrzebujesz kogoś, żeby ocenił czy warto. Napisz do mnie w komentarzu lub na facebooku. Jeżeli pomysł będzie ciekawy, to mogę pomóc w jego realizacji lub ewentualnej reklamie.

TextBox z dostosowującą się wielkością liter w zależności od długości tekstu WPF

Problem z widokami jest taki, że nigdy nie jesteś w stanie przewidzieć jakie dane Ci się przytrafią, ale warto być na to przygotowanym. Dlatego właśnie stworzyłem prosty sposób na to jak zmusić TextBox do ustalania wielkości czcionki w zależności od ilości wolnego miejsca. Rozwiązanie jest najprostsze z możliwych, bo o to mi chodziło (na wielu stronach znalazłem rozwiązania zajmujące 50 linijek kodu, tylko po co?). Wystarczy dany TextBox umieścić w ViewBoxie, który po prostu będzie zmniejszał kontrolkę jeżeli jej wielość wzrośnie.

   <Grid>
    <Viewbox>
        <TextBlock TextWrapping="Wrap" Text="Some Text" />
    </Viewbox>
   </Grid>