{RIA Developer}

Announcements on Adobe MAX

November 18th, 2008 Posted in .net, flex | No Comments »

I just read a tweet from Serge Jespers from Adobe MAX in San Francisco. It said “Flex development in Visual Studio and AMF for .NET”. Some time ago I blogged about Silverlight development in Eclipse, and now this very interesting news from Adobe. You can find more information about the plugin for Visual Studio on www.ensemble.com. The product is called Tofino and here is the description:

“Ensemble Tofino for Visual Studio is a plugin that enables .NET developers to create Flex front ends for their applications in the same IDE that they normally use. Instead of using a separate text or XML editor and manually invoking the compiler, they can move smoothly between MXML and .NET file types within Visual Studio, and invoke Flex build and run commands from Visual Studio menus.”

Other interesting stuff:

  • Cocomo was announced. It is a Platform as a Service that allows Flex developers to easily add real-time social capabilities into their RIA (rich Internet applications).
  • Thermo is now called Flash Catalyst. More info here.

Next month I will be attending Adobe MAX in Milan and hopefully I will get some more information about all these announcements.

iPhone 3G first impressions

November 9th, 2008 Posted in iphone | 4 Comments »

I recently got my brand new iPhone after being on the waiting list for more than a month. I was going to buy the new iPhone when it was released in Belgium, but then the high price tag made me postpone the purchase, and then when I decided that I wanted to buy it, they were solded out.

Anyhow, the iPhone is available again in Belgium but this is not what this post is about. I wanted this gadget because I like the development platform that is available. Unfortunately my knowledge of Objective C and Cocoa Touch is not that great and once again I will have to start learning something new. But there are a lot of good resources available on the internet.

Here you have some of them:

The first thing I did after starting up the device was testing out some of the third party apps. And I must say that it surprised me that a lot of what I would think of being a usefull app is already in some form available. I will give you a list of useful/cool third party apps from the app store that i have installed:

  • Twitterific: I think it speaks for itself that this is by far the best iPhone twitter application.
  • Yammer: Twitter for companies. I find the iPhone app better than the AIR Desktop client :)
  • Evernote: Evernote allows you to easily capture information in any environment using whatever device or platform you find most convenient. With this service you can centralize you notes and information.
  • Facebook: if you are into Facebook, this application is a must have. It keeps you up to date what your friends are doing.
  • ShoZu: Stay connected to over 40 of your favorite websites like Flickr, Facebook, Blogger, … I use it to upload pictures to my Flickr account.
  • GPSKit: One of the best GPS applications for tracking your hikes, bike trips, etc. It’s not free and was the first app I payed for. I already tracked a short hike, but my first test with my bicycle still has to come.
  • Spore: the best game so far for the iPhone. I don’t have it on PC, but playing it on the iPhone is fun and works great.
  • AroundMe: this is one of those apps that finds the closest restaurants, supermarkets, etc around your current location. It also works great in Belgium, and not only in the US.
  • LinkedIn: useful, but in my case I always have to enter my credentials every time I start the application. I don’t know if it’s a feature or a bug but I would prefer that the application would remember me like all the other apps.
  • and last but not least Ocarina: this is for sure the most original application in the AppStore. It turns yout iPhone into a musical instrument. Checkout the movie on YouTube.

Other great news is that I became father of a beautiful son two weeks ago, and you can checkout his website (made in Flex) here: robbe.hufkens.net

How to design a desktop app for your web app & space robots

October 14th, 2008 Posted in air | No Comments »

I just installed AlertThingy, which is a very cool Adobe AIR application that connects to different services like FriendFeed, Flickr and Twitter. The company who build it is howard/baines and just found this very good presentation from Jeremy Baines. It is called “How to build a desktop app from your web app”. The presentation was recorded at the Future of Web Apps conference last week.

eclipse4SL

October 13th, 2008 Posted in .net, coding, silverlight | 1 Comment »

Silverlight development on Mac or Linux?

Up to now this is not possible, but there is good news for those who want to start developing Silverlight applications and are currently working on a Mac. I just read an interesting blog post about a project called eclipse4SL, a collaboration between Microsoft and Soyotac. The purpose of this project is the creation of open source tools integrated with the Eclipse development environment. This means that developers using Flexbuilder/Eclipse can start exploring Silverlight in their own environment. You still need to wait until spring 2009 for the cross platform capabilities (see the roadmap on the website), but there is already a CTP version available for Windows.

The other big news today is that Silverlight 2 has been officially released today. You can read the press release from Microsoft here. This means that I have to hurry and upgrade the Benny’s Bus Stop app :)

Silverlight newsflash

September 28th, 2008 Posted in .net, coding, expression, silverlight | No Comments »

Well, I have to admit that I haven’t been busy with Silverlight lately. I try to follow up on the blogs and here is a list of blogs about Silverlight 2 Release Candidate:

Here you can find more information about downloading and installing the Silverlight 2 RC0 runtime and developer tools. Also Microsoft released Service Pack 1 Preview for Expression Blend that adds full support building for Silverlight 2 applications.

Another interesting blog that I found is this one: Flash vs Silverlight Gallery. It just list a couple of nice visual apps and there are samples including source code in both Flash and Silverlight. So if you want to learn some nice effects in Silverlight her you go. They are all licence free.

Loading remote swf files in AIR

September 16th, 2008 Posted in air, coding, flex | 2 Comments »

I am doing some research for a large AIR application that has to dynamically load swf files (these can be Flex modules, but also regular Flash movies). This is apparently not that easy to accomplish, because it doesn’t work the same as in a normal Flex web application. You quickly run in to security issues because your AIR application runs in a different security sandbox then the remote files you are trying to execute.

You might want to read the following posts before using the code:

Finding a proper solution is not easy. While the second post has a solution that is usable in some situations, it should be implemented with caution. A better solution that uses signing your Flex modules is described in the first post, but it is definitely harder to implement. For now I would go for the second approach.

The following code snippet loads a local swf file into your AIR application. The swf file has to be in the user’s local app-storage folder. The original code can be found in this post.

private function loadLocalSwf(fileName:String):void
{            
    // File reference
    var file:File;
    file = File.applicationStorageDirectory.resolvePath(fileName);

    // Open the SWF file
    var fileStream:FileStream = new FileStream();
    fileStream.open(file, FileMode.READ);

    // Read SWF bytes into byte array and close file
    var bytes: ByteArray = new ByteArray();
    fileStream.readBytes(bytes);
    fileStream.close();

    // Prepare the loader context to avoid security error
    var loaderContext:LoaderContext = new LoaderContext();
    loaderContext.allowLoadBytesCodeExecution = true;

    // Load the SWF file
    var swfLoader: SWFLoader = new SWFLoader();
    swfLoader.loaderContext = loaderContext;
    swfLoader.source = bytes;   
   
    // Add to you stage
    swfContainer.addChild(swfLoader);                            
}

Hopefully Adobe will add more support and techniques to achieve this in future versions of AIR. This would offcourse be very usefull when you want to create large enterprise applications.

Merapi

September 13th, 2008 Posted in air, coding, flex, java | No Comments »

Merapi

Can Merapi help us get more interesting Adobe AIR projects in the future? Well I hope so, but first I have to get approved by the team to play around with the current Alpa version. I registered on their website after reading the articles RFID Enabled AIR Applications With Merapi and Live GPS Visualizations With AIR & Merapiand. This looks very promising indeed.

At my company we get a lot of requests to build an Adobe AIR application for a client, but the client has no clue what Adobe AIR can do and especially what it can’t do. This means that we get requests for applications to interact with other applications and/or communicating with external hardware. You can think of workarounds or tell the client that Adobe AIR is not right technology to solve their problem. But using the Flash/Flex framework can be powerful if you want to build a “Filthy Rich Client”. Using Java also means that the end solution you are building will remain platform independent.

But it also means that you are breaking the security sandbox and your application will have more power over the user’s system. The installation experience of the Java/AIR application might also become more complex then the smooth installation of AIR applications.

Well it’s an interesting product and I hope to play with it very soon.

Check our Project Rosetta

September 11th, 2008 Posted in silverlight | No Comments »

What is Project Rosetta?

Project Rosetta is a site dedicated to helping designers and developers build applications in Silverlight while taking advantage of skills they already know. Learn more about Project Rosetta.

To follow the progress of Project Rosetta, you can follow on Twitter or by subscribing to the RSS feed.

Filthy Rich Flex Clients

September 7th, 2008 Posted in coding, flex | No Comments »

I found this presentation from Chet Haase, who is actually a Java developer, about Filthy Rich Flex Clients. He gave this presentation at Flex360. I really like the term filthy rich client and this is the definition from the book:

“Filthy rich clients are applications that are so graphically rich that they ooze cool. They suck the user in from the outset and hang onto them with a death grip of excitement. They make the user tell their friends about the applications. In short, they make the user actually enjoy their application experience.”

Flex 4 Gumbo: Hello World :)

September 3rd, 2008 Posted in air, coding, expression, flex | No Comments »

Yesterday I downloaded an installed the latest stable build of Flex 4 “Gumbo”. After configuring and installing Flash Player 10, I was able to create my first Flex 4 app. It is only a Hello World kind of application but it shows you the new FXG format for graphics.

When you wanted to add some shape in a Flex project you always needed to go back to Flash and create objects that can be used in Flex. With the FXG you can  now declare shapes using XML. The specification documentation says the following:

FXG 1.0 describes an XML-based graphics interchange format for the Flash Platform. FXG contains high-level graphical and text primitives that can be used to create, group, transform and visually modify basic vector and bitmap shapes.

One of the basic concepts of FXG are graphical objects. FXG provides a general Path element that is used to create a bunch of graphical objects like Ellipses and Rectangles. There are three other concepts and you can read more about it here. For now I’ll stick to playing with the new graphical objects.

FXG supports shapes like Rectangle, Ellipse, Path and these shapes can be filled or stroked. This small example shows a Rectangle with a Stroke and a Fill:

<Rect width="200" height="200">
   <fill>
      <SolidColor color="#FF0000" />
   </fill>
   <stroke>
      <SolidColorStroke weight="10" color="#0000FF" alpha="0.5" />
   </stroke>
</Rect>

This is actually what Silverlight can already do right now with XAML, and why there already exists a tool like Expression Blend. When Flex 4 will be released the integration with design tools (like Thermo) will be a lot easier, at least thats what they are aiming for.

To conclude here is my first go at “Gumbo”. It is an ugly smiley, so don’t shoot me because I am just a developer and not a designer.

<?xml version="1.0" encoding="utf-8"?>
<Application xmlns="http://ns.adobe.com/mxml/2009"
             xmlns:mx="library:adobe/flex/halo"     
             xmlns:gumbo="library:adobe/flex/gumbo">

   
    <gumbo:Group>
        <gumbo:content>     
            <gumbo:Ellipse width="200" height="200">
                <gumbo:fill>
                    <mx:SolidColor color="#FFFF00" />               
                </gumbo:fill>
                <gumbo:stroke>
                    <mx:Stroke color="#000000" weight="2"/> 
                </gumbo:stroke>
            </gumbo:Ellipse>           
            <gumbo:Ellipse x="50" y="50" width="25" height="25">
                <gumbo:fill>
                    <mx:SolidColor color="#000000" />               
                </gumbo:fill>           
            </gumbo:Ellipse>           
            <gumbo:Ellipse x="125" y="50" width="25" height="25">
                <gumbo:fill>
                    <mx:SolidColor color="#000000" />               
                </gumbo:fill>           
            </gumbo:Ellipse>           
            <mx:Path left="50" top="125" data="Q 50 50 100 0">   
                <mx:stroke>
                    <mx:SolidColorStroke color="#000000" weight="5"/>
                </mx:stroke>           
            </mx:Path>
        </gumbo:content>
    </gumbo:Group>   
</Application>

Click here to see the smiley (you will need to have the Flash Player 10 installed to see it).