Skocz do zawartości
PapaSmerf

Screenr - narzędzie do generowania zrzutów i miniatur stron

Polecane posty

Hej,

 

chciałbym przedstawić i poddać Waszej ocenie nowy projekt: Screenr. Wszelka krytyka (lub też dobre słowo) mile widziane!

 

Jest to niewielkie narzędzie online do tworzenia zrzutów stron oraz miniatur stron internetowych udostępniające proste API oraz umożliwiające zagnieżdżanie zarzutów, bądź miniatur, bezpośrednio na stronach internetowych.

 

Aplikacja znajduje się obecnie w fazie publicznej bety - aczkolwiek wszystko powinno działać jak należy.

 

Całość składa się z kilku komponentów: interfejsu webowego oraz workerów. Głównym elementem serwisu jest aplikacja webowa stojąca na Symfony 2. Rodziela ona zadania pomiędzy poszczególnymi workerami. Same workery odpowiadają za generowanie zrzutów oraz miniatur. Oba te elementy są od siebie odseparowane: znajdują się na innych fizycznych maszynach, a także są od siebie zupełnie niezależne.

 

Aktualnie postawione są dwa workery: jeden napisany w PHP, drugi napisany w Pythonie. Oba wykorzystują silnik Webkit do pobierania zrzutu strony, ale oba robią to w inny sposób i z wykorzystaniem innych narzędzi. Najlepsze jest jednak to, że workery mogą robić praktycznie rzecz biorąc wszystko: jeśli zajdzie potrzeba udostępnienia przeglądarek? Nie ma problemu - lekka zmiana API po stronie frontendu aplikacji oraz napisanie odpowiedniego workera (akurat taka funkcjonalność znajduje się na mapie drogowej).

 

Co w tym fajnego?

- odpowiednie nagłówki w zależności od statusu żądania

- odpowiednie wymiary zwracanych grafik - brak problemów przy umieszczaniu zrzutu w tagu <img>

 

Jak to działa?

Po wysłaniu żądania, jest ono umieszczone w kolejce oraz natychmiast wysłane do wolnego (bądź z najmniejszą kolejką) workera. Worker obsługuje żądanie i uaktualnia status w bazie danych. W zależności od statusu żądania jest zwracany odpowiedni nagłówek oraz placeholder. Po skończeniu pracy przez worker, zrzut lub miniatura są przesyłane do wewnętrznego storage'u i zwracane. Grafiki są cacheowane przez 24 godziny (wartość ustawiona na sztywno, niedługo będzie konfigurowalna poprzez API podobnie jak i format, etc.).

 

Wykorzystane technologie:

- PHP (Symfony 2)

- MySQL

- Node.js

- Redis

- Python (worker).

 

Znane problemy:

- obsługa Flasha.

 

Dokumentacja oraz formularz demo są dostępne pod adresem http://screenr.co.

 

Przykładowa miniatura WHT o wymiarach 500x500 pikseli:

post-10237-0-76607900-1403649315_thumb.jpg

 

Za wszelkie opinie, serdeczne dzięki.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Ciekawy projekt... całkiem szybko działa... jak już wspominał Kamikadze - fajnie by było gdyby działał z samą domeną... Docelowo będzie płatne, czy za free? Przewidujecie jakieś limity?

 

Przydałaby się też informacja że dany screen pochodzi z cache, oraz możliwość wymuszenia odświeżenia, bo jak widać w przypadku powyżej - wygląda jakby style się nie załadowały i teraz trzeba czekać 24h na odświeżenie.

Edytowano przez likufanele (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przy wpisywaniu bez http:// wywala błąd. Może warto dorobić opcję bez przedrostka?

 

edit:

 

U mnie się coś krzaczy :)

 

http://screenr.co/api/screenshot?url=http%3A%2F%2Fserwerstatus.pl&width=1280&height=

Sprawdzę w wolnej chwili co tam się dzieje, bo style mobilne nie powinny się raczej ładować :)

 

Faktycznie warto dodać adres bez protokołu - zapisane.

 

Ciekawy projekt... całkiem szybko działa... jak już wspominał Kamikadze - fajnie by było gdyby działał z samą domeną... Docelowo będzie płatne, czy za free? Przewidujecie jakieś limity?

Wszystko zależy od samego zainteresowania, ale na pewno nie na chwilę obecną. Do projektu mamy całkiem sporą mapę drogową i kiedy zaimplementujemy wszystkie ficzery, to wtedy będzie można pomyśleć.

 

Przydałaby się też informacja że dany screen pochodzi z cache, oraz możliwość wymuszenia odświeżenia, bo jak widać w przypadku powyżej - wygląda jakby style się nie załadowały i teraz trzeba czekać 24h na odświeżenie.

Bardzo dobra sugestia, już zapisana. Może uda się jeszcze w tym tygodniu wdorżyć.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Jeszcze dodaj proste linki żeby było można komuś podesłać i przycisk download.

 

Jakiś czas temu korzystałem z podobnego narzędzia i te dwa bajery były przydatne :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

jeśli zajdzie potrzeba udostępnienia przeglądarek? Nie ma problemu - lekka zmiana API po stronie frontendu aplikacji oraz napisanie odpowiedniego workera (akurat taka funkcjonalność znajduje się na mapie drogowej).

Jeśli dacie wybór przeglądarki(a nawet z podziałem na ich wersje) to będziecie "na propsach" :)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

No i jeszcze konta użytkowników by się przydały, żeby każdy miał szybki łatwy dostęp do swoich „screenrców”. ;)

 

A poza tym, to bardzo dobrze działa. ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Świetna sprawa. Tak jak koledzy wyżej pisali - szybko działa. W sieci jest wiele podobnych narzędzi tylko czasm nie wiadomo czy jeszcze trzeba czekać czy wystapił jakiś błąd. Parę stronek sprawdziłem i jest wszystko dobrze 1:1. Takie narzędzie bywa pomocne w życiu web designera. Żeby tylko nie było przymusu logowania ;)

 

Ładny design.

 

Flashem się nie przejmuj, za niedługo nikt poważny tego nie będzie używał - lepiej dopracować wspomniane szczegóły. Narzędzie jest po angielsku czyli mierzysz wysoko - Powodzenia!

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Dziwna sprawa bo właśnie chciałem przetestować Twoją aplikację i niestety nie generuje mi żadnego screena. Może aktualnie coś zmieniasz na stronie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Coś się chyba sypnęło bo się dłuuuuuuuuuuuuuugo włącza...

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

http://i.imgur.com/RbOW7PM.jpg

 

U mnie generuje coś takiego, szerokość 392 pixele.

Można to poprawić aby chociaż było z 1000px szerokości?

Hm, sprawdziłem i leci dobrze: http://screenr.co/api/screenshot?url=http%3A%2F%2Fwww.androidpolice.com%2F2014%2F06%2F26%2Finitial-hands-on-android-l-developer-preview-on-the-nexus-5%2F&width=1280&height=.

 

Dziwna sprawa bo właśnie chciałem przetestować Twoją aplikację i niestety nie generuje mi żadnego screena. Może aktualnie coś zmieniasz na stronie.

W logach monitoringu cisza.

 

Pewnie worker coś zepsuł, a nie ma możliwości odświeżenia cachu (na razie - w tym tygodniu powinna być).

 

No i jeszcze konta użytkowników by się przydały, żeby każdy miał szybki łatwy dostęp do swoich „screenrców”. ;)

 

A poza tym, to bardzo dobrze działa. ;)

Dzięki za opinie. Nad kontami myśleliśmy sporo, na razie jest tak jak jest. Wolimy się skupić na testowaniu różnych workerów i wybraniu najlepszego na chwilę obecną. Konta potem dojdą prawdopodobnie.

 

Jeśli dacie wybór przeglądarki(a nawet z podziałem na ich wersje) to będziecie "na propsach" :)

W przyszłym tygodniu będziemy testować dwie implementacje workera z podziałem na przeglądarki i wersje przy czym chyba zostaniemy przy jednym OSie - Windows (na razie lecą oba workery na Debianie).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość IStreamPL

Jak używasz linku z przecinkami w sobie np:

http://www.tuwroclaw.com/wiadomosci,nachalnie-zebrzacy-rom-na-wroclawskim-rynku-wulgarnie-wyzywal-tych-ktorzy-nie-chcieli-sypnac-mu-groszem,wia5-3266-20838.html

Skrypt wariuje i obcina link przez co wychodzi to:
IYgkk9b.jpg

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jak używasz linku z przecinkami w sobie np:

 

http://www.tuwroclaw.com/wiadomosci,nachalnie-zebrzacy-rom-na-wroclawskim-rynku-wulgarnie-wyzywal-tych-ktorzy-nie-chcieli-sypnac-mu-groszem,wia5-3266-20838.html

 

Strasznie dziwne, ale dzięki za zgłoszenie.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Screenr doczeka się zmian:

- będą przeglądarki do wyboru (Firefox, Chrome, Opera, IE, być może Safari) - parę wersji do tyłu

- prawdopodobnie będą konta użytkowników - postaramy się jednak zostawić jakiś endpoint dla wszystkich. Nie dla wszystkich będzie to dobra wiadomość, ale będzie możliwość zobaczenia historii swoich "screenrów", pobranie wszystkich w paczce, etc.

- cache będzie konfigurowalny i będzie można odświeżyć grafikę na żądanie.

 

Możliwe, że będzie można włączyć za pomocą parametru w API AdBlocka. Na pewno będzie pełne wsparcie Flasha, video, HTML5 - po prostu za wszelkie ficzery będą odpowiadały teraz fizyczne przeglądarki, a nie proteza Webkita jak do tej pory. Zbieramy teraz feedback pod kątem zainteresowania płatnym API (jeśli go wprowadzimy, to konto darmowe na pewno zostanie - na pewno nie będą to kwoty duże - niech się częściowo zwrócą workery i będzie git), wsparciem dla CDNów i zewnętrznego storage, wsparciem przeglądarek mobilnych. Głównym celem będzie utrzymanie szybkości działania. Rezygnujemy jednak całkowicie z PHP po stronie workera - pozostanie tylko SF2 po stronie frontendu i API.

 

Jeśli macie jakieś sugestie bądź propozycje, będę wdzięczny.

 

Przyznam szczerze, że odzew użytkowników mnie bardzo pozytywnie zaskoczył :) Po wprowadzeniu i przetestowaniu tych zmian, wskoczymy na prostą do ostatecznej wersji produkcyjnej.

 

Wiem, wiem, forum to nie blog, ale jako, że narzędzie spotkało się z niezłym przyjęciem, to chcę się podzielić planami ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Aplikacja jest naprawdę dobra. Właśnie zrobiłem zrzut pewnego tutorialu o rozdzielczoście 1280x16865, który na wszelki wypadek sobie zapisałem bo chcę go później wykorzystać. Skopiowało się bezbłędnie. Za nic w świecie nie porzucaj tego projektu!

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Aplikacja jest naprawdę dobra. Właśnie zrobiłem zrzut pewnego tutorialu o rozdzielczoście 1280x16865, który na wszelki wypadek sobie zapisałem bo chcę go później wykorzystać. Skopiowało się bezbłędnie. Za nic w świecie nie porzucaj tego projektu!

 

Dzięki! Aktualnie pracujemy nad wyborem przeglądarek i ich wersji. Pod koniec przyszłego tygodnia, bądź na początku następnego tygodnia po nim następującego, postaramy się puścić betę nowej wersji (praktycznie rzecz biorąc nową aplikację, bo ze starej pozostanie tylko część frontendu).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość IStreamPL

pamiętaj o poprawieniu tych linków z przecinkiem w środku :) Do tej pory nie chce się generować.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Obecna wersja idzie do kosza. Za dużo zmian w zewnętrznym kodzie, żeby to sensownie poprawić (fonty, etc).

 

---

 

Będziemy na przełomie listopada/grudnia potrzebować chętnych do ostrego rzeźbienia nowej aplikacji. Ktoś ma jakieś zastosowanie i chciałby ewentualnie zgarnąć pro konto? ;)

Edytowano przez pedro84 (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie chcę zgarnąć pro konta, ale warto pomyśleć o generowaniu DOM (czyli po prostu gotowego HTML-a) zamiast grafiki. Coraz więcej stron, generuje kod html dynamicznie i roboty nie widzą co tak naprawdę jest na stronie. Za pomocą API serwer mógłby kierować robota na wygenerowaną przez Was stronę, która mogłaby zostać poprawnie zindexowana, zamiast rzeczywistej.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Nie chcę zgarnąć pro konta, ale warto pomyśleć o generowaniu DOM (czyli po prostu gotowego HTML-a) zamiast grafiki. Coraz więcej stron, generuje kod html dynamicznie i roboty nie widzą co tak naprawdę jest na stronie. Za pomocą API serwer mógłby kierować robota na wygenerowaną przez Was stronę, która mogłaby zostać poprawnie zindexowana, zamiast rzeczywistej.

 

Ciekawy pomysł. Na pewno w nowej wersji będzie możliwość wyboru formatu odpowiedzi, a to faktycznie może się przydać.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Jestem jak najbardziej za gotowym kodem HTML. Jest dobrze a może być jeszcze lepiej.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przy próbie dodania strony z httpS wywala

An error occured while processing your request. Please try again later.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się


×