Archive for the ‘Community’ Category
Want to learn Red5? Request some tutorials here!
Published by Ronny on August 26th, 2010 in Community, Tutorial. 5 comments
For the longest time I wanted to create video tutorials that would help others create cool stuff; that really would help people get started with something.
I thought about creating bitmapdata tutorials. I thought about covering some of the soundSpectrum stuff. And I even wanted to explain a bit of magic behind advanced runtime effects (done easy). But none of those really made me believe I could help a lot of people out.
But during the past weeks, it came to my attention that a lot of people really want to get started with Red5, but can’t because they can’t find any simple, straight forward tutorials. That’s where I come in.
Starting from september 3rd, I’ll be recording as much video tutorials about Red5 as I can, covering small topics. I’ll keep it short and real simple. It’s about helping you understand the basics and getting you started. I’ll post them as fast as I can upload them. I’ve got some topics in mind, but I’d love to hear from you guys what you really want to know.
A few of the topics I had in mind:
- Your first Red5 app: Multi-user Hello World (remote shared objects)!
- How to create the Shared Ball demo app (remote shared objects)?
- How to create a fridge-magnet app (remote shared objects)?
- How to tell other users to do something (remote methods)
- How to build a basic chat app?
- How to stream video & audio?
- Building a custom Red5 application in JAVA
- Executing methods on connected clients, from the server.
- Sending data to a client (from JAVA to AS3)
- Recording a complete audio/video stream.
- Recording a part of a audio/video stream.
- Room management done right
- [more to come... Post your ideas in the comments]
Post whatever questions you have in the comments. I’ll try to answer every single one of them in the upcoming video tutorials, using simple demo’s and examples.
Note (again): I’m trying to get you to understand the very basics, and interesting tricks. I’m not going to help you build insane custom apps.
How to distribute your Flash CS5 iPhone apps via Cydia
Published by Ronny on May 5th, 2010 in Community, Flash. 6 comments
Ever since Apple announced that they won’t allow any Flash CS5 compiled iPhone apps into the App Store, creative Flash developers lost their one chance to deploy their existing knowledge to the iPhone.
However: since Adobe released Flash CS5 with the iPhone packager anyway, we can actually deploy iPhone apps created in Flash CS5. The only thing we can’t do is to submit these apps to the Apple App Store (in fact we can, but they will reject them anyway, so why bother?)
However: We can distribute our apps using Cydia! Okay, it’s not the same, but you’ve got to start somewhere!
Setting up a Cydia repository is actually pretty easy. There’s a great tutorial right here!
There’s a little problem though: Flash CS5 creates an .ipa file. In step 3 of that tutorial you’ll need to put your application in the Applications folder. That application is actually an .app file, not an .ipa file. (I’ve tried it using the .ipa file; it doesn’t work
)
Getting the .app file is pretty easy:
- Rename your .ipa file to .zip
- Unzip the archive
- Your .app file is in the extracted Payload folder
That’s it! You can now create your own Cydia repository and distribute your rejected iPhone apps to the (jailbroken) masses using Cydia.
Have fun!
Fixing the NetStatusEvent.info.code ugliness in Actionscript 3
Published by Ronny on March 21st, 2010 in Actionscript, Community, download. No comments
Everything in AS3 is pretty straight forward once you get your head around it but the guys at Adobe seem to have become sloppy when they wrote the NetstatusEvent structure.
Ever since I got started with Red5, remote shared objects and all kind of different remote animals about 3 years ago, I ran into this ugly ‘NetstatusEvent.info.code‘ thing which is basically just a string. In order to know which one it is you have to use a switch statement to figure this out using real strings (instead of class constants) (which looks like the following).
- private function onNetStatus(e:NetStatusEvent):void{
- switch (e.info.code){
- case"Netconnection.Connect.Success":
- trace("You connected!");
- break;
- case "Netconnection.Connect.Closed":
- trace("You disconnected!");
- break;
- }
- }
As a very lazy developer, I tend to think that comparing strings like this is just crazy. And ugly! So I made my life just a little better by creating my own class that holds ‘InfoObjects‘ with the ‘code‘, ‘level‘ and ‘meaning‘ properties. That way you can just compare the ‘event.code.info’ to a class constant. No need for copy-pasting codes from the Adobe site, or debugging your code in order to find you made a typo in one of those strings…
I ran the table (listing all of the NetStatus codes) through a simple XML parser and ended up with a very neat Actionscript class (which I’m sharing, so it’s up for grabs! Download link at the end of this blogpost!). Using it looks way more natural!
- private function onNetStatus(e:NetStatusEvent):void{
- switch (e.info.code){
- case NetStatusInfo.NETCONNECTION_CONNECT_SUCCESS.code:
- trace("You connected!");
- // returns the code property (same as 'toString()')
- trace(NetStatusInfo.NETCONNECTION_CONNECT_SUCCESS.code);
- // returns the level property
- trace(NetStatusInfo.NETCONNECTION_CONNECT_SUCCESS.level);
- // returns the meaning of this status change
- trace(NetStatusInfo.NETCONNECTION_CONNECT_SUCCESS.meaning);
- break;
- case NetStatusInfo.NETCONNECTION_CONNECT_CLOSED.code:
- trace("You disconnected!");
- break;
- }
- }
However….
Why isn’t this just event based? Right now the Netconnection dispatches a NetStatusEvent.NET_STATUS. Most people find this very acceptable. I, myself, tend to think it’s funny. The classname (NetStatusEvent) is pretty darn clear about the fact that the event triggered is related to the netstatus… Duh?!
Anyway: after having listened to that event and having caught it, we now need to evaluate the event.info.code property (which will return a string like ‘NetConnection.Connect.Success‘)… Why is that??
Why not just dispatch NetStatusEvent.NETCONNECTION_CONNECT_SUCCESS? Wouldn’t this be more consistent with the rest of Actionscript?
It would only make life better:
- No more copy-pasting of ‘codes‘. They’re just constants in the NetStatusEvent class.
- No chance of runtime bugs because of typo’s made in the string itself. The use of constants makes sure the compiler knows when you’re doing something horrible, and allows him to throw that error right in your face!
- Auto-completion! Because life should be made easier by computers; not harder!
I think that an implementation like mentioned above would be pretty cool (and perhaps more logical). At least to me…
Download
Feel free to use, modify, marry this class (and pass it on onto your children) if needed. If I overlooked anything or there’s a better way of doing this, feel free to ping me and I shall correct myself asap!
Enjoy!
Download: Click
I’ve said it for a long time, just didn’t quite make my point
Published by Ronny on November 26th, 2009 in Community. 5 commentsI just finished reading an article on Drawar.com about how Smashing Magazine killed the community. I have been thinking about what you’re about to read for some time now but it never occurred to me that Smashing Magazine was one of the reasons why everything changed.
Let’s start in the beginning (because there’s a lot of things to cover here).
I’ve been reading Smashing Magazine for more than 2 years now. I started reading in their very early days as ‘Smashing Magazine’ (Before, it was a smaller online magazine with a different name).
They actually caught my eye with very very interesting articles that focussed on one topic. Every article covered ways to do things and things you shouldn’t do, in a very specific aspect of (web) design. That content was of great value since it was on-topic and very high-end.
However Smashing Magazine’s content not only caught my eye… Lots of people started reading it on a regular basis and subscribing to the RSS feeds. That’s when they really started making money, and therefor stopped actually writing ‘real’ articles and started going down the ‘lists‘ road. At that point, it only took me about 2 weeks to stop caring about Smashing Magazine (besides when they linked me). I still check the site every now and then, but honestly: If an article starts with a number I don’t even read the rest of the title. It’s all they’ve been doing ever since…
The worst part: Lots of other site have been doing it too, just because Smashing Magazine prove the concept works. I myself have only published 1 single post like that in the 2 years I’ve been blogging. And hell: I’m proud of it!
And the more I actually talk to other people about this issue, the more I realize the very people we write for think the same way. They don’t want a list of whatever. They want your secrets. They want to know why you did something the way you did it. They want to know why you prefer ketchup instead of mayonaise. They want a personal opinion. If they want a list, they’ll just Google whatever it is they need. Google lists everything by default anyway. Read the rest of this entry »
Open Microphone pt 1
Published by Ronny on September 25th, 2009 in Actionscript, Community, Flash. No comments
If you’ve come by here a few times you know I have been experimenting with computeSpectrum and webcam motion detection. At a given moment I wanted to combine the 2 of them in order to use voice commands in order to make stuff happen on the screen. That would be pretty badass, right?
However I soon learned the microphone feed didn’t go through the SoundMixer of the Flash Player, therefor would would not be able to be analyzed. There was a workaround with FMS/RED5 and bouncing the stream off the server but that’s rather overkill (not to mention the lag). Read the rest of this entry »

