I’ve been busy busy busy playing working on some experimental Papervision/Hype mashups which are now live on the RezzyNet site.
The Hype framework was officially released on Halloween and I took the opportunity to plug it straight into the Papervision cube thingy that I’ve been prodding and hacking for over a year now. I started by taking out all the existing functionality and used the SoundAnalyzer class from Hype to initiate the cube ‘pops’. The results were amazing so I added a FixedVibration to give it some character. It performs really well although you’ll need a decent pipe for the audio stream.
So, this got me psyched and itching to see what else I could do. I wanted to mix up the SoundAnalyser and the Oscillator so I created a row of 256 cubes in 3D space, set them to oscillate on the Y axis and then adjust the zScale for the SoundAnalyser range. This took less than an hour to setup and the results, yet again were impressive.
The next thing to do was to position the row of cubes in a circular path. I kept the camera in the default position … I just moved it back slightly. I liked the surprise when you first click and drag within the viewport to rotate the view.
Wow! I’m impressed with Hype. What I’ve produced here using Papervision and Hype is by no means complicated and full credit goes to all the amazing talent behind the scenes of the Papervision project and to Branden Hall and Joshua Davis for an amazingly accessible framework that even idiots like myself can have fun with and I will be sure to share my experiences by releasing source and doing some screencasts in the coming weeks. In the meantime though I would urge anyone interested to go and play for themselves.
Ok … so I’ve always had a love/hate relationship with Apple Mice. When Apple release a new mouse I always ‘love’ the idea of them but using them has always left me ‘hating’ myself for yet again wasting my money on a sub-standard device and proclaiming ‘why oh why can’t Apple get it right!’
Apple have not fared well with mouses, meeces, mice over the years and who can forget the absolute atrocity that was the first generation iMac mouse … my god that thing stunk! If you weren’t adjusting the thing in your hand to get it to point in the right direction you were treating the unbearable RSI that had developed in your arm within the first 10 seconds of using it.
It’s this point that is my main gripe with Apple Mice. I’ve suffered from RSI over the many years of pixel-pushing I’ve put in and the only way to use a mouse painlessly is to minimise as much as possible the movement required to get your pointer from one corner of the screen to the other. For this reason I’ve always used rather expensive high-resolution mice that I can crank up to a super-fast speed. Mac mice have never been able to match the speed I require so my wrist hardly ever has to lift off the desktop. For anyone suffering from RSI this is my top tip … go into your mouse settings and crank that speed up as fast as it will go. If you have trouble adjusting do it very gradually over a period of a few weeks but aim for the top speed that will result in micro movements of the hand with no need to lift your wrist. You may also need to purchase an expensive mouse with a high-resolution … something with lasers and shit. You might also want to stick to a WIRED solution … yes, forget the wireless option if you need very fine control. I’ve tried Bluetooth mice in the past and they are way to erratic to provide the sensitivity you need.
Which brings me to my MacBook and the fact that I’m actually spending more of my time on the trackpad that I am with a mouse and I don’t mind at all. Multi-touch on my MacBook is like a breath of fresh air and has totally revolutionised the way I use my Mac. In fact I wish I could do more with it. I love the two-finger scrolls and the pinches and stuff but I want to change spaces with swipes for instance or select text with pinches. With this in mind you can understand why I’ve been quite excited (and skeptical) about the release of Apple’s new Magic Mouse. This mouse promises to incorporate some of the great new features of multi-touch into the shell of a mouse without any buttons. Will the multi-touch be programmable and allow me to use the swipe gestures to swap between spaces? Will the sensitivity and speed of the mouse be improved? Will the swiping on the mouse cause RSI as you try to hold the mouse in position while also swiping? Will it run on my Mac running Snow Leopard without a firmware update? If it requires the firmware update is that going to kill my Mac? Hmmm … questions indeed.
Well, it’s just arrived so here are the answers …
So, there you go. Firstly I’m quite disappointed about the left & right click being a normal ‘clicky’ click instead of a ‘tappy’ click … do you know what I mean? I was expecting to be able to just gently touch to the left or right over the mouse surface to get a click but this is not the case. You can click anywhere on the surface of the mouse however but it is an actual ‘click’ lazy fingers!
My other slight gripe is the swipe action. It’s really hard to do while holding the mouse as you’ll see in my video above. I guess time will tell if I find myself using it. I need to test it in PDF docs to see if I can mimic the three-finger swipe functionality on the trackpad for paging. I doubt this will work.
Another thing that you’ll find is now missing from your life is the middle-button on your mouse. It’s now completely gone. I had this setup as a cool shortcut for ’spaces’ so I could quickly manage my desktop. I’ve found a way around this however and here’s a screencast explaining what I did:
Overall though, a nice mouse that fits nicely in your hand, the speed has improved and the tracking seems nice and smooth. Not quite the amazing technology I was expecting but hey, what do you want?!
UPDATE: There’s a third-party utility that will give you loads of extra gestures and control over your Magic Mouse … including the elusive tap-click and middle mouse button click. I’ve tried it out and actually I think the tap-click is a bit fiddly on the mouse. It’s fine on the trackpad where you have the entire area to tap onto but on the mouse you have to be specific about where you tap and 50% of the time your taps don’t register. Maybe Apple will get this right later on. We’ll see. Try out the software for yourself for free for 10 days here.
Far from a proper official launch but an alpha release of my new site for all things experimental. The intention is to build a portal using the Adobe Open Source Media Framework so I can load SWF and FLV to showcase interactive work as well as movies and casts. At the moment I’m working on my old Papervision 3D cube that was on my official site last year but was removed when I changed to the Wordpress version that is currently live. I intend to move on from this pretty quickly as I think I achieved what I wanted to do. I may add some decent lighting and change the bitmap material.
I’ll be updating it as and when and will be sure to include the source for some of the experiments as well. The PV3D Cube thingy source will be posted soon.
So I finally got my invite through and signed in to Google Wave. It was cold and lonely in there.
Hello, I whispered. Is there anyone here? I noticed a list of contacts.
Hey, there are ‘others’ I thought. But how do I know if they are in here also?
I tried waving at one of them … nothing. I pinged one of them … and waited.
Eventually I noticed that one of my friends had replied to me so I continued the thread we had created and waited for their reply … and waited. You see here’s the first problem with Wave in these early days. It’s impossible to know if any of your Wave contacts are actually online and connected to the service. It was only after careful orchestration that I was able to converse with a friend of mine and that was after a round of emails and a couple of frustrating attempts at synchronisation.
I’m not sure why I found it so amazing that I could watch my friend as he typed in real-time. It’s something I’d seen many times before and in much richer ways. Still, it was impressive. The main thing my brain had trouble dealing with was whether the tool was an instant messaging device or an email alternative. It’s kind of both but with disadvantages in both camps. As an IM tool it is very easy to lose yourself in the thread and just as easy to insert your new messages elsewhere which completely loses the thread. For the same reasons it is confusing as an email alternative but this is perhaps where it’s strengths lie. What I mean by this is that despite being a bit confusing as an email alternative because of the way it allows you to insert messages anywhere in the thread this is why Google Wave will become a popular way to generate collaborative ‘conversations’ that sit somewhere between email and more static documents. How many times have you filled your in-box with small conversational emails between you and your friends? You could have used tweets or IM but needed a record of the thread and also needed something a bit richer … hey, who wants to see this YouTube video of a kitten being shot out of a cannon?! If this is you then you are going to love Google Wave.
There are some advancements I would like to see though. As mentioned, being able to draft your messages in IM mode would simply involve committing the draft after a carriage return instead of pressing the ‘done’ button, which is a pain when you are used to using your keyboard. Not sure of shortcuts as yet. Maybe IM mode should also prevent you from inserting messages mid-thread to maintain its temporal trait. I’d also like to be able to collapse the thread like a Tree structure. This will also help people transition to the non-linear dialogue that Google Wave proposes.
Another major headache in these early days is the lack of notification that your contacts are online. I have found a couple of options so far …
Overall I can see that GWave will definitely become an integral part of my intercourse especially in business. I can foresee a BaseCamp plugin that will allow me to publish and maintain messages and ToDo items as a Wave with annotated screengrabs and casts.
UPDATE: It looks like there will be a Google Wave extension for synching Waves to Basecamp … and it will be called ‘Campy’. All the extensions so far seem to follow this convention with ‘Growly’ also allowing Growl style notifications of updates to a wave. Read more on this here.
ANOTHER UPDATE: In answer to Seb’s question regarding new edits you can see if an edit is new and unread by the green border on the left side of the field. These tally to become the number of unread edits rather like unread emails in your in-box.
This video from a MAX session has an informative demonstration of the new touch/gesture events in 10.1. Also loads of really cool new features in the AIR 2.0 runtime.
What’s coming in Adobe AIR 2.0
Here’s a great article outlining all of the new events, classes and information on how to manage the input.
I’ve scraped the code off this article for my own reference below. Please do read the article though.
Many multi-touch developers like to use an Object or Array of points to keep track of touch inputs (aka blobs) as well as an ID, and X/Y coordinatees for each point. It looks like Flash Player 10.1 will help you conform to these conventions, ActionScript-style.
flash.utils.Dictionary /* Used to track Arrays of Points */
flash.geom.Point /* One contact point */
TouchEvent.touchPointID /* Unique ID for each touch contact point */
TouchEvent.stageX
TouchEvent.stageY
TouchEvent.isPrimaryTouchPoint
A quick update on the bug we posted here about the TextArea Skin focus bug. Here’s the original post but the news from Adobe is that it’s fixed and here’s the fix …
Forgot to mention in the checkin notes that the CustomTextAreaSkin must utilize the focusSkinExclusions property. You can see it used in the default TextAreaSkin. It looks like this:
/**
* @inheritDoc
*/
override public function get focusSkinExclusions():Array { return [ textDisplay ] };
Ok, so you are now an iPhlash developer, creating cutting edge iPhone apps with the Flex Mobile Framework, AIR and Flash CS5. Things are looking pretty rosy and you can be sure the offers of work are going to start rolling in along with the cash. Who needs Objective C ay? You’re an Actionscript 3 developer … you can build amazing applications and now you can build them for the iPhone … you rock! Hey, what’s that … an email from your client asking if you could build a small marketing app for the iPhone … and they want to pay you a stupid amount of money! Result! Of course you can … you’re now an iPhlash developer!
Cool … the project is go and here’s a design from their Art Director …
NNNNNNNNNNNNNNOOOOOOOOOOOOOO!!!!!!!!!!!!!!!!!!!!!
Now you know I’ve only got love for Flash but I hope you understand the point of this post. Scenario’s like this are gonna bite people in the arse unless they are careful about what they promise their clients. You need that Cocoa UIKit. You need Interface Builder. There’s so much in the iPhone SDK that you will need to build proper iPhone apps.
Let’s be realistic about this … we’re not talking about building apps for the browser or even for AIR. If you build an application for an OS then it is best-practice to adhere to the rules of that OS and use the common UI tools made available. If you own a mac then I think you would agree that when you download and install an app you want to feel comfortable using it. You want the reassurance that the application you are using integrates with the rest of the OS so you can quickly get your head around how it works. This is why the HIG exists and this is why Apple will deny any attempt to reproduce their UIKit components.
Unless your building a game with no OS UI requirements or your app is a bit of eye-candy then you’d be better off building it with XCode. Hopefully Adobe will expand on what they’ve started by creating tools that will let us export assets or views from Flash Builder to Cocoa Obj-C code. It would be great if we could export our project to a View and then integrate it into an iPhone app. There’s already a great tool built in AIR for exporting shapes from SWF to Obj-C that you can view here.
I know that the Flash community are an ingenious bunch and the majority of them aren’t stupid either so I hope that this is just the incentive they need to build some really useful tools that will enable us to build proper iPhone apps in the near future. Until then you’d be best not to promise your clients you’ll be porting over their web apps to the iPhone just yet … not until you’ve discussed the requirements IN DEPTH.
This post by Jeff LaMarche is a much more eloquent argument about why we should all step back and have a re-think about this. Especially how this may effect the relationship between Adobe and Apple. Hopefully Jeff will have some further comments to make on the subject and I invite him to do so here too.
From Jeff …
If I were a Flash developer, I wouldn’t cheer just yet. This looks like a risky proposition to me at present. Adobe and Apple are still acting in an antagonistic fashion toward each other. Adobe could very well have crossed the line here. There are both legal and technical options open to Apple to prevent Adobe from doing this if they choose to. Will they? I honestly don’t know. Apple still makes money from apps that are created with Flash tools, so they might just ignore it and take their 30% cut quietly.
So the big news from the Adobe MAX conference yesterday was the announcement that Flash Player 10.1 will allow Flash Platform developers to create content for a range of other devices including Mobile, NetBooks and Set-top boxes. The new player will include some new multi-touch events to take advantage of this capability on Mobile, MacBook’s and Windows 7 touch-enabled devices. I’ll be looking at these events myself when they release the updated SDK and player and will be sure to post some examples and experiments.
Bigger news came in the form of a spoof ‘MythBusters’ video exploring the ‘myth’ that you can’t produce Flash content for the iPhone. Yes, Adobe will be compiling native iPhone content directly from Flash CS5. There’s no Flash plugin in the browser on the iPhone but the new FP10.1 touch events will work apparently. The compiler technology is way over my head but here’s the press release and some information on labs. It seems that Adobe have snuck a few iPhone apps onto the store in advance and the example I’ve played with, Chroma Circuit, performed very well (and is really addictive).
This got me thinking about the future for apps on the iPhone if Flash peeps all rush off trying to submit their content to the store. For a start Apple are going to be struggling to keep on top of their approval process. Apple is very strict when it comes to the Human Interface Guidelines (HIG) and the iPhone Dev kit that most devs use to generate UI elements on the iPhone ensure that developers ‘toe the line’ and by and large result in a design consistency that has been part of their success with the device. Now, I know there are already a lot of god awful apps on the iPhone that seem to deviate from the HIG exceedingly but it isn’t just the appearance of an app that is the issue here. Developing apps for the iPhone is a tricky, slippery business. Memory management and proper garbage collection is vital to the performance of the app and without thorough testing and a decent authoring/debugging environment like XCode it’s going to be very difficult indeed to create a decent iPhone app in Flash. So how will we develop decent apps for the iPhone or any of the other devices for that matter?
Well, while everyone was tweeting about the iPhone news I found myself reading through the Mobile dev FAQ’s and noticed this …
Can I use the Flex Framework to create content for the iPhone?
While it is possible to create iPhone content using the desktop Flex Framework, we do not recommend it. The Flex framework is currently optimized for execution in a desktop environment. The performance, UI, and interaction models have not been optimized for mobile devices.
Adobe is working on a mobile Flex Framework, which should be better suited for iPhone development.
What? That last line got me very excited. And then I saw the link.
And here’s a sneak preview!
Flex for mobile devices
Here’s the app they built running on an iPhone :
Interesting bit of trivia is that the codename ‘Slider’ is a joke based on a conversation in which the original Flex framework was compared with a nice juicy burger for developers and so the mobile framework would be a smaller burger … a ’slider’. As a brit … I don’t get it.
So, there’ll be a new lightweight Flex framework that will allow us to produce UI elements and advanced layouts for mobile devices and this framework is currently codenamed ‘Slider’. Now, personally the iPhone thing could be painful but lets not forget about all of the other devices that we can now develop for. A project will need to change state dynamically to fit within a range of screen sizes, layout will be extremely important as people expect their content to adjust to different orientations and the implementation of themes is also going to be huge. The Flex framework is perfect for this type of development and the Spark/FXG partnership is lightweight and flexible.
Reading the FAQ I noticed this …
On what platforms will Slider run?
The initial Slider framework will be optimized to run on high-end smartphones (phones with a processor speed of 400Mhz or more, 128MB of RAM), and will initially target standalone application environments such as Adobe AIR. This matches the category of devices targeted by Flash Player 10.
Reading between the lines here but does this suggest that the AIR runtime will also be available on devices?
UPDATE: This video on Adobe TV talks about how the process of developing the iPhone app is very similar to building an AIR app. So I guess there wont be an AIR runtime for mobile devices.
Building Mobile Applications with Adobe AIR
Some interesting information in that video. Hardware acceleration will be supported via the use of the cacheAsSurface property.
Ted Patrick has a great post on developing iPhone apps with CS5 including source. Check it out.
Here’s a real good cast of the Secret Session from yesterday with Richard Galvan which explores a bit more about the new features of Flash Pro CS5 including the Text framework and support for ligatures and flow.
They’ve added integration between the Flash IDE and Flash Builder so you can launch FB4 from the Flash IDE and setup workflows between the two environments including launching Flash pro to test from FB. This is going to be great for managing assets in Flash while coding in Flash Builder. Code snippets in Flash Pro let non-coders add interactivity too. This will allow large agencies with teams to have their tech dude add all the common code the designers need to build banners for example. Code completion in Flash mimics FB too … finally!
I’m expecting more news today in the second keynote and will update this post. If you are at MAX and see any demos of the Slider framework then please leave me a comment and let me know what you saw and heard.
I am now the proud owner of the Hex colour #BADA55 or Bad Ass to give it its official name. Well, that’s as far as the folks over at http://www.myhexcolor.com are concerned who are selling off all the Hex colours to gullible idiots like myself. I had to own ‘Bad Ass’ though … and it was only $1 (65p).
Apologies to Evan Roth who originally brought it to my attention. But I do sooo totally PWN it now! I may sell it to him if he’s interested.
If you want to buy your own Hex colour you may want to read this post to give you some inspiration.
If you are reading this post there’s a very strong chance that you are at the Flash on the Beach conference and you’ve either been given one of my amazing business cards (thanks Moo) or we’ve just spoken and you’re checking me out to make sure I’m not just a crazy man. Well, the good news is that I am indeed a crazy man but my insanity is fueled by a love of all things Flashy.
Welcome to my site, please take a look around … would you like a cup of tea? A biscuit perhaps? This site is my blog but I have a main corporate site which you’ll find over at http://lyraspace.com. There you’ll find some examples of my work in the Case Studies section and you can read about what I do in Services. Most importantly though, keep in touch! You’ll find my details in the Contact section and please bookmark/feed my site for future reference.
I hope you’re having as much of a great time at FotB as I am (I’ve not even left yet as I write this post) and I hope our meeting has made as much of an impression on you as it has on me (I’ve not technically met anyone at the conference yet).
If we haven’t actually met then please do pop over to point at me and laugh … I’m the small, tubby chap with the stupid looking, over-sized glasses. You may have seen me stumbling off my silver Vespa looking flustered. You’ll also spot me loitering around sources of coffee and trying to steal stickers and t-shirts. Please do say hi.
I’ll continue to tweet my experiences (haven’t started) and you can follow me @leeprobert or @lyraspace depending on whether you want the techy geeky stuff or the downright rude!
Recent Comments