
Show HN: Thunkable – A drag-and-drop tool for anyone to build native mobile apps - arunsaigal1
http://thunkable.com/
======
arunsaigal1
Hi all,

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

~~~
bossx
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.

~~~
brbsix
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.

------
Eridrus
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.

------
daodedickinson
"Thunkabe is part of the YC W2016 Batch."

Something for you to fix there.

------
10dpd
13 million apps built?

~~~
ChristianBundy
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.

[1]:
[http://appinventor.mit.edu/explore/](http://appinventor.mit.edu/explore/)

~~~
jhchen
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.

[1] [http://techcrunch.com/2016/03/05/mit-spin-out-thunkable-
hope...](http://techcrunch.com/2016/03/05/mit-spin-out-thunkable-hopes-its-
drag-and-drop-app-builder-can-be-a-money-spinner-too/) [2]
[http://appinventor.mit.edu/explore/our-
team.html](http://appinventor.mit.edu/explore/our-team.html)

------
n-gauge
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...

~~~
vw11223
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

------
david_h
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.

~~~
vw11223
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)

------
Immortalin
Does this use Blockly for the UI side?

------
botw
Does it generate source code, Java for Android?

~~~
vw11223
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?

~~~
maxwin
Yes. If something doesn't work the way you want (which will definitely
happen), there is a way to work on it more directly with android SDK.

------
dkopi
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.

~~~
vw11223
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 :)

