I am not suggesting that the core dev team to do everything user asks for, <br>but to illustrate how to balance needs of advanced vs novice users.<br>To me, ipynb is a killer app for learning/teaching/researching users.<br>
If one can lower the entry-barrier, it will encourage user's adoption.<br><br><div class="gmail_quote">On Thu, Dec 6, 2012 at 11:05 AM, Thomas Kluyver <span dir="ltr"><<a href="mailto:takowl@gmail.com" target="_blank">takowl@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><div class="im"><div class="gmail_quote">On 6 December 2012 15:28, W Gong <span dir="ltr"><<a href="mailto:wen.g.gong@gmail.com" target="_blank">wen.g.gong@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>ipynb could be made more user-friendly, if new buttons are added to the tool bar,<br>e.g. to add an youtube link, the button prompts for url or the code, then auto insert a cell:<br><br><div style="margin-left:40px;color:rgb(255,0,0)">



from IPython.display import YouTubeVideo<br>YouTubeVideo('MTx6ha6fRwo')</div></div></blockquote></div><br></div>I think the challenge is that there is an enormous wealth of things you can do in the notebook - far more than we can put into the toolbar, and it's pretty heavy even for a hierarchical menu (see the magics menu in the Qt console). Is embedding Youtube videos so important to so many users that it merits a valuable toolbar button?<br>


<br>What's interesting is how we integrate the notebook as a way to edit and run code, with the notebook as a rich text presentation system. Embedding a video needn't go through a Python cell, but at present that's simpler than putting the relevant HTML into a Markdown cell. From the other direction, we're now talking about ways to embed variable references into Markdown cells, and definining a syntax to do that. I get the feeling we're missing a coherent approach here.<br>


<br>To spark discussion, maybe what we need is something like a 'template cell', that's in between a client-side Markdown cell and a code cell:<br>- Edit syntax something like Jinja2 templates, with fields that you can fill in, loops, if clauses, and so on. We're thinking of using Jinja2 anyway, so let's not invent our own templating language.<br>


- When you execute it (shift-enter), it is sent to the kernel to render the template.<br>- Python objects used in fields are rendered according to our display protocol, i.e. _repr_html_() will be preferred.<br>- In the interface, the rendered output replaces the editor (like a Markdown cell) until you double-click to edit it again.<br>


<br>Thoughts?<br><br>Thanks,<br>Thomas<br></div>
<br>_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div><br></div><div>Thanks,</div><div><br></div>- Wen<br><br><br><br><br>