Bringing the desktop experience to the web
Thanks to this TechCrunch blog entry I stumbled upon a new web service called Anywhere.FM. It was built using Adobe Flex and allows you to upload your entire music collection, listen to it from anywhere and share it with friends. It's definitely a simple yet well thought out application with a similar appearance to iTunes.
Lately a lot of focus in the blog community has switched to Adobe AIR and bringing normally web based applications to the desktop. Although Adobe AIR is a great technology and will play a large part in RIAs future, I think Adobe Flex still deserves a lot of credit for helping bring the desktop experience to the web.
When using HTML to develop web applications I often got frustrated with the hoops I repeatedly had to jump through to make the web page look and feel like an application. Instead Adobe Flex's customized components and object-orientated nature is helping developers around the world build web applications quicker and easier than ever.
Now if only the Anywhere.FM developers can package up their service as an Adobe AIR app! *hint hint*
RIA for the Next Generation
One of today's big announcements is the $700 million purchase of Club Penguin by Disney. For those who don't know, Club Penguin is a virtual world for kids ages 8 to 14 where they can safely communicate and play mini games with other members. It makes extensive use of Adobe Flash allowing them to create a fun virtual world without the need to install stand-alone software.
When I got my first internet connection I used a browser called WinWeb which didn't even display photos on websites. Although at the time I was ok with that, mainly because I really didn't know what I was missing and was just excited to figure out what the heck the Internet was. At least now though, I always crave a better experience and could never go back to the web I first met. Yet not everyone likes change as much as I do and I believe that is why many think the simpler the site the better and don't see a need for richer internet experience.
Although convincing usage of technologies such as Adobe Flex to the WinWeb generation can sometimes be tough, the newest generation just getting a taste for the Internet for the first time doesn't need to be sold at all. They just want a great user experience and have no bias on what technologies are used. It's purchases like the one today that assure me RIA has a very big future and I am definitely excited to be apart of that.
Adobe Flex Coolness
The last couple weeks I have been working on a classified ads perl script that I am planning to sell. Originally I created the software for my fiancee's http://www.petsbc.com website but have recently decided to try and make some money from it. (Our first child is on the way, so my mind seems to be stuck on career lately ha)
The software front-end has lots of features but the back-end admin was almost non-existent. Other than a page to view unapproved ads, I would just use the MySQL command line client to manage the database. Since not everyone enjoys writing SQL statements as much as I do (and I don't enjoy it very much) I have been spending the majority of my time developing an admin interface using Adobe Flex.
Although I've read books, watched videos and visited every blog around related to Flex, up until this project I haven't had a chance to build any large real world applications using it. I'm almost finished development and am very excited to see what potential customers think of the application.
In the past I spent a lot of time focusing on making my cgi scripts look and feel like an application. With Flex I don't have to try, it is a real application and looks very professional even with the default skin. I think Flex not only produces a useable great looking application but will give me the edge over the competition with its coolness factor. Not to mention I can easily take the admin app to the desktop with Apollo.
I look forward to showing off the completed app and am also very interested in hearing what your customers first impressions were on Flex apps that you've built.
MySQL access in Adobe Flex
Over the last few days I've been writing a shared library to connect directly to MySQL in ActionScript (a great way to learn the Socket and ByteArray classes ha). The code is now compiling without any errors or warnings but still needs a lot of testing. Over the weekend I'll make sure everything works correctly and also make it more Flex-friendly. I think it would be pretty cool to be able to query the db directly from ActionScript and have the results bindable to a DataGrid.
Although connecting directly to MySQL from Flash probably isn't the best idea for most applications, I'm mainly doing this for the learning experience. My plans are the following:
1. Complete the ActionScript MySQL Client
2. Modify/abstract the code to allow other database drivers (JDBC, ODBC, DBI, PDO-ish style)
3. Code a simple object-to-relational mapping framework (Similar to ActiveRecord)
4. Build a database administration app using the Flex framework
I'll keep everyone updated on my progress and I'll release the code as it is completed. I hope to hear anyones comments on similar ideas.
Bypassing Web 2.0 to Adobe Flex
Last month I stumbled upon a technology that has revived the original motivation I use to have when developing software. For the majority of my career I have focused on building web based data driven applications. Each project I pushed the limits of HTML further, especially once AJAX came along. Although I've always been excited with the end result, it's still just a web page and I'm starting to get the feeling the browser just wasn't meant to serve applications. I think the browser has evolved quite a bit since originally introduced with CSS, JavaScript, DHTML but I also think HTML has reached its limits.
There is so much hype around AJAX because we're all amazed at what new things we can make the browser do, things that it originally wasn't meant to do. AJAX is simple, pulling data from the server after the page has loaded, but it's a hack and when dealing with all the cross-browser issues it feels like even more of a hack. Yet everyone uses it though because hack or not, it works and we could no longer imagine the web without it. I've actually started to feel like if I don't use it I am stuck in the old web, while everyone else is steps ahead in their fancy AJAX enabled web.
There will always be a place for HTML and it has served us well but for web applications I have now found a much better solution called Adobe Flex. It's a framework built on top of Flash 9 that from the beginning was developed specifically for building Rich Internet applications. Instead of steps ahead, I now feel leaps ahead of the AJAX world. No longer am I using JavaScript hacks, with Flex communicating with web services and even pushing data from the server is built in.
Server communication, although the biggest hype currently in the HTML/AJAX world, is only a small part of Adobe Flex. When developing HTML based applications I spent more time designing the pages and debugging JavaScript then I did writing the actually server-side back-end. With Flex there are no cross-browser issues to worry about and with 100 or so built in components it feels a lot more application developer friendly. If I want a data grid, I don't create an html table with the first row the labels and each other row the data, I use a Flex DataGrid component and assign a data provider to it.
Adobe Flex has allowed me to develop more interactive, user friendly, better looking applications easier and faster then ever before and with Flash as the back-end, it makes things possible that HTML isn't meant to do or will simply never be able to do. When picking tools for future web development, why not choose technologies that are built from the ground up to be full solutions and not just some quick fix buzzwords that only give us a taste of what the web should have been long ago.

