Labs/Bespin/DesignDocs: Difference between revisions

no edit summary
No edit summary
 
(16 intermediate revisions by 4 users not shown)
Line 18: Line 18:


===== In Progress =====
===== In Progress =====
* [[Labs/Bespin/DesignDocs/Editor/PieMenuAndNot|Pie Menu and Not]] is the next stab at using the pie menu when appropriate, and NOT when appropriate too


* [[Labs/Bespin/DesignDocs/Editor/CommandLine2|CommandLine2]] is the revised specification for how the command-line should work in the pie menu version of Bespin
* [[Labs/Bespin/DesignDocs/Editor/CommandLine2|CommandLine2]] is the revised specification for how the command-line should work in the pie menu version of Bespin
* [[Labs/Bespin/DesignDocs/Editor/DebuggerIntegration|DebuggerIntegration]] is the specification for how Bespin allows the user to control a remotely attached JavaScript VM


===== Completed =====
===== Completed =====
Line 31: Line 35:
* [[Labs/Bespin/DesignDocs/Collaboration/Database|Proposed database changes]]
* [[Labs/Bespin/DesignDocs/Collaboration/Database|Proposed database changes]]
* [[Labs/Bespin/DesignDocs/Collaboration/Detail|Command line detail]]
* [[Labs/Bespin/DesignDocs/Collaboration/Detail|Command line detail]]
* [[Labs/Bespin/DesignDocs/Collaboration/Colorization|Colorization]]
* [[Labs/Bespin/DesignDocs/Collaboration/Mobwrite|Mozilla changes to the Mobwrite Protocol]]


== Server ==
== Server ==
Line 60: Line 66:
== Inline Documentation ==
== Inline Documentation ==


This section discusses possible interfaces for having helpful documentation that web developers typically need such as: HTML, CSS, Javascript and Javascript libraries. This documentation would be included directly as pages within the Bespin interface so that you could check documentation locally even without a connection. See [[Labs/Bespin/DesignDocs/Inline Documentation/Overview|Overview]] for details. 
This section discusses possible interfaces for having helpful documentation that web developers typically need such as: HTML, CSS, Javascript and Javascript libraries.  
 
* [[Labs/Bespin/DesignDocs/Inline Documentation|Overview]]
 
== Refactoring / Cleanup ==


* [[Labs/Bespin/DesignDocs/Inline Documentation/Overview|Overview]]
It may not be sexy, but it gotta get done... and you get a great feeling when you make something better!
* [[Labs/Bespin/DesignDocs/Inline Documentation/Canvas|Canvas]]
 
Here's the list:
 
* [[Labs/Bespin/DesignDocs/Refactoring/FixEventing|Fix Event System Usage]]: Pub sub is awesome, but we use it for too much. Keep items that truly are "this happened" but move out the "do this" and make real method calls
* [[Labs/Bespin/DesignDocs/Refactoring/KeyHandler|Key Handling Component]]: Refactor the key handling out of editor.js and other sprinklings and put into one component (works with focus handling)
* [[Labs/Bespin/DesignDocs/Refactoring/FocusHandler|Focus Handling Component]]: One focus handler that you can register with
* [[Labs/Bespin/DesignDocs/Refactoring/JavaScriptDocumentation|JS Docs]]: Take out the WikiCreole and put in JSDoc instead, and a build system to generate the docs from it
* Conventions:
** [[Labs/Bespin/DesignDocs/Refactoring/JavaScriptLocations|JavaScript File Locations]]: Instead of module/module.js, move back to module.js which can include subfiles from module/*.js.
** [[Labs/Bespin/DesignDocs/Refactoring/Hitching|Code Hitching]]: Rules for when you should dojo.hitch() versus "var self" and clean up code to do it
 
== Time Machine ==
 
Our [[Labs/Bespin/DesignDocs/TimeMachine|Time Machine]] allows you to look back over the history of a file to see visually how it changed over time.


== Fun ==
== Fun ==
Line 70: Line 93:


* [[/CoderBadge|Coder Badge]] let's you put your Bespin groovy on
* [[/CoderBadge|Coder Badge]] let's you put your Bespin groovy on
== Brainstorming ==
We had a brainstorming session that brought about it a ton of ideas. Here's a place to keep them:
* Project history code churn view
* Preview toggle for UI elements
* Replace view source with Bespin
** Add "edit source" to browser
* Rich documentation that ties to code and auto detects if out of date
** integrated docs a la Coda
* VCS for graphical assets
* Automated security analysis
* Integrate with Wordpress (plugin)
* Certified Open Web Engineer program
* Crowdsource the management of crowd produces suggestions
* Open Web book imprint
* Wizards to inspect code and recommend better ways to code
* Find utilities that are re-written everywhere and find ways to prevent re-write
* Design
** Blank design elements
** Design sharing tool
** UI/GUI template tools
** Visual UI editor
** Font browser
** CSS3 Tool
* Analyze common mistakes
* "Create new Bespin project" bookmarklet
** spiders a website and imports it as a project
* Coding via mobile phone
* Index all open web project - search engine
* leadershipboard for web developers worldwide (#lines of code / usage)
** code quality scores "you broke the build X times"
* Code fragment library / cookbook
* Easy project startup wizard
* TestSwarm integration
* Installer for internal deployment (.deb etc)
* Review tools
* Visual test generator
* Standard project description file format for Web projects (a la Maven)
* Integrate with continuous integration services
* Code flow visualization
* Zoomable code UI
* JEP-like program for proposing new Open Web APIs
* Open Web code validator
* "Live!" "On AIR" graphic
* Audio chat
* Replace textarea with Bespin
* Build a new DVCS that is all in JavaScript
** Make browser a DVCS itself
* 3D cube editor
* New layout experiment == generates CSS+JS
* Open Web awards (e.g. webbys for devs)
* Open Web Cruises
* Live cam integration for video conference
* CSS3 design example repo
* Publishing tools for AMO/Jetpack
* Integrate with Bugzilla
* Auto-layout / styling preferences
* Open Flash IDE (canvas+bespin)
* Documentation microformat
* Run offline and be able to edit local files
* Hook into desktop editors
** Prism/Titanium
* TODO list management in Bespin
* Allow websites to link themselves to a backend so Bespin can edit
* Make the cycle between editing code and seeing changes in a webapp as short as possible
* Make coding life a video game
* Real-time help/mentoring
* Integrate runtime support for PHP/Python etc
* Make it easy to see where other people have editor code that I touched
* Make it easier for developers to use DVCS without knowing DVCS
* Team up with sites like Topcoder
* Run Bespin contests
* Deployment angle; hosting environment
* Recommendations
** projects like mine
** developers like me
* Finding contextual code snippets
* Analytics
** What code is running, heatmap
355

edits