Wednesday, September 12, 2007
A New Chapter...
Things have been, and will continue to be, crazy for the next few weeks, but I'll try to post a bit more once things are settled. Onward and upward!
Tuesday, June 26, 2007
Adobe MAX 2007 Sessions
I had a nice conversation with Ted Patrick regarding the speakers from last year. I voiced our concerns over the quality and professionalism of non-Adobe presenters. He assured me that this year was going to be different. It sounds like most of the speakers will be Adobe employees or very qualified partners.
We're excited for the new products coming out of Adobe. Hopefully, this years MAX will inspire us like it did 2 years ago in California. We changed our corporate focus based on the knowledge we took from MAX in Anaheim.
New Knoware Website
There are still some sections of information that we'd like to include on the site, case studies for example, but those will come in due time. Cheers to everyone involved! It looks great.
Tuesday, June 19, 2007
New Blog Launched: MyPhoneWidgets.com
Thursday, June 14, 2007
Adobe MAX 2007 Site Live
The common opinion from the Knoware team for last year's event in Vegas was that it was rather weak. The speakers who were not Adobe or Macromedia personnel seemed to be giving sales pitches for their respective companies instead of giving us insight into the technology.
Ted Patrick is on the case though. He writes in his blog that he will be taking on a new role in promoting the conference. So I guess we can all blame Ted if things don't meet our expectations ;) We're looking forward to seeing you in Chicago Ted!
Wednesday, June 13, 2007
'Widget' Article in the Wall Street Journal Relating to SeeSpotSlide
Today's edition of the Wall Street Journal has an interesting article on the pervasiveness of 'widgets' in social networking sites. They define 'widgets' as a snippet of code (for us that's the Flash embed code) that is created on these aggregating sites and posted to social networking sites. It specifically points to Slide, RockYou and a few others we built SeeSpotSlide to 'compete' with. The article goes on to describe the inability for these services to publish advertising to the widgets, based on rules that have been put in place by MySpace and others.
"New data on viewing photos, videos and music on the Web may have an impact on the way advertisers and social networking sites perceive firms that help create this content. Nearly 177.8 million people world-wide viewed Web content in April made with online tools from companies that let people post photos, videos and music on other Web sites, according to data that Web-tracking firm comScore Inc. plans to release today."
'Widgets' May Snag More Ads - WSJ.com
ComScore has released new service today that tracks widget use across the web. In it, they report on the penetration numbers of widgets, where they originate, and where their audience is located. It demonstrates the importance of widgets to the advertiser community and can provide widget creators a means to promote the value of their services.
It seems then, that our concept was at least somewhat on target - create a service to generate slideshow widgets where an advertiser could have their ads placed and distributed. Now if we could just get a few more million people using it and get a couple of big advertisers on board...
technorati tags:seespotslide, flash, flex, comscore, advertising
Blogged with Flock
Adobe's OnAIR Bus Tour
Holy Etch-A-Sketch Skills Batman!
Tuesday, June 12, 2007
No Flash on the iPhone
Uh oh. If this post on TUAW is true, then we're only left with AJAX for the time being for developing applications on the iPhone. Kind of a bummer. If Apple had left a way for Widgets to be implemented onto the iPhone, I wouldn't mind as much. But, not having the ability to write Flash applications kind of sucks. It closes the door to a lot of potential... at least in the short term.
"Our sources at WWDC are reporting that, for now, there is officially no Flash support on the iPhone."
It's official: No Flash support on the iPhone (yet) - The Unofficial Apple Weblog (TUAW)
technorati tags:flash, iphone, plugin, developer, ajax
Blogged with Flock
Spout.com Viral Campaign for Four Eyed Monsters
Wow! Our friends over at Spout.com have come up with a great viral campaign to promote an idie film titled Four Eyed Monsters. The film makers are releasing the full length film online and you can view it on YouTube here. Spout.com is giving the start-up film makers $1 for every person that signs up on Spout's site. You can click here for the sign-up page. Very cool idea! Congratulations Spout team!! We hope you do well with it.
"Join now from this page (spout.com/foureyedmonsters) and Spout will give $1 to Susan & Arin to make another movie. It's that simple. It costs you nothing. "
Spout – Sign up with our online film & video community
technorati tags:spout, viral, Four Eyed Monsters, spout.com
Blogged with Flock
Monday, June 11, 2007
iPhone Application Development
All that I have heard in response to this news is how badly it sucks. I don't get it? May be I'm biased since that's mostly what we build - rich-internet applications and web 2.0 stuff - but I think this is a great step! What exactly do the nay sayers plan on creating for a phone anyway? Halo 5 mobile? Let's be real for a second. Probably the most valuable applications that you'll find on a phone are going to be data mashup type applications that a user can get a bit of info on, make a quick - and small - reaction to and get out. I never thought I would want to be editing excel spreadsheets on my phone. Anyone that does, I've got an idea for your portable spreadsheet work, it's called a laptop.
The form factor of a phone sized device must be strongly considered in the type of application that you build. I've had a Palm for as long as they've been around and I think I opened a Word document all of once on it. Never edited it. I think I was just seeing if it worked, actually. Same goes for my Blackberry. Can I open and edit documents - yes. Have I ever, no. May be I'm in the minority, but I don't think I am. The ability to send and receive email and attachments that are images and sound files seems to be more important for a phone device.
Lets make a few assumptions for a moment. Let's assume that it truly is a full version of Safari that is running on the iPhone. It has been stated that the OS is a FULL version of OS X on the device. Obviously, the interface elements that are in the desktop version are not on the phone nor are they required but the core kernel is - at least, that's what Steve Jobs said at the D:All things digital conference a few weeks ago. So, if it's a full version of Safari running on the Apple WebKit, then it should support plug-ins. If it supports plug-ins, it should support Flash. If that's the case, we can develop applications in Flash and Flex and deploy them to the iPhone! That's all we needed to hear. To extend that a bit, I read a lot of complaints about developing games for the phone. If it supports Flash, your golden. There's plenty of game content developed in Flash. If it truly supports all types of plug-ins, you could develop a game in Director or Unity and deploy it to those plug-ins as well.
Now, it would be nice to have a little icon on the phone like the other applications, but that's not going to keep us from developing for it. If a user has to bookmark my app to get to it, so be it. Maybe Apple can extend the concept they're starting with by embracing their own Widget model of development. The existing apps that come on the phone look as though they are identical to the Widget versions of applications on the desktop OS so it doesn't seem like it would be too far off to support that. Again, it would be leveraging AJAX and the Safari WebKit to do so.
This morning there was a lot of buzz on the announcements from Adobe and Apple. The Adobe boards were buzzing with 'wait till you hear the news from Apple' chatter. We were kind of thinking that the iPhone would somehow support installed applications with Adobe's new AIR (Apollo). It seemed like the timing on it was right and knowing how the .air files install into the AIR framework, it seemed like a possibility. There was no announcement from either Apple or Adobe though, so I guess that's not going to happen. But, it seems like if the assumptions from above hold true, it could possibly happen in the future. Now that would be cool! They could keep the iPhone system hooks to a minimum for security reasons and have an installation option for applications on the phone. That would probably be a really nice way to satisfy a decent amount of people and protect the phone's stability. We'll have to see I guess.
So, if the assumptions above hold true, and developing an application in Flex (or AJAX or Flash) and deploying it to an iPhone through Safari on the phone is possible, it sounds like it's time to scheme up a few nice little apps for the end of June!
Adobe Releases 'Apollo' Beta, Now Titled AIR
Ted Patrick once again drops the news on us regarding some great releases from Adobe last night. Adobe has launched the Beta of the Apollo project, now titled Adobe AIR - Adobe Integrated Runtime. Joe Johnston pointed out an interesting little fact - Rich Internet Application: RIA is AIR backwards... discuss.
"'Apollo' codename has been replaced by Adobe Integrated Runtime, Adobe AIR.
You can download the goods direct from the horses mouth at Adobe Labs.
technorati tags:adobe, AIR, flex, flash, apollo
Blogged with Flock
Friday, June 08, 2007
Twitterrific is Twitter-awesome!
I just downloaded a little application from the boys and girls at the IconFactory called Twitterrific. It's an OS X app that allows you to post Twitter postings from the desktop without launching the browser. To be honest, I though it was going to be a Dashboard Widget application, but I'm cool with it being a stand-along app.
Twitterrific on the Mac
It's a great little application! Nice, clean, no-nonsence interface with the ability to post 'twits' (if that's the correct word) to your Twitter account as well as view your friends messages. Overall, nice execution, good features, clean design, easy to use - 2 thumbs up!
Thursday, June 07, 2007
Taking a Moment to Dream...
I'll be 40 in a couple of years and I've already dropped a few hints, well, not really hints but 'formal requests' with the misses for a BMW Bike. I've always loved the styling and sophistication of the RT series from BMW and this years is no exception. The only thing I'm struggling with is the safety issue. I'm not a crazy rider - I had a bike in college and got the speed demons out of me - but I just don't trust the drivers here in Grand Rapids.
My R1200RT slideshow was made with SeeSpotSlide... of course
I'd love to commute on a bicycle but we live a bit too far from downtown and there are no 'good' roads to ride on. I think I'd be in trouble if I attempted that. So, my other option could be to ride a motorcycle to work, but like I said the drivers here are by far the worst drivers I have ever been exposed to. I'm from New York and didn't have nearly the number of incidents that I've had out here.
Do I just continue to dream, or really try to pull the trigger on one of these bad boys in a few years and be happy with a nice Sunday morning ride while all the knuckleheads are still asleep? Decisions, decisions.
Sorting Dates in a Flex Datagrid
I did some searching and found some pointers on what to do. Most of them pointed to resorting the array (not an array collection) or ordering them on the server prior to getting them in Flex/Flash. The solution is much easier than working through a bunch of code for either of these. In your datagrid, define the columns with <mx:DataGridColumn> tags. In the date column define a 'sortCompareFunction' property to be a function like this:
private function compareDates(d1:Object, d2:Object):int
{
var d1ms:Number = new Date(d1.DATE FIELD NAME).getTime();
var d2ms:Number = new Date(d2.DATE FIELD NAME).getTime();
if(d1ms > d2ms)
{
return -1;
}
else if(d1ms < d2ms)
{
return 1;
}
else
{
return 0;
}
}
Replace your date field name from the dataprovider where indicated. That's it. Two hours for that... Boy, do I miss just working in Photoshop ;)
More Sneak Peeks at Flex 3
Ted Patrick enlightens us again to the upcoming Flex 3 release with today's sneak peek. He describes a fantastic feature of the new Flash Player 9 where the Framework libraries for Flex can be cached in the player. What this means for us is deploying unbelievably small applications - footprint wise - without having to embed the Framework in our swf's! Very cool.
"Flex 3 and 'FrogStar', codename release of Flash Player 9, adds support for caching the Flex Framework within the Flash Player. This feature is nothing short of a revolution for Flex applications deployed to Flash Player. Moving forward the Flex Framework will be cached within the Flash Player dramatically reducing the size of the output SWF files."
Ted On Flex: Flex 3 - Thursday: Dramatically Smaller Flex SWF Files
technorati tags:flex, flex 3, swf
Blogged with Flock
New iPhone Ads on SeeSpotSlide
So, we have 3 of the 4 ads currently available in SeeSpotSlide's advertising section. Until we're told by Apple to remove them - which I don't think we're doing anything wrong by having them available - have at it! We'll get the 4th one up there today.
technorati tags:apple, iphone, knoware, seespotslide
Wednesday, June 06, 2007
Blogger Linking Widgets
I spent a few hours today figuring out how to add a few linking widgets to my posts. At first I thought I'd have to do it manually, but the 'new' widget architecture for Blogger is pretty cool and easy to use!
I wanted to create links to Digg, del.icio.us, and Technorati on each of my posts and have the links be generated automatically for me. It seemed like a straightforward thing to do, but as usual, syntax issues caused me to take a bit more time than I planned.
So, rather than have someone go through the crap I went through getting this little bit of code right, I'll post it for you here:
<!-- digg post link -->
<span class='item-action'>
<a expr:href='"http://digg.com/submit?phase=2&url=" + data:post.url + "&title=" + data:post.title' title='Digg This!'>
<img alt='Digg!' height='16' src='http://digg.com/img/badges/16x16-digg-guy.png' width='16'/>
</a>
</span>
<!-- del.icio.us link -->
<span class='item-action'>
<a expr:href='"http://del.icio.us/post?url=" + data:post.url + "&title=" + data:post.title' title='Bookmark This to del.icio.us'><img src='http://images.del.icio.us/static/img/delicious.med.gif'/>
</a>
</span>
<!-- technorati favs -->
<span class='item-action'>
<a expr:href='"http://technorati.com/faves?add=" + data:post.url' title='Add to Technorati Favorites'><img alt='Technorati' height='16' src='[ PUT THE SOURCE TO A TECHNORATI LOGO IN HERE ]' width='16'/>
</a>
</span>
You can place this bit of code in your template in Blogger wherever you feel it suits you. Please note that you'll need to find a Technorati logo and point to it. Be sure to check the "expand widget templates" checkbox in the template > edit html tab. This will give you more visibility to where you can place this code. I placed it immediately after the <div class='post-footer'> tag - about half way down the page. You can see that placing it there will cause the link buttons to show up at the 'top' of my footers for each post. Enjoy!
Component and SDK Enhancements to Flex 3
Ted Patrick enlightens us to another day of sneak peeks within Flex 3 today. His focus: Components and SDK Enhancements. Some really nice stuff with an Advanced DataGrid component - I've already got some uses for that one - and the Deep Linking API. I'm not sure how the Deep Linking thing will be used but I have an idea or two on some test I'd like to try out.
Jump over to www.onflex.org and check out the details.
"There are some wide ranging changes within the Flex SDK and components within Flex. These new classes/components/features include AdvancedDataGrid, new Collection classes, Deep Linking API (BrowserManager), Resource Bundles, Runtime Localization, and Container support in Flex Component Kit for Flash CS3. These features broaden the capabilities of Flex in providing deeper integration with AJAX, advanced visualization, and support for complex resource management/localization."
Ted On Flex: Flex 3 - Wednesday: Components and SDK Enhancements
technorati tags:flex, components, datagrid
Blogged with Flock
Tuesday, June 05, 2007
New SeeSpotSlide Players Release!
The volume has a default state of off when the slideshow loads.
There was also a small issue with the resizing of videos in the players. That issue has been addressed and resized video seems to be working fine. Please let me know if anyone is experiencing any issues with video playback.
technorati tags: seespotslide, video, slideshow, flex
Code Enahancements upcoming in Flex 3
"The code enhancements in Flex 3 are a standout in this release. The features include faster compilation, compiler class caching, deeper language intelligence for AS3/MXML/CSS, Code Search, Refactoring (Renaming: Method,Class,Variable), Code Outline, Memory Profiling, Performance Profiling, Profiling Live Memory Data, Enhanced Module support, and Multiple SDK support."
Ted On Flex: Flex 3 - Tuesday: Code Enhancements
technorati tags: flex, enterprise, scalability
Blogged with Flock
What the Flock is this thing?
Hmm?! This Flock browser is kind of interesting. I downloaded the app this morning and am currently running it to post to this blog. It seems like the tool set is based on Mozilla browser and it has some really nice features for enabling blogging and sharing. The browser feature of the app seems to be just a bit slower than Firefox. Could be due to the overhead of some of the tools.
There's a couple of buggy issues in the Mac version of the blogging entry form, but other than that 2 thumbs up from me! Check it out at the link below.
Flock — the social web browser
technorati tags: flock, browser, blogging, blog
Blogged with Flock
Quick update on Flex3 feature
You can see some screenshots and further descriptions on his blog"CSS editing has been enhanced with a design view. CSS files now support design view and property editing."
Ted On Flex: Flex 3 - Monday: Designer/Developer Workflow (CSS Design View)
technorati tags: flex
Blogged with Flock
Monday, June 04, 2007
New Flex3 features
I was just telling Joe this morning (www.merhl.com) about what a pain in the ass it is sometimes to have to compile Flex apps to see the exact positioning of dynamic elements... Someones ears must have been ringing at Adobe :)
technorati tags: flex
Friday, June 01, 2007
SeeSpotSlide and Google Searching
technorati tags: seespotslide, google, merhl
Thursday, May 31, 2007
RIApedia Story on SeeSpotSlide
Mike did have a few small point incorrectly documented, like the ability to retrieve saved slideshows and the inclusion of video as a future element - it's in there now. Mike fixed the saved slideshow feature error quickly - thanks Mike! Hopefully, this will be the first of many mentions in the tech world!
Wednesday, May 30, 2007
Microsoft's Surface
A photography studio could benefit from it by using it for a client presentation. But, I couldn't see working all day at one. I would expect that only the largest studio's would be able to afford it until the price point comes down.
We're currently doing some work in the gaming industry and this seems like it would be a nice application for use there. Again, the table top is a bit awkward unless your at a bar or restaurant though... Very nicely done, none the less. I can't wait to see how it gets used in the real world.
technorati tags: microsoft, surface, ui, gui
Slideshow section over there >>
Flex/Cairngorm Tips: #1
Using a Model to Control the View
I started doing this about half way through the development of the application after seeing it done in some sample apps on a Cairngorm message board. The gist of it is that you tie a component's view to a model. You change the model from anywhere in the application and the view changes. Simple right?!
Here's some sample from the SeeSpotSlide codebase:
In my model classes I have one called ViewModel.as. It is a singleton class (only one instance can exist at a time) and has the following structure.
package com.model
{
import com.adobe.cairngorm.model.ModelLocator;
import com.model.ViewModel;
public class ViewModel implements ModelLocator
{
private static var model:ViewModel;
[Bindable]
public var viewStateReports:Number = VIEW_GRAPHS;
public static var VIEW_GRAPHS:Number = 0;
public static var VIEW_GRID:Number = 1;
public function ViewModel()
{
if (model != null)
throw new Error("only one ViewModel instance should exist");
}
public static function getInstance():ViewModel
{
if (model == null)
{
model = new ViewModel();
}
return model;
}
}
}
Then, in my view class I bind to 'viewStateReports' on say an accordion component like this:
<mx:accordion id="myStuff_acc"
width="560" x="10" bottom="125" top="53"
selectedIndex="{ ViewModel.getInstance().viewStateReports }" />
Now, from any class file I can instantiate the instance of the ViewModel class and change the state of 'viewStateReports' like this:
ViewModel.getInstance().viewStateReports = ViewModel.VIEW_GRID
My accordion component updates due to it's binding to the model. No crazy paths to follow to point back to the component and no custom events that need to be built and fired to trigger the change. The binding mechanism on the accordion sets up it's built in event listeners to make the change. It's probably a good idea to come up with a naming convention that is really obvious here on the 'states' you'll be changing to. When you have a bunch of states of components and views changing in this way, things can get a bit hairy without a solid naming strategy.
The girls!
Here's an example from SeeSpotSlide. I made this in the application with the images being served up from SmugMug.
SeeSpotSlide - under the hood
The main application is built in Flex 2.01. We used FlexBuilder 2 for all of the development. This was the second large scale deployment application where we used the Cairngorm framework within Flex. Cairngorm has been fantastic! It's provided a way for us to create and organize our projects so that extending and maintaining them is not only possible, it's pretty easy. In fact, the integration of SmugMug functionality was completed in a day and a half with unit testing and deployment!
It took 2 view classes (the main view and the thumbnail holder), one model class, one event class, 3 command classes and a delegate class. Most of these were 'save as' documents from other functionality with customizations inserted where appropriate. The structure of a Cairngorm framework project at first seems to be a bit bloated, but the organization of the classes and the ease at which they can be extended and managed far outweighs the number of files. I think the project has over 100 class files at this time but each one is probably averages 40 or 50 lines of code. To me, it's much easier to browse through the project tree in FlexBuilder to find/remember where a chunk of code is by filename, than it is browsing through a few very long class files. I guess that's a personal preference, but it seems easier to hand off to another developer when constructed in this manner.
So, thanks Cairngorm guys! The name is a pain in the ass to spell, but the value is over the top!
Slideshow application is born!
- conceptualize an idea
- create a business model around it
- build a functioning prototype
- launch in 90 days or less