Tcoz Tech Wire

Discoursing on trends and technologies interesting to Tim Consolazio, sole proprietor of Tcoz Tech Services, specializing in Flash/Flex/Air, iPhone, Facebook, Twitter, and related technologies.

"Technology from an indie software developer's perspective".

Wednesday, May 20, 2009

The Facebook "Verified" Apps Program...Should I Do It?

I know Facebook wants me to. But do I? Hmm...

If you don't know what this is all about, Facebook told developers with applications in their Apps directory months ago that they were implementing a "Verification" program that would enable us to differentiate our apps by having them in a paid tier of the Application store. These applications would represent the cream of the FB app crop, and so on. 

Initially I said, "oh yeah gotta do that, anything for more credibility". I love FB development, have a couple of apps out there, and was excited about the differentiation. But I hesitated, then stopped...what exactly do I get, by paying $375 to get my app listed as "Verified"? 

I know they're overhauling the overall Apps directory: all apps get a new profile page with their own news feeds, there's a new Applications You May Like section, an auto-generated list that combines the most popular apps on the site, apps your friends are using (oh great, "Flair"), and apps Facebook thinks you might like, based on what you're currently using...ok, that's all good stuff, it creates buzz, makes it all more visible, etc.

But as far as "verified", aside from saying "I have a verified app" to the world, here's the checklist of "what you get", as far as I know:

- A green check mark next to the rating stars under your app name/icon. 
- A Facebook "Verified App" icon on your about page.
- A "two-bucket boost" in requests and notification allocations, which "continue to be subject to the application reputation system which adjusts allocations based on various user response metrics".
- A $100 Facebook advertising credit. 
- Discounted registration fees to FB-type events. 

Here's a photo of the new overall app listing showing apps with the green check mark, and a photo of the verified logo from an about page:

Yeah, it's a good little kudo. But overall, I'm not going to rush to shell out $375 bucks for this, and I have a feeling many shops that crank out FB apps aren't going to tell their clients, "Oh yeah you GOTTA submit for verification". There's a lot of other ways to get the word out about an app: Twitter, FB fan pages, all the other social network mechanisms, you name it. 

This sort of reminds me of that "Windows Compatible" app signing program that Microsoft ran (or whatever the actual verbiage was); after a while, nobody cared anymore. Install instructions for apps that aren't branded this way warn you that it didn't have this accolade, and just told you to "Proceed Anyway", which is exactly what we all do. I never made an app choice because it had the OS manufacturers "compatible" logo on it.

Facebook also says this:

 "Facebook's Application Verification Program is an optional program designed to provide applications with a way to stand out and reassure users that they will provide a good experience. Users of verified applications can feel confident that these applications strive to be transparent about how they work and respect social expectations between friends."

What about the rating system, the discussion boards you can place around the app, the overall reputation system? If I look at this and see a lot of slag, I'm not going to touch that app. If my friends, or just a lot of people in general, say it's great, I might check it out. It's true, I may be somewhat more initially inclined to give an app a chance if it's verified, if there's no other data available. But I'll always consider what people say more heavily than I will consider any green checkmark. 

Another thing: many, many popular Facebook apps are here-today-gone-tomorrow. Would you spend $375, and wait, to get such an app verified? Probably not. Is that a good thing? Again, a lot of these apps run well and are popular, they're just not built for a long shelf life. I'm not sure that shuffling such apps to the "ordinary" category is the right thing to do. 

I'm surprised to find myself cynical about this, because I think Facebook does a great deal for the indie application developer. You can get an app, with robust social graph integration, into the FB world, for the price of learning their API and building something halfway decent. That's a great deal, both for the developer (exposure) and Facebook (content). 

But I think I'm going to hold onto my $375 and see how this plays out before I submit Planet Sudoku for verification. Even that might be a mistake though, because it's possible that the only time "Verified" will really matter is when it launches, and a little while after. When the novelty wears off, yeah you can still submit, but it might be just to get a verified app on your resume. 

Facebook will undoubtedly shuffle this one around a bit as they get feedback and so forth though...or, if it's just pointless and/or more trouble than it's worth, dumb it down or even abandon it. Unlikely, even very unlikely, but not, imho, in the realm of impossibility. 

Labels: , , , , ,

Monday, May 18, 2009

The Citrix Receiver Follow Up: Flash/Flex (and then some) on your iPhone...or Symbian...or WinMo...or...

I said I'd follow up on my story Flash, Flex...on your iPhone?, (this story generated a lot of press, got picked up by TechCrunch and blogs all over) and here it is. 

As a quick recap, I looked at the Citrix Receiver iPhone app, and was impressed with the experience. It's not a VNC or RDP solution; Citrix has created a client that, by use of a highly optimized communication protocol, lets you view apps running in the EC2 cloud (for the layman, that means "you see it on your phone but it's actually running somewhere else") without installing them on your phone. This means that you can build an application out of any technology, deploy it to the remote server infrastructure, and access it on your phone, or computer, or any device that runs the Citrix Receiver. The technology is optimized for this use; there's no awkward, blocky screen redraws, no browser toolbars, etc. A properly designed application appears to be running as a full-screen application on the phone, no matter what technology it's built out of. This suite of tools is branded "XenApps" for the most part; I'm not one of their marketers and know there's more to it, but "Xen..." is a big Citrix branding buzzword these days.

It's amazing how many people responded negatively, clearly without trying the Citrix Receiver demo. For the most part the issues are around the rampant abuse of Flash all over the web; poorly programmed banners, autoplay video players, that sort of thing. I concede: the web is full of bad Flash, and if that's the extent of your experience, you'll probably be pretty close minded about the subject. I've been a Flash developer for a long time though, and have never programmed a banner. I work on enterprise-level applications that make companies money; I've built applications that you've more than likely used, and that have helped people sell companies, and is currently helping a startup stay in business. Flash development, with Flex and Air, is stronger than ever and isn't going anywhere. Hating it is a waste of time. 

To continue my rant, I'll tell you one thing for sure: I don't want to be in the business of porting those apps to every different platform on earth. Yes, I could make money doing it. But it's boring and doesn't move me along to the next new project. People say, "forget Flash just build an iPhone app". Erm...what about Android? And Blackberry? And Symbian? And Windows Mobile? And Windows desktop? And OSX Desktop? Hire all those developers....maintain all that code...I've got better things to do. I want my app to have as much reach as humanly possible with as little work as possible, and porting the code to everywhere isn't a good strategy. 

Note: Citrix said that for Blackberry and Android clients, we have to "stay tuned". The guys on the call wouldn't nail in any dates or promises about this, but they didn't say "no". I'd assume that, considering how attractive this technology could be to corporations, a Blackberry client would be a no brainer. There is currently one for the iPhone, Symbian, and Windows Mobile 6.1.

The Citrix Receiver, backed by the Citrix technology on the server side, is the sort of thing that makes this possible. Again I'll say, and Chris Fleck, VP of Solutions Development for Citrix agreed readily, that it's not for every kind of app; if you have something that requires lots of real-time graphical updates, like a MMORG or something, you should probably consider going native. But that's the minority of apps; 75% of the stuff I've seen in the iPhone app store, or more, could be served using the Citrix technology, which would give the developers the opportunity to deploy it to all the new platforms coming out. 

One big thing though; the Citrix Receiver is branded Citrix. This was a big downside, and I told the Citrix guys so; if I'm MTV, or Thomson Reuters, or CNN, or Disney, I'm not going to want my front-end gateway UI to be branded Citrix. I want people searching their platform's app store for my brand, and when they pull it down, I want to see my logo on their phone. Here's what it currently looks like:

To this, Citrix responded, "that's a real valid point. We're going to look into this". One of their developers that was on the call seemed to think it would be a no brainer to implement. So, from what I can see, Citrix is going to enable this. So, you brand the Citrix Receiver as your own...

...YOU DON'T EVEN HAVE TO BUILD IT. You just brand it and get it in the [ fill in mobile platform ] app store. 

Then you take your code base, deploy it to the Citrix solution on the EC2 cloud, and that's it. Anybody with the receiver can use your app, no matter what technology it's built out of. It just stuns me that people don't see the potential for this. If Citrix really puts in the time and makes this solution rock solid, it could very well represent a significant direction of the next wave of mobile device use. 

Citrix showed me how easy it is to do it; in fact, it looks so easy, and so cost effective to get up and running, that I'm going to try it with my Planet Sudoku app. They even have a little app shell, called "AppViewer" which you can embed your tech in, that takes care of the full-screen look-and-feel for you. 

Initially, I was going to port this thing to the iPhone, but now, as an experiment, I'm going to just refactor the UI to fit the iPhone, use the AppViewer shell, and deploy it with the Citrix solution; you'll be able to play my Sudoku client on your iPhone in a lot less time than if I retooled the whole thing to Objective C. More blogging to come on that one I'm sure. 

Is it really that easy? I don't know for sure, but as far as I can tell, this is a heck of a lot easier than porting the app to Objective C. In their own words (note that where they say "Windows", you can sub in "apps that run on Windows", like Java, Flash, Flex, Air, Silverlight, etc.):

"While unmodified Windows applications can be delivered to mobile devices via Citrix XenApp, XenApp also provides an excellent platform for delivering custom mobile applications. Citrix is seeing interest in this area from a number of it's ISV partners. The concept is to build the application using tools normally used to build full Windows applications, but simply design the user interface with the smaller screen size and resolutions of mobile devices as a design consideration. The concept is to reskin the UI of larger applications with a smaller form factor UI. As long as the custom mobile application can be published on Citrix XenApp, it can be delivered to mobile devices with the Citrix Receiver installed."

So, if this indie software developer can make this work, I'd pretty much say that anybody can, not matter what your reach is. You don't need deep corporate pockets; I don't actually know this for a fact yet, but I'm optimistic, and am actually trying it now, so I'll let you know. 

For more info on this topic, and/or to learn how to get involved in this sort of development, visit the Citrix developer community site, and take a look at the Tips and Tricks sections. 

Labels: , , , , , , , , , ,

Friday, May 15, 2009

Flash, Flex...on your iPhone?

I'm a Flash/Flex/Air developer primarily, with expertise in what I think of as "supporting" technologies (gateways and data layers built out of .Net, Java, PHP, Ruby, etc.). My usual contract gig is, I manage and/or work on an application's UI, using ActionScript technologies, and offer whatever assistance is needed to set up the gateway and data transfer backends. Sometimes I build all of it, sometimes I just have to work with the backend guys to understand how something like OpenAMF or Fluorine works, it depends on the client's expertise, but that's why they hire me. 

Flash/Flex, however, has been one of my greatest disappointments with the iPhone. We were promised "the complete web", and it's one of the reasons I jumped on the OG iPhone day one. Shortly after dumping my other phone and signing onto AT&T, I visited one of my ActionScript-based web apps...

...and discovered there was no Flash. Apple and their fanbois came back with a few short, lame justifications for this disclosure omission: "we support the open web, Flash is proprietary", "the Flash player is not really a Web 2.0 technology", were some of the things I saw bandied about. Fact is, it's the best solution for RIAs, and is getting stronger all the time. I've been doing this for 15 years, picked Flash/Flex for a reason, and the industry seems to support my decision; the NYTimes recently dumped Silverlight for Adobe Air, MLB did the same thing a while back if I remember correctly, and I'm currently working on a very large project that I can't talk that much about, but which will go live soon (and then I'll talk about it as much as I can). 

I have actually viewed Flash apps on my iPhone over VNC and RDP connections (check out WinAdmin in the app store). This lets me pull up a browser remotely, and access any web page I want, including ones with embedded flash apps. If the Flash app is designed properly, with a web page that properly sizes the browser, removed as many tool/status bars as possible, and so on, the experience isn't bad, but, I admit it's unreasonable to ask your average user to buy and install WinAdmin, or some other VNC client, to play a Flash game. I'd also have to provide the server for browser access, etc. 

It seems somebody has set out to solve this problem: Citrix. Take a look at this:

They offer a client for iPhone, called Citrix Receiver, which offers a 2-hour session, expires-in-24-hours, demo of access to the CitrixCloud. In their own words, the CitrixCloud, or C3 is "a complete set of service delivery infrastructure building blocks for hosting, managing and delivering cloud-based computing services. C3 includes a reference architecture that combines the individual capabilities of several Citrix product lines to offer a powerful, dynamic, secure and highly available service-based infrastructure ideally suited to large-scale, on-demand delivery of both IT infrastructure and application services. "

For the layman, that means more or less, "you can use our products to expose your apps to pretty much any client. With one of our viewers, a user can use any application on just about any client as if it was installed on their desktop". 

So, by now you may have guessed: The Citrix Receiver can provide access to Flash and Flex applications in a very compelling way. 

Ultimately, it's still the iPhone accessing web pages, but, it's not doing it through Safari, which can't run the Flash player. It's accessing a browser on a Windows machine remotely. The Citrix Receiver hides this though; you wouldn't really know it unless you were looking for it. The applications are sized full-iPhone-screen, some for landscape, some for portrait, and there's no browser toolbar or anything like that; you appear to be using a full-screen Flash/Flex app. 

So, when they go live with this (again, Citrix Receiver is a demo), does this mean I'll have to install the Citrix Receiver and understand all this cloud stuff to simply run an iPhone game?

Yes...and no. Here's a total hypothetical. Say you're an internet game company of some kind, something like a Pyzam. You're in the business of buying and developing Flash games, integrating advertising, all that. You create a branded version of the Citrix Receiver, and get your cloud infrastructure set up. Users go to the App Store, and get your branded viewer for free. They create an account, log in, and happily play Flash/Flex/Air games on their iPhone, with advertising and whatever else the developers build into the games/widgets/etc. 

I think that's compelling. Sure it needs more thinking through, and at this point is probably most useful to corporations or organizations housing large portfolios of Flash apps. But this is a direction that shows that, with some ingenuity, even today, you can offer applications built out of pretty much any technology on the iPhone. This also works with Windows apps, Silverlight, and so on, but I'm really interested in Flash/Flex. 

Also, it gets around a lot of the "pay for and we must approve" apps scenario, and enables use of ActionScript development resources, which are nowhere near the scarcity and premium of good iPhone development. If Apple doesn't like your content, they can reject your viewer though I suppose. 

So in the end...will phones just become all about the screen, and what viewer/cloud-access apps they can run? The thin-client finally plants its flag for good in the mobile world? Hmm...

Below are some screenshots from the Citrix Receiver demo. As always, thanks for reading Tcoz Tech Wire. 

Remember, these are Flash and Flex apps. They look great, and work as expected. These are screenshots right from the iPhone.

These two photos are of the Citrix Receiver interface for accessing different kinds of apps:

These images show some basic Flash/Flex apps from their demo. The first is a pretty standard reports app, the second shows network statistics in real time, the meters moved and everything just like a native app:

These images show a Shirt Configurator: you select colors, styles, logos, etc., and can save the profile. I found this very interesting.

Labels: , , , , , , , , ,

Wednesday, May 13, 2009

Subscribe to my Blog On Your Kindle!

I know that the masses aren't going to flock to an amateur blogger's site; I don't expect to make any money. I anticipate one subscriber though at least, maybe two (if I can talk my girlfriend into it). But, my blog is on the Kindle list with the big boys, albeit a lot further down methinks. Sure, you can always just hit it on the web; but why do that when you can really use your Kindle to the max and subscribe in a civilized way that will drive me on to ever-more-interesting blogger heights? Erm...because the web one is just as good, and free? You have a point...

...but, one of the intriguing things about the web is how it levels the playing field as far as presence is concerned. I don't have to be Oracle or Microsoft to have a web page, or to publish a blog. Li'l ol' me, with some resourcefulness and my programming skills, can create enough assets and presence to rival many a big shop. This has always appealed to me, and the Kindle blog capability, which is free, just adds to it, thank you Amazon. I blog...and have a website...and an FB page...and a Twitter account...and membership in forums...and come up in Google links... therefore, I am.

That aside, how did I manage this? Yesterday, the news hit the wires that Amazon was opening up it's Kindle blog publishing platform to Kindle owners. I have a Kindle, I love it, I have a blog, I contribute to it frequently, I'm a tech nut...add it all up, and I was a perfect candidate to give it a whirl. 

If nothing else, it's incentive for me to blog hard; one day maybe, somebody I haven't promised to take out to a nice dinner will subscribe to my blog, a complete and total stranger. On that day I'll drop my clients, tell my girlfriend to quit her job, move us out to San Diego, blow my savings on a top-end 'Benz, and live the high life with the blogerati. 

Or, I'll smile, text a couple of people the good news, tweet it, and greedily wait for that first south-of-$10 deposit from Amazon. 

Anyway, the process, if you're interested; this assumes you already have a blog with an RSS/atom.xml feed of some kind set up properly (Blogger for example):

- Go to the Kindle Publishing for Blogs Beta site, Kindle Publishing for Blogs Beta
- You can't use your standard Amazon credentials, you have to create a fresh account. 
- Fill out the surprisingly simple form; basic identification, a couple of security-in-case-you-forget questions, and provide a bank account number for Amazon to dump your hordes of riches into. 

That's all there is to signing up. Following this, you get taken to a page showing three tabs: Dashboard, Reports, MySettings. 

- Dashboard: provisions your blog. You click "Add Blog" off to the right, then provide your blog's RSS/Atom feed address (nice, I don't have to republish my blog, they actually pull my existing Blogger blog in and format it for the Kindle automagically), title, tagline, description, publisher, screenshot, masthead/banner, and website address. Easy enough

- Reports: Two reports are available; single issue purchases, and monthly subscriptions. Mine are empty (hint). 

- My Settings: change password, security questions, the usual sort of thing. 

And that's it. Preview your blog, publish it, and 48-72 hours later, you're available for purchase. 

Note: if your blog is simple, primarily text and image based, your published results will probably be more consistent. If you have all kinds of Flash gew-gaws and whatnot in there, the formatting may be less consistent, since Amazon will just omit the gadgets, either truncating, or just leaving in, the space they usually take up. 

Make my a single issue! If you like it and are the sort that can spare a few bucks for an aspiring blogger...subscribe for a month! 

Free or paid, thanks for coming by :)

Labels: , , , , ,