Skip to content

On My Brief Experience with Wireframe Tools

I was looking for a tool to quickly and easily build wireframes.  Oh, it had to be free too.  Luckily, I found this useful list of wireframing tools.

The first one I picked was Simple Diagrams.  I like Adobe AIR apps, already have the runtime and it looked nice.  Even had some tutorials, even if they were third party generated.

But then, I’m actually using it, and I go to save the image and there’s no save!  You can export as PNG, but you can’t, using the free version, save a project, shut down your computer, turn it on again, and then open up your project to where you were.  Now, I’m no opponent of freemium business models, but if you can’t save a diagram and come back to it, the program is really crippled.  Call it a demo, but it’s not anywhere near a free functioning version.

I then tried Web Site Wireframe, but wanted something that would work offline.

Finally, I tried Pencil Prject.  It’s not the most polished (one of the tabs in the main screen is “My Stuffs”) but it worked–I could edit files offline, and save projects and re-open them later. It’s also kinda cool because it is built on top of the XUL and Firefox application frameworks (they have a plugin and a standalone app available).

Any wireframe tools you would recommend?

List of Front Range Software Networking Events and Conferences

Updated March 21: crossed out ‘conferences’ because I don’t do a good job of listing those.
Boulder, Colorado, has a great tech scene, that I’ve been a peripheral member of for a while now.  I thought I’d share a few of the places I go to network.  And by “network”, I mean learn about cool new technologies, get a feel for the state of the scene (are companies hiring?  Firing?  What technologies are in high demand?) and chat with interesting people.  All of the events below focus on software, except where noted.

NB: I have not found work through any of these events.  But if I needed work, these communities are the second place I’d look.  (The first place would be my personal network.)

Boulder Denver New Tech Meetup

  • 5 minute presentions.  Two times a month.  Audience varies wildly from hard core developers to marketing folks to graphic designers to upper level execs.  Focus is on new technologies and companies.  Arrive early, because once the presentations start, it’s hard to talk to people.
  • Good for: energy, free food, broad overviews, regular meetings, reminding you of the glory days in 1999.
  • Bad for: diving deep into a subject, expanding your technical knowledge

User groups: Boulder Java Users Group, Boulder Linux Users Group, Rocky Mountain Adobe Users Group, Denver/Boulder Drupal Users Group, Denver Java Users Group others updated 11/12 8:51: added Denver JUG

  • Typically one or two presentations each meeting, for an hour or two.  Tend to focus on a specific technology, as indicated by the names.  Sometimes food is provided.
  • Good for: diving deep into a technology, networking amongst fellow nerds, regular meetings
  • Bad for: anyone not interested in what they’re presenting that night, non technical folks

Meetups (of which BDNT, covered above, is one)

  • There’s a meetup for everything under the sun.  Well, almost.  If you’re looking to focus on a particular subject, consider starting one (not free) or joining one–typically free.
  • Good for: breadth of possibility–you want to talk about Google?  How about SecondLife?
  • Bad for: many are kind of small

Startup Drinks

  • Get together in a bar and mingle. Talk about your startups dreams or realities.
  • Good: have a beer, talk tech–what’s not to like?, takes place after working hours, casual
  • Bad: hard to target who to talk to, intermittent, takes place after working hours.

BarCamp

  • Originally started, I believe, in response to FooCamp, this is an unconference. On Friday attendees get together and assemble an interim conference schedule.  On Saturday, they present, in about an hour or so.  Some slots are group activities (“let’s talk about technology X”) rather than presentations.  Very free form.
  • Good: for meeting people interested in technologies, can be relatively deep introduction to a technology
  • Bad: if you need lots of structure, if you want a goodie bag from a conference, presentations can be uneven in quality, hasn’t been one in a while around here (that I know of)

Ignite

  • Presentations on a variety of topics, some geeky, some not.  Presentations determined by vote.  Presentations are 20 slide and 5 minutes total.  Costs something (~$10).
  • Good: happens in several cities (Denver, Boulder, Fort Collins) so gives you chance to meet folks in your community, presentations tend to be funny, wide range of audience
  • Bad: skim surface of topic, presentation quality can vary significantly, not a lot of time to talk to people as you’re mostly watching presentations

CU Computer Science colloquia

  • Run by the CU CS department, these are technical presentations.  Usually given by a visiting PhD.
  • Good: Good to see what is coming down the pike, deep exposure to topics you might never think about (“Effective and Ubiquitous Access for Blind People”, “Optimal-Rate Routing in Adversarial Networks”)
  • Bad: The ones I’ve been to had no professionals there that I could see, happen during the middle of the work day, deep exposure to topics you might not care about

Jelly

  • Cooperative work environments, hosted at a coffee shop or location.
  • Good: informal, could be plenty of time to talk to peers
  • Bad: not sure I’ve ever heard of one happening on the front range, not that different from going to your local coffee shop

Boulder Open Coffee Club

  • From the website: it “encourage entrepreneurs, developers and investors to organize real-world informal meetups”.  I don’t have enough data to give you good/bad points.

Startup Weekend

  • BarCamp with a focus–build a startup company.  With whoever shows up.
  • Good: focus, interesting people, you know they’re entrepeneurial to give a up a weekend to attend, broad cross section of skills
  • Bad: you give up a weekend to attend

Refresh Denver

  • Another group that leverages meetup.com, these folks are in Denver.  Focus on web developers and designers.  Again, I don’t have enough to give good/bad points.

Except for Ignite, everything above is free or donation-based.  The paid conferences around Colorado that I know about, I’ll cover in a future post.

What am I missing?  I know the list is skewed towards Boulder–I haven’t really been to conferences more than an hours drive from Boulder.

Do you use these events as a chance to network?  Catch up with friends?  Learn about new technologies, processes and companies?

Sending (and receiving) more than a file with Flex FileReference

The Flex FileReference object makes it very easy to send a file to the server.  I had a situation where I wanted to send some additional data and also get back server output.  This is possible, but not entirely intuitive, so I wanted to document this for others.  In the process of making this work, this post and this post were very helpful to me.

To send more than a file, you use a URLVariables object, like you normally would.  The key is to realize that you also have to set the URLRequest.method to URLRequestMethod.POST, otherwise these variables get lost.  (Makes sense–no one sends files via GET, but it was not obvious to me.)

var request:URLRequest = new URLRequest(url);
var variables:URLVariables = new URLVariables();
variables.docname = docName.text;
request.data = variables;
request.method = URLRequestMethod.POST;
try {
fileRef.upload(request);
} catch (error:Error) {
trace("Unable to upload file.");
}

To get any response from the server (like a success message or filename), you have to attach a listener to the DataEvent.UPLOAD_COMPLETE_DATA event, like so:

fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, onUploadCompleteData);

...
private function onUploadCompleteData (event : DataEvent) : void {
var myData = new String(event.data);
// do something with your serverside data...
}

[tags]flex,file upload[/tags]

Flex textareas, newlines and posting to a unix server

I was working on a flex app and wanted to post the contents of a flex textarea to a php script on a unix server, among other fields.  This is easy to do with the URLRequest.  The php script on the server then parsed the form fields.  In particular, it split the textarea’s contents on the newline.

When I first tried this, the php script only found one record, no matter how big the textarea content.  After haivng the php script write the content to a file, it was clear why.  The flex app was sending the textarea with Windows line endings.  I’ve never experienced this particular issue before.  I tested a plain old HTML form, and somewhere the newlines are converted from Windows to unix (for more than you ever wanted to know about the humble newline, consider wikipedia.)

Regardless, the answer was to make sure that wordwrap was set to false, and run a regular expression on the content of the textarea before sending it.  From the comments on this blog post:

loremTEXT2 = loremTEXT.replace(/[\r\n]+/g, “\n”);

[tags]the humble newline, flex, textarea[/tags]

Review of etendi BRIDGE: a family distance communication product

I have some friends who recently launched etendi BRIDGE, a product aimed at making family communication easier, especially when the family is divided by distance.  You can view a slightly heavy handed video that gives a good overview of the feature set (though not the best sound).  Features include calendaring, email (which they call ‘Thinking of You’ messages), a shared whiteboard, video messages, and notes.  All the action happens in a pretty slick Flash interface.  It also sends all traffic over SSL, which is the same standard that banks use, etc.

In addition to clicking around this myself, I set etendi up with my girlfriend and mother (yes, yes, perhaps they shouldn’t be in communication, but what can you do?).  I ended up kicking the tires on the video chat with my girlfriend; video chat seems to be the killer feature.  I was able to fairly easily set up the sound.  I did have an issue with the microphone–at its default setting, the software couldn’t hear me, and kept giving me an error message.  This happened even though I’d had no trouble using the mic at that level with skype.  Video chat didn’t work for me, as I had no video camera.  But my girlfriend also had issues with it; we didn’t have time to dive in, but it may be her system, as she has had webcam issues before.

One final note about usability–in general it is great, but when you are adding a user to your etendi house, no cues are given if the password isn’t long enough; the save button is just disabled.

From a web application developer’s point of view, it’s a very cool app that feels much like a desktop app.  I’m not sure what it means for our society that there’s a niche for this type of remote communication application with children, but it’s a very cool app.

I’m not going to pretend to have done a wide survey of solutions in this space, but here are some other options that solve some of the same problems:

  • roll your own solution with youtube/email/im/netmeeting/phpbb/phpgallery/etc: You can do this, but security is an issue–never put anything in an email that you wouldn’t put on the back of a postcard!  However, make sure you read and understand the etendi terms of service.  The amount of work to bring this together would be substantial to be feature complete with etendi.  On the other hand, you can customize it as you like, and it is free except for your time.
  • Facebook/other social networks: Facebook, and myspace and friendster, etc, solve some of the same issues. As far as I know, there’s no video messaging service that integrates with FB, but it does have most everything else (email, whiteboard, photo gallery ).  However, with facebook, your child has to have an email address and there are as far as I know, no parental controls.  Also, every bit of content you upload to Facebook grants them a right to use that content for any purpose as long at is up there (see the user content section of their TOS for more).  But, it is prevalent, easy to use, and free.
  • Ning: Ning lets you create your own private social network, solving some of the control issues.  You can share videos, photos, blog posts and events.  You can invite your friends, but again they have to have an email address to be invited.  You have some pretty granular control over what members can do (you can choose to approve photos before they appear, etc).  They don’t have quite as nice an interface as etendi does, but they do have 141 widgets you can add (and a nice API).  You also have to deal with advertisements, or you can pay $25/month to remove them.  Ning seems like a nice alternative to etendi, but is definitely aimed at more sophisticated (read, adult) users (users under 13 are explicitly asked to avoid Ning networks) and doesn’t have the tight focus on families.
  • Obscurity.

etendi has been live for a few months, so I’m glad they are starting to get some press, and I hope they continue to update the blog.  If you need to keep in touch with family over long distance and both ends have high speed internet and webcams, you should give etendi BRIDGE a try.

Disclaimer: I have worked with these FOLKS in the past, way back when I was concerned about testing Korean content, and have had a beer or two at their office.

[tags]zia,etendi,telepresence,children of divorce[/tags]

Solution to black boxes in Google Earth balloons when the GE plugin is placed over Flex/Flash content

This is very much a post to spare people the hunting I did to solve this very particular problem :).

I am doing some work for a client that integrates Flex and the Google Earth plugin.  This post by Andrew Trice explains the basic integration well (it’s very slick!).

However, there was an issue–in Firefox, any balloons popped up by clicking on a placemark were black.  The text of the balloon was there–you could see it flicker–but not visible.  Andrew references a trick that allows “layering Google Maps HTML/JavaScript over Flex content,” so I suspected that was part of the issue.

Running the same GE code without the Flex component showed the balloons normally, so that was the issue.  A bit of hunting turned up a reference to the wmode parameter being important to such layering (I had a URL, but have lost it.)  Then, this post popped up, explaining what the proper settings for wmode were.

Basically, if you are seeing black balloons in Firefox when you are placing the GE plugin over Flash, you need to set the wmode to opaque.

[tags]flash,flex,google earth, flex-google earth integration[/tags]