Today is the second in a series of Flash tips, Thursaday I covered how to copy an array. Today’s tip is about the File Reference class.
When I was building the prototype for ConceptShare, I came across this class and was very excited to try it out as we needed a solution for uploading concepts directly from within the workspace. I went to google and began to search for examples of the code in action (my preferred method for discovering new techniques). I found two, both using basically the same code. I created my examples and started testing. Basic uploads worked like a charm, but when trying to integrate it into ConceptShare I was having no luck.
Hours of frustration later I figured out that when you call the upload function to send a file to the server, no cookies are transmitted along with the file. This was a problem because ConceptShare uses cookies for authenticating and identifying the user. In my case simply appending the required information as a querystring of the url and modifying the code to check the querystring instead of cookies for the necessary variables solved this problem.
Two things worth mentioning are:
AS 2.0 doesn’t allow for variables to be sent along with the file upload, but has since been added to AS 3.0.
FileReference.type property returns ‘.jpg’ on a Mac where as ‘jpg’ is returned on windows machines. This is because macs return a four-character file type.
If you enjoyed this post, make sure you subscribe to our web feed!
Posted in Development ~ No Comments
Written by Chris D'Aoust
I’ve been using Adobe Flash for many years to develop engaging user experiences, for both the web and desktop. During this time I’ve had my share of problems. Flash has always had a weak help file, specifically the ability to search the help file. This has made it much harder to find solutions to problems, unless you know the specific terminology to search for beforehand. Today’s post is the first in a series of Flash tips, quick guides to help you develop in Flash.
How to Copy an Array
When adding the ability to drag and drop cells within ConceptShare version 2, I decided the best method to store cell placement was to use multidimensional array. This worked perfectly at first, but mysterious problems started appearing when toggling full screen, or changing between layouts. When first encountering this error I didn’t think for a moment the issue was copying the array, and spent days on end looking for an answer. The problem did turn out to be copying the array for future use. Normally you would do something like this:
array1 = [a,b,c];
array2=array1;
You would assume that array2 is now a copy of array1 and can be edited independently. Well, that was not the case. array2 is a reference of array1. So any changes made to array2 are also made on array1. In order to get around this you must use the slice function:
array2 =array1.slice();
This only works for single dimension arrays, multi-dimension arrays require a slice to be called on each array contained within. So that’s how to copy an array in Flash.
Next time on Flash tips, the file reference class.
If you enjoyed this post, make sure you subscribe to our web feed!
Posted in Development ~ 2 Comments
Written by Chris D'Aoust
We recently upgraded our infrastructure to include two load-balanced web servers to run the ConceptShare application; and another server for file storage of concepts, user images, and account images. After experimenting with various combinations of permissions and configuration options, I looked back and saw that it wasn’t a straightforward process. Here is a summary of what is required, so that you can get started quickly.
First, you should know a little about how the .NET framework runs on IIS. In our case, we are running IIS6, which means it is running under the “Network Service” identity by default. This runs in its own environment with its own desktop and user settings. Mapped drives are held at the user level, so direct mapping of virtual drives to mapped drives is out.
For simplicity’s sake, we decided to use a new account to give some separation and prevent any excess permissions being granted. You could technically use a “shotgun” approach: set the Administrator password on all servers to the same and use it to configure your IIS. But that is a huge potential security issue and we take security very seriously. Here is a basically run down on what you need to do:
-
- Create a limited permissions account with the same username and password across all servers. Suppose we call this account “IIS_ASP_NETWORK”.
- To be useable as a process in IIS the account requires setting a few security permissions. But it’s much easier just to add your newly created account to the IIS_WPG security group, which will give it all the appropriate rights.
- On the storage server give full permissions to the folders you are going to expose as virtual folders in IIS. We do both writing and reading, if you are just serving content you can go with just read.
- On each web server create a new application pool and set the process identity to your newly created account. This will make .NET run under that account, unless impersonation is used.
- Set the website to use the new application pool that you just configured.
- Create your virtual directory using the full UNC path to the folder in question (i.e. \\SERVERNAME\SHARENAME). Be sure to provide the same credentials that you use for the new account.
That should have you up and running with a virtual directory hosted on a network resource. We never tried to run the entire site as a network resource, only the images, so I can’t comment on the stability of running an entire site off a network resource. If you need to do some debugging you can throw up an ASPX page with Trace=”True” in the page tag and it will let you know which process it is running under. Also, ProcessMonitor from SysInternals will help you diagnose any permission issues.
If you enjoyed this post, make sure you subscribe to our web feed!
Posted in Development, Technology ~ 1 Comment
Written by Matt Richer

Widescreens are everywhere and it’s now starting to more seriously affect GUI design. Designers are forced to have to think differently. What was ok for just 4:3..isn’t anymore. It’s now almost impossible to get a 4:3 TV, (Best Buy officially stopped carrying analog TV’s a few months ago), Laptops and desktop monitors are no different. It seems thats all they sell and that’s all people want to buy.
In a recent look at our web hits for ConceptShare.com we are showing that close to 50% are using widescreens. This may actually be even higher for our own target market assuming some of the traditional proportions coming up might be media, financial and casual visitors. Another interesting point is that there are over 296 different resolutions most of which are wide…Is that even possible? Well it is… I checked again.

Height is quickly getting lost in favor of width. Things like favorite Links, virus software and others are taking up even more valuable browser height with rows pushing the viewing area further and further down. As a designer you feel like a bed of nails is coming down on you like they do in the cartoons.Arrgh!
At ConceptShare we saw the number of users with widescreen monitors increase dramatically during the first year of development. We have recently, (now with V2) managed to squeeze out some more vertical space by adding a second column on the right side and eliminating some of the menus that were below taking up valuable vertical real estate. We felt that the widescreens can afford the extra menu column and if you don’t have one or just happen to love the extra room, we’ve added a customizable interface so you position your layout anyway you like and even save it as well. This should appease almost everyone because you can at the very least customize the layout the same way as v1 looked. For those that push the limits of widescreen heaven, (and you Apple 30” 2560×1600 people know who you are), ConceptShare becomes a dream with a very large work area because the interface was built to scale and benefit those with large monitors… because that’s how we would want it.
Look at the difference between V1 and V2 released earlier this month.
ConceptShare V1- Default Screen @1920×1200
ConceptShare V2 - Default Screen @ 1920×1200
If you enjoyed this post, make sure you subscribe to our web feed!
Posted in ConceptShare, GUI ~ 2 Comments
Written by Bernie
With the launch of Version 2 of ConceptShare some of you may have noticed that the payment pages are now hosted on our servers (securely), and we communicate with our payment gateway provider behind the scenes. We much prefer this approach as opposed to having the customer leave the site, and go the merchant for payment processing, which breaks the whole user experience.
One thing we didn’t account for was the headaches involved with finding a payment gateway that meets all of our needs. Guess what, we never really found one, we just had to settle for the “best fit” and do customizations on top of it. Luckily, being well versed in systems and software integrations I was excited at the prospect.
My “ideal” gateway would support the following feature set from a programming stand-point:
- Callback URLs for all transaction types (regular and reoccurring).
- Membership/reoccurring management without client interaction (we’ll handle that, thanks).
- Regular transaction processing.
- Full customization of the user-experience (i.e. all pages hosted on our servers).
- Full featured back-end (back-office) for the finance department.
- Modern methods of communication (i.e. Web-services, XML). Requiring me to install a COM object, or use flat URL posting isn’t what I consider ideal.
- Fully customizable emails, or at the very least localizable emails.
- Flexible reporting options and report generation including various export options (CSV, XML, etc.)
- Solid, complete documentation of all APIs.
- Multiple currencies / merchant accounts.
- Good, quick, and knowledgeable support staff.
I have a hard time resisting the urge to bold and underline that last requirement. Fortunately, our current gateway provider is very pro-active, quick to respond (usually less than 2 hours via email), friendly and knowledgeable.
We surveyed many gateways and narrowed it down to about eight different gateways in our quest to find “the one”. Each would cover about 80%-90% of the feature list, but would always come up short in one way or another.
Our new system is definitely more flexible and scalable. We can now look at allowing domain administrators the ability to look at their transaction history, update credit card information, etc. All from the convenience of their ConceptShare account (this feature is still in development).
I find that this area is still in its infancy, as payment gateways are usually started by banks and other institutions not ready to embrace the Internet market and technologies. I wouldn’t say it was a nightmare to code a fully-customizable gateway but it could have gone a lot easier if there was a good one-stop, all encompassing gateway provider.
If you enjoyed this post, make sure you subscribe to our web feed!
Posted in eCommerce ~ 2 Comments
Written by Matt Richer
We’re getting ready to do another round of user experience improvements on ConceptShare. We’d like to hear from you about how we can make our tool even more fun for you. Please let us know:
- Where a simple message would help
- Where you’re not sure what to do
- Where the flow of the experience feels broken
- Where something feels painful
Please feel free to mention anything and everything that comes to mind.
We care a lot about making ConceptShare a breeze to use. Most of the improvements that went into our recent V2 launch had to do with making the experience smoother. Since then we’ve already made several improvements based on requests from our community. Your help today will help us make it even better in the near future.
If you enjoyed this post, make sure you subscribe to our web feed!
Posted in Community, ConceptShare ~ 14 Comments
Written by Will Pate
The prototyping process is a great opportunity for creativity and fun. The fun designers have during this stage is a good indicator of how much fun people will have with the final design. When it comes to video games, the Wii has shown that fun trumps core features like graphics and processing power.
I had my first chance to really play with a Wii a few weeks ago, and I was blown away at the simple joy of playing Wii Sports with the Wii Remote, both of which are bundled with the Wii system. They felt like they had been designed together to work in beautiful harmony. It turns out they were, through a process of rapid prototyping and fun.
“So we really had a whole range of different sample controllers, for each of which we were tailoring specific prototype software. As Tennis was one of the games born out of that, it wasn’t actually the result of a clear intention to develop something specific….Once we’d produced it, it was immediately apparent how well it worked.
- Katsuya Eguchi, Producer of Wii Sports

So it seems that the Wii Remote was chosen as the controller for the new gaming system partly because of how fun it was to use with the prototype games created for it. They were so fun, that their attention turned to how to turn the prototypes into real games.
“During the development of the Remote, we did a range of trials to see what it was capable of. The prototype software we used included things like a baseball game…Wii Sports came about as a result of our discussions about how to turn these into fully-fledged games.”
It seems a little risky to bundle prototype games when bringing a new system to market, but it turns out that because the hardware of the controller was prototyped along with the games it worked quite well. And the fun the developers themselves had building and testing the prototypes is apparent in the final product.
“Well, it was quite fun. Actually, it was a lot of fun! How can I put this…? It is much more fun to get new controllers one after the other, and then develop software as the inspiration takes you, than it is to try to think of new things to do with just one conventional controller, as we have up to now. ”
Keizo Ota, director of Tennis for Wii Sports
So how does play and fun factor into your prototyping? Are you having enough fun with what you design?
If you enjoyed this post, make sure you subscribe to our web feed!
Posted in Product Design ~ 1 Comment
Written by Will Pate
Wow, it’s an exciting day for us at ConceptShare HQ. Today we’re announcing two product launches. We doubled our team just two months ago to meet existing customer demand, and to prepare for the growth that today would bring.
ConceptShare V2
Today we turned on ConceptShare V2, the first major upgrade to our online tool for design collaboration since it launched at the beginning of this year. We redesigned the entire application to be smoother, with fewer clicks so everyone can work faster. Designers will enjoy thoughtful touches like more vertical screen area and customizable layouts for their project workspaces. We’ve also taken the “beta” label off our video support, since it’s working quite well.
We’ve reworked the framework underneath so we can improve ConceptShare even faster in the future. To date we’ve made over 100 updates to the product, and we’re just getting started. Some of the best suggestions have come from our community, so please keep them coming.
CorelDRAWConceptShare
CorelDRAWConceptShare is a branded site built for CorelDRAW users. It’s the first project with our fellow Canadians at Corel. This is the start of a 5 year partnership, which speaks to the level of commitment from both sides. It also means you can count on more cool announcements in the future.
They don’t have enough blog buzz yet, but Corel is a major player in the software market. They have over 100 million active users in 75 countries. CorelDRAW does really well in the European and Asian markets, and is growing its user base worldwide.
2008
Here’s what we have on our agenda for 2008, we’ll be inviting your feedback along the way. Thanks to everyone who helped us get to where we are today. Please keep that feedback coming!
- More integration with products that designers use
- Making it easier to integrate other products with ConceptShare
- Helping connect designers with each other, and customers
For media folks, our press page has more resources and information about ConceptShare and CorelDRAWConceptShare.
If you enjoyed this post, make sure you subscribe to our web feed!
Posted in ConceptShare ~ 4 Comments
Written by Will Pate