Archive for February, 2009

Xenocode Browser Sandbox – Web designers rejoice!

Update:

Xenocode has decided to eschew usability in favor of…well nothing really. In order to use the browser sandboxes now, you must “initialize” them from the site, which amounts to downloading the files you need in order to execute the sandbox.

You can circumvent this genius decision by downloading the browser of choice, then open Windows Explorer and browse to C:\Documents and Settings\[USERNAME]\Local Settings\Application Data\Xenocode\Start\Cache. There you will find folders for each browser (e.g. ie6, ie7, ie8…), and if you drill down a few folders more, you’ll find an executable. Copy that to your desktop, and you can load the browser on demand whenever you want. There’s a whole post with details and insights. Bad, Xenocode, bad!

Finally. That’s all I have to say.

A company called Xenocode has taken all the major browsers and packaged them into contained executables, which you can download and run from your desktop. That’s no big deal, per se, since you can just install them.

BUT, they have self-contained packages for IE 6, 7, and 8. And they work. Beautifully.

If you’re like me, you’ve tired (and hated) the ridiculously complex solutions to circumvent Microsoft’s genius decision to ingrain IE into the Windows operating system. If you’re also like me, you’ll jump up and down when you download and run the IE6 sandbox in two steps. Okay, I didn’t jump, just bounced in my chair a bit, but still…

It appears to be Windows-only, but every designer should have access to a Windows box for obligatory IE testing fixing. Now go test, and be satisfied.


Running on Empty: How to Make a Little Go a Long Way

If you follow the Fwd:Vault Developer Diary, you saw today that I was neck deep in upgrading the server that runs everything around here. While the server updated, I worked on Fwd:Vault code. The web designer for Fwd:Vault is also nearing completion on the project, and that required some attention. Tonight I was scheduled to attend an entrepreneur networking event tonight in the city. Needless to say I did NOT feel like going. But I did, and am so happy that I chose to do so.

The event shares its title with the name of this post, and was sponsored by Innovation Philadelphia, a local resource for young entrepreneurs and working professionals. They used a panel format, with 4 speakers and a moderator. Questions were focused around best business practices in a down economy, although I think the advice (which you’ll see below) is pretty universal.

Now, anyone who’s attended these types of seminars knows that they can be hit or miss sometimes, but I think they hit the bullseye on this one. The speakers represented young(er) companies, and the speakers themselves were involved with their companies deep, day-to-day level. No C-level bigwigs spouting esoteric business theory nonsense, they spoke in common sense language and provided advice and insight useful to any size business.

After having forgotten countless good ideas because I didn’t have any paper handy, I’ve gotten in the habit of keeping a notebook with me. If you’re looking to do the same, I highly recommend the Moleskine line. I use the ruled soft notebook; sturdy but flexible, able to take a beating.

Anyway, it’s a good thing I brought it, because the panel had me scribbling notes furiously for the entire lecture. Here are the (slightly edited) highlights, from the speakers’ lips to my pen…

  • According to an EDA report (PDF), “Business Incubators” (i.e. companies that sponsor and support new startup ideas) can create jobs at a cost of about $200 – $300, while bureaucratic-laden “community infrastructure” projects create jobs at a cost of anywhere between $3000 – $7000.  Pg. iii in the Executive Summary has specific numbers.
  • Money helps you succeed or fail quicker. It can’t make a bad idea get any better.
  • “Embrace sales” in a slump economy. Make as many sales calls as you possibly can.
  • The money is still there, customers are just more discerning about how the spend it. That means the difference between sink or swim is usually that “little bit extra.”
  • Focus on improving your business processes, then be militant about following them. Chances are there are areas in your business that are not performing as well as they could.  For example, how many overdue invoices do you have? If you scheduled time to call these clients each week, how many would come rolling in?
  • It’s always easier to sell to existing clients than to gain a new one, but this takes on new meaning in a down economy. They are hurting too, so do whatever you can to show support, even if it doesn’t immediately gain revenue. The market always bounces back, and clients don’t forget those little things.
  • Focus on maintaining/improving your image. Advertising costs money; responding to what’s already out there costs nothing (in fact, not responding to it can cost even more in the long run). Google yourself, your employees, your business. Seek out complaints and try to address them.
  • Scrap for every dollar. Save used shipping boxes and packing peanuts. Buy furniture and supplies at liquidation. Get rid of the office space if you have a staff that can work remotely.
  • The internet is a goldmine for free marketing. Create a presence for your business on sites like Facebook and LinkedIn. Post comments on sites relevant to your industry. These activites cost nothing but a few minutes of time, and contribute to your overall “link juice” (aka weight in search engine results). Additionally, big systems like Facebook and LinkedIn will internally share your profile with other users automatically (to an extent).
  • Events with your local Chamber of Commerce can offer a mountain of free or cheap exposure. They also provide invaluable networking opportunities. Some companies only partner with businesses that belong to their CoC.
  • You can fire a customer. Never forget that.
  • Stay positive by not watching the news.
  • Whenever there is change, there is opportunity. One woman in attendance explained how her company matches businesses for bartering relationships (exchange of services). Her business is booming in the down times.
  • Layoffs are great news for consultants. In-house employees have insurance concerns, require time for payroll, training, etc.; a self-run consultant incurs only fixed costs for specific tasks. If you’ve been laid off, can you roll your skills into a consultancy?
  • “Action without research equals instant death.”
  • Anyone can look good during the high times, but the veneer comes off when things head south. Strive for excellence so that your business looks good no matter what the economy does.
  • Get out of the office/garage/basement and spend time with fellow entrepreneurs. Share your story du jour. Interaction is a great way to kickstart new ideas and solve problems.

That last one rang true for me. Aside from a decent blog post, I finally got some concrete ways to spread the word about Fwd:Vault after talking with Amy from Seamless Events Inc. That’s a post in and of itself, but suffice it to say I am calling my local Chamber of Commerce tomorrow.


Never hesitate to comment

I’ve found that the number of new comments on a post drops off considerably the older a post gets. It’s not surprising; you’ve probably seen the same thing in your own travels around the web. The older the information, the less activity, and therefore less feedback.

However running my own blog has provided me with new insight into this phenomenon. When I look at the stats for my most active posts today, the number 2 and number 3 spots are held by posts I wrote back in May and November of last year. Yet the comment counts don’t reflect the activity of these posts.

So if you find a piece of useful information, and you’ve got some feedback or insight, share it! Never question whether it will be useful. You found the information, after all.


Escape from City 17

I just hopped onto Steam, gearing up for some TF2, and I was presented with a fantastic news update. Some bootstrapping directors made a short film called Escape From City 17. If you’ve played Half-Life 2, the story covers some of the citizens trying to get out of the city after Dr. Gordon Freeman and Alyx Vance set the Citadel to blow. According to Valve, they made the film with very limited cash, donated equipment and props, and lots of effects borrowed from the Source Engine. It’s mind-blowing how well it came out.

I was getting a very jittery display, so I recommend you download the video in hi-res to really appreciate it. What, never heard of pwnYouTube? Well now I’ve given you two great recommendations today!

After watching it, I immediately went to check out their site (www.purchasebrothers.com), but it looks like their host has shut them down due to billing issues. If anyone with contacts to Purchase Brothers reads this, get them in touch with me. I’d be happy to cover their next month’s hosting if I get to see more kick-ass video like that.

Update: Looks like they’re back up. And it didn’t cost me anything.

Update 2: Site’s been offline for quite some time, looks like they’ve shut down for good. That’s a shame. Guess my enjoyment will start and end with this one incredible piece.


Trouble logging into anything Google from Firefox

400 Bad Request
That’s what I keep getting everywhere I go in the Google universe for the past several days using Firefox (using latest stable release, v3.0.6). I know I’m not the only one, I’ve found a plethora of recent support posts discussing the same issue. Normally I’m the one writing here to say “Hey, look out for this one, here’s how to handle it.” But this time I’m at a loss.

I automatically attribute any and all odd Firefox behavior to my ridiculous extension collection. There are so many, and sometimes one of them will get out of date and go all bull-china-shop on me. So I start disabling the most likely suspects…then a few more…finally all of them. Google still won’t behave. I go so far as to reset my Firefox profile (Beginners: try the safe way; Experts: go full monty). I log in once, but the behavior rapidly returns within a couple sessions (didn’t even have to restart).

Then I started looking at more systemic fixes, and I discover that clearing cache and cookies will fix the problem (with or without extensions in the picture), but again only lasts a few sessions. Since the problem is definitely with cache and/or cookies, I’m pretty much out of moves. I have no cookie or cache manager plugins that could be responsible, so this one rests squarely at Firefox’s furry feet.

At first I blamed Google, but then I saw similar behavior when trying to log into the Webmin interface I use for some servers. Logging in just kicks right back to the login prompt, with no errors.

In the meantime, I’ve switched all my logged-in Google activities (GMail, Analytics, etc.) over to Chrome, where I’ve had no problems whatsoever. I never used Chrome for routine browsing; the lack of extensions — notably AdBlock Plus and Firebug — really makes it unappealing. However I must admit that the overall UI is fantastic. If the Mozilla team doesn’t figure this cookie issue out soon, or if Google gets their act together and starts allowing Firefox plugins, I may make the full switch.

Still, I’d like to get back to a single window if possible, so if anyone has any other suggestions, I’m all ears.

Update: I’ve now reinstalled Firefox as well, to no avail. Until I find a permanent solution, I’ve installed another add-on called Clear Private Data, which gives you an icon to do exactly that. Now whenever Firefox acts up, I hit the button and continue. It still happens with ridiculous regularity, but at least the browser stays usable.


Fwd:Vault appears on StartupNation

Fwd:Vault is participating in StartupNation’s 2009 Elevator Pitch Competition. The idea is to submit a 1-2 minute elevator pitch, and have the world review your pitch and idea, then rate it. The top 5 entries will get the chance to pitch their idea to a group of big-time investors, potentially landing major financial support.

You can vote once per day per entry until March 20, but I’d really appreciate even just a single view and vote. Mine’s just one minute long, and since it’s an audio clip you don’t have to endure my lousy filming skills.


Rare “Google fail” moment

As a developer, I’m a heavy Firefox user, but Google’s Chrome browser is pretty awesome for day-to-day browsing. Since it syncs with all my cookies and saved passwords from Firefox, I can use the two interchangeably. It starts up and loads pages super fast, and has the cleanest menu I’ve seen yet.

I’ve started recommending it to all my non-techie friends, albeit with one caveat: I have to explain the popup blocking behavior.

Chrome’s “blocked popup” warning is super-subtle – just a small, light blue rectangle in the lower right corner. Once a popup has been blocked, additional popups alerts don’t cause any additional action, the number of blocks merely ticks up. Worse, if you click the X in the corner of the alert, the box doesn’t come again until your restart the browser.

Finally, you may review all the blocked popups by clicking the alert. However the very first option in the list from the bottom (remember that we’re in the lower right corner) is a checkbox to disable popup notification entirely. I wonder how many people click that accidentally and never even notice. If this describes you, Google has a Help Center article describing how to change the setting back.

Of the modern browsers, I think Google comes in dead last when it comes to popup blocking. Their blocking logic is fantastic, try getting one to appear from PopupTest.com. But the performance doesn’t mean a damn thing if the interface implementation sucks.

While I hate to admit it, IE set a good standard with the slide-down alert that appears in the margin between site content and the menu, and Firefox followed suit. It’s across the top in highlight yellow. Impossible to miss. Furthermore, the alert only allows direct bypass of popups from the affected site; there’s no way to directly disable all alerts, temporarily or permanently.

The reality is that Firefox and IE have unofficially set a default for blocking popups, and now people are used to it. I always appreciate Google’s re-evaluation of the status quo; their ability to question the why and how and then look for better alternatives is really their greatest asset. But they are fighting the tide in this case:

Furthermore, once a default becomes a well-accepted standard, it’s an expectation. Other vendors will be peer pressured into at least matching that default. And to truly succeed, they’ll have to come up with an even better default. Defaults are how the software industry evolves.

In this case, Google failed to come up with a better default. Admittedly, this is a small step, and Google’s track record in such matters speaks for itself. No one’s perfect, and hopefully we’ll see a more standardized implementation in future versions.


No “private” setting in open source

I love the PHPMailer system. Straightforward, effective, very well documented and supported. It’s everything that a piece of software should be, and best of all it’s free. The parent company, codeworx Technologies, supports and maintains a piece of software used by millions of sites for free, and gets a ridiculous amount of exposure in return. Win-win.

I came across the only beef I have with their code just the other day, and it illustrates a larger issue with open source projects as a whole. Fwd:Vault uses PHPMailer to send all its outgoing messages. I want to keep a log of all outgoing messages, so I extended PHPMailer to store a copy of the message in my database. When I ran the code, I found that the “To:” address was not getting stored along with the rest of the data. I had probed the core PHPMailer class and found the variable containing this information, but had failed to check its scope, which was set to private. I changed this to public and I was good to go.

But should I really have been forced to make this extra step? I had taken the time to go through their code to find what I need and use it to meet my needs. What interest is it of the developer that I use his/her code in a way that they do not “condone?” Even if I break functionality, it’s my problem to solve it.

If you write something with the intention of releasing it to the world, you must assume that no part of it will be hands off. Developers declare classes and variables as private, protected, and final when they don’t want other people playing in their sandbox. Practically speaking, you make it more difficult for others to utilize the code you’ve has written, which seems to conflict with the intention of releasing it in the first place. The practice also runs counter to the very nature of open source, which is that all information is free and clear.

Unless the structure of your code demands specific scope settings — those situations are extremely rare — show some faith in your fellow devs and save them the extra step of unlocking your code. There’s enough work to do without making it difficult for ourselves.


There are still kinks in Apple’s armor

To: Anyone at Apple who works on iPod/iTunes
From: Annoyed iPod Shuffle user
Subject: Stop deleting my songs

Message:
A recent run was rudely cut short when I realized that my iPod Shuffle contained just two of the hundred or so songs that I listen to while working out. Some sleuthing lead me to discover that every time I connect my iPod to the docking station and open iTunes, the program re-syncs every song I have on the device. If the song is not located in the original location — i.e. the place on my computer that I uploaded it from — iTunes jumps to the conclusion that I must not want the song on my iPod any longer. I can sincerely assure you that this is never the case. The NAS device where I house my music is only connected when I need something, and I do not consider your RIAA-worshipping deletion paranoia a legitimate reason to alter my behavior.

Your devices are indeed wonderful, I bought one after all. However the software connected to it leaves much to be desired. Obviously I’m not alone, as there are a plethora of alternatives to your crap-tastic iTunes interface. If the Genius Bar isn’t smart enough to realize that *I* get to decide what goes on and comes off the device, it’s hardly deserving of the title, and I suggest you put your efforts toward a better overall experience.

In a way, I can’t say I blame you. Your devices bring in hordes of money, the software that runs on the desktop is almost an afterthought. However I can assure that I am keeping my eyes keen for the company that can deliver a competitive product with a superior interface with my computer.


You hear that, competitors? I want to give you money for the stuff that Apple can’t deliver. Quit charging them in the open field, and start sniping at range. Their armor is weak just below the neck…