What do you need from ICP in 2024?

X thread: https://twitter.com/lastmjs/status/1737149036241563910

I’m in the process of deeply pondering what ICP is missing at and around the protocol level, and what I think we need from ICP in 2024.

I usually do this through private conversations, but I would love to get as much feedback from the general ICP developer community as possible.

So please, what do you need from ICP to succeed with your applications? What’s missing? What’s frustrating? What’s blocking?

If this makes it easier: If you could snap your fingers and have one feature implemented on ICP in 2024, just one, what would it be?

30 Likes

Maybe I am a little off topic, but :
– get USDC natively through CCTP
– full integration within Ledger Live (staking first, then buying, CL Card, etc.)

3 Likes

I have a design for a dapp and the backend logic and primary algorithm are already written, but it’s been decades since I’ve coded and I don’t have time to relearn new languages right now. If there were some combination of AI and developer kits that could do the heavy lifting I’d probably find time to build it on the IC.

2 Likes

And this ones are more selfish, but I think will be generally important. AI stuff:

  • Low-replication subnet for LLMs.
  • VectorDB that scales.
14 Likes

Wanna build it together?

This is easier than the one above. I could help, if you want.

7 Likes

Thank You! Messaged you.

2 Likes

Cycles ledger

And canister backups

2 Likes
  1. Idle canisters being handled more efficiently by the replica

    Currently an idle canister still adds a non-trivial amount of computation cost to the replica.
    If this could be handled more efficiently then the limiting factor would be the number of active canisters rather than the total number of canisters.
    This would allow apps using the 1 canister per user model to have potentially millions of canisters per subnet since only a small portion of them will ever be active at any given time.

  2. Wasm deduplication

    For apps using the 1 canister per user model, the replica ends up storing the same wasm thousands of times. If the wasms could be deduplicated the storage space used up would be reduced massively.

19 Likes

Derived Canister IDs: Derived Canister IDs

AMDSev for computing inside a canister.

6 Likes

I’d love to see:

All IC

Motoko

  • Stable release of the incremental GC
  • Abstracted/enhanced stable memory (stable keyword means the data lives in stable memory at all times)
    • Ability to use this enhanced stable memory to easily interact with the full memory available to a canister (without needing to manage memory directly or use a specialized library like Region.mo)
4 Likes

This is going to be my very first post on this forum. I’ve been a long-time lurker. However, can we please address this? NNS proposals are nonsensical to people who are not from a computer science background. This is literally Latin to me. I usually just vote yes on most of these because I want the rewards. Can the proposals be simplified so that everyone can understand what they’re actually voting on? It’s such a simple idea. You can’t expect mass adoption if normal people can’t get past the jargon and technicalities of a project. I follow you on X, and you’re one of the few individuals who breaks down complex ideas into understandable bits. Perhaps incorporating plain language summaries or providing accessible explanations alongside technical terms in proposals could make a significant difference. This way, even those not from an engineering background can make informed decisions and contribute meaningfully to the development of the project.

Edit - In this case, I can at least tell something at one of the Node Operators end is being updated (please correct me if I’m wrong). But a lot of these proposals are just gibberish to an outsider like me.

7 Likes

I would like to see

  1. Support of the ICRC7 nft standard in mobile wallets
  2. Support of ICP token in Trustwallet or so.
  3. Data export / import opportunities between canisters
  4. Sdk to build SSI applications. framework for DID, DIDDoc, verified credentials, selective disclosure etc.
  5. News from any product where ICP token ICRC2 (or ICRC1) was listed by any centralized exchanges (like Binance, OKX, etc).
  6. Opportunity to specify the subnet for any nested canister when it is deployed by the parent canister.
  7. Increased ICP token price by 4 (at least) or 14 times till the end of 2024!
5 Likes

1 - Canister backups.
2 - Crypto AI Cloud. :pray:

3 Likes

Fullstack Motoko! Wasm is a first class citizen on the browser, would be great to have Motoko on the browser interacting with the DOM using JSInterop, something like Blazor.

2 Likes

We need a standard protocol for canister responses on top of the low level layer that exists today. Something that would pave the way for more composable applications. If my canister calls a function on another canister and is not authorised to do so, I want a standardised error code. It makes the integration and interoperability so much easier. Similar to an HTTP 403 code. Perhaps we could even adopt the HTTP codes directly. Why invent something new when a standard already exists.

So. HTTP wrappers for canister responses!

I do believe IC uses some HTTP error codes for low level errors - problems with the subnet, that kind of thing. This would be used for the layer above that, for application specific errors and messages.

9 Likes

And…

  • vetKeys
  • ckERC20
  • Calls where the caller pays for the cycles
  • Signing of arbitrary data with delegated identities
  • Give one identity/principal access to many canisters - user approves connection and scope. “Allow identity X to do Y on canister Z”

and some other things… :slight_smile:

6 Likes

We already retried to start! But some better bindings would be nice.

1 Like

I feel like the AI computing that has been introduced on the Internet Computer Website would be very useful & good for this task. On the IC website, you can ask the AI internet computer related questions and it will answer based on references from the internet computer database. This type of simplification of jargon should be no problem for an IC-trained linguistic AI.

Yes, I’ve used that AI chat function on the homepage and it’s pretty good. But for proposals, a simple one liner is also enough to explain what’s being proposed. It doesn’t have to be complicated, as long as it gets the job down. Just dumb it down so it’s easy for everyone to follow.

There is a way to see some one liners that explain the code and what it does that will sometimes be provided but I actually have the same problem in that case and still wish I understood more specifically what it means lol

2 Likes