Abstraktní Wikipedie/Aktualizace/2023-01-19
◀ | Aktualizace Abstraktní Wikipedie | ▶ |
Stav Wikifunkcí v lednu 2023
Kde jsme?
Vzhledem k tomu, že se jedná o náš stý zpravodaj a že je to také dobrý způsob, jak zahájit rok 2023, chtěli jsme poskytnout obecný přehled o stavu projektu a o tom, co zbývá udělat před jeho spuštěním.
V loňském roce jsme zaznamenali velký pokrok. Spustili jsme Betu Wikifunkcí a zaznamenali jsme v ní určité zapojení uživatelů - děkujeme všem, kteří si ji vyzkoušeli! Také jsme měli účast stážistů z Google.org, což vedlo k určitému přeskupení naší práce, abychom se přizpůsobili omezené dostupnosti specifických dovedností. Byl to rušný rok!
Wikifunkce již poskytují velké množství funkcí:
- Uživatelé mohou volat funkce
- Wikifunkce umožňují spouštět implementace v Pythonu a v JavaScriptu
- Wikifunkce umožňují skládat implementace z funkcí, které jsou nakonec napsány v různých programovacích jazycích
- Wikifunkce umožňují tvořit uživatelsky definované typy a uživatelsky definované validátory pro tyto typy
- Přispěvatelé mohou vytvářet instance uživatelsky definovaných a předem vytvořených typů a ukládat je na wiki
- K dispozici je snadno použitelné workflow pro vytváření funkcí
- Generické typy a generické funkce jsou podporovány backendem, což umožňuje výkonné implementace
- Funkce mohou mít několik implementací a backend vybere implementaci, která bude spuštěna pro dané volání funkce
- Testy jsou prováděny proti daným implementacím
- Komunita může schvalovat a deaktivovat jednotlivé implementace a testy, což komunitě umožňuje zjistit, co která funkce přesně znamená
- Celý frontend je plně vícejazyčný a podporuje zobrazování a úpravy štítků ve stovkách jazyků
- Stránky fungují jak na počítači, tak na mobilu. Jsme nadšeni, že můžeme poskytnout prostředí, ve kterém mohou uživatelé mobilních zařízení využívat a také vytvářet funkce.
- Při spuštění funkce se shromažďují různá metadata, která jsou k dispozici v uživatelském rozhraní.
Zrovna před dvěma týdny se mě moje osmiletá dcera ptala, na čem pracuji, a já jsem ji krátce seznámil s Wikifunkcemi. Ukázal jsem jí funkci reverse (obrátit) na Wikifunkcích a ona se náramně bavila tím, že vymýšlela zdánlivě nesmyslné řetězce, které zadala do Wikifunkcí, spustila funkci a systém nám zobrazil neslušná slova.
V posledních několika týdnech jsme se soustředili na změnu harmonogramu a priority funkcí, abychom se rychle posunuli ke spuštění.
V současné době jsme uprostřed navrhování a implementace uživatelského rozhraní. Na dvou párech snímků obrazovky níže si můžete prohlédnout změny, které již byly provedeny, a změny, na kterých pracujeme.
Prozatím si můžete prohlédnout náhled nového prohlížeče objektů a porovnat jej se současným prohlížečem objektů na platformě Beta. Interaktivní funkce u složitých objektů jsou obzvláště zajímavé pro hraní a porovnávání. Toto zobrazení je nyní ve fázi intenzivního vývoje.
Také jsme vydali významnou opravu pro trvalé ukládání výsledků testů do cache, která pomůže vyřešit některé závažné problémy s výkonem, kterých si mohli všimnout mnozí návštěvníci betaverze. Navíc brzy umožní další významný krok: na základě metadat výsledků testů začne backend vybírat výkonnější implementace. Zatímco v současné době vybírá implementaci náhodně, v blízké budoucnosti bude podstatně chytřejší.
Co zbývá?
Jaké jsou hlavní úkoly, které chceme splnit před spuštěním Wikifunkcí?
- zajistit, aby vyhodnocování funkcí probíhalo vždy správně; zbývá vyřešit několik tvrdohlavých okrajových případů (současná fáze, θ, Cíl 2)
- dokončit návrh a implementaci uživatelského rozhraní, aby čtenáři a přispěvatelé měli z používání Wikifunkcí příjemný zážitek (současná fáze, θ, cíle 5, 9 a 10)
- vytvořit a spravovat uživatelská práva relevantní pro Wikifunkce, protože existuje několik nových práv, které současné wiki nemají (současná fáze, θ, Cíl 6)
- zobrazit historii úprav / diffy, aby bylo možné porozumět změnám ve wiki (současná fáze, θ, Cíl 6)
- opravit několik problémů s hlášením chyb (další fáze, ι)
- poskytnout přepínač jazyků pro webové stránky, aby uživatelé mohli používat a číst Wikifunkce ve svém jazyce (další fáze, ι)
- shromažďovat metriky, které nám pomohou pochopit, jak se Wikifunkce vyvíjí, a rozpoznat příležitosti a úzká hrdla systému (další fáze, ι)
- zprovoznit vyhledávání, aby se lidé mohli lépe orientovat (další fáze, ι)
- umožnit uživatelům psát dokumentaci k jejich vlastním funkcím, vysvětlit jejich funkce a podpořit jejich používání (další fáze, ι)
Stále je před námi spousta práce. Pokrok můžete sledovat buď na betaverzi, kde běží nejnovější vývojová verze, nebo prostřednictvím těchto zpráv, kde budeme o našem postupu i nadále informovat.
Těšíme se na rok 2023!
Aktualizace vývoje ke dni 13. ledna 2023
- Významný pokrok v rámci cíle 4 (Implementace zobrazení funkcí). V rámci závěrečné akce jsme uzavřeli dvě ze tří kritických uživatelských cest (napojení implementace a vytvoření definice funkce) spojených s tímto cílem a určili zbývající úkoly pro tento cíl. Od té doby bylo možné uzavřít všechny kromě jednoho a poslední (implementace oddělení polí a změn bloků) je v procesu revizi. Je velmi pravděpodobné, že příští týden uzavřeme i tuto poslední kritickou cestu uživatele v rámci tohoto cíle, včetně samotného Cíle 4.
- Pracovní tým Experience se přesunul na Cíl 5 (Implementace výchozího prohlížeče objektů). Tento týden jsme se dočkali uzavření návrhu pro seznamy a dokončení prvních částí.
- V Cíli 3 (Meta-data) nám zbývají už jen tři úkoly! Konečně se do procesu review dostal větší patch, který se připravoval od srpna a který výrazně zlepší výkonnost systému.
- Měli jsme první dobrovolnický koutek v tomto roce. Tentokrát jsme použili Jitsi (ale nemohli jsme použít instanci nadace) a zúčastnilo se ho sedm dobrovolníků. Sezení bylo živé a mělo mnoho dotazů a doufáme, že se nám podaří získat nového dobrovolníka vývojáře do našeho širšího ekosystému.