Hi, Wei here (one of the co-founders of Thunkable). I can't guarantee anything here, but we are working very very very hard on this. We are hoping to get the MVP done before the end of this year :) Do you want to get into our alpha/beta tester list?
Pretty impressive, considering that there are presently only 1.6 million apps to choose from on the Google Play Store and 1.5 million on the App Store.
Just below that metric, it links to MIT App Inventor[1]. It seems very disingenuous to post the statistics of a similar product with a tiny clause stating that those numbers aren't yours.
It's a fork of App Inventor[1] so it's essentially a new version, built by people that built the original version[2].
Honestly it would not have been disingenuous to exclude that tiny link clause altogether, but now they're being punished for transparency, because people are too lazy to click on the the "About" link for the page they provided.
There have been over 13 million apps built with MIT App Inventor and Thunkable. The vast majority of these apps were built by individuals or small organizations that never published these apps to to Google Play, but instead shared it with their friends/family/colleagues. However, over 1% of the apps on Google Play have been built with Thunkable or App Inventor. Sorry if there was confusion. We'll try to make that more clear.
What counts as "building an app"? Is it someone who just pressed a couple buttons and then never came back? I just have a hard time believing the platform was used over 13 million times to build anything non-trivial. If that is the case, then major kudos to you! Either way I think tools like Thunkable have a lot of potential :)
We have built remote controlled car with my kids - complete design from start to finish with 3d printed wheels and cogs, arm based IC, Bluetooth connection and when needing the remote, we did binary based transmission over BT in the app inventor (AI). The difference between say ecllipse, intellij or AI was very small and it (AI) provided the "yes we can" solution. So while I agree that for quality app one uses different tools, it's nice to have things like this. What is really missing in AI is native support for network communication.
I’m one of the creators of Thunkable, along with WeiHua Li. It is a drag-and-drop tool for anyone to build native mobile apps. We've been working on this tool at MIT and Google for the past few years as an open source project called MIT App Inventor, and we decided to make a product (Thunkable) around it to better support our users. We’re in the current YC W2016 batch.
There are two parts to the tool:
Designer: Allows you to create an app UI by adding different UI components to your screen, such as buttons, TextBoxes, GoogleMaps, etc. It also allows you to add non-visible components to your apps, such as SMS receivers or NFC sensors.
Blocks: Thunkable has a blocks-based programming language that makes it easy for novice programmers to use, but is sophisticated enough for seasoned developers to use (you can make functions, variables, callbacks, etc.).
Thunkable then compiles the blocks (Java/Javascript) to Scheme to binary .apk.
There is also a Thunkable app on the Play Store that you can connect to your Thunkable web app, to test your apps. The app live interprets everything that you add to Thunkable in the browser and shows it on your phone in real-time.
We’d love to hear your thoughts on how to make it better, and what things we don’t yet support that you’d like to see.
Hi,
Wei here (one of the co-founders of Thunkable). The generated apk is 100% self-contained. But in the future, we are thinking about an all-in-one solution, like providing datastores and push notifications, which will depend on our infrastructure.
Congrats on launching. You should add a blurb about your history with MIT App Inventor on the site, probably right above the stats. I had no idea you were the people behind it until I read this comment. I think it would add a lot of credibility to your product to add this background info.
I agree, it's important to mention this. I've been burned by a few SAAS closures recently, so knowing the project's pedigree makes me feel more comfortable investing time/energy into it.
Could you tell us if the webview uses the built in chrome webview now? Just that I gave one of your earlier app inventor products a whirl and thought it was slow for html 5 and JavaScript stuff...
Hey there! We are fully aware the webview is being outdated. However, we are a startup now and we can change that very fast. Let me put that on top of the dev priority. Do you have any other feature request? come talk to us or send me an email at wei@thunkable.com
Hey there! We don't generate Java code at this point, but we have the capability to do so. is that something you are interested in seeing as a feature?
I love how this gives product managers the ability to mock-up an app without needing a developer.
But looking at the drag and drop "Code blocks", I imagine the most common use case would be for educational purposes(?)
What would be the main market you're aiming for?
Educational?
Build once, run on multiple platforms?
App builder for non programmers (Designers, PMs, CEOs without CTOs)?
Here's some feedback based on my personal impressions from playing around a bit with the UI:
(All on Chrome 48.0.2564.116, Windows 7 64bit).
1. I love that you can drag and drop UI elements, but personally I've never been much of a fan of drag and drop code blocks elements.
This would probably be the #1 issue preventing me from adopting a product like this.
I find it more confusing and more complicated than writing simple code, even in a completely new programming language.
2. It took me quite a long time to realize "blocks" was what I need to click on if I wanted to add my own functionality to the UI.
3. I would expect double clicking on a button or right clicking on it (In either the viewer or components tree) would give me a context menu.
Alternatively - take me to the blocks section related to this UI Element (similar to VB).
4. If I've selected an item, I want to be able to delete it by either pressing on "delete" or by moving it off screen. "Delete" stops working if I add a new element and only returns to working if I click on "Components".
5. The "Apps" menu feels quite overwhelming.
What's an aia (a zipped archive of json, xml and properites of course)?
Why do I even need to download it to my computer? Can I edit it on my computer?
Why would I need a "Save As?" option, and why isn't the project saved every time I edit it?
The Keystore options are especially cryptic, and I imagine you'd have to something to educate anyone who hasn't released an app in the past. Also, would expect them as part of a Build/Release section.
6. Context-sensitive help would be a much appreciated feature. Lets say I add a gyroscope element, and start setting up the gyroscope logic. Would be really helpful if I could just hover or click on a question mark to figure out the possible values for xAngularVelocity or units(ms/s? utc?) used for timestamp.
This information is available through the right click menu, however:
7. This is the first place in the UI that a right click does anything. After trying to right click in the designer with nothing happening, I was actually conditioned to not even try right clicking in the blocks section.
I also discovered the "Shift" functionality to find a code block using a textual search. Why not have a search option always visible? Felt a bit like an Easter egg.
8. Test menu -> Thunkable live. gives a QR code that's only readable from within the Thunkable app.
To actually download the thunkable app, I have to:
a. click on "Need help finding the thunkable app?"
b. Scroll down until I find the QR code.
Perhaps a better strategy would be: Provide a QR code to app.thunkable.com/test/blabla
Register the thunkable app to handle links that start with app.thunkable.com/test...
If the link is opened in a browser, take the user to download the thunkable app. (Redirect to google play)
Alternatively - just provide another QR code and direct link on "Connect to thunkable live" modal dialog.
Really impressive work!
Knowing first hand how much code it takes to set up an android app that displays the users lat/long in a text view, really impressed by how easy it was to do with Thunkable.
Thank you, Thank you, Thank you! for taking the time to test Thunkable and Thank you again for all your valuable comments. I will take all your comments and put them in our dev list. If you have more comments/feedback later on, you can send me a message to wei@thunkable.com, or come to our website and chat with us in real-time :)
You should know that you will be competing with the already established 'DroidScript' in the easy app creation space and DroidScript already has > 400,000 downloads, and it also has a live development feature and generates native apps. The DroidScript team also have a Blockly based product and iPhone product in the works too.
Hey there! DroidScript is pretty cool! But the last time I checked, it required users to know about JavaScript or some web programming knowledge, while Thunkable doesn't. You mentioned it has the Blockly based product? I can't find it. Can you give me some pointers? - Wei (one of the co-founders of Thunkable)
This seems like it's on the border of a few markets to me.
It seems to tackle the hobbyist use case pretty well.
If it made pretty applications, and not just functional ones, it could be of use as an advanced mockup tool. If it produced Java code instead of just APKs, it could be a great prototyping tool, where you start here then you can hand this over to an engineering team who can start with this and not from scratch.
If you had bi-directional Java<=>Thunkable support (the same way WindowBuilder or Android Studio do), you could have a Cloud IDE on your hands, which is where I start getting interested.
For me, I couldn't stand using the blocks with a mouse, nor restrict myself to not using libraries, so despite the pain of working with Android Studio, it's still definitely preferable to using this.
If it were a full on cloud IDE with great UI support, it could become a way for UX/Dev teams to work on the product together, where UX can tweak things and move them around as they like and check them into a branch of the real product, but I'm not really sure what it would take to get there since I've never really worked on Mobile UIs.
34 comments
[ 15.4 ms ] story [ 1252 ms ] thread;)
[1]: http://appinventor.mit.edu/explore/
Honestly it would not have been disingenuous to exclude that tiny link clause altogether, but now they're being punished for transparency, because people are too lazy to click on the the "About" link for the page they provided.
[1] http://techcrunch.com/2016/03/05/mit-spin-out-thunkable-hope... [2] http://appinventor.mit.edu/explore/our-team.html
Something for you to fix there.
I’m one of the creators of Thunkable, along with WeiHua Li. It is a drag-and-drop tool for anyone to build native mobile apps. We've been working on this tool at MIT and Google for the past few years as an open source project called MIT App Inventor, and we decided to make a product (Thunkable) around it to better support our users. We’re in the current YC W2016 batch.
There are two parts to the tool:
Designer: Allows you to create an app UI by adding different UI components to your screen, such as buttons, TextBoxes, GoogleMaps, etc. It also allows you to add non-visible components to your apps, such as SMS receivers or NFC sensors.
Blocks: Thunkable has a blocks-based programming language that makes it easy for novice programmers to use, but is sophisticated enough for seasoned developers to use (you can make functions, variables, callbacks, etc.).
Thunkable then compiles the blocks (Java/Javascript) to Scheme to binary .apk.
There is also a Thunkable app on the Play Store that you can connect to your Thunkable web app, to test your apps. The app live interprets everything that you add to Thunkable in the browser and shows it on your phone in real-time.
We’d love to hear your thoughts on how to make it better, and what things we don’t yet support that you’d like to see.
Thanks, Arun
What would be the main market you're aiming for? Educational? Build once, run on multiple platforms? App builder for non programmers (Designers, PMs, CEOs without CTOs)?
Here's some feedback based on my personal impressions from playing around a bit with the UI: (All on Chrome 48.0.2564.116, Windows 7 64bit).
1. I love that you can drag and drop UI elements, but personally I've never been much of a fan of drag and drop code blocks elements. This would probably be the #1 issue preventing me from adopting a product like this. I find it more confusing and more complicated than writing simple code, even in a completely new programming language.
2. It took me quite a long time to realize "blocks" was what I need to click on if I wanted to add my own functionality to the UI.
3. I would expect double clicking on a button or right clicking on it (In either the viewer or components tree) would give me a context menu. Alternatively - take me to the blocks section related to this UI Element (similar to VB).
4. If I've selected an item, I want to be able to delete it by either pressing on "delete" or by moving it off screen. "Delete" stops working if I add a new element and only returns to working if I click on "Components".
5. The "Apps" menu feels quite overwhelming. What's an aia (a zipped archive of json, xml and properites of course)? Why do I even need to download it to my computer? Can I edit it on my computer? Why would I need a "Save As?" option, and why isn't the project saved every time I edit it? The Keystore options are especially cryptic, and I imagine you'd have to something to educate anyone who hasn't released an app in the past. Also, would expect them as part of a Build/Release section.
6. Context-sensitive help would be a much appreciated feature. Lets say I add a gyroscope element, and start setting up the gyroscope logic. Would be really helpful if I could just hover or click on a question mark to figure out the possible values for xAngularVelocity or units(ms/s? utc?) used for timestamp.
This information is available through the right click menu, however: 7. This is the first place in the UI that a right click does anything. After trying to right click in the designer with nothing happening, I was actually conditioned to not even try right clicking in the blocks section. I also discovered the "Shift" functionality to find a code block using a textual search. Why not have a search option always visible? Felt a bit like an Easter egg.
8. Test menu -> Thunkable live. gives a QR code that's only readable from within the Thunkable app. To actually download the thunkable app, I have to: a. click on "Need help finding the thunkable app?" b. Scroll down until I find the QR code.
Perhaps a better strategy would be: Provide a QR code to app.thunkable.com/test/blabla Register the thunkable app to handle links that start with app.thunkable.com/test... If the link is opened in a browser, take the user to download the thunkable app. (Redirect to google play)
Alternatively - just provide another QR code and direct link on "Connect to thunkable live" modal dialog.
Really impressive work! Knowing first hand how much code it takes to set up an android app that displays the users lat/long in a text view, really impressed by how easy it was to do with Thunkable.
It seems to tackle the hobbyist use case pretty well.
If it made pretty applications, and not just functional ones, it could be of use as an advanced mockup tool. If it produced Java code instead of just APKs, it could be a great prototyping tool, where you start here then you can hand this over to an engineering team who can start with this and not from scratch.
If you had bi-directional Java<=>Thunkable support (the same way WindowBuilder or Android Studio do), you could have a Cloud IDE on your hands, which is where I start getting interested.
For me, I couldn't stand using the blocks with a mouse, nor restrict myself to not using libraries, so despite the pain of working with Android Studio, it's still definitely preferable to using this.
If it were a full on cloud IDE with great UI support, it could become a way for UX/Dev teams to work on the product together, where UX can tweak things and move them around as they like and check them into a branch of the real product, but I'm not really sure what it would take to get there since I've never really worked on Mobile UIs.