3

CodeLab近况与未来_02

 2 years ago
source link: http://wwj718.github.io/post/%E5%B0%91%E5%84%BF%E7%BC%96%E7%A8%8B/codelab-recent-situation-and-future/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

CodeLab近况与未来_02

2019-02-18

CodeLab近期有很多有趣的进展,我试着梳理CodeLab近况,让关心我们的人及时获取信息,以便了解如何参与其中。

目前CodeLab的两个里程碑仍在推进中,所以我们暂时没有大规模动作。许多热心的志愿者来邮件问目前有什么事可以帮上忙。大家不必着急,三月份我们的两个里程碑都将达成,之后需要大家一起推进的事多着呢。

今晚坐动卧去杭州,明天一早到,往后的几天将会在江浙一带,与几个团队碰面。陆续有公司希望与我们建立合作。

明天的行程里,上午与杭州地区热心的CodeLab志愿者碰面,下午与网易团队碰面。

我平时出行喜欢挑在夜间。夜间随火车穿梭在荒山野岭,手机信号不好,网络接近于无。周围无一物熟悉,无一人熟悉,窗外灯火与乡村变幻不定。日常被远远甩在身后。车上的这段时间,无事处理,无所挂怀,于是心境澄明得很。再适合写作不过了。

废话不说,开始我们的梳理。

在梳理近况之前,先来鸟瞰一番CodeLab的未来。

随着对手头事物的推进,我们逐渐看清了Codelab的未来。关于它将走向何方,我们将做什么,以及不做什么。

CodeLab志愿者@Finn帮忙梳理的这张图,包含了我们未来将要做的事情。

这张图中的很多计划,此前在关于codelab.club做了阐述。

我将规划的内部版本也放出来。

这个版本包含了许多代号,除非你是CodeLab铁杆粉,且时间充裕,一直在跟进我们的所有进展,否则里边名词太多,看起来不如上边一张图容易理解。能将更多信息透明总是好事,所以一并开放出来。以后我们谈论具体事务,还要经常用到这两张图。

下边我们将围绕图中板块,来介绍CodeLab的近况。

codelab-adapter

codelab-adapter截止到目前(2019.02.18)已经推出了第七个大版本。在近期的更新中,我们对其做了大量改进,我们从Smalltalk和Bret那儿学习设计原则,也从他们那儿学会思考,关于什么是好的创造工具。

changelog记录了codelab-adapter近期所有的改进。

近期我们增加了许多有趣的特性,包括:

内置微信插件

相信这是个killer app级的extension。我们已经将其做到了开箱即用,削减了所有不必要的复杂度。

它可以用于以下场景

codelab-adapter已经接入了主流的智能家居设备,在微信插件加持下,我们可以做到用微信控制家庭设备,睡前关灯再也不用喊天猫精灵,一喊睡意全没了,给自己的账号发条晚安就行:)

下雪天不想起床关灯? 读书困了不想起床关灯? 我就是懒不想起床关灯? 没关系的,懒惰是创造者的美德:)

发一条晚安信息,房间与你一同进入睡眠模式。

codelab-adapter正在接入智能门锁(深圳绿米公司赠与了我们智能门锁,希望一起探索这块的合作可能)。

设想你组织了个party,每次有人按门铃都得去开门,是不是很烦躁?

把参与者拉到一个微信群,他们一到门口,在群里吼一身芝麻开门, 门即刻自动打开。 codelab-adapter一端连接微信,一端连接智能门锁。要做到这点,只需在Scratch中拖几块积木,将它们拼一起即可。 这便是我们期待的编程教育。

我们正在接入脑电波传感器。当你想念某个人的时候,脑电波传感器一旦捕获到你的情绪,立刻触发微信积木块,给心上人发送一条来自远方的惦念。

来看个简单的演示:

支持在web页面启停插件

通过支持在web页面启停插件,开发者可以自己构建插件管理UI!如此一来,你可以将codelab-adapter当作后台服务。这能够避免用户在多个工具中来回切换,减少不必要的认知负担。

任何能够降低用户使用门槛的改进,我们都将竭力去做。

提高开放性

codelab-adapter希望构建开发者生态。

所以我们关注开放性, 在这方面我们做了不少工作:

CodeLab相信一个好的工具,应该是灵活的,工具的作者无法穷尽使用场景,尤其当它是一个创造性工具的时候。如果我们我们宣称已经打造了一个完整的封闭生态,意味着这个工具支持的创造也十分有限。

有黑客精神的开发者要问了: “说了半天开放性,那你们源码究竟什么时候开源? 对于我们这些黑客来说,破解它虽不难吧,但你知道的,麻烦多在破解之后,读一堆注释不清晰的源码,不是什么愉快的经历,尤其是它还一直在迭代更新。如果codelab-adapter能主动公开源代码,并附以清晰的注释和文档,将更容易赢得我们尊重”

别急别急,我们也认同开源不是甩出一堆糟糕的源码,它需要清晰的注释、完整的文档,以及一群热情的开发者。就像Django/Keras/Home Assistant这些社区所做的,而Scratch在开源这块做得并不理想。

codelab-adapter目前迭代更新很快,在realktalk协议发布之后,我们将迎来一次大更新,以实现该协议,因为dynamicland试图打造的用以支持创造的环境,也正是codelab所追求的星辰大海。在这个里程碑之后,codelab-adapter将正式发布v1.0版本,此后codelab-adapter将趋于稳定,那时我们将开源所有的源代码。

CodeLab是一个非营利组织,开放是我们追求的目标之一。


其他的重要改进包括:

  • 添加web调试(Debug)页面
  • 内置Python kernel插件
  • 内置树莓派(Raspberry Pi)插件
  • 支撑多个client并行作为UI
  • 将消息用作内部管理机制
  • 允许跨域访问websocket/REST API

所有改进列表参考changelog

这部分的最后一节,我们放出codelab-adapter下个版本的谍照。

codelab-adapter的下一次大更新中,将使用pyqt5作为UI库。目前已经完成了90%的迁移工作,一旦测试完成, 确保了稳定性,我们就会发布。

CodeLab正基于Scratch3.0构建在线社区。

我们致力于实现以下目标:

  • 理解Scratch3.0的架构设计
  • 理解Scratch拥有强大兼容性的原因
  • 梳理Scratch3.0产品背后使用的一些设计原则
    • 表现与实现的分离
    • everything is a message
  • 按照Scratch一贯的设计原则,独立实现Scratch并未开源的部分。确保之后能随着Scratch一同升级,架构上保证向后兼容。
  • 顺着Scratch的思路,对Scratch作出改进。

总而言之,我们希望通过这些分析,获得定制scratch的能力,但同时又能与上游的官方版本保持兼容。我们重视官方对Scratch的改进。与其说我们重视他们技术能力,不如说我们重视他们对教育和社区的深刻理解,这些是极为稀缺的,它不是技术问题,也不是资金问题。我们希望能随时将官方的改进merge回我们调整后的项目中。我们不希望做出硬分叉。

为了实现这个目标,我们付出了很多努力,写了不少技术文章:

所有的这些工作,都分享给了技术社区。

截至目前,我们已经完成了主要后端API,线上社区将全面接入codelab-adapter,技术层面,它将会是全球连接能力最强大的积木化编程社区之一,我们私底下觉得没有之一,哈哈,我们就私底下说说,大家别外传。希望3月份,新社区能与大家见面。

4月8号,我们将赴MIT,向Scratch团队展示我们取得的进展,试图推进工具链的整合,也希望将我们在技术上的许多探索,能够合并到全球社区中。

Neverland

抛开线上社区,另一个里程碑是Neverland。

Neverland目前还在装修中,按计划,它将三月中旬投入使用。

我们尽可能避免甲醛材料的使用,在投入使用前,将做一次去甲醛处理,测试有害物质合格之后再投入使用。

新的探索方向

CodeLab目前做了大量有趣的技术探索,仿佛是一个由技术驱动的组织,我们的确关注技术,但我们更关注教育,CodeLab将制作内容,但我们不会制作code.org或者Tynker正在做的东西,目前的内容已经高度同质化,我们会追随使命去探索。CodeLab在内容上的探索,将如同我们在技术上的探索一样独特。

目前CodeLab志愿者@MT和@Eric正在探索两个方向,我们暂时将其命名为

  • CodeLab Mindstorms
  • CodeLab 未来社

最终采用的名字将由两位发起人来确定,他们目前还没有想好名字。

CodeLab Mindstorms将关注编程教育,但不准备发表“编程有助于提高逻辑思维能力”之类的陈词滥调。CodeLab Mindstorms关注认知论、学习者的心理模型、建构主义、面向对象、设计原则,CodeLab Mindstorms将翻译和解读这个领域最优秀的探索者所做的工作,这些工作中的大多数已经被遗忘,有一部分正在被复活(如Dynamicland、Scratch Team和艾伦凯正在做的事情),但关注者寥寥,CodeLab Mindstorms将解读约翰·杜威(John Dewey)道格拉斯·恩格尔巴特(Douglas Engelbart)皮亚杰(Jean Piaget)艾伦·凯(Alan Curtis Kay)派普特(Seymour Papert)密契尔(Mitchel Resnick)Bret Victor等人的工作。目前@MT正带着他的学生在推进这块的工作。

CodeLab未来社 由@Eric负责推进,Eric钟情于哲学、禅与科幻小说,居于加拿大,是两个孩子的奶爸。Eric一直热衷于教育事业。

CodeLab未来社 将围绕Neverland这个实体空间,创作关于未来的情景剧。CodeLab未来社将围绕Neverland发生的事,制作有趣的情景故事(想想《生活大爆炸》)。科幻有时候比科普更容易打动人心,关于未来的各种可能性、未来的人们将与怎样的智能机器相处、未来的计算机如何逃出方形盒子成为现实世界的一部分、什么是人们从小应该接受的教育、什么是人性化的技术(Bret正在做这方面的探索),我们希望通过关于未来的故事展示出来。希望那些热爱故事的孩子,燃起对技术的热情。我们描述未来,因为我们准备与你一起抵达它,CodeLab帮助你做好准备,这正是你为何加入其中的原因。

此前在关于codelab.club表述到:

《理想国》里说:“言语是一种比蜡还容易随意捏造的材料”, 它如此灵活,能够用来与朋友逗乐,用来表达你的思想,用来创造诗歌与小说;编程就像言语,它同样可以用来表达你的想法,用来与朋友逗乐,以及,用来创造。它让你与世间的万物沟通,你可以用它创造一个飞行器,制作一个体感游戏,或是让自己的房间变得智能。你可以在朋友生日那天,在Ta进门的一刻,将手中的魔杖一挥,在空中划一个字母L的轨迹,瞬间,点亮房间里五彩的灯光。在codelab.club,你将轻松做出这样的魔杖。如果你愿意,你可以将codelab.club看作霍格沃茨(Hogwarts)。

CodeLab未来社 不准备说教,我们展示一个未来,这里充满魔法,如你所见,但它们都是现实,没有任何特效和后期。任何先进的技术,都接近魔法。

此前一直困于找不到理想的内容创作团队,对于舞台表演,对于如何抓住观众的兴趣,我们毫无经验,如何招到充满创意创作者,我们也没有头绪,近期,已经很大有了突破,我们跨界找到了理想中的一群人 :)

让未来到来。

搞不懂动卧列车为何没有电脑插座,快没电了,吓得我赶紧进入尾声部分。

来自社区的鼓励

目前技术社区慷慨地给予我们鼓励,包括教育社区、机器人社区以及黑客社区。

国外技术社区,有不少用户在使用CodeLab的东西,包括非营利组织成员、流行电脑杂志专栏作者、孩子他爸、高中老师…

使用CodeLab工具的Scratch用户则他们希望我们在扩展Scratch这块的工作,能合并到官方社区中。

来自硬件公司的赠与

有不少硬件公司试图与CodeLab建立合作,在我们完成手头的里程碑之前,我们无法支出太多时间在合作事项上。在我们无法给出任何承诺的情况下,他们依然赠与我们全套的最新设备(其中有一些价格不菲),他们还建立了技术小组推进对接事项。

即便如此,我们还是需要在此声明CodeLab是非营利组织,对我们来说,使命比建立合作要重要,当然,两者并不是经常冲突,但在早期阶段,时间是我们的稀缺资源,所以我们会优先关注使命而不是合作,有不周之处,望大家见谅。

但我们不希望伤了社区的热心,所以我们努力去构建开放的接入机制,允许任何组织/公司或个人接入我们的项目,我们乐意将万物积木化的能力分享给大家。关于开放机制有任何问题,大家都可以随时邮件联系我们。

感谢目前所有赠送硬件给CodeLab的企业。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK