Progress Report 2 - neuron-team/vscode-ipe GitHub Wiki

Weeks 3-4

  • Following on from the last meeting, we met up again on Wednesday 16th May to attend a workshop held by Clare and Esther. We learnt about the specifics of the deliverables we are producing for the project: Leaflet, Poster, Hackbooth and Portfolio.

  • Rajan has ordered materials for the leaflet and created a Github wiki which will be used for the documentation deliverable. We will contact Microsoft to see if we can use some of the materials they use at Hackathons for our Hackbooth.

  • Microsoft said they would reschedule another meeting date when they are free. They will aim to have them on a regular cadence when they are free to meet.

  • Since the last meeting, the group has progressed further than anticipated and have a working alpha version of the extension posted on Github, as a result the following 35 Github Issues have been resolved:

    • collapse-expand code snippets frontend
    • Add additional delay in Jupyter creation for slower computers backend
    • prevent creation of non-existent kernels backend bug
    • style python errors frontend
    • Figure out whether Jupyter is in the path or if it is available in the system
    • Call right kernel based on the file which is opened (Python, R, etc) backend
    • add R support enhancement
    • Install Jupyter making use of the terminal
    • make the extension load when python files are open, not on a command backend
    • import python packages before anything executes on request backend
    • Render text/latex backend frontend
    • Fix Bugs in Output Window UI bug frontend
    • Search: Implementing regex for search enhancement frontend
    • Searching print ('something') does not show card bug frontend
    • Adjust to screen size frontend ui
    • Main Toolbar Style frontend ui
    • Render application/geo+json backend frontend
    • Auto-start interpreter on ipe.newCard command if not running enhancement question
    • rename title of index.html frontend
    • improve highlighting so that it only highlights full query matches bug frontend
    • allow selection of rich output bug frontend
    • Render application/vnd.plotly.v1+json backend frontend
    • intercept module not found errors and make them pretty backend frontend
    • have a local copy of the icons instead of loading online css file bug frontend
    • HTML outputs disappear when other things happen bug frontend
    • listen for resize events and re-draw graphs accordingly frontend
    • Trim selection before triggering userInteraction.newCard backend
    • remove reference to this.AppComponent in cards bug frontend
    • display different types of card frontend
    • sanitize HTML from source code when passing through Highlight pipe bug frontend
    • filtering cards based on a search query frontend
    • fix scrolling issues in frontend bug frontend
    • monospace font for code preview frontend
    • Card Styling frontend ui
  • In addition, the following 15 Github Issues have been opened:

    • Render text/markdown backend frontend
    • Create an instance of jupyter export and push to array on card creation backend
    • Add jupyter field during card creation backend
    • Modify card object backend frontend
    • Generate events/commands to respond to deletion and moving of cards backend
    • Export card array to ipynb file backend
    • Keep array of generated cards with input/output backend
    • Testing: Frontend frontend testing
    • Break down appcomponent into more classes frontend
    • Render application/pdf backend frontend
    • Investigate caching plotly files for offline work frontend
    • Fix card selects to depend on AppComponent's state bug frontend
    • Investigate Jupyter application/* MIMEs backend frontend
    • Render application/vdom.v1+json backend frontend
    • Interrupt Jupyter notebook created gracefully backend
  • There are now 28 Github Issues outstanding, the vast majority being additional features.

  • The next meeting took place on Tuesday 22nd May, where we mostly discussed deliverables and how we will approach the following few weeks:

Discussion

  • Established a timeline: 2 weeks left for product, 2 weeks for presentation

  • Continue the code reviews, push frequently, small branches, as this has been helping the quality of the code

  • We need to start documenting code with doc comments, to be prepared for handover

  • Improve unit and integration testing

  • Get user feedback ASAP with prototype, write it all up, and make required changes

  • A/B testing for selection method, auto-opening, and other contentious issues

  • Ask Microsoft: how to pitch this to non-tech?

  • Find out who will be marking the various components

Ideas about the Hackbooth / presentation

  • It is difficult for non-tech audiences to really understand what the point of this is, and those who mark it will probably wonder the same. the project doesn't speak out for itself, so we need to present it properly.

  • Use a flowchart to show what all the technical steps are from code on the left to output on the right (interpreter, user interaction, webview, html renderer, etc)

  • Showcase all features. look through all the code and find what details make it great

  • It's open source, extensible, maintainable, dev-friendly: talk about the frameworks that we used (angular, jupyter, ipython), bleeding edge tech

  • Be prepared to answer questions about its usefulness

  • Why is it better than terminal?

  • Why is it different from jupyter?

  • How does it improve the life of a data scientist?

  • Tell them that if it looks simple, it's a good thing: it's polished, it becomes transparent to the user so that they can focus on their task and not on the program

  • It's not meant to wow the user with big things. it's meant to wow them in the small things, because it "just works"

  • Talk about the ux perspective and how we arrived at the design that we achieved

  • Markers will want to know that it really helps data scientists. Explain to them what a data scientist is and does, and show how it helps them.

  • Prepare a "tutorial" sort of thing, with small snippets of code

  • Video loop for the hackbooth?

Next Steps

  • The next team meeting will start on Friday 25th May.

  • Microsoft have been in touch and we have arranged a meeting with them for Wednesday 30th May to discuss our progress and obtain feedback on our prototype alpha extension.