Supporting first time developers at hackathons, community events


#1

As the growth team is looking to support adoption among developers in local communities, we face a few key issues. I’m interested in all your thoughts, answers, feedback, etc. on each of the following items, many thanks!

  1. Determining the best single place or resource that is easy to remember and quickly explains the value of Blockstack to a fresh room and allows them to get going (i.e. what’s that one link people should remember and go to) - open to suggestions for where this place is at the moment or if we were to create it, what it would/should contain.

  2. Noting some steep onboarding steps for new users, especially in the context of a few hour workshop or 1 day hackathon, what are short-term solutions or workarounds for the initial setup to begin building. From my understanding and what we faced in Berlin, there was some waiting that needed to be done, they needed to get BTC, and something they had to pay for. How can we smooth this out for people trying to get up and hacking fast at an event? Can we create ready-made accounts that can be claimed on the go? Can we make this free to them as well? In Berlin we reimbursed the tickets for those in the building but that isn’t feasible at other people’s events.

  3. What are other known bottlenecks you’re seeing with developers getting started that we should know about and prepare Evangelists for?

  4. What content needs to be developed for those just getting started beyond what we offer now?

Thanks for any insights you have as former first timers getting going with Blockstack, we want to do a great job of packaging something to make getting started quickly a real pleasure!


#2

Sponsored names or subdomains would be the way to go. They start working pretty quickly and are free. We should have hackathon attendees register them at the beginning of the hackathon if possible though. If they wait until right when they need one - when they’re trying to write or use an app with multi-player storage - they’ll still get stuck waiting for an hour or so. @aaron might have more thoughts on this.

These aren’t so much bottlenecks, but common problems that are easy to fix that can potentially suck up a lot of time and cause a lot of frustration if the developer doesn’t expect them:

I think we need a really good document that’s a high-level overview of what functionality Blockstack provides for app developers and how they can think about decentralized apps.

We had issues for these in this documentation user story specifically one for high-level documentation and documentation about Blockstack apps, but they didn’t get completed. We should add them into this week’s sprint so that you have these.

I’m not sure what this is now. I also have a need for this. I spoke with a developer over the weekend that was trying to decide on Blockstack vs something else and his conclusion was that he needed to read our whitepaper. I feel like that’s the wrong place to send developers. I would like to be able to point developers to a developer site that has a developer focused “what is blockstack” followed by links to our tutorials. For the moment, one of our tutorials is probably the best place to start. Would like to hear what others think.


#3

Yep – we could set up a pretty simple process for this. As Larry says, developers would want to get these names earlier on, just because they will have to wait roughly an hour for the name to be usable. This would make sense as a good first task at a Hackathon, though, because basically a user needs to on-board to the Browser in any case. So the flow to direct people through could be:

  1. Install browser (or we could direct them to the webapp, as it will soon be just as feature-rich as the desktop)
  2. Copy identity address
  3. Send it to an organizer with a requested subdomain
  4. Organizer batches the request

This could even be made into a Blockstack app, which would quasi-automate 2-4.

This has been something that we’ve said we need and then have made sort of half-hearted efforts to deal with forever. I think this is something we desperately need at this point. A good place to start may be to just find projects who have pages/sites like this that we like, and then just try to replicate them.


#4

Thanks guys, I’ve started on an MVP that maybe we can use - it very much needs further input from you and obviously to have the resources you mentioned added when they are made. From what we have though, how do you think I’ve done with these pages?


links to - https://community.blockstack.org/start-step-by-step - needs to be finished but I need help
Common issues could use more love - https://community.blockstack.org/common-issues


#5

I’m checking out this resource now. From cursory glance I needed this over a week ago.

Also, I think this description would be a good start for hiring or developing someone who’s main focus would be developing the first time developer area: https://zeppelin.solutions/jobs/marketing-developer-advocate/ this Ethereum project has a LOT of really good approaches to growing their place in the market.


#6

Hey! Great link, thank you! We’re definitely looking to hire developers to help on the documentation and content front - look for that soon.

The page (https://blockstack.org/devs) has been up for a couple months, but we’re continually adding to it - please let us know what else you’d like to see on it.


#7

I’ve suggested an approach from a curriculum based standard - giving Free Code Camp lesson guidelines as an example. Mind you their business model is quite limited on acceptable monetization tactics. Whereas Openedx is better equipped to handle or have a large community of educators who could create a training program. Complete with proper prerequisites and created with accessibility included on an open source platform.

When you look at your documentation, what audience are you speaking to when it comes to technical knowledge? Your current approach is inconsistent. There’s no clear baseline of what a basic Blockstack developer environment would contain broken down by OS. For example, I had to use MacPorts to load Yarn. Somewhere in the documentation I saw Homebrew. This seems like a small issue however for new devs these little differences interfere with a solid understanding of a “bug-free” environment. A very necessary thing when you are trying to debug code.

I’m saying I was lost trying to do the Hello Blockstack tutorial as I had not setup my Mac dev environment. I just switched from PC. Someone mentioned I needed to install Yarn first. I remembered some reference from my frustrating attempt to figure out for myself where I went wrong there’s a specific command to accept terms for Xcode, and needing Xcode command line, etc. Once I completed all of those steps I was able to install Yarn and then I could do your tutorial. I have no idea how I was supposed to just know what I needed before I performed the steps.

This is where like Google has done with Udacity having a strategic partner in MOOC would set your project above the rest of the blockchain pack.

Make sense?


#8

Absolutely and thanks for the specifics you mentioned. One of the challenges we’re trying to take on is leveling - meaning expanding out the level of developer we write and make content/docs for. As a non-technical person and based on your and other feedback, it seems like our docs are good if you’re very experienced. However, if we want this to grow, we need to be more accessible for those starting in different places. Thanks again!


#9

I appreciate your acknowledgment of the issue and support an effort to change the dialogue. May I suggest looking at it from a visual angle?

For somethings I am comfortable in CLI in others I need more of a visual style. Bubble is a visual editor that allows for the creation of complex apps. Here’s a tutorial video where it’s being used with Material Design. I would encourage you and the team to create a series where Bubble could be used to create apps.

I’m going to assume you do not find this method of coding or app creation familiar. Hence you may become more aware of what you assume someone else knows and probably doesn’t or what you should mention.

Lastly, is there a reference for designing apps for the blockstack similar to this article, in everyday language? I am familiar and can read academia, however, in the normal world that’s just a bit much for new learners.