Home

School

Work

Play

work

Why the iPad makes me want to ditch my iPhone

Posted On: Fri, 01/29/2010 - 04:15 by charles


Undoubtedly, you've heard that Apple has released their long-awaited tablet. Dubbed the "iPad", it's gotten mixed reviews and reactions all over the web, often regarding it's design, it's OS, and even it's hardware. More importantly, to me is that it's a completely closed system. This is a big slap in the face. It's a huge sign by Apple and Steve Jobs telling us one clear thing: THEY HAVE NO INTENTION OF LISTENING TO DEVELOPERS AND CONTENT PRODUCERS BY OPENING UP THEIR DEVELOPMENT ECOSYSTEM.

Now, I can understand that they would want tight control over their iPhone. They're spurring an industry that was once stale and boring and made it exciting and innovative. And as Alex Payne (Platform Lead at Twitter) points out, this isn't uncommon in the mobile space anyways. But, the iPad is not a phone. The iPad is a computer! They're trying to take hold of the next generation of computing devices and, undoubtedly, lock them down. That means that anyone that wants to develop for the iPad will have to get the pass from Apple.

Now, I wouldn't mind this if Apple had a "Don't be evil" mentality. But, they obviously don't. Let's take a look at some of the decisions they've made recently with the iPhone...

1. Apple rejected the Google Voice app (and also the Google Latitude app) citing that "it appears to alter the iPhone’s distinctive user experience by replacing the iPhone’s core mobile telephone functionality and Apple user interface with its own user interface". We all know why they did this: so that they wouldn't step on the toes their network carriers and partners.

Cost for this decision: User's don't get to use an extremely useful Google Voice service natively on the phone. Let's also not overlook the chances that this has happened to other equally useful apps that we just never heard about (for example, Opera Mini).

2. Apple STILL refuses to put Flash on their mobile devices! We have suspicions for why they did this: Erica Naone of MIT's Technology Review suggests (and I agree) that it is because they want to save the sanctity of their App Store. If Flash gets put on the iPhone, it very well could negatively impact App Store numbers.

Cost for this decision: No Flash apps/games in the App Store, not to mention "70% of games and 75% of video on the web"* will be completely unaccessible. The same goes for Java, and AIR and other similar runtime environments (interestingly enough though, not Silverlight).

3. Apple forces users to sync and buy content with iTunes. Again, we know why they did this. They want to make iTunes _the_ portal for media consumption. Now we can't just drag-and-drop files from my computer to my iPad like we're used to with regular network devices. Instead, I'll have to sync it through iTunes.

Cost for this decision: A poor user-experience in exchange for a very narrow, custom-tailored Apple experience for moving and consuming content.

Yes, I understand that it's a business and Apple wants to keep it's shareholders happy, and Steve has to keep his jet fueled, but the iPad release is yet another statement by Apple, loud and clear, that they're making decisions for the best interests of Apple's shareholders...and NOT for it's users. They're stifling growth and innovation, and we get stuck with the bill. Makes me want to get a Nexus One.

*http://blogs.adobe.com/flashplatform/2010/01/apples_ipad_--_a_broken_link.html

( categories: )

Wrox presents "Professional Adobe Flex 3" - A Must-Have for Flex Developers

Posted On: Fri, 07/24/2009 - 03:06 by charles

With the help of some very talented authors and editors, Wrox has finally pushed out Professional Adobe Flex 3, a fantastic resource and reference book for any Flex 3 developer! I was lucky enough to be able to take part in this project, joining the team as a Technical Editor, and as such, I've really been able to see the breadth and comprehensiveness of the topics covered. From the book...

In recent years, Flex has become the leader in rich Internet application (RIA) development...This comprehensive, in-depth resource provides you with the foundations of Flex 3 and shows how you can maximize your use of Flex 3 to create unique experiences on the Internet and the desktop.

I've read many Flex books in my time, and this book delivers. Weighing in at a hefty 1300 pages, Professional Adobe Flex 3 takes no expense in breadth or depth. It covers the basic topics such as ActionScript and MXML fundamentals, working with components, extending components, styling and skinning, working with complex data, states, charting etc. It also covers more advanced topics such as integration with various server systems, remote-procedure-calls (RPCs), streaming video, messaging and data services with LCDS, MVC application architecture using Cairngorm, etc.


Also, what I really like about this book is that it covers many other important, but often omitted topics, such as logging, unit testing, documentation, localization, coding standards and best practices, profiling, automation, and performance strategies! This book goes on and on. This is definitely a must-have for any serious (or upcoming) RIA developers!

*If anyone here has picked it up and wanted to say a few words (good or bad), please do! Leave a comment or send me an e-mail...charles [at] whoischarles [dot] com :)

Charles

Fisheye Viewer - A Simple Flash/Flex Embeddable Photo Viewer

Posted On: Fri, 04/03/2009 - 07:18 by charles

A couple of weeks ago, I wrote a post about a simple Flash embeddable photo widget. The idea behind it was that it could be used by people as just a simple photo slideshow that can easily be dropped onto a website or blog. As I was playing around with it a bit more, I found another potentially useful application as well...a photo viewer.

With just a few more minutes, and a couple of extra lines of code in the original Fisheye Widget, I made a very simple Fisheye Viewer.





With just a few changes, you can easily modify the look and feel of your viewer. Try making it a vertical slide on the right of the main window...





There's nothing groundbreaking here, but something that people can hopefully make use of. Just as with the Fisheye Widget, you can easily re-create your own Fisheye Viewer by downloading the source, dropping your own image files into a folder named "images" alongside your SWF files, do some modifications in init() based on your photo set, re-compile, and you're done...you're own custom Flash Fisheye Viewer!

Fisheye Viewer

Enjoy!

Charles

White-Box QE Wanted - Apply Within!

Posted On: Fri, 03/13/2009 - 19:50 by charles

My team here at Adobe is looking to hire a White-Box QE in the next short while. We're working on some really cool stuff and solving some interesting problems, and we're hoping to find a QE who can help make sure we don't shoot ourselves in the foot :p Particularly, I work with the Adobe Services Infrastructure Team (ASIT) here at the Adobe Seattle site, working to build up a robust SaaS platform for hosted services the likes of Acrobat.com and Photoshop.com. The position will be a contract position, also out of the Seattle site, and we'd like to fill it ASAP. Enough chatter, here is the job description...

Position Summary
The Adobe Services Infrastructure Team is looking for exceptional people that want to work in a creative, fun, and fast-paced environment. Join us and help build the core components of Adobe’s SaaS platform, the foundation for online products like Photoshop.com and Acrobat.com.

The job includes participating in automation strategy and planning, designing and implementing test automation systems, and helping assess product readiness using test case management and defect tracking systems to collect, analyze, interpret, and summarize data.

If you are passionate about computer science and quality engineering, and are excited about driving quality and performance for large, distributed systems, then this job is for you.

Knowledge & Skills
  • 4+ years of recent experience writing code and QE Test experience (testing web-based applications preferred).
  • Excellent programming skills for developing a suite of white box automation and load test tools.
  • Solid Java and JavaScript knowledge is essential.
  • Flash ActionScript or Flex experience is desirable.
  • Experience and understanding of issues related to large-scale web application development/testing.
  • Experience with enterprise-class software products including Application Servers, RDBMS, Security, and hosted services is a big plus.
  • Practical work experience is essential. Bachelor's degree in a technical field is a plus.
  • Understanding of quality assurance practices and methodologies is essential.
  • Be adept with multiple methods of communication (in-person, email, IM, videoconferencing) and comfortable interacting with remote teams.

So, if you think you fit the bill, do send me an e-mail with your resume at charlesb [at] adobe [dot] com. I hope to hear from you!

Charles

( categories: )

The Beauty of the Social Web

Posted On: Wed, 03/11/2009 - 19:27 by charles



I wanted to share a realization that I had today. The realization is this: it is utterly amazing how enabling the web has become for connecting people. Yes, this statement might sound a bit dated, what with the success of sites like Facebook and Twitter. But I mean "connected" on a larger scale. Not just to your friends, and pseudo-friends, but connected to swarms of people that you could NEVER have reached before. If you take a step back and look at it, it's astonishing.

I came to this realization this afternoon, when I was looking through the presentations that took place at TED2009 a few weeks ago. I saw this one staggering performance that just took my breath away: a piano solo by an Eric Lewis, alternative-rock/jazz musician. Upon reading his profile, he mentioned his Twitter account. I promptly followed him, and then sent him a message directly to him giving him kudos for his performance.

I stopped and thought about this for a while, and it donned on me: how else could this have been possible without the social services that proliferate on the web today...services like FriendFeed, Facebook, Twitter, BrightKite, etc? There's no way! I started thinking about past experiences and realized how prevalent this was. One week, I was in San José for work. I saw on BrightKite someone mention that Guy Kawasaki was coming to the same hotel I was staying at to host a book signing for his latest book. There was no mention of a time of or a date or even a specific location (just an event name was mentioned). So, I went on Twitter and asked Guy Kawasaki himself! An hour later, he replied, and two hours later, I got a signed book! On another occasion, I remember seeing a video of an artist who calls himself The Blindfolded Pianist. His videos caught my eye because he was playing the theme songs for Super Mario Brothers on his piano. Anyways, a few months later, I was inspired to include him in a post that I was writing. I embedded his YouTube video on my blog, and 2 days later, he e-mails me thanking me for the inclusion!

These are just a few examples, but there are many more! It's really quite amazing, and I just wanted to share it. Do you have any examples of how the social web has connected you to people you never could have reached otherwise? Please share!

Charles

( categories: )

Fisheye Component Widget - A Simple Flash/Flex Embeddable Photo Widget

Posted On: Mon, 03/09/2009 - 04:17 by charles

I was in the process of writing a post when I found that I needed a quick, preferably Flash, embeddable photo-viewing widget. I did a quick search on Google and didn't come up with anything, at least anything I wanted to use. So, I decided to create one...kinda. What you see below is based off of the Fisheye Component written by Ely Greenfield.





The sample that is provided by Ely actually runs on LiveCycle Data Services and also employs some other components in addition to the fisheye itself for things like modifying and editing the component's state. What I've done is simply extracted the fisheye component alone and turned it into a simple custom embeddable widget. For you to use it, all you have to do is download the source...

Fisheye Component Widget

...drop your photos into a folder named "images" alongside the FisheyeWidget.swf, do some modifications in the init() function based on your photo set, and you're done. It's ready to put on your website!

Enjoy!

Charles

*Again, I didn't write the Fisheye. This is an adaptation of the Fisheye Component written by Ely Greenfield.

( categories: )

Adobe Holiday Greeting Slide-Puzzle AIR App!

Posted On: Fri, 12/19/2008 - 20:58 by charles

For the past few years, Adobe has helped us celebrate the holiday season by bringing us Flash Holiday Card Creators (2006 & 2007). This year, though, brings something new...a Holiday Greeting Slide-Puzzle AIR App!

This app not only makes the traditional holiday greeting a little more interactive, but it also supports Adobe's global sustainability goals by helping eliminate printed greeting cards. Install it, try solving it, and share it with your friends using your own picture!

Happy Holidays!

Charles

Attention New College Grads: Buzzword is Hiring!

Posted On: Sat, 12/06/2008 - 03:28 by charles

David Coletta from the Buzzword Team here at Adobe just posted an open position with his group. This is an excellent team working on a really great product. New and prospective grads, be aware! Jump on it, because I don't think this position will be open for much longer :)

Position Overview:
Buzzword, the first real word processor for the web, is a breakthrough in collaborative authoring for documents that matter. The Buzzword team joined Adobe Systems Incorporated last year in order to take Buzzword to the next level, building new features, integrating with the Acrobat.com product suite, and scaling up to hundreds of thousands of users.
The Buzzword application is built on the Adobe Flash/Flex platform, written primarily in ActionScript 3.0, an object-oriented language familiar to people who know Java and C#. Additionally, Buzzword incorporates a server that is written in C# using Microsoft .NET and SQL Server 2005.
Responsibilities:
  • New features: if you're a strong coder with some Flex experience, you'll get started immediately on important new product features right along side the rest of the development team.
  • Bug fixing: there's no better way to learn your way around a big code base than by fixing some bugs.
  • Prototyping additional browser support: Buzzword relies on some small but critical bits of JavaScript to support keyboard control and system clipboard access, so we are currently limited to IE, Firefox, and Safari. You would prototype versions of this code for other browsers.
  • Load and/or performance testing: In order to gauge future hardware needs, you would write a load simulator for our server, execute it, and analyze the results.
  • Writing tests: Buzzword has a built-in automated test framework, with hundreds of existing tests that exercise product functionality and check for bug regression. You would write new tests, and analyze existing tests to remove duplicate functionality and improve coverage.
  • Experimenting with Buzzword mashups: there are many unexplored possibilities for mashing Buzzword with other applications on both the client side (in the browser) and the server side.
  • Site statistics analysis tools: both the Buzzword server and Google Analytics gather ongoing server usage statistics; you would improve on them and build new ways to look at how our users use the product.
  • Secret projects: we've got new products coming down the pike that we can't tell you about in this ad.
Requirements:
  • The Buzzword team is looking to hire a recent college or university graduate with a computer science degree or equivalent.
  • You should have a passion for writing great code, learning new technologies, and discovering just what it takes to build commercial software.
  • You'll receive mentoring from Buzzword team members, and you'll see every part of the software lifecycle: requirements, design, coding, testing, and release.
Contact:
  • Erin Fife (efife at adobe dot com) - Adobe Recruiter
  • David Coletta (dcoletta at adobe dot com) - Sr. Computer Scientist with Buzzword

Charles

( categories: )

Now Hosting the Flash User Group Meetings in Seattle

Posted On: Fri, 11/21/2008 - 22:11 by charles

I have just volunteered to help host the monthly Flash User Group meetings here in Seattle! I've helped out with a few before, but I'll be doing it regularly now. They are a great group of people with some great designs and ideas. If you're in the area and want to see what it's all about, feel free to join! We meet at the Adobe office in Fremont and our next meeting is next Tuesday! Details below...

What:
Seattle Flash User Group Meeting
When:
Every 4th Tuesday of each month, from 6pm - 9pm
Next meeting is Tuesday, November 25th, 2008, 6pm - 9pm
Where:
Adobe Seattle Office - Fairhaven (room)
801 North 34th Street
Seattle WA, 98103

If you're looking for more information, or are interested in joining the group, see their website (www.seattleflashusergroup.com), or contact the user group manager, Keith Johnson.

Hope to see you out there

Charles

Adobe + Zend = happy coder :)

Posted On: Fri, 10/03/2008 - 20:32 by charles

As you may have heard, Adobe has made a partnership with Zend Studios (the keepers of PHP, and the Zend Framework) to ensure that Flex/AIR development with PHP is as seamless as possible. This is *huge* news for PHP developers out there, myself being one of them. Christophe Coenraets, Senior Technical Evangelist at Adobe, came by the Adobe Seattle site last night to give a presentation to a couple of local user groups in town and I managed to pick his brain about the new partnership...what to expect, and what's in the works.

Well, as mentioned in the press release, a key deliverable for the collaboration is integration of the Action Message Format (AMF) into the Zend Framework. For those of you unfamiliar, AMF is a binary message protocol supported by Flex. Using AMF is preferable to other types of messaging formats, such as RESTful XML and serialization over HTTP for various reasons. First, XML and serialization (say with JSON) is plain-text, and so it isn't very secure. Second, since it is plain-text, it's inefficient. Binary, not only obfuscates the message, but compresses it significantly. So, native AMF support in the Zend Framework is huge for developing enterprise-level applications!

Also, given this integration of AMF into the Zend Framework, Zend and Adobe are also working to make a more unified IDE! They already have a good start...Flex Builder is built off of Eclipse, and Zend Studio is also built off of Eclipse. What Christophe showed us last night is that even though nothing has been released in terms of a unified IDE yet, you can start using one now anyways. Simply download Zend Studio (the PHP IDE), and install the Flex Builder plug-in for Eclipse, but specify the Zend Studio installation directory as your base Eclipse folder instead. Once this is done, you have a single portal for both your Flex, AIR, and PHP projects!

All of this is in it's earliest stages, but seeing steps in this direction is very exciting. I can't wait to see what's next :)

Charles

Charles Bihis is a Computer Scientist for Adobe Systems. The views expressed in this blog are his own and do not necessarily reflect those of his employers.

 

Subscribe

Professional Adobe Flex