Homebrew HackChat

omikes

Well-Known Member
OP
Newcomer
Joined
Oct 29, 2015
Messages
86
Trophies
0
Age
35
XP
91
Country
United States
Right now I am working on a little chat application for the HBL called HackChat. Right now it is little more than a keyboard, but I decided to create a thread anyway to keep track of my progress.

UPDATE: v1.0 is here! Now on IRC #3dshacks! A CIA version is now available as well!
3/1/2015 - Fixed overlapping text issues, some minor graphical bugs, and lost sent messages problems.

Here is the source:
https://github.com/GitGarage/HackChat
 

Attachments

  • hackchat.zip
    724.3 KB · Views: 376
  • hackchat_cia.zip
    813.2 KB · Views: 792
Last edited by omikes,

Shadowfied

Well-Known Member
Member
Joined
Dec 6, 2014
Messages
2,403
Trophies
1
Age
26
XP
3,492
Country
Wow, I was literally about to post a thread asking if a chat application would be possible. I'm assuming you're planning to have network features in it, and if so, have you thought on how that'll work? Will it be chatrooms like IRC or just "1on1" etc? :P
Also you are aware there is a fancy keyboard library right?
 

omikes

Well-Known Member
OP
Newcomer
Joined
Oct 29, 2015
Messages
86
Trophies
0
Age
35
XP
91
Country
United States
I am aware of the homebrew keyboard, but I figured if I am making a chat application, I might as well make a keyboard to match the theme. Also, I could not figure out how to use it... lol. What I am deciding on right now is how to have the program check consistently for messages without being to resource heavy on the web server, i.e. constantly rechecking the website. Supposedly my host has unlimited bandwidth though, so for the beginnings I think twice a second should do nicely. At first it will be just one chatroom, but if it fills up, more rooms and perhaps even private rooms will also be added. I forgot to mention, this will also be available as a CIA once it becomes more finalized.
 

Shadowfied

Well-Known Member
Member
Joined
Dec 6, 2014
Messages
2,403
Trophies
1
Age
26
XP
3,492
Country
I am aware of the homebrew keyboard, but I figured if I am making a chat application, I might as well make a keyboard to match the theme. Also, I could not figure out how to use it... lol. What I am deciding on right now is how to have the program check consistently for messages without being to resource heavy on the web server, i.e. constantly rechecking the website. Supposedly my host has unlimited bandwidth though, so for the beginnings I think twice a second should do nicely. At first it will be just one chatroom, but if it fills up, more rooms and perhaps even private rooms will also be added. I forgot to mention, this will also be available as a CIA once it becomes more finalized.
If private chat rooms can be made it would be awesome. Also it would be 10/10 if you eventually managed to integrate it with the 3DS notifications.
 
  • Like
Reactions: PF2M

omikes

Well-Known Member
OP
Newcomer
Joined
Oct 29, 2015
Messages
86
Trophies
0
Age
35
XP
91
Country
United States
That is good to know... I checked out the PictochatDS thread and it seems their servers are down. One main problem was that if nobody uses it for a while the server shuts off, I will make sure that is not the case with HackChat.
 

Shadowfied

Well-Known Member
Member
Joined
Dec 6, 2014
Messages
2,403
Trophies
1
Age
26
XP
3,492
Country
That is good to know... I checked out the PictochatDS thread and it seems their servers are down. One main problem was that if nobody uses it for a while the server shuts off, I will make sure that is not the case with HackChat.
+1

As long as we can host our own servers it's be fine :)
 

Slashcash

Well-Known Member
Member
Joined
Oct 15, 2015
Messages
338
Trophies
0
XP
581
Country
Italy
I am aware of the homebrew keyboard, but I figured if I am making a chat application, I might as well make a keyboard to match the theme. Also, I could not figure out how to use it... lol. What I am deciding on right now is how to have the program check consistently for messages without being to resource heavy on the web server, i.e. constantly rechecking the website.

Not needed. Hint: push approach

Hint number 2: https://en.m.wikipedia.org/wiki/Push_technology
 
Last edited by Slashcash,
  • Like
Reactions: cearp and omikes

omikes

Well-Known Member
OP
Newcomer
Joined
Oct 29, 2015
Messages
86
Trophies
0
Age
35
XP
91
Country
United States
Thank you! The keyboard was the scariest part, that's why I started with it. Everything was pretty smooth, actually, except that every time you type a multiple of eight letters the string moves to the left about ten pixels, which was really annoying. My jenky fix was to add a space at the end of the string if its length is a multiple of 8, seems to work fine, but it has me worried. As for a push notification system, is there any other homebrew app that has implemented that? Is it as simple as putting the 3DS in server mode like FTBrony does and just have it listen for messages?
 

Slashcash

Well-Known Member
Member
Joined
Oct 15, 2015
Messages
338
Trophies
0
XP
581
Country
Italy
Thank you! The keyboard was the scariest part, that's why I started with it. Everything was pretty smooth, actually, except that every time you type a multiple of eight letters the string moves to the left about ten pixels, which was really annoying. My jenky fix was to add a space at the end of the string if its length is a multiple of 8, seems to work fine, but it has me worried. As for a push notification system, is there any other homebrew app that has implemented that? Is it as simple as putting the 3DS in server mode like FTBrony does and just have it listen for messages?

It really depends on how you want to implement it server side but theorically speaking yes, the client app will wait for messages from the server without polling it twice a second or so. I don't know if another homebrew directly implemented this approach yet but it shouldn't be too hard anyway.

Just write a simple listener that only waits for messages on a given port. When a message arrive retrieve the message from the listener and show it on screen
 
  • Like
Reactions: omikes

omikes

Well-Known Member
OP
Newcomer
Joined
Oct 29, 2015
Messages
86
Trophies
0
Age
35
XP
91
Country
United States
This is wicked harder than I thought. I'm going through heaven and hell just trying to get 'gethostname' to work. One freaking line... its killing me.
 

SomeGamer

Well-Known Member
Member
Joined
Dec 19, 2014
Messages
6,822
Trophies
1
XP
4,390
Country
Hungary
If private chat rooms can be made it would be awesome. Also it would be 10/10 if you eventually managed to integrate it with the 3DS notifications.
It would require the app to run, making the notifications useless. UNLESS... it creates BOSS (SpotPass) extdata to schedule checking for messages.
 

Tjessx

Well-Known Member
Member
Joined
Dec 3, 2014
Messages
1,160
Trophies
0
Age
24
XP
914
Country
Belgium
That is good to know... I checked out the PictochatDS thread and it seems their servers are down. One main problem was that if nobody uses it for a while the server shuts off, I will make sure that is not the case with HackChat.
Servers has been down a few days because i was working on a different implementation, that was weeks ago.

Push notifications won't work for this, you'll need sockets.

Also, i don't want to crush your hope and dreams.
I really hope you enjoy this project, but as i have learned by developing pictochat3D:
People don't like to use the 3DS to chat, it is interesting, maybe fun, at first, but it is highly inefficient, and people get bored.

Also, I don't want to compete with you or anything, but i've been working on a different implementation of the chat server, and i'm working on a rebirth version of pictochat3D for a while now,
I'm in the middle of my exams now, but i plan on releasing it a while after.
I learned a lot of making a chat application, and had a lot of fun, i hope you do as well! good luck
 

omikes

Well-Known Member
OP
Newcomer
Joined
Oct 29, 2015
Messages
86
Trophies
0
Age
35
XP
91
Country
United States
I used and loved pictochat. This is not meant to be a replacement, just an alternative way to communicate via 3DS.

EDIT: We posted at the same time, so I want to respond to Tjessx directly. This is my first 3ds application and is definitely more for fun than for notoriety. My last two projects were very fun to make, and nobody used them. I don't care if I just end up using it to talk to my neighbor across the hall when I am too tired to get off the couch, haha. Hopefully by adding some cool features people will use it, but if they don't, no biggie.
 
Last edited by omikes,
General chit-chat
Help Users
    gudenau @ gudenau: I was corrupting memory that just happened to be object metadata of some sort.