Getting started with a hApp

Hi everyone,

we are currently working on a student-project to develop a hApp and have troubles getting started.

We have successfully set up our Holochain environment following this guide:
https://developer.holochain.org/docs/install/

We also tried to analyse the elemental-chat (GitHub - holochain/elemental-chat: A chat DNA for Holochain RSM) to find out how it works and see how to program such an hApp. Additionally we tried the exercises from the holochain-gym (Holochain Gym · GitHub) but we couldn’t figure out how to solve them.

  • Does anyone know when the ‘Hello-Holo’ tutorial will be available for the Holochain RSM?
  • Is there anything similar available like the old ‘Hello Holo’ Tutorial from the old Holochain?
  • Is there anybody who also started to programm an hApp and would like to share how to make the first steps?

We have a basic understanding of Rust but don’t know how to start.

We are very desperate, can someone please help us? :nerd_face:

Thanks in advance!

4 Likes

Hi @wwo, great to see this.

So if you’ve tried the gym, did you try the webpage? The first exercise should have everything you need to get started and at least create some functions: https://holochain-gym.github.io/developers/basic/entries/

If you can’t solve it, it’d be very interested in your feedback and helping you start with things. Ideally, the gym would serve as a much slow, step-by-step and interactive tutorial for both developer setup and concepts.

You can see a lot of already working examples here: https://github.com/holochain-open-dev (profiles, calendar_events, file_storage all work and are up to latest).

2 Likes

I’ve been spending some time going through the gym, the main problems I’m encountering I think are the broken links from old to new API, so if the link is broken and I go to find it, five seconds later my ADHD brain has found something new and shiny and more interesting to play with and it’s another 24h before I end up back at the gym again :wink:

Another thing I’ve learned since discovering recently that I’m Autistic is that I learn by mimicking others so whilst others may do that too, many developers actually understand and think about the code they’re writing but for me it’s opposite - I copy code that works and does what I want and build from that, I guess that’s why I spent so many years in Drupal because there was always bits I would see I wanted X functionality so I’d just copy and paste then maybe I would understand it. [edit: or maybe it’s to do with executive function and only being able to cope with a certain amount of things at one time, or maybe a bit of both!]

So for me at the moment I feel a little stuck but I just keep going back round and then something clicks and it works. Currently I’m stuck at " Relevant HDK documentation: create_entry." So I’ve been looking at what I think is the new API but probably isn’t and the last thing I saw earlier today IIRC is it’s “entry” and we do a “create” function on it. Somehow.

I usually get stuck on very simple things, well what other people think are simple and probably is to them, which is why I generally haven’t replied to stuff like this previously because my ego gets in the way being 48 and remember hacking on BBC Basic and assembly language when I was 9. But also that is the fun of it.

The API change reminds me a little of the big rewrite Drupal did from 7 to 8 which was basically from procedural like WordPress is to mostly OO. That was a big one and took many years but at least now there’s an upgrade path between major versions where there wasn’t before, and you can actually test and build things properly where you couldn’t before. WordPress suffers because it stuck to backwards compatibility, I’m glad Holochain is changing, just find it funny I seem to be in a similar position as I was when Drupal changed from 7 to 8, but then I did learn and help the Rules module upgrade so learned about dependency injection and traits and other stuff which is helping me understand some Rust.

rant ends :wink:

3 Likes

Thanks for this @stephenpurkiss, you’re spot on. Until this past weekend there were missing pieces on the tooling to work with the new stable hdk release, but now everything is fixed. I’ve also fixed the broken links from the guides, if you try again they should be working (you may have to clear the browser’s cache).

This note about learning by mimicking is interesting. We have a solution branch in the developers exercises, is that something that would help? That’s also been fixed.

2 Likes

Thanks @guillemcordoba I’ll have another go! I did half-start a pull request to link the old links to some new ones I found, then I found loads of references to ‘hdk3’ in the text too, then I discovered someone else had already made a pull request for one link change, then I thought “oh look, this little thing I was going to do has turned into a huge monster” and thought I’d just leave it as I know you are working on the updates and I’d possibly try again once I’d completed the exercise and was a bit more certain about the changes I was suggesting.

One thing I noticed in my Drupal travels which I now understand is pretty autistic is I’m a stickler for consistency especially when it comes to APIs - this can be an issue especially in Open Source communities where one person decides to do something like ‘createX’ and the other ‘xCreate’ or whatever. It’s good to have some kind of guidelines set upfront for people to follow as it grows. Also when quick changes are made but not every change needed is made so like as I mentioned in the text not only the links. So expect some pull requests as I build confidence and notice anomalies!

I was leaving looking at the solution branch until I was certain I couldn’t figure it out for myself, I’m not there yet and there’s changes since I last looked so will try again. I refuse to believe I can’t work fairly simple things out, I’m not convinced this isn’t simple yet! lol - thanks for your work!

2 Likes

Sure, once you get past the first setup pain and understanding of how you can define functions and call them, the rest is quite simpler and incremental I think. So good luck and let me know if you run into more issues (I don’t think there are any right now, but things are moving fast so I might be wrong).

Thanks again! Happy to have someone contributing :smiley:

2 Likes

Thank you for your answer I think we should take another look at the gym. I will let you know when we have any questions or feedback.

1 Like

Thank you for your input on this topic. The picture could not describe our current situation better :joy:

3 Likes

same for me. also recently accepting that im clearly “autistic” as most people’s way of doing things are frustrating and too slow.

stevepurkiss, post:3, topic:5127"]
I usually get stuck on very simple things
[/quote]
same. its obvious my brain is quite backwards however it should create a useful synergy being that im terrible at alot of things people are good at yet seem to have unique specialized knowledge

the formalized documentation link in Announcing and Unpacking the New Holochain - Holochain Blog 503’d

the gym is incredibly basic and unhelpful. I learned nothing new in the last DevCamp but am thankful to have participated to see that it has 1) gotten better and 2) i feel rewarded for having wasted money in previous ones

it would be really nice to have the HDK crate docs updated…

i am very curious why I have to literally beg anyone from HC to contribute. ive been ignored repeatedly and all im trying to do is freakin help this project :man_shrugging:
at this point, myself (and others) are feeling quite excluded
@carolyn @dcatki @artbrock does Holochain want support? how can I do this today instead of tomorrow?

Hey friend, I’ll just chime as someone who has been volunteering off and on in the community for a few years.

In my opinion, it’s best to go with the flow, in terms of what you can offer and what the team is able/wanting to receive. If you “have to literally beg” to contribute something, then it could be you are in a position of demanding their attention and their coordination for you, and this may take away time and energy they could be spending on something else. When I offer to support, I do so trusting that they have their priorities and that if my offer isn’t taken up, then it’s because it wasn’t flowing in that moment. I don’t take it personally.

Maybe the most helpful thing you can do is not beg, but find ways you can contribute that don’t require any attention or coordination on their part. Like for me, recently I have been moderating the subreddit, because no one else was doing it and it really needed attention. I don’t even know if the team has really even noticed how much work I have been doing, but that’s actually kind of a good thing. I’m invisibly helping.

Anyway, my way of looking at things may or may not apply in your case, just thought I’d share in case it gave a different perspective.

12 Likes

under normal circumstances I would totally agree with you, however lets take a look around the world… maybe I’m off base in saying that it could really use distributed technology and right now (only my opinion) the tech is waay behind the demand

its easy for people who are living comfortable to not feel a sense of urgency but personally there is not a single person I cared about, including family, who’s life isn’t ruined
[except for my brand new friends who are quite exceptional, im very thankful to meet a conscious community] albeit most of them struggle to meet their basic needs…
meanwhile the rich spend $100k’s on worthless digital tokens built on a system harming the environment with enormous electrical consumption whose governance model is $ = power. the public sheep are excited about infeasible ‘blockchain’ getting duped in a giant crypto ponzi

my frustration is not to bring a negative energy, but instead to highlight the issue with our current system and why change takes unnecessarily long.
i am going to put my effort to helping others. wish it could leverage HC and I will find a way to deliver this much needed tech regardless. no hard feelings if they dont want support.
their loss.

1 Like

when we just write a better network and get it launched even still before theyre ready at least no one can say I didnt try to work with them first

we’re all about collaboration. the old competitive system does not serve the collective good. why not join forces? we are in fact up against a powerful elite wrecking ball
but just like that pic, theres a relevant saying about horses and water…

its kinda weird an open source peoples internet project is exclusive and hides behind secrecy closed doors, err cough – excuse me – “membranes”

1 Like

I’ve had to do a lot of learning in quite a quick time since discovering I’m PDA six months ago, mostly that I have to detach myself emotionally from these situations however hard that maybe to do.

Also that thinking non-PDA people (or non-Autistic, whatever your bit of the spectrum is) are ever going to understand what it’s like or indeed need to understand is unlikely - everyone’s just getting on with sorting their own troubles out. Our lives seem to be led by our feelings much more and very different motivators - Hunter/gatherer theory - heck they even used to try to drown us ‘witches’ lol. It’s been a long time since humans collaborated in the way we need to again and it’s going to take a while for us all go get to know each other’s good and bad bits and although some of us may notice every little detail and see far into the future (we believe lol), others are more focused on the sh*t they have to get done today.

Peace bro :sunglasses:

Thanks for your contribution - do it for you though, and if you need a minute or two then go take it, everyone will still be here when you get back!

1 Like

its a lonely life. and i doubt 3D’s will ever get it… the best thing to do is learn how to manage. me Im just :pray:ing to get rescued out of the matrix or by some miracle escape

the unfortunate part is that people like us could actually help in tremendous ways given the proper support structure and community love
check out http://yoga4autism.org/ my friend and business partner @dellams brilliant developer of the OASIS API GitHub - NextGenSoftwareUK/Our-World-OASIS-API-HoloNET-HoloUnity-And-.NET-HDK: The core OASIS (Open Advanced Sensory Immersion System) API that powers Our World and manages the central profile/avatar/karma system that other satellite apps/games plug into it and share. This also includes HoloNET that allows .NET to talk to Holochain, which is where the profile/avatar is stored on a private decentralised, distributed network. This will be gifted forward to the Holochain community along with the HoloUnity3D SDK/Lib coming soon... ;-) started this program, we want to show neurodivergent individuals that a happy and healthy life is possible through balanced mindfulness practices. were looking soon to collaborate with https://www.thecodeinitiative.ca/ to form a dev team of 5D autistics to work alongside our current group of coders

-much :purple_heart: star sibling

2 Likes

Hey @pqcdev,

Thank you for sharing your experience. I want to share a bit of context as to why we do things this ways right now.

I think most of us are living with a sense of urgency and desire to live in a different world/society ASAP. Personally I reckon with the present limitations and do the best that we can. I am sorry it is so frustrating and it seems to take a toll. This past week even @guillemcordoba said that he would be taking a little rest due to all the breaking changes in the HDK. It is challenging to wait, but sometimes that is what’s most needed.

A year and a half ago, the team had a different approach and we put much more effort into documentation and keeping community hApp devs up-to-speed. Last January, we did an organizational re-set, and part of that was a decision to spend less energy expanding/sharing, and more resources on getting Holochain to work and launching Holo. The dedicated community volunteers within the ecosystem spend a lot of time trying to keep up with the changes and find ways to effectively share without slowing down development. Previously, we had people building hApps and support from the team, but it led to confusion and hApp builders being disappointed that we were not nearly ready to support their hApp in the real world, and in many cases extra work for hApp devs who have had to entirely re-write their stuff. I see it as a tension or balance that we get to play with. We try to communicate what we know, when we know it. @pauldaoust works to keep folks updated with DevPulse, tutorials and answering questions here.

I feel nothing but gratitude for the community volunteers who have created resources like the Holochain Gym, Open-dev blog and those who continue to hold DevCamps.

Thank you @stephenpurkiss and @Brooks for chiming in – beautifully said. I would like to learn more about how community structures can be more supportive to the range of neurodiversity that shows up. @stephenpurkiss and @pqcdev – thank you for talking in the public forum about different learning styles and needs. I think Steve put it well in that “its been a long time since humans collaborated in the way we need to again,” :slight_smile:

We hear the need for clarity about how to navigate and engage within the Holochain Ecosystem in a supportive way. So, we’re hosting an onboarding session next Tuesday. You can register with this link.

10 Likes

I also feel tremendous gratitude for everything you all are doing! its truly amazing, revolutionary work :+1: you are all shining :star2:s

I’m suggesting that there are people who can help move things along…

Let me try a more specific approach to communication…

How can we help? How can I contribute (detailed action steps please :pray:)?
What is the best way to ensure timely response to direct messages? Perhaps we can assign someone to engage with the non-core community…

Is Holochain willing to collaborate with others to help them increase their bandwidth? it doesnt seem effective nor appropriate that you all are taking the world on your shoulders

1 Like

and if money is an issue… I’m trying to raise funds but cant do so without any type of assistance

can you appreciate that I feel that im putting in more effort to help than yourselves are putting in to receive?

again, Im totally willing to admit that my perception is unfair. either way all that matters to me is moving forward… delivering this tech!
thank you all for the responses and thank you for the link, fortunately now I’m part of an organization so im sure someone can join, since i have anxiety in group meetings

2 Likes

I’ll second that
We all want the future to be here already, but some things just take loads of time to put together and we must allow for that. Once it’s built, we would come. But trying to force your way into a product that isn’t ready for you is just getting into a whole new type of pain.

I’ve personally started developing on MeteorJS back when it was in version 0.2 or something, which was a good 3 years before it was production-worthy, and even though it was cool, loads of code just ended up being incompatible with the later versions.

HC currently feels a lot more crude and rugged than Meteor felt back in the day. There are a lot of cool ideas in the air, but making such space-age technology work in a robust way takes a lot of work.

I believe there are good people working on this and I also think what they really need right now is just more time. I’m sure they know we’re all here and if they need something they would let us know.

3 Likes

people = time resource => organizations have to scale

they are not willing to reach out for help, or unable to recognize when its needed

if you know of another non-blockchain agent centric P2P distributed network that I can build on please let me know

I’m trying to say publicly that there are people throwing free help to the project unabated without any success which is crazy when you think about it

Perhaps Im misinformed, but Ive been told that several people have been excluded from the latest DevCamp. @kerrgreg want to share your experience?