Kurs, veritabanındaki bir satır değil, bir uygulamadır
Kurslar bir içerik sistemine dosya olarak yüklenmez. Her biri kendi alan adında, kendi küçük uygulaması olarak derlenip dağıtılır ve danıştığı merci elmo'dur. Bir kursun etkileşimli materyal, kendi arama dizini ve kendi videosunu taşıyabilmesini — ve bunların hiçbirinin platformun derdi hâline gelmemesini — sağlayan budur.
Kendi alan adında, kendi uygulaması
Bir kurs, küçük bir web uygulaması gibi derlenip dağıtılır. Kendi alan adı, kendi derlemesi, kendi sürüm geçmişi vardır. Bir kursta olan hiçbir şey diğerini bozamaz, bir kursta olan hiçbir şey platformu bozamaz — hatalı bir yayının etki alanı tek bir kurstur.
Kendi sınırında denetlenir
Denetim, sayfaların içinde değil kursun önünde durur; bu yüzden 300 sayfanın 40'ıncısında unutulamaz. Kimliği doğrulanmamış istek girişe yönlendirilir; doğrulanmış ama erişimi olmayan istek doğrudan reddedilir. Kursun arama dizini de sayfalarla aynı kapının arkasındadır, çünkü bir kursun dizini o kursun kendisidir.
Tüm katalog boyunca aranabilir
Her kurs ayrıca derslerinin, sınavlarının ve videolarının bir dizinini platforma yayımlar; böylece "bunu hangi kursumuz kapsıyor" sorusu tek seferde her şey üzerinden cevaplanabilir — Türkçe ve İngilizce, her biri ayrımsız metin olarak değil doğru dil kurallarıyla sıralanarak. Cevap anahtarları yayımlanan şeyin parçası asla değildir.
Görünürlük, konu grupları üzerinden yazılır
Kurslar, bir yöneticinin yönettiği gruplara yerleştirilir; görünürlük izin listesi ise tek tek kurslar, bütün gruplar veya her şey olarak yazılır. Birden fazlası birleşerek toplanır. Bu liste kişinin neyi görüp talep edebileceğini sınırlar; bilinçli olarak erişim denetimi değildir, dolayısıyla yanlış yazılması bir kursu açmaz, gizler.
Gerçek bir içindekiler listesi ve gerçek bir içerik tarihi
Her kurs, içerdiği sayfaları okuma sırasıyla ve içeriğinin gerçekten en son değiştiği tarihi yayımlar — katalog kaydına dokunulan günden değil, kursun kendi geçmişinden alınarak. Her tamamlanma rakamının ölçüldüğü payda budur; ikinci tarih ise "en son baktığımdan beri bu değişti mi" sorusunu cevaplayan tarihtir.
Video, kursun içinde taşınmaz
Saatlerce kayıt içeren bir kurs, aksi hâlde her düğümün çekmek zorunda kalacağı çok gigabaytlık bir imaj olurdu. Bunun yerine video, sayfalarla aynı oturum denetiminin arkasından, paylaşımlı depolamadan sunulur — yani bir kayıt, tahmin edilmesi zor olduğu için güvenli sayılan herkese açık bir adres değildir.
İki dil, tek kurs
İki sürümün ayrı kayıtlara ve ayrı tamamlanmaya sahip olması gerektiğinde bir kurs ayrı adlarla iki kez yayımlanabilir; iki dildeki tek bir kurs söz konusu olduğunda ise aynı adreslerde her iki dili sunarak bir kez yayımlanır. İkinci biçim, dil değiştirmenin kursiyere hiçbir zaman ilerlemesine mal olmaması demektir, çünkü sayfanın adresi dille birlikte değişmez.
Materyal ne gerektiriyorsa
Kurs bir yükleme değil bir uygulama olduğu için, eğitim materyalinin gerçekten ihtiyaç duyduğu şeyleri taşıyabilir: çalıştırılabilir kod hücreleri, notlandırılan soru bankaları, okuyucunun temasına uyan şemalar, cihazlardan alınmış gerçek çıktılar. Bunların hiçbirinin önce platforma bir özellik talebine dönüşmesi gerekmez.
Kursları bu şekilde dağıtmanın gerçek bir bedeli var ve bunu açıkça söylemek gerekir: kurs, tarayıcıdan yüklediğiniz değil, dağıttığınız bir şeydir. Buna karşılık bir kurs, HTTP konuşan her şey olabilir ve bir kursu yayımlamak hiçbir zaman platformu yeniden sürmek anlamına gelmez.