Falcetto - Rapid Simulation Prototyping
Falcetto - Rapid Simulation Prototyping
Make your own scientific computer simulations! Freely run on phones, computers, and tablets. Great for students to learn programming!
Make your own scientific computer simulations! Freely run on phones, computers, and tablets. Great for students to learn programming! Read more
About this project
See the full description at http://www.falcetto.net/
Falcetto, in a nutshell
Falcetto allows a student or scientist to easily and quickly perform computer simulations.It handles the overhead of data storage, graphics, user input, simulation processing, and results viewing.This allows the user to focus on making their computer simulation functional and accurate, allowing most anyone to write a computer simulation, not just computer scientists.
Falcetto will be free to use, and compatible on most every internet enabled device.The target timeline is to have it ready for Beta testing at the end of the 2014 Spring semester, and ready for mainstream use by the 2014 Fall semester.Kickstarter support will allow me to devote enough time to this project to be able to meet these deadlines.
Falcetto is Italian for sickle, which is a diminutive form of Falcet, which is a scythe.It is quite similar to falsetto, which is the diminutive form of “false” in Italian.When I accidentally found this word, I felt it was perfect for this project.To me, it represents how this software allows a person to create small simulations, and quickly harvest results.It’s similarity to “false” also brings to mind how a simulation is a reflection of something real, but is itself not quite real, thus somewhat false.
The goals of this software
Falcetto targets three main audiences:students that are just starting to learn computer programming, college students and hobbyists trying out their ideas, and scientists wanting to find out what paradigms they need to build into their own proprietary software.Falcetto’s many features will appeal to each group differently.
Computer Simulations are a great way to play around with concepts being taught in school, such as math and physics.Unfortunately, computer Simulations require a great deal of knowledge about computer science and writing software.Typically a person would need to write software to access their data, visualize their data, cycle through the steps of their Simulation, accept User interactions, display the results of their Simulation, and prepare the results for sharing with other people.Each of these steps has its own unique problems and pitfalls, which distract the student from the logic of the Model being simulated.By handling all these aspects, Falcetto provides an environment where a student can learn computer programing, create interesting software (compared to “Hello World”), and create useful simulations that help them learn their other academic subjects.
Falcetto also helps to educate students on the concepts and implementation details of computer Modeling and Simulation.One of the biggest concepts a student must learn is how to manage a computer’s accuracy.No computer Simulation can ever be 100% accurate, so it is the job of a computer scientist to determine the best way to get accuracy, given constraints such as processing power and time.The student does not need to write any of this accuracy logic in Falcetto, all they need to do is use some popups to set these settings.Help documentation, or teachers, can then explain what these settings do, and how they trade speed and accuracy.
For the college student or hobbyist, Falcetto provides a way of building a complete simulation, with enough customization to handle most every situation.The user can use custom images for the visualization, create data charts for presentations, and create interactive simulations.With the appropriate stretch goals met, a user can also save videos of the simulation, or save their simulation as a stand-alone application that can be distributed as a phone app via PhoneGAP.
For the professional scientist, Falcetto provides a way to pioneer new ideas without spending time on tedious computer programming.The user can compare different modeling techniques, discover useful defaults, and examine the simulation in an easy to use GUI.Usually a scientist will need to eventually re-write their model and simulation into another language, but using Falcetto will allow them to know which features they need to re-write.For instance, Falcetto will allow the scientist to determine if an easy to write fixed time step provide enough accuracy, or whether they will need to spend the extra time to write dynamic time step support. Being able to pause and edit a simulation will allow the scientist to quickly bounce between ideas until something works, rather than having to re-run the entire simulation to try out a new idea.
What is "free" and "Open"
I intend to keep Falcetto free to use. I have chosen the GPLv3 license for the overall software, with some reusable components being LGPLv3. The general intention will be that anyone can view and read the code, customize the code/appearance, and redistribute it onto their servers. Another intention of making it open source is to allow administrators to verify that their personal data isn't being stolen or sold. While Falcetto can be used for commercial purposes as an application, I do not intend to let the license allow people to sell their customized versions as their own software. On the other hand, exported data and applications (such as the “Export the Model as a standalone app” stretch goal) can be sold by their creators, hence the need for some LGPL3 licensing. A forum will be set up in the community to allow users to share any customizations or improvements they make, so that such improvements or customizations can be made available to everyone.
Falcetto's Server Side software will be openly available as well (GPLv3). Instructions and helper scripts for Installing it on your own server(s) are not planned for this timeline (absolute last stretch goal), so it will only be for the tenacious system administrator. This can be especially important for networks that are cut off from the internet, in order to allow them access to Server Side features since they will not have access to the subscription based Server Side features. REST-ful APIs will exist for managing aspects like accessing stored models, simulation results, and Black Box model access. You will need to manage users and logical data separation, likely with an off-the-shelf forum package.
The Community, Marketplace, and the subscription service are all going to be proprietary. Instead of setting up Falcetto's Server Side code on your own server, you could just purchase a subscription to use the service I will set up. These are basically just the "forum package" mentioned in the previous paragraph, but designed for public access rather than private access.
Links to more information
Kickstarter limits how text can be included, so I created a website to hold the full description.
From there, you can find out about:
History - Inspiration and why Kickstarter
Modeling - how to represent a system
Simulation - how a model is processed
Server Side - how remote servers are leveraged
Visualization - how we see the model and simulation
GUI - the Graphical User Interface
Community - how users can connect and share
Falcetto will be a living application, with a living community, so new features will continue after initial development concludes. These stretch goals indicate different features that will require extra support in order to be done by the stated timeline. The extra support allows more time devotion on my part, or hiring out some tasks, so that the extra features can be completed by the timeline.
$30,000 - baseline of Falcetto
$35,000 - HTML 5 canvas visualization engine:This feature will add the HTML 5 canvas visualization engines.This will provide an alternative pseudo 3D visualization engine, and a simple 3D vector visualization engine.The 3D vector engine will utilize the 3D models associated with the image assets.
$40,000 - Server Side video rendering: This will allow the User to create video files from their simulations.These videos that can be used in presentations or uploaded to YouTube.The videos will be ray-traced 3D, and utilize the 3D models associated with the image assets.
$45,000 - Server Side feature to use spreadsheets: This will allow the user to easily load large amounts of pre-existing data to populate their model.It will also allow multiple simulations to be queued up, using different data for each simulation.
$55,000 - Flash visualization engine:This feature will provide another alternative way to view the visualizations through the main application.The Flash plugin is not available on all devices, but when it is it can create a prettier vector drawing.Flash is also capable of performing real time 3D rendering, and thus this feature will be the first real-time use of the 3D models for image assets.
$60,000 - Visual themes:This feature will allow the user to change the visual theme of the application. Themes will include choices for a soft rounded appearance, sharp efficient appearance, light backgrounds with dark text, and dark backgrounds with light text.
$65,000 - Internationalization support:This feature will allow the user to change which language Falcetto is being displayed with.Along with allowing the language to be changed, all text and help documentation must be translated into each supported language.
$75,000 - Develop curriculum:This goal is to find teachers to work with, and develop ready-to-use curriculum for Falcetto’s release.This will allow Falcetto to be immediately usable by teachers for classes, rather than providing them with a blank slate.This is independent of any curriculum provided by eager Beta testers.
$85,000 - Specialized dedicated server:This server will not be part of the cloud.It will possess more cores than the cloud servers have available, and will be used for models that will benefit most from parallelism.This server will also be able to utilize hardware acceleration, for example it could use graphics acceleration to render videos, or find a way to utilize graphics processor cores as extra parallelism cores.
$90,000 - Unity visualization engine:This feature will utilize Unity’s web player to provide a real time 3D visualization.This will utilize the 3D models associated with image assets.The Unity player should be able to tie into a computer’s hardware acceleration, providing more responsive 3D graphics, or better handling for large Models.
$95,000 - Advanced physics functionality:This feature will provide more Helper functions for supporting physics modeling such as particle physics, fluid dynamics, deformation, and fragmentation.
$100,000 - REST-ful API for Server Side functionality:This feature will allow access to Falcetto’s Server Side features, in a way that can be accessed from non-Falcetto software.
$105,000 - Export the simulation as a JS/HTML movie:This feature will create a standalone HTML 4 or HTML 5 application that will display the simulation results as a movie.The benefits of this movie export would be that it will allow the user to have control over the playback speed, can be recorded from multiple points of view, and has the potential of a significantly smaller file size than the ray-traced 3D videos.Users will be able to put these movies onto their websites.This export will be performed as a Server Side feature.
$115,000 - Export the Model as a standalone app:This creates an application that contains a subset of Falcetto functionality, enough to populate and run simulations, but not enough to modify the Model logic.Interactive simulation components will be included, allowing the resulting application to act like a standalone game if desired.This application will be compatible with PhoneGAP, allowing it to be distributed as its own smartphone app.This export will be performed as a Server Side feature.
$125,000 - Accessibility improvements and testing:This goal will be to test and tweak Falcetto using a myriad assortment of Accessibility tools, such as screen readers and voice command.
$130,000 - Improved instructions and scripts for installing the Server Side functionality on your own server(s).
Bonuses for backers
Backers can receive various bonuses for supporting this project.Please note that nothing that can be perceived as “lewd” or “inappropriate” will be allowed for bonuses such as having your name on the thank you page, or choosing image assets or models.
Newsletter – receive an email newsletter every two weeks with project status updates.With the timeline, this will result in only about 10 newsletters before Falcetto is released.
Thank you page – have your name (or whatnot) show up on a thank you page for all the world to see.Thanks!
Community badge – backers will have an exclusive badge/icon on their Community accounts.This will allow other Community members to see that you were there from the very beginning!
Choosing initial image assets – are the planned image assets not sufficient for a project you want to build using Falcetto?Choosing this bonus will allow you to specify an additional image asset collection.The collection will contain approximately 10 objects, based on complexity, so please contact us beforehand in order to confirm whether your needs can be met.These image assets will be created using the same 3D modeling techniques as the previously planned image assets.The assets may be included with Falcetto, or may be made available as free content on the Marketplace.
Choosing initial models – do you want a Model created for your project, so that you don’t have to create it?Choosing this bonus will allow you to specify a Model that the development team will build.Due to time constraints, complexity restrictions may apply.Please contact us beforehand, so we can confirm whether the Model can be crafted in time.These Models may be included with Falcetto, or may be made available as free content on the Marketplace.These Models are not eligible for being Black Box Models.
Machine Head – this bonus will allow you an inside look into the process of developing Falcetto.You will be provided with read-only access to the ticket tracking system, in order to observe how the project is organized and progresses.
Subscriptions – Server Side subscription packages are available for pre-purchase.These subscriptions are offered at a significant discount compared to the rates that will be charged after Falcetto is complete.The subscriptions will start when Falcetto is released, scheduled for August 2014.
Beta access – get about 3 months of early access to Falcetto.Beta access is scheduled to open in the middle of May.Beta access will conclude when Falcetto is released, scheduled for August 2014.This will give you the Summer break to play with Falcetto and prepare your own curriculum using Falcetto.New features, and bug fixes, will occur all throughout the Beta access.Most Server Side feature development is scheduled to be done during this time, so Server Side features will become available throughout Beta access.All Beta participants will have access to Server Side functionality during Beta access.
Risks and challenges
The biggest risk is that Falcetto will not be available upon the designated timeline. The purpose of bringing this to Kickstarter is to be able to meet this timeline, thus missing the timeline would certainly count as a failure.
Let us consider different time overruns scenarios. With no overrun, the free application will be developed and begin testing in May (referred to as App Milestone), with the final application and server support available in August (referred to as Server Milestone). With a 50% overrun, the App Milestone will still complete and allow Beta testing before the beginning of the Fall 2014 semester, while the Server Milestone will complete before the Spring 2015 semester. With a 100% overrun, the App Milestone will complete just in time for the Fall 2014 semester, Beta testing will then run throughout the 2014-2015 school year, and the Server Milestone would occur by the summer of 2015.
Beta testing will occur between the App Milestone and the Server Milestone. Server subscription timeframes will start when Server Milestone is met in August. If the Server Milestone is not met in August, then the subscription timeframe will not start until the Server Milestone is met. To bridge the gap, backers with server subscriptions will receive Beta access in the time between when the Server Milestone should have been met, to the time it is met.
Thus, the worst case is that Beta access will extend, more people will be given Beta access, and pre-purchased subscriptions will extend further into the future.
As Kickstarter states, creating a project is a public act. My company, Ether Tear LLC, can be found at www.ethertear.com, and on Facebook at www.facebook.com/ethertear, so you'll have the freedom to publically bad mouth me ;)Learn about accountability on Kickstarter
Support this project
- (30 days)