Tuesday, April 19, 2011

i have federated logins

Last weekend I spent most of my time trying to get my mind wrapped around giving people access to features on my website using their Google accounts.  I was really confused for a while learning how to use the technology.  Luckily, people much smarter than me have already made very easy to use libraries.  I'm currently able to authenticate using Google AND Yahoo because they use the same open source technology.  I'm going to try adding Facebook as well at some point.  They have their own proprietary solution so I need to learn to use different libraries.

Here's what I can do so far and how the authentication works:
  1. A person goes to something needing a user login on my website (like the shoutbox) and they see a dialog that tells them they need to log in.
  2. They choose the kind of account they want to log in with and get sent directly to that account provider's login page.  The user logs in securely and I never see their credentials.
  3. The provider sends the user back to my website with an encrypted identifier that acts as that user's name on my site.  
The result, the user gets to log in to my website without me seeing their credentials.  They don't have to give me any private information for a new account.  And I'm not liable for securing their private info.

Saturday, April 16, 2011

getting a user base

Any chat app has to have a user base.  I'd never want to create my own user base though.  I've found it hugely inconvenient in the past transitioning between chat clients and found apps like Trillian fantastic for managing connectivity to the multiple servers.  

Similarly, tons of websites have started using what's called federated authentication to allow logging in with Google or Facebook accounts.  After a little research, I've decided to start with Google's user base using federated login to allow access to the shoutbox on my site.  I've been reading a bit about how to do this today and hope to have this working by the end of the month.

Friday, April 15, 2011

shoutbox template is online

I managed to get my app converted for use on the web.  I put it up on my website today.  I will continue updating it as I keep working on it.  Feel free to check it out at my website siteneolite.com.

Wednesday, April 13, 2011

keeping up appearances

I haven't worked on the chat app a lot this week, but I think an important aspect of it is to show that there's still activity going on behind the scenes.  I had to do my taxes and work on finishing up another project, but I can't wait to get back to the app.  Actually, i tried to find a way to post it to my website to let people play with it as I work on it.  But my first approach ended up failing miserably.  I have another trick up my sleeve and should end up posting it to my site some time soon...

Also, I thought about possibly changing to a different deployment technology.  I was going to make it a Silverlight app, but people have complained about having to download the Silverlight runtime.  So I pondered changing it to html5 canvas or svg meaning the app would have integrated browser support right off the bat without additional downloads.  Upon some inspection of those technologies, I've decided to stick with Silverlight.  I haven't found any matured frameworks for canvas and svg that would allow me to do what Silverlight does with that level of efficiency.  Plus Silverlight can be directly ported as a Windows app.  So it gives me a lot more flexibility out of the box.

Sunday, April 10, 2011

building a chat

Today I spent some time trying to figure out how an actual chat should look.  The main requirements are that multiple numbers of people can have a conversation at the same time.  I was debating between a vertical or horizontal flow but went with the vertical flow.  Most chat apps have a vertical flow and it actually ended up being better all around.  So here's what a conversation would end up looking like.

text entry supreme

Yes, it is actually 4:10 AM.  I have some good news and some bad news.  The good news is that I have text entry capabilities for my chat app.  The bad news is that adding the input box took forever.  I was hoping that after about a year of developing in Silverlight/WPF that I would have figured things out in less time.  But there's still sooooo much I don't know about this technology, and so many squirrely ways to get lost in the bowels of this framework.  Hours of google searches can go by to eventually end up learning you just can't do what you're trying to, but you can spend a few more hours to rewrite your code to some recommended approach D:  Despite my frustration, I just had to get this piece out as soon as possible.  So, back to the good news... here's the app so far :D

Friday, April 8, 2011

the work continues

Speech bubbles now have tails and the character that's doing the talking :D  So far I've been working with static text.  The next step is to add a text entry section.

generated speech bubbles

I had an idea a while ago to make a manga styled communicator.  I haven't gotten too far along with it, but the first step is here: generated speech bubble networks.  As people type stuff, a speech bubble network like the following would appear.