Archive for the ‘Applications’ Category

IDev.tv plugin store is now live!

Friday, August 13th, 2010

We have just added a plugin store to IDev.tv where you can purchase (and sell, please contact me for details) all kinds of goodies for IDev.tv platform. Go check it out!

Every account now also comes with affiliate program where you can earn money by sharing IDev.tv with your friends. To start using it, just sign up and check out “Affiliate Settings” section inside your IDev Account!

Beta Testers Wanted – www.IDev.tv

Monday, August 2nd, 2010

For a while now, we at InRuntime have been working on a new product for Flash Platform and just couple of days ago we have released a public beta to the wild (woohoo!)

It’s called IDev and it’s an advanced XML based template system for building fully functional Flash websites. It comes in three parts: a ready to use website (SWF + XML), a SWC library for developers and a set of online tools located at www.idev.tv.

You should be interested in IDev if:

- You are a freelancer making Flash websites for a living (IDev serves as a perfect base for freelance development, allowing you to mix and re-use components to create unique online experiences)

- You are an Actionscript 3 developer making standalone Flash components and you would like to earn some cash (You will be able to easily port and sell your components as IDev plugins)

- You are a person / company who wants to set up their website without putting your hands in the code or hiring a programmer (IDev is fully customizable through XML, so you don’t have to know how to program)

Sign Up, Talk, Share!

We think that IDev is a great product and we would like to ask your assistance in getting it off the ground. Go to www.idev.tv and SIGN UP, test it out by downloading your own copy from Launchpad and let us know what you think about it. To make the visit worthwhile, we are giving away all our existing IDev plugins for FREE for every new user.

If you like IDev as much as we do, please SHARE IDev.tv with your friends!

Gianduia vs. Flash

Monday, May 10th, 2010

Today, internet is full of stories about the Apple's secret weapon that will kill Silverlight, Java and Flash once and for all... Again! Sadly this is becoming sort of a cliche (of everyone wanting to kill Flash) and it's my second article in a row trying to give you a completely different point of view.

The mythical new framework is called Gianduia which relates to Gianduja a sweet chocolate containing about 30% hazelnut paste, invented in Turin by Caffarel in 1852 (wikipedia). I'm betting on a hazelnut reference in the logo once Gianduia is out!

Since early version of Gianduia is already deployed on some parts of Apple.com (here and here), I went to find out what exactly is it. Here's what I found by digging through the available information and sources.

Gianduia is:

  • A client-side Model View Controller based framework in JavaScript 1.x
  • Cocoa (with CoreData) and WebObjects translated to JavaScript
  • Lots of OS X / iPhone / iPad style interfaces in your web browser
  • Targeted at building HTML5 web apps using Cocoa
  • Meant to unify multiple JS frameworks used by Apple into one piece

What it's not:

  • A Flash, Java, Silverlight or any other "killer" - it's just another JS framework running in your browser
  • Portable - it runs in the browser, but it needs XCode+Mac to compile from Cocoa.
  • Self sufficient - it relies on device or browser for delivering video / audio / interactivity to the end user

Gianduia's direct competition:

So if it's not the next "Flash Killer" what exactly is Gianduia's purpose? The answer is simple: Apple are just trying to fix their own loose web application toolset and to put all components under a single unified framework. In this case however they will be competing with other JS frameworks out there such as:

Gianduia's APIs

At the time of writing, Giandua's main framework file is located here. Depending on requirements on each application, it would call and load multiple "modules" which appear to be sort of a descriptor files of an equivalent UI element or utility class in Cocoa, just written in Javascript.

For those of you who want to peek under the hood and check the inner workings of the framework, below is a list of some of Gianduia's framework classes (links to Javascript files). Whitespace has been removed from JS files, but they uncompressed and still more or less readable.

You can see some really interesting stuff here like NSPersistentStore or NSBindingDeclaration, take a look:

Foundation

AppKit

CoreData

The Unusual

While browsing through the new API I noticed a new syntax which probably relates to Gianduia's data binding features. The following bit comes from a script type="text/declaration" tag located in the head section of Apple iPhone reservation tool.

Maybe someone from readers could provide more ideas on what this code does? Do you think it's a good approach?

HTML:
  1. <script type="text/declaration">
  2.     skuThumbnailC : Gianduia.AppKit.NSImage {
  3.         src = skuRepetitionC.objectAtEnumerationIndex.url;
  4.     }
  5.     skuNameC : Gianduia.AppKit.NSDynamicString {
  6.           value = skuRepetitionC.objectAtEnumerationIndex.name;
  7.     }
  8.     selectedPlanInputC : Gianduia.AppKit.NSDynamicElement {
  9.         value = selectedPlanURI;
  10.     }
  11.     errorMessageC : Gianduia.AppKit.NSDynamicElement {
  12.         elementClass="alert";
  13.         innerText = errorMessage;
  14.     }
  15.     hideWhenNoWhereAvailableC : Gianduia.AppKit.NSConditional{
  16.         condition = skuRepetitionC.objectAtEnumerationIndex.hideNotAvailStoreDesc;
  17.         negate = true;
  18.     }      
  19. </script>

Impressions

I might be mistaking, but after playing around with the live demos and looking at the sources I think Gianduia is not meant to be written by hand rather than generated by a compiler - syntax is sort of unusual, hacky and difficult to read.

However even in this case Gianduia will have a slight edge over other JS frameworks due to the fact that it's developed by Apple; This means if this framework ever gets released to the wild you can expect very tight integration with XCode and ability to choose "web" as a compile target for your next Cocoa application.

The dark side of this is the new language lock-in trend that starts to emerge - it seems that Apple wants everyone to write their code only with Obj-C in XCode, on a Mac and compile to other platforms, but not the other way around.

As far as the demos go, I was not impressed. What I saw was pretty basic and static web forms and still the UI components did not seem very responsive. I would really like to experience this framework integrated in a more advanced web application to test how well it performs handling difficult tasks.

Gianduia seems to have implemented a dependency model which results in chain-loading of framework components. At one point during my test of Apple iPhone reservation tool I had user interface frozen (with unresponsive inputs and no preloader) for 12.7s while the dependencies were loading in the background - that's a bad user experience!

Conclusion

It's shaping to be a nice extension for developers using XCode and a solid framework for building layout based HTML apps but we will have to wait and see if it's anything more than that.

Just don't put your bets on Gianduia killing Flash -

it just won't happen.

Alchemist for Adobe AIR on Android

Tuesday, February 16th, 2010

At this year's Mobile World Congress 2010 in Barcelona Adobe Systems Inc. officially announced the much anticipated Adobe AIR for Smartphones and Mobile Devices. Using Adobe AIR, developers and designers will be able to build standalone applications to target devices running the Google Android operating system.

Adobe's own Michael Chou was kind to feature our "Alchemist" game in their technology announcement post which you can see here.

Alchemist on Motorola Droid

We at InRuntime Ltd. have been working closely with Adobe for the last couple of weeks to deliver our new games across a range of new platforms and devices using pre-release and lab versions of Adobe CS5 family products. As a result of that "Alchemist" game is currently available in three formats:

  • Adobe Flash 10.1 version for web (optimized for mobile) - play for free
  • Native app for iPhone and iPod Touch - info | purchase
  • Adobe AIR Mobile for Google Android (technology preview)

If you are attending MWC 2010 this year, make sure to stop by Adobe's booth at Stand 1D45 in Hall 1 and see "Alchemist" running on a wide range of devices!

During the next few weeks I will be posting information on our company website and this blog about cross-device and cross-platform development using the exciting new tools available in Adobe Creative Suite 5 (CS5). Please follow us on Twitter @inruntime and @pauliusuza to get the latest updates!

Thanks!

How to market your iPhone app

Saturday, January 2nd, 2010

When we were building our first application "Alchemist", we have compiled a list of useful marketing resources that helped us push it out through the door with zero additional investment for marketing purposes. Today we want to share these resources with you:

Twitter

We have compiled a list of people who work with iPhone reviews, follow them, and @ them your application name. If you are lucky, you can get a pretty nice viral effect going on. Here's our iPhone reviewers list on Twitter.

Microsite

Make a small one page website about your app and add Google Analytics. Focus on the visual appeal, describe your app in just a few sentences, put a list of features (by version if you have updates) and a clearly visible price tag with a link to iTunes Store. Think about this site as a "press kit" so that reviewers don't need to email you to get information about your app, app screenshots and videos, company info and developer bios - it has to have it all in one place. Here's an example site we have built for our Alchemist game

Youtube

Create an account on YouTube (if you don't have one already), make a video of your app gameplay using screen capture software + iPhone simulator and post it on your channel. In the description or the comments section add a short text about what your app does and a link to iTunes store. It can generate a nice and steady flow of buyers. Make sure you encode the video as H.264 so it's playable on iPhone and iPod too. Here's our gameplay video for Alchemist.

SEO

If your app has a similar name to competitor's, make sure you put a unique keyword next to it that will clearly distinguish it in the search results - your company name, or author's name will do fine, ex.: "Appname by Your Name" or "Company's Appname". Use a short name for application if possible and avoid common words. When posting on Twitter, use #iPhone, #iPod, #App, #AppStore or #iTunes tags to channel the information and make it more discoverable.

Apply for Reviews

Here's a list of review sites that we have gathered ourselves.
You can apply for review through a web form:

Or send emails directly to reviewers:

Check User Reviews

Most of the app tracking sites have their own user reviews, check them out from time to time to get a more complete picture.
Here's the biggest app tracking sites:

Self Promotion in Forums

Here's a couple of forums with high traffic that encourage developers to announce their new applications in specific sections.

Feedback

Collect user feedback. You can set up a forum in your site, use comment section in your blog or use a 3rd party feedback service like http://getsatisfaction.com

Ranking

Use software or web services to get reports about your app ranking on iTunes:

Track app sales:

Gather and track in-app analytics:

Once a day you can also download your daily sales report and process it with special software such as App Store Sales by PositiveTeam

Impact

Experiment with search engine queries until you found the one that returns links to your app most frequently and bookmark it. Check the bookmarked search query for changes in number of results every couple of hours. This will give you a good overview of how the information about your app is spreading all over the web. Here's an example query that to track our Alchemist game.

Analytics

Check your Google Analytics at least every 24 hours and compare your website traffic with your sales data, look for spikes in sales coinciding with spikes in website traffic. Also check traffic sources section to know who's linking to you and from where you get most of your traffic. Use the new Intelligence feature of Google Analytics to set up alerts for when your daily site traffic spikes above 25%. This might happen if your app gets featured in one of the bigger review sites.

If you have any questions / additions / suggestions please leave them in the comment section below!

Alchemist – building iPhone apps with Flash CS5

Saturday, January 2nd, 2010


Alchemist

So here we are in year 2010 and it's the fifth day since the launch of our first iPhone and iPod game called "Alchemist" ( official website / iTunes link ). During the two first days of it's existence "Alchemist" was promoted as a free app and it managed to gain #4 in Spain, #5 in Argentina and #6 position in Italy in Family games category and bring in very good user reviews. We are very pleased with it's performance.

If you own an iPhone or iPod touch, be sure to check it out!

Alchemist for iPhone

The game was built with Adobe Flash CS5 and Flex Builder 4 from scratch to finish, here's a little how and why we did it.


Prologue


We have to admit it - we are no mobile developers. Before doing "Alchemist" our team had little to none experience of building a mobile application. Most of you reading this will find yourself in more or less the same situation. Why? Because mobile as we web developers know it is slow, difficult, closed, incapable and highly segmented platform and thus there are very few of those who do try to enter mobile development world as indie developers.

Most of the mobile platforms like Nokia's S60, Windows Mobile and iPhone offer SDKs and tools for developers, but the technology and programming language know-how required to use them are usually very different. If you were like us, looking for true "build once, use everywhere" solution with minimum investment you would be dissapointed to know that one did not exist... Until now.


What Has Changed?

First up, Adobe announced that Flash CS5 will ship sometime in 2010 with something called "Packager for iPhone" and you will be able to compile native iPhone applications with technology and tools that you know, love and use everyday. Flash CS5 Creative Suite will be optimized for creating mobile content out of the box and the workflow between design / coding / deployment will be much more integrated than before allowing you to cut down dramatically on total production time.

Second technology that popped up on our radar was ELIPS Studio 3 by Open Plug. When final version is released in 2010 (currently in beta) it will be able to generate source code for native mobile applications from Actionscript 3 and Flex 3 projects. It means that with a single click you will be able to convert your Actionscript 3 project to source code for Windows Mobile, iPhone, Symbian S60 and Android, and later build it for that target platform.

Third technology that we found out about recently is Haxe's cpp target. When used with two additional libraries "nme" and "neash" it allows to compile Haxe code for iPhone directly from XCode! Geeky but very cool nevertheless.

And finally Adobe's Open Screen Project recently got a boost of major industry players and newcomers like Google, which means that first new devices with Flash Player 10.1 will hit the market in Q1 2010.

We were lucky enough to be able to evaluate all aforementioned products and technologies before their public releases and as a result of that we decided to start up a mobile development branch withing our company and first to build one simple game for demonstration purposes and try our luck in a completely new but very promising market.


iPhone Development with AS3

We decided to launch our first application for iPhone only and later extend it to other platforms when technology is mature enough. We think that iPhone as a platform is the best for beginners, here's 4 "why":

  • It has it's own smart and working distribution model with in-device content store.
  • iPhone / iPod market has highly capable devices (big and nice screen, multi touch, wifi, bluetooth, gps) with low segmentation.
  • Developer earns 70% from each sale.
  • Lots of devices already on the market and growing each day.


Making Choices

For us the most important thing was the ability to easily port our existing code to another platform sometime in the future and to be able to maintain simplicity in the production pipeline. Also we wanted to be sure that we will be able to get a return on our initial investment in a reasonable amount of time therefore we decided to write our game libraries in Actionscript 3. Even if we don't get the possibility to compile a native application for all other platforms, we will be able to deploy for Flash Player 10.1 for mobile devices inside the browser.

We know that there's no ideal technology for every situation, therefore we have set up our company's toolset like this:

  • Unity 3D for games that need 3D
  • Adobe Flash CS5 for 2D, isometric games and all applications with custom UI or rich media
  • Elips Studio 3 for cross-platform business applications
  • XCode for everything in-between

The current 3D solutions (Papervision, Sandy, Alternativa or even native 3D) in Flash Player are not optimized for iPhone development and are unusable. Also Flash Player on iPhone is using it's own drawing API therefore drawing operations are extremely expensive and most of the UI and 3D libraries here are more or less useless. We see a huge opportunity for new products and libraries, open source and commercial alike to fill in this gap (hint hint).

Unity3D is great. It's actually the best platform if you want to develop 3D for iPhone hands down. It also offers cross-platform and web compilation and you can write your entire game code in Javascript so you can make the transition from Actionscript 3 really easy, especially if you come from a web background.

We have left XCode development as a fallback option, but we are confident that at this point Flash, Elips and Unity3D can cover 95% of our development needs.


Working with Adobe Flash CS5

Adobe Flash CS5 will provide a lot of enhancements on the UI side that you will like and that will make your life much easier, however it will not impress you if you consider yourself a coder like we do. Although code completion got some improvements, it still sucks. Intentionally or not, Adobe will provide a solution to this problem allowing to write code and compile your Flash project from within Flash Builder 4. We have tested it and it works great!

The coolest features for us were:

  • You can now use embedded assets from Flash Builder inside Flash CS5 and you don't have to mess with the library anymore
  • One click preview your app inside a iPhone (AIR) simulator from within Flash CS5 and Flash Builder
  • No messing with XCode, or re-compiling - Flash CS5 will compile a native *.ipa iPhone installer
  • Live debugging on device

We cannot compare our experience with same level mobile development on XCode, but the whole process on Flash CS5 felt like a breeze to us from start to finish. The suite actually allows anyone with Photoshop and basic Flash coding knowledge to build a fully functional iPhone app. Of course you can 'go ahead and learn Obj-C' anytime, but we think Adobe's new toolkit focuses more on creative side of development, fast prototyping and giving artist the tools for creating a great user experience. One-man-army type of development will now be much easier and we will see a lot of new inspired apps very soon.

As for our game - "Alchemist" looks and performs great, just like any other native iPhone app. Adobe has done a terrific job on maxing out the performance without developer having to poke around the code too much. Once you get the bitmap caching sorted out, that's pretty much it.


Epilogue

With Flash CS5 don't expect to:
- Make an app with heavy frame animations
- Use Papervision3D in an app
- Port a web game without optimizing it for iPhone

Things to watch out for:
- No mobile UI element libraries
- No social gaming support (plus+, openfeint)
- No in-app purchases support

Most of the libraries for iPhone are available in C# and it will take some time to port them to AS3, we suggest to start thinking about what you could do to fill out these empty gaps maybe it will turn out to be a great business opportunity for you.

For now, thanks for reading, have a great new 2010 and please watch us at http://www.inruntime.com / follow on twitter @inruntime

MTV Stylesheet + Scale9 Bitmap

Friday, February 20th, 2009

WIP
My team recently started working on the new MTV community site packed with social networking and new media features. The project concept is huge and we hope this time the design will gonna be top notch too.

As you might already know yesterday I released one of the new UI helper classes that we are using in this project - AS3 Scale9 Bitmap letting you create scalable, state aware UI elements from bitmap data. Today I will show you a very simple example how we are using this class in everyday work.

Stylesheet
So this is the stylesheet which I made in Photoshop while testing different design variations for the new MTV community website. Nothing fancy, just some components and sub-components displayed in all possible states (normal, hover, down):

MTV Button Stylesheet

Working Demo
And this is what I was able to achieve using the AS3 Scale9 Bitmap class in less than 30 minutes (including building the selectbox):


As you can see, I was able to make a very dynamic and flexible UI component with very little effort using the new helper class. Go ahead and download a copy, I would be happy to hear how you used it in one of your projects!

AS3 Scale9 Bitmap Documentation
Download Now: AS3 Scale9 Bitmap (4104)

AS3 Scale9 Bitmap – New In Codex

Wednesday, February 18th, 2009

AS3 Scale9 Bitmap is helper class that lets you create scale9 sprites with bitmap data fill - originally this was not possible in Flash 9. The helper class creates a "fake" scale 9 sprite containing 9 shapes that scale according to user-defined scaling matrix. Extremely useful for user interface work (creating buttons, scalable UI elements etc.).

Read Documentation
Download AS3 Scale9 Bitmap (4104)

Demo:

Scale9SimpleStateButton (top left), Scale9SimpleBitmapSprite (top right) and original skin files (bottom row)


Watch EMA 2008 Live + AIR APP

Thursday, November 6th, 2008

On an extremely short notice (5 hours) me and my team at ZenTeam.gr have made it possible to watch MTV EMA 2008 awards live on MTV.gr website and through AIR application installable from the frontpage. The video feed is live now and streaming Perez Hilton directly from the EMA Red Carpet as we wait for the main event :)

ENJOY THE EMA 2008 SHOW!

For your convenience the video feed is served through Akamai CDN so the connection and sound quality should be top-notch wherever you are.

Freelancing 101

Friday, July 18th, 2008

Once in a while in my business there's a customer who thinks he is the greatest thing that happened to me and then disappears. Some of them go silently - just stop answering emails when you send them the source code (lesson learned). For some of them it's enough to get the demo file to be able decompile it (lesson learned too). Some of them go away loudly citing Aristotle, calling names and naming matters of principle.

Here are some tips to avoid unfortunate problems while doing freelance work:

No rocket science

As a service provider you have to give away the completed product ONLY after the full payment has been made, or at least such guarantees are in place (such as Escrow process). If you don't have such guarantees - you can be easily ripped off and not paid for your work.

Client's size or his reputation should not be a factor for trust. Especially if you are an in-house developer, ask yourself: why would a multinational company with years of reputation and millions in cash would give the development of it's most anticipated online product to your hands? Why do they care to bargain until the price gets ridiculously low?

Trust can be gained through depositing funds in Escrow and releasing them shortly after adequate project steps have been finalized, this will help both sides to feel that the project is going well and no one is trying to fool anyone. If you don't use Escrow for your projects, make sure that you at least ask for an advance payment that should cover your basic development costs. The worst thing that could happen is to spend weeks on something that will not be published online at all. Even if you get ripped of and your source code get's decompiled and reworked, you still have the benefit of claiming copyright rights to the final published work and putting it in your portfolio.

Budget and Timeline

Project's time line and budget CAN and often DO change. Communicate any technical problems you encounter as soon as possible to your client and ask for extension of development timeline / budget if it is necessary, especially if you are working on an hourly basis - every minute you delay will cost you money.

If the project is large it is hard to keep track of every little detail, shift of deadline or little change in the specifications. So it's very good if you communicate with your clients through an online tool such as Basecamp, then you can easily keep track of the changes to the project and adjust the budget / timeline accordingly.

Communication

Communicate professionally without getting into personal details with the client and keeping your tone official. Always remember - this is just business, there's deadline, requirements and budget - nothing else nothing more. Use email as much as possible, if a problem occurs it helps to keep the emotions down to minimum and pick your words carefully. Respect the client and never talk with him in a disrespectful manner, if it happens that you are on the verge of a big conflict - take a walk to cool down, think how you can solve the problem and finish your project without escalating the tension.

Things To Avoid

  • Avoid clients that get too personal too early. Calling you "buddy", promising you fame and fortune, a new 3G iPhone, shares in their business or a vacation with them in the Caribbean.
  • Avoid people who undermine your professionalism by citing your age, race or religion. It is discriminatory and should not be tolerated. In my current company the greatest talent is 18-24 years old, most of them are better than me in one discipline or another.
  • Avoid projects that are below your budget requirements, in case the project goes flop the advance payment will not be enough to cover your basic development costs.

That's about it. I am sure that learning from someone else mistakes is better than learning from your own.

And I wish best of luck to you all in freelancing!
Paul