I'm Aza Raskin @aza. I make shiny things. I simplify.

I'm VP at Jawbone, focusing on health.


Enso Developer Prototype

Ever since we launched Enso, we’ve been getting feedback like this:

— When are you going to come out with the Python API for commands?
— I’m looking for a way to extend Enso.
— Is it is possible to enrich Enso with custom commands?
— I heard there will be support to create your own commands. How far off is this?
— An SDK would be wonderful!
— Being a Python developer, I am very interested in the ability to expand Enso.
— Would you have any available API’s?

The entire Humanized team is extremely proud to announce that the answer to whether is “Yes“, and the answer to when is “Now“! Today marks the release of Enso Developer Prototype, which lets anyone develop commands for Enso. It’s free and it’s available for download.

To develop for Enso, you’ll need the above download and a programming language that can do XML-RPC. Any programming language will do. We use Python, but feel free to use whatever you feel most comfortable in, whether it be Ruby, C++, or a .NET language.

Head on over to the Enso Dev Wiki to find HOWTOs, commands/code snippets, and the API reference. At the moment, we only have examples for Python, so we would love it if you’d help out and share your experiences and code for other languages. It’s a normal wiki, so feel free to dive in.

Why do we call it a prototype? Because we’re pretty sure that Enso’s got some big—and awesome—changes coming. We will make changes to the API as we improve the Enso core; we’ll try to keep it backwards-compatible but we can’t promise anything. But we wanted to get something out there for all of you who’ve been wanting to add your own commands. To paraphrase Jono’s recent article on OSS software, the strength of a program—especially a universal program like Enso—is the strength of its extensions and its community. The Enso Developer Prototype is released in honor of you.

Happy Enso day. Go forth and create!

RT @aza Enso Developer Prototype | Follow @aza on Twitter | All blog posts

View all 104 comments

Awesome. I finally got off my arse and bought Enso for this!

Exciting news, congratulations, love the wiki aspect.

    Thank you guys! Awesome work as aywals, looking forward to using the Testbed and the new blobstore API.

I don’t have windows, so I can’t get massively excited by this like I want to, but the second I saw the API I knew a better way to do it, that I really wanted to implement.

I’ve put this up on the wiki on the Design Patterns page, basically it provides a class that can be inherited from which will register all the methods of that class that don’t begin with ‘_’ with a central command handling object, which is then made the XMLRPC handling object.

It derives the type of the postfix by introspecting on the signature of the methods, and uses the docstring as a description. I want to add support to either include semantic data in the docstring, or to have the developer set properties on their method. (Yes, you can set properties on a method since it’s just an object.)


Cool, thanks a lot Alexander! Congratulations for being the first person outside of Humanized to contribute sample code.

We wanted to keep the basic API as simple as possible, with the intention that people could build what they wanted on top of it.

The architecture you’ve described has a lot of advantages. Thanks for sharing it!

Nick Largent

This is awesome. I can’t wait to start building some extensions. As great as python is, for those of us who prefer ruby, I have added a short example to the wiki. I will add more later after I learn a bit more about the API.

Thanks Jono!

I switched to using a decorator to set properties on the method (so that it consolidates it all in one place and so I don’t have to write a parser for a docstring format). It has some default values it will use if you don’t set certain properties, and currently a method has to be wrapped in the decorator to be useable. As an upshot, it’s quite straight forward to wrap a regular function with the decorator and pass it to EnsoCommandHandler’s register method, so method’s don’t have to part of a wrapped class.

Thanks, Nick! It’s good to have the Ruby crowd on board, too. We love Python, but that doesn’t mean we hate Ruby :)

Thanks, Humanized! This is exactly what I was hoping you were going to release when you first started hinting at the Beta products.

And thanks, Nick. With your example as a base, I was able to write a quick song tagging extension with no trouble.

Well, with a little trouble. I have to remember that the command name changes when the type of postfix changes…

Well I decided to write a Python Command Server(link is to the enso wiki) that simplified command creation a little bit. Instead of having to create a thread, setup the XMLRPC and run an instance of python per command you wish to add the Command Server lets you add any number of commands to the Servers instance of python and have them work with Enso.

This is very useful IMHO since threads are a limited resource, and each python instance takes up ~6 megs of RAM. Also the Command Server has a bulitin reload commands command, so you can make changes or add new commands without having to restart the Command Server.


this si awesome! mwah


    wceiwaan on October 25, 2011 Come on, boy. Hold on to that hat! Run forit, boy! Run straight home and don’t stop ’til you getthere!

I don’t have windows, so I can’t get massively excited by this like I want to

I cannot understand which is the reason because you tolerate all these spam comments in your blog.

    You could also use the get_version() mothed to get a formatted string of the VERSION variable.>>> import django>>> django.get_version()’1.2.1′

There are definitely a whole lot of particulars like that to take into consideration. That is a great point to deliver up. I provide the thoughts above as common inspiration but clearly there are questions just like the one you carry up the place a very powerful thing will likely be working in sincere good faith. I don?t know if finest practices have emerged around things like that, but I’m certain that your job is clearly recognized as a fair game. Both girls and boys really feel the impression of only a moment’s pleasure, for the remainder of their lives.

Hi, I love your blog. Is there some thing I can do to obtain updates like a subscription or some thing? I am sorry I’m not familiar with RSS?


this is gonna be absent so soon

article is very nice and unique. thank you. Artikel kesehatan cari tahu tentang Cara mengobati cacar air

article on this site very useful. thanks – Sedang mencari rumah minimalis ? baca artikel tentang Info rumah minimalis secara gratis

Ultimately, an issue that i am passionate regarding. I’ve got seemed pertaining to info with this quality going back many hours. Your site can be greatly appreciated.

Hey, just looking around some blogs, seems a pretty nice platform you are using. I m currently using WordPress for a few of my sites but looking to change one of them over to a platform similar to yours as a trial run. Anything in particular you would recommend about it?

Wow, this was a really quality post. In theory I d like to write like this too taking time and actual effort to make a good post. but what can I say. I procrastinate alot and never appear to get something done.

Hi webmaster, commenters and everybody else !!! The blog was absolutely fantastic! Lots of great information and inspiration, both of which we all need!b Keep em coming. you all do such a great job at such Concepts. can t tell you how much I, for one appreciate all you do!

The post is pretty interesting. I really never thought I could have a good read by this time until I found out this site. I am grateful for the information given. your writing is also very excellent. Thanks for nice post. From the tons of comments on your articles, I guess I am not the only one having all the enjoyment here! keep up the good work.

Interesting topic for a blog. I have been searching the Internet for fun and came upon your website. Fabulous post. Thanks a ton for sharing your knowledge! It is great to see that some people still put in an effort into managing their websites. I ll be sure

Just what I needed. Thankyou I have been looking for this sort of information for ever. I have made note of your blog in order for me to read more on the topic.

i love your blog, i have it in my rss reader and always like new things coming up from it

I must tell you I am impressed. Very seldom do I encounter a blog that s both educative and entertaining. Just want to let you know that you have most definatly hit the nail on the head. Your thought is excellent. Thx is all I can say .

I actually learned about nearly all of this, but with that in mind, I think it is still useful. Great job!

Hello I found your blog by mistake when i was searching AOL for this matter, I must tell you your blog is actually useful I also adore the design, which is cool that!

With the whole thing that seems to be developing within subjects, all of your scenes are generally quite refreshing. Even so, I apologize, but I can not subscribe to your entire plan, all be it exhilarating none the less. It seems everyone your opinions are generally not completely Justified and in reality you are generally yourself not really fully convinced of the argument. In any case I do not appreciate a look.

I see you put a lot of work on this site! Keep writing!

An interesting dialogue is worth comment. I feel that you should write extra on this topic, it won, Aot be a taboo subject but usually people are not enough to speak on such topics. To the next. Hail

I was imprssed with the quality of the information on this website. There are many great resources here. I am sure I will visit this place soon.

This is a great resource that you are providing and you give it away for free. I enjoy seeing websites that understand the value of providing a major resource for free. I really loved reading your post. Thank you!

Super blog post, I count on updates by you.

I was very encouraged to find this site. I want to thank you for this special read. I definitely enjoyed every bit of it and I have you bookmarked to check out new stuff you post.

I admire the valuable information you offer in your articles. I will bookmark your blog and my children check here often. I am quite sure they will learn lots of new things here than anyone else!

Finally, an issue that I want. I have searched for information of this caliber for the last several hours. Your site is greatly appreciated.

Thank you for another essential article. Where else could one get this kind of information in such a complete way to write? I have a presentation next week, and I am on the look for such information.

The beauty of these blogging engines and CMS platforms is the lack of limitations and ease of manipulation that allows developers to implement rich content and skin the site in such a way that with very little effort never see why the site tick all without limiting content and effectiveness.

This is the perfect blog for anyone who wants to know about this topic. You know so much it s almost hard to argue with you (not that I really want . HaHa). You definitely put a new spin on a topic that has been written about for years. Great stuff, just great!

This is a smart blog. I really do. You have so much knowledge about this issue, and so much passion. You also know how to make people rally behind it, obviously from the responses. You have a design here that is not too flashy, but makes a statement as big as what you say. Great job, in fact.

What you say is absolutely true. I know that everybody must say the same thing, but I just think that you put it in a way that everyone can understand. I also adore the images you put in here. They will fit well with what you re saying. Im sure you ll reach so many people with what you say.

This is my first time i visit here. I found so many entertaining stuff in your blog, especially its discussion. From the tons of comments on your articles, I guess I m not the only one having all the enjoyment here! Keep up the good work.

Simple, wonderful what you ve done here. It is pleasing to look you express from the center and your clarity on this significant content can be easily viewed. Extraordinary items and expect your future updates.

Aw, this was a post that was really good. In theory I d like to write like this too taking time and real effort to make a good article . but what can I say . I procrastinate a lot and never seem to get something done that.

Let me start by saying beautiful post. Im not sure if this has been discussed about, but when using Chrome I can never get the entire site to load without refreshing many times. It may be my computer. Thank you.

I can see that you put a lot of effort into your blog. Keep posting the good work. Some really helpful information in there. Bookmark. Nice to see your site. Thank you!

Not? T better written. Reading this post reminds me of my old room mate! He was always talking about it. I will forward this article to him. Pretty sure he will have a good read. Thank you for sharing!

Resources like the one you mentioned here will be very useful to me! I will post a link to this page on my blog. I am sure my visitors will find that the most useful.

I thought it was going to be some boring old post, but it really compensated for my time. I will post a link to this page on my blog. I am sure my visitors will find that the most useful

Great post! I m just starting out in the media community management marketing and trying to learn how to do it well resources like this article useful. As our company is based in the U. S. , it? S all a bit new to us. The example above is something that I worry about as well, how to show your own enthusiasm and share the fact that your product is useful in this regard

Hrmm that s weird, my comment got eaten. Still I would say that it is great to know that someone else also mentioned this as I have trouble finding the same information elsewhere. This was the first place that told me the answer. Thank you.

Hey, just looking around some blogs, seems a pretty good platform you are using. I m currently using WordPress for some of my sites but looking to change one of them to a platform similar to yours as a trial. Anything in particular you would recommend about it?

You can not intended to do so, but I think you have managed to express the state of mind that a lot of people entering Taste want to help, but not knowing how or where, is something a lot us are going through.

You got a really useful blog I have here reading for about an hour. I am a newbie and your success is very much an inspiration for me.

This article gives the light in which we can observe the reality. This is very nice one and gives in depth information. Thank you for this beautiful article

Keep em coming . you all do a great job at such concepts . can not tell you how much I, for one appreciate all you do!

Thank you for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind taking updating your blog with more information? It is extremely useful for me.

Hi webmaster, commentators and more! Blog is absolutely fantastic! Lots of great information and inspiration, both of which we all need! B Keep em coming . you all do a great job at such concepts . can not tell you how much I, for one appreciate all you do!

That fantabulous post this has been. Somehow seeing this kind associated with useful post. I am grateful to you and expect much more associated with posts such as. Much obliged.

Thank you so much for writing all of the excellent information! Looking forward to checking out more posts!

I do not even know how I stopped up right here,
however I believed this sumit was once good. I ddo not realize who yyou
might be however certainly you are going to a well-known blogger if you aren’t already.

My web site … Seilimp

حياكم الله بالمنتدى



Pretty good post. I just stumbled upon your bloga and wanted to say that I have really enjoyed reading your blog posts. Any way I ll be subscribing to your feed and I hope you post again soon.

Wow, this is a post that is really good quality. In my theory, AOD want to write like this also, AI took the time and effort to make a real good post. but what can I say. I procrastinate a lot and never appear to get something done.

Have you ever considered adding more videos to ayour blog posts to keep the readers more entertained? I mean I just read through the entire article of yours and it was quite good but since I m more of a visual learner,I found that to be more helpful well let me know how it turns out! I love what you guys are always up too. Such clever work and reporting! Keep up the great works guys I have added you guys to my blogroll. This is a great article thanks for sharing this informative information. . I will visit your blog regularly for some latest post.

Hi webmaster, commenters and everybody else !!a! The blog was absolutely fantastic! Lots of great information and inspiration, both of which we all need!b Keep em coming. you all do such a great job at such Concepts. can t tell you how much I, for one appreciate all you do!

This article gives the light in which we caan observe the reality. this is very nice one and gives indepth information. thanks for this nice article

You got a really useful blog I have been haere reading for about an hour. I am a newbie and your success is very much an inspiration for me.

You may have not intended to do so, but Ia think you have managed to express the state of mind that a lot of people are in. The sense of wanting to help, but not knowing how or where, is something a lot of us are going through.

I’m gone to convey my little brother, that he should also pay a visit
this weblog on regular basis to obtain updated from most recent news.

Feel free to surf to my web blog – online tarot cards game

Excellent post! We will be linking to this great post on our website.
Keep up the good writing.

Thank you for sharing superb informations. Your web-site is very cool. I’m impressed by the details that you¡¦ve on this blog. It reveals how nicely you understand this subject. Bookmarked this web page, will come back for extra articles. You, my pal, ROCK! I found just the information I already searched all over the place and just could not come across. What a great site.

As a Newbie, I am constantly exploring online for articles that can aid me. Thank you

What is the best absolutely free blog/web or search engine directory on the web?

Bonjour ! J’aime beaucoup cependant peut un ou deux truc qu’il faudrait revoir à mon avis ! Sans prétention bien sur

i truly adoration this website. Greatings to be able to Eire!

for being away from-subject nevertheless i had to question!

Top Shark Pro przefiltrujcie sobie na ostatatnie 7 dni

dziękuję bardzo za odzew byłem z tym u neurologa i nic. Powiedział żebym się nie stresował i takie tam. Moglibyście doradzić jakieś leki,zioła, coś uspokajającego na ta dolegliwość? Bardzo chciałbym się pozbyć tego ;/ U mnie jest dokładnie tak samo jak jest Synapsa to opisałaś. Pracowałem teraz dorywczo w wakacje, i nie było mowy o skurczach, tikach w pracy. Zajęty byłem czymś innym i to może w skutek tego. Natomiast gdy już wracałem do domu to po jakimś czacie znowu mnie to dopadało… Teraz kiedy juz skończyłem swoją przygodę z pracą i siedzę w domu, w ciągu dnia mam takich ataków z 3-5 razy, a nawet częściej. To mi naprawdę utrudnia życie że szok… Czasami to mam ochotę w ogóle nie wychodzić z domu, bo wiem że atak tych skurczów może przyjsć w najmniej oczekiwanym momencie, i tego się boję…PS.mam 18 lat

I do believe all on the concepts you’ve introduced within your post. They’re very convincing and can definitely perform. Nevertheless, the posts are very quick for newbies. May just you please extend them a bit from next time? Thank you for the post.

extremely great post, i undoubtedly love this website, go on it

Thanks a bunch for sharing this with all of us you actually know what you’re talking about! Bookmarked. Please also discuss with my website =). We can have a hyperlink trade arrangement between us|

Great post. I be taught something much more difficult on entirely different blogs everyday. It ought to always be stimulating to read content material from other writers and observe a bit bit 1 thing from their store. I’d prefer to use some with the content on my weblog whether or not you don’t mind. Natually I’ll give you a link in your net blog. Thanks for sharing.

Can I just say exactly what a relief to get someone who in fact knows what theyre dealing with on the internet. You actually know how to bring a difficulty to light and make it crucial. The diet should see this and fully grasp this side on the story. I cant believe youre not far more common because you undoubtedly hold the gift.

I discovered your weblog when searching for some thing distinct on Msn, although I got the opportunity to read this post and I found it extremely useful indeed.

Hi there, just became alert to your weblog through Google, and identified that it’s truly informative. I’m gonna watch out for brussels. I’ll appreciate should you continue this in future. A lot of people will be benefited from your writing. Cheers!

You made some good points there. I did a search on the subject and found most people will approve with your site.

Excellent items from you, man. I have take note your stuff previous to and you are simply too great. I actually like what you have bought here, certainly like what you’re stating and the way wherein you are saying it. You make it enjoyable and you still care for to keep it sensible. I cant wait to read far more from you. This is really a tremendous website.

F*ckin?tremendous things here. I抦 very glad to peer your article. Thanks a lot and i’m taking a look ahead to touch you. Will you please drop me a e-mail?

Its good as your other posts : D, regards for posting . “History is a pact between the dead, the living, and the yet unborn.” by Edmund Burke.

I am only writing to let you understand of the amazing experience my daughter encountered going through the blog. She even learned numerous issues, including what it’s like to have a wonderful giving mindset to make many people easily completely grasp a number of multifaceted matters. You really did more than visitors’ expectations. Thanks for imparting such useful, safe, revealing as well as unique thoughts on that topic to Kate.

I really wanted to type a simple note so as to express gratitude to you for these great ways you are giving out on this website. My particularly long internet research has finally been rewarded with brilliant knowledge to go over with my colleagues. I ‘d believe that we visitors actually are undoubtedly blessed to live in a fantastic site with many outstanding people with very helpful ideas. I feel very privileged to have come across your weblog and look forward to tons of more exciting times reading here. Thank you once more for all the details.

https://www.track-r.net is the future of Google rank trackers, we wanted to see if you’d like to try it for free for a week.

7 days to see the data it brings you. You can use that and our free advice on how to increase your Google rankings so you bring in more customers.

Sounds good? Course it does, it’s free. No credit card details, just register and start straight away. If you like it, keep it, if it’s not for you that’s cool.

Hope to see you join the 3,000 others since the start of April 2018!

Leave a Comment