I've been contemplating the move towards a self-hosted Subversion
repository for quite a while. My earlier attempts worked but left me
with a lot of inconvenient and sometimes quirky side effects. These
experiences always led me back to hosting Subversion on Linux, which is
really where it works most naturally. Recently, however, I decided to
retry my luck with Subversion hosting on Windows and I made the call to
go with a "package" instead of doing the Apache / Subversion
integration myself.  The tool that I went with, VisualSVN, is a
Windows version of Subversion that targets primarily Microsoft
developers using VisualStudio as their development platform. Matter of
fact, the Subversion server package is freely distributed and the
actual product that is sold is the Visual Studio plugin that allows you
to tap into Subversion from Visual Studio. With a 30 day trial period
and $49 price tag, I decided that it couldn't hurt to try it out. My
findings are below: - VisualSVN Server - The
VisualSVN server, as mentioned earlier is a freely distributed product.
You can get this piece of software whether or not you ultimately decide
to buy and use the Subversion Visual Studio plugin. The server runs
exclusively over HTTP / HTTPS (using OpenSSL) and does not support
Subversion's binary protocol or running Subversion over SSH. Obviously,
this means that Apache is in play. A version of Apache is included in
the distribution. Initial configuration of the server is very easy, the
setup instructions describe the extent of it. As I blogged about
previously, this changes a bit if you try to get Apache and IIS to run
side-by-side. In this case, you need to be very explicit and tell the
very greedy IIS to stop listening on other IP addresses so that port 80
can be shared by IIS and Apache. I included links to the Microsoft
article in my earlier post. In this case, you'll want to use httpcfg delete iplisten -i xxx.xxx.xxx.xxx to stop IIS from listening on the port Apache is running on.
The
folks who designed VisualSVN added some cool management functionality
that shields the administrator from lower level Subversion commands.
Implemented as a Windows MMC snap-in, Subversion repository
administration be performed right alongside other server management
tasks. The MMC enables one step creation of repositories (with or
without the standard Subversion folder structure), creation of users
and groups, and assignment of user privileges to repository actions.
- VisualSVN Visual Studio Plugin - As
useful as the server is, the real product is the VisualStudio plugin.
The most recent version of this plugin works on VisualStudio 2008 so I
thought I'd install it and give it a whirl. Installation is fairly
easy. Both TortoiseSVN and the VisualSVN plugin must be installed. I
don't know exactly how VisualSVN communicates with Tortoise but it seems to
make sense to leverage an existing Windows Subversion library rather
than building everything from scratch. Using both the plugin and
Tortoise gives you two ways to work with Subversion. In my experience
with other Java IDE plugins (Netbeans and Elcipse), this is sometimes
necessary to get around the shortcomings of the browser plugin.
Adding a project to VisualSVN using the
plugin is, as it well should be, a relatively easy task. VisualSVN has
some intelligence built in above and beyond the basicTortoiseSVN
libraries. In my case, the plugin didn't add my Visual Studio settings,
binaries, or a bunch of MP3 and JPEG photos that represent content and
really didn't belong under source control. Other than that, a lot of
the processing is just handed over to TortoiseSVN. The SVN UI presented
by the plugin should all be pretty familiar to you if you've ever used
TortoiseSVN before.
This looks to be my keeper for Subversion hosting. Now I need to port over my existing repositories into the VisualSVN server.
I've been busy since returning from vacation on getting my new iMac up
and running. Aside from the machine being a physical work of art, it's
also been performing very well and runs so silent that I'm hearing all
kinds of new noises in my house that I wasn't aware of before. This
doesn't mean that I've completely forsaken Windows. In fact, the move
to the Mac has allowed me to finally move to Vista on my home machine
and install Visual Studio 2008, which is killing my work laptop. For
those of you remotely familiar with the Mac, running Windows
side-by-side with OS X has been possible since the release of the
Intel-based Macs. This started with Boot Camp and gained serious traction with the release of Parallels. Most recently, VMware jumped into this space with their Fusion
product for the Mac. I went with Fusion due to reviews on both Apple's
site and Amazon.com that seemed to indicate that Fusion was more stable
and that there were far more converts from Parallels to Fusion than in
the opposite direction. I'm running 3 operating systems now on
this machine, 2 of them under Fusion 1.1. Mac OS X Leopard came
pre-installed with the machine and Vista and Ubuntu Linux are running
under Fusion. Despite the 64-bit Intel architecture on the new Macs,
both the Vista and Ubuntu installs are 32-bit. I didn't hear enough
good news about the 64 bit releases to convince me that they were worth
pursuing. All of this is running on 4GB of memory. Only 1 GB was stock
and you'd be crazy to pay Apple's prices for memory. Other World Computing (OWC)
will get you to the 4GB maximum for less than $100. The memory install
took all of about 10 minutes and OWC's service and delivery were
nothing short of outstanding. As far as the individual operating
systems, they are all running fine. That said, everyone puts different
kinds of stresses on their machines. Mine is software development and I
require each of my operating systems to run at least oneIDE. That's actually the reason for the existence of these VMs in the first place. Although my initial research prepared me for the worst, I've had no issues with running IDEs
concurrently on all 3 operating systems. I've encountered some small
quirks, which I've documented below for anyone who might find this sort
of thing useful: - Mac OS X Leopard - I'm running NetBeans
6.0 with the Ruby-only configuration. Much to the chagrin of many Mac
developers, Leopard did not ship with Java 6 even though it was
included in some of thepre-releases. This proved to be a non-issue for the installation of the latest version of NetBeans. Obviously, running NetBeans in Ruby-only mode means that I'm not exercising the JDK and thus avoiding what could potentially be a lot of issues.
- Windows Vista - Although I've had issues getting used to the Vista operating system from the Windows 2003 Server / Windows XP
I've become so familiar with, I've had few issues actually running
Vista. I'm running Vista with the 1 GB RAM that Fusion recommended and
have had no issues thus far. The only issue I encountered was trying to
install Vista in Fusion Easy Install mode with multipleCDs , as opposed
to a DVD. This is a documented issue with Fusion that I didn't become
aware of until I ran into it head-on. Simply switching to a normal
install solved all of my issues. On top of Vista, I'm running Visual
Studio 2008. This runs pretty quick - even on 1 GB and builds of
moderately sized solutions are pretty fast. TheIDE is really responsive and you really only notice that your running in a virtualized environment if you try to resize the entire Vista window to get more real estate for the IDE.
- Ubuntu 7.10 - Despite the size of the operating system, this installation took longer than Vista. I chose not to use one of VMware's canned virtual
appliances and go with a fresh install. I would probably re-examine
this decision if I had the chance to do it all over again. Ubuntu is
running NetBeans 6.0 with the full Java EE stack. The install of
NetBeans downloaded directly from netbeans.com went really well once
the proper Sun JDKs were installed. Both the Java 5 and Java 6 JDKs
were available directly from Ubuntu's installation utility. I installed
Java 5 first and, after realizing that it was a vanilla 1.5.0 release
that didn't meet the requirements for NetBeans 6.0, I installed Java 6.
Things have been just dandy since then.
After a long hiatus, I just got done working my way through a 6 month
photo backlog, arranging and backing up photos and picking the best
ones out for uploading to Flickr. You can find the new photos in the
photo section of my blog. I was working my way through videos as well
and preparing to convert some of these to Flash for uploading. If you
look at the videos section of my blog, you'll notice that there are no
new videos. So what happened? Although I'm really happy with On2
Technologies Flash encoding software, the process of importing and
transcoding video is time consuming and CPU intensive. Then there's the
entire upload and markup creation process, which is a royal pain that I
should have long since automated away - but I haven't. What I'd really
like is a process similar to the one that I have with Flickr: I upload
photos using a OS-specific program (uploadr) and they just appear on my
blog. I've known that this process needs to be replaced for a while,
I've just been hesitant to pull the trigger. Enter Smugmug... Smugmug,
the family owned photo service that leans heavily on Amazon's S3
service for file storage, announced last week a significant upgrade to
their video hosting capabilities by supporting the H.264 video format.
Right now, Apple's QuickTime plugin provides the best support for H.264
but Adobe's newest version of Flash will also be supporting H.264. If
Microsoft wants to remain competitive with Silverlight, they'll be
following suit as well. So what does this mean? This means that Smugmug
will automatically transcode your uploaded video. Depending upon your
membership level, video can be encoded at DVD resolution (960x540, for
power users) or HD (1280x720, for pro users). You upload it and Smugmug
transcodes and hosts it, providing unlimited bandwidth and storage
space. Since seeing is believing, click on the image below to see a sample SmugMug Thanksgiving video and tell me you wouldn't like to have online video of this quality. 
If you're going video, you've got to go big and at
$150/year, Smugmug carries with it a fairly large price tag. However,
when I factor in that I can cancel my Flickr subscription, stop
upgrading my Flash encoder, decrease my bandwidth utilization on my
hosting service, and have a hassle free upload and transcode
experience... in HD, I'm sold. As an added bonus, Smugmug has just
added an adaptive imaging sizing capability they call "SmugMungous"
that automatically selects the right size picture for your screen. To
get the full effect, this needs to be tried on a fairly large monitor.
And by the way, you can point to your smugmug gallery using a custom
domain or sub-domain and you can share video updates as an iTunes
Podcast that friends and family can subscribe to. SmugMug is
just one more piece in my grand attempt to upgrade my life to HD. We
went with HD TV almost 3 years ago now and it's hard looking at a
normal signal now, especially on a large 16:9 screen. I'm strongly
considering Smugmug for its HD capabilities but this is going to cause
me to reexamine two other areas of my life that need HD upgrading: my
HD recording capability and HD playback capability. I'm waiting for
Santa Claus to drop an HD TiVo down the chimney. The $1000 dollar price
tag for the original Series3 TiVo was a pill I couldn't bring
myself to swallow, no matter how much I love TiVo. AT $300 and almost
all of the features of the Series3, the HD TiVo got my
attention. I'm also looking at an HD camcorder, an essential item if
I'm serious about the Smugmug thing.
That's a lot of upgrading to do. Still, there are several areas that
I'm not upgrading. I'm waiting for the Blu-ray / HD DVD war to show
some signs of abating but this is definitely a medium worth revisiting in 2008. HD Radio - now I just don't get this one!
I feel as if someone tacked a “show me your enterprise
service bus” sign onto my back and I’ve been walking around blissfully unaware
of this fact for months now. Client presentations, vendor presentations, casual
conversations – everyone wants to show off their visuals of an ESB, SOA, and
next generation architectures. Thank goodness there’s no fine print on my sign
restricting me from asking tough (and not so tough) questions.
- So how
do I avoid vendor lock in?
- Do we
really need SOAP?
- Grid
computing… show me some client references!
- JSR
168 portals… yawn.
To escalate the situation, I came up with my own next
generation architecture diagram and talked it through with a bunch of my peers.
People liked it at first because of all the nice icons. They really loved it when the answer to any of the
hard questions was “let me show you how this works, do you have a Web browser
handy?” I’ve included the diagram below for your enjoyment and jotted down some
quick write-ups with the obligatory links so that you can see, understand, and
convince yourself of the reality of these tools.

- Ruby on Rails – Although
there are tons of free services and a number of high quality paid services
that can be leveraged to enhance applications on the Web, it’s hard to go
very far without having some dedicated computing power. Using Ruby on
Rails and MySql will get you the maximum bang for your buck (that’s no
bucks for those who are counting). While you’re riding the Rails, make
sure to take advantage of Ruby gems and Rails plugins.
- Web Service APIs – Lots of
folks talk about enterprise applications that invoke common APIs to store
documents, images, or access business services. For most, it’s talk of a
far off and distant future. Would you like to see how this works today?
Check out box.net, flickr, and salesforce.com for file, image, and
business Web Service APIs in action.
- Yahoo Pipes – The minibus
within the bus, Yahoo pipes provide a visual environment for aggregating,
manipulating, and mashing up data and producing value-added output. Good
mashup implementation but the interactive visual editor gets most of the
attention – rightfully so. Imagine your business users mashing up business
data to solve problems in new and creative ways that your analysts and
developers never imagined.
- Google Base – A loosely
organized, metadata-driven, data store available through Google. Data is
accessible via an HTTP API with either Atom or JSON feeds.
- Open ID – Rather than
supported a single point of control system for authentication, like
Microsoft’s Passport, OpenID is a decentralized system that relies upon
distributed identity stores and, for the most part, ownership of a
particular URI. The system is lightweight yet still manages to provide for
the distribution of basic profile information in addition to straight
authentication. With more and more sites adopting this service, adoption
is likely to steadily increase over the next several years.
- Amazon Web Services – Despite
the lack of any hard-and-fast SLAs on their services, developers are
increasingly leveraging the AWS platform for production applications.
Their Elastic Compute Cloud (EC2) provides the average developer access to
a significant grid computing array. Their Simple Storage Service (S3) and
Simple Queue Service (SQS) provide access to globally distributed storage
and messaging services, respectively. All of this is based upon a very
fair “pay as you go” model that requires you to only pay for what you use
and scale up and down without the usual provisioning and financial
burdens.
- Sugar CRM – For one, I like
Sugar’s tagline “Commercial Open Source”. A PHP-based CRM alternative to
products like Siebel and Salesforce.com, Sugar is gaining pretty
significant traction in the marketplace and is proving to be the first
lucrative open source business application. The software has a good look
and feel to it and their distribution options will likely set the standard
for all other open source business software. You can opt for off-site
dedicated hosting (on-demand), fully configured appliance-based
distribution, or host-it-yourself (with or without a support contract).
- Bit Torrent – Peer-to-peer
file sharing technologies have yet to find their place in the enterprise.
On the open Internet, though, such technologies are said to account for as
much as 40% of global Internet traffic. As desktop search technologies
mature, sharing of decentralized data is going to be the best way to get
at all of the knowledge otherwise hidden within the enterprise.
- Google Gears – If you don’t
have the time or inclination to build offline clients to support your
disconnected users, how about just making your Web app “disconnectable”?
Gone are the cross platform, DLL, and distribution issues. Your Web app
can sense when it’s lost network connectivity and go into disconnected
mode. A great idea that will likely only gain limited traction in the
enterprise.
- Netvibes Universal Widget API (UWA)
– JSR 168 (or is it 286 now) compliant portlets seem so passé. With
widget-based start pages becoming the norm and Windows and Apple both
integrating widgets as integral parts of the future desktops, “write once,
run anywhere” were just a matter of time.
- Microsoft Virtual Earth –
I’ve blogged about this before and even did a quick Webcast. Take the hottest
Web 2.0 visualization technique (AJAX
maps), add birds-eye views in 2D and realistic 3D virtual earth renderings
that run in-browser for both IE and Firefox and you’ve got Virtual Earth.
It simply must be experienced to be believed.
- Simile
Timeline– An equally interesting visualization technique
but one that’s got significantly less press is the Simile Timeline AJAX widget
for bringing time-based information to life.
The Microsoft Live Search Maps update to include Firefox support that I blogged about a couple of weeks ago was released sooner than I expected. The updated maps API
supporting Firefox has not yet been released but word has it that this is imminent as well. I’ve put together a brief screencast of Live Search Maps running in Firefox. Omitted from the screencast are the features that have been available in Firefox for a while, like bird’s eye view. Focus is given explicitly to navigating with the 3D control.
The Camtasia Studio video content presented here requires JavaScript to be enabled and the latest version of the Macromedia Flash Player. If you are you using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by downloading here.
When running
the 3D control, you can turn detailed building rendering on or off from the
options link in the upper right corner of the screen. Detailed rendering chews
up more space but looks a whole lot better. It looks like Microsoft is
definitely taking the geospatial market seriously and is out-innovating Google
in this area. Cross browser 3D support (albeit limited to Windows), bird’s eye
views, and other features are real eye catchers. In the 3D realm, I like
Microsoft’s approach to creating the 3D space on their own. Google might have
overextended the community participation concept with Google Earth’s philosophy of user-created 3d
models. Do we really need 60 different virtual models of the Empire State
Building? That seems just
a bit too confusing. Still, if you look at the number of mashups built using
the respective mapping APIs, Microsoft still has a lot of catching up to do. Either
that or folks just aren’t willing to admit that Microsoft might actually have
something here.
I finally got around to adding videos to the site that I’ve been accumulating over the last couple of years. I’ve blogged about investigating Flash video a number of times before. After putting a number of videos on YouTube and being disappointed with the quality of the end product after their compression and resizing process was completed, I decided to go it on my own.
The decision to make this move provided the necessary impetus to do the final research and prototyping necessary to make this a reality. From my experience, I’ve come up with the three things that you’ll need to host Flash Videos, aside from the source video itself, of course.
-
A server with plenty of bandwidth and the capability to stream media. Even though the Flash compression process yields fabulous results as compared to a raw video stream, these files are by no means small. I am seeing sizes of 6 – 12 MB per minute of Flash video depending upon the quality of the underlying source and some tweaking of the video encoder settings (like bitrate). Depending upon how much traffic your videos get, this could suck up quite a bit of bandwidth. With respect to streaming media, I suggest that you select a host that explicitly allows this or who gives you control over your server so that you can take care of this yourself. Beware that if you’re hosting on the Windows platform with Windows Server 2003, this server will not stream Flash videos out of the box. You’ll need to explicitly set the MIME type for the Flash videos as noted in this Tech Note from Adobe.
-
A solid Flash video encoder. With the explosion of Flash media at sites such as YouTube, Google Video, and MySpace, the number of tools available to do consumer Flash video conversion are on the rise. These tools range from rank amateur stuff to automated server-side tools like those used by the big boys. In the consumer space, you’re paying for three things: ease of use; the video encoder (codec); and the flash player. The most important of these things to me (but I’m sure not to everyone) is the actual codec.
The codec is like the engine in your car. That is, you can buy those flashy spinner wheels and fat (phat, maybe?) muffler but without a good engine, you’re going nowhere fast. That said, there is quite a war going on in the codec camp based upon proprietary versus non-proprietary formats (VP6 versus H.264). You can read On2’s summary of the issues here. Since On2 is the source of the proprietary “next generation” Flash codec, this comparison is to be taken with a grain of salt.

From a consumer’s point of view, you either buy On2’s technology or somebody else’s since most everyone else supports H.264. Many of the counterarguments to On2’s codec revolve around the portability, openness and near universal adoption of H.264. From my tests, the VP6 (On2) encoded videos looked better and compressed to smaller file sizes. The encoding process, however, is a bear and will peg the most capable of CPUs at near 100% utilization during encoding. The real proof for me was in the marketplace. With many major media and technology companies (including Adobe, themselves) using On2’s codec, I’ve assumed (rightly or wrongly so) that people much more knowledgeable than I in this area have done their homework and are convinced that On2 offers something that H.264 products do not. What seals the deal is that On2’s standard bare-bones encoder package costs only $39. Granted, it’s not as slick or user-friendly as some of the others that I tested but it has the most horsepower under the hood.
-
A configurable (ideally scriptable) Flash video player. The player is the part that actually drives the Flash video and allows the user to interact with the output, moving the video forwards and backwards, setting volume, etc. Many of the video encoder packages include a selection of players out of the box; so you may not be required to pick up one separately. If your codec doesn’t come with a player or you’re not satisfied with your player’s capabilities, I strongly recommend that you take a look at Jeroen Wijering’s Flash player.

As you can probably see from the screenshot above, Wijering’s Flash player is, well… not that flashy. What it lacks in glitz, it more than makes up for in power and flexibility. The player is very easy to use in its default configuration, playing either single Flash videos or running though multiple videos specified in an XML playlist. Furthermore, you can perform runtime manipulation of the Flash video by passing a set of parameters known as flashvars. This very handy feature alone makes this player standout head and shoulders above the rest. Finally, there seems to be a decent community support around this open source player with plugins built for popular tools like Wordpress, Drupal, and Coppermine. This extra article by Jeroen provides some good guidance on embedding Flash. For specifics, it’s best to download the tool and play with the samples.
Hosting Flash video is really not hard once you have these three things figured out. Although I didn’t mention source video, it really is key in the equation. Videos that I shot on older still cameras needed to be scaled up in size and are a bit pixilated. Videos that I shot on my newer Canon A630 look much better, but they are not in stereo and show signs of pixilation even if I use optical zoom. From this whole conversion effort, my most important takeaway is that I’m going back to my Sony Hanycam Digital for shooting video. It yields the best video and sound quality. The only downside is the digital tape to digital file conversion process.
In
the final installment of this March 1st trilogy, I’ll hit something
really topical, the precipitous fall of the Dow Jones Industrial Average (DJIA)
two days ago on February 26th. For those of you just diligently
minding your stakes in the market, you probably got wind that all the major
indexes tanked pretty badly on the 26th. The Dow, however, tanked in
a rather unnatural fashion that was quite different from the others.

You
can see the “Live” and recalculated Dow Jones numbers on the graph above.
Although the actual Dow (in orange) did
drop pretty steeply, there’s no way it could have done the near vertical drop
that the graph indicates without some outside intervention. It turns out that
this outside intervention was provided by a “computer glitch”, as reported in
the general press. More specifically, one of the queuing systems that feeds
data to the system that actually calculates the Dow Jones index got backed up
under record trading volumes. When market watchers got suspicious that the
index movement did not align with the sliding values of its core components, they
decided to investigate. Discovering the backlog, they manually switched over to
alternate systems. When these systems worked down the backload, a new DJIA was
calculated and voila, we had a 200 point drop in a couple of minutes. As painful as this must have been for professional
traders and as painful as it’s likely to be (in terms of lawsuits) for the Dow
Jones company, this is really interesting from an IT point of view. If you’re
an IT person looking for insight into how these markets work, I thoroughly
recommend the book Practical .NET for
Financial Markets. It’s one of the most advanced .NET texts I’ve ever read
and, as a positive side effect, introduced me to a completely unfamiliar
business domain, financial markets. Reading this book will not only make you a
more educated developer (whether or not you use .NET), it will help you
understand the causes and effects of events like those on the DOW two days ago.
In
the first of my beginning-of-the-month speed blogs, I’d like to start with the
topic that I’ve been putting off longest, building applications on top of
Amazon’s Web services. For those of you that think of Amazon.com as just a book
store, or an e-commerce platform, or [add your assumption here], think again.
In the last year or so, Amazon has released a number of services that have not
only established them as a first-class platform, but have pushed the envelope
considerably on the idea of virtualization.

This
trend started with Amazon’s Simple Storage Service (S3) and was expanded on
with their Simple Queue Service (S2). Late last year, Amazon blew the roof off
with the limited release of their Elastic Compute Cloud (EC2) service. EC2 is a
configurable computing environment where you can load up virtual instances
(roughly equivalent to your average Linux server) – on demand. You can load or
unload these instances to meet cyclical demand and you only get charged for the
computing time that you use. Couple this grid computing potential with S3 for
storage and S2 for queuing and let your imagination be the limit.
Doug
Kaye’s architecture for GigaVox Audio Lite, an audio file transcoder, might
give you some ideas about what can be done with these services. The related
ITConversations podcast contains plenty of details, with both Kaye and Jeff
Barr, from Amazon, on the wire with Phil Windley. This podcast does a good job
of conveying the vision and the realities of using these services. Some of the
discussions, like managing and developing on top of a globally distributed
queuing system where a call like size = MyQueue.size doesn’t really make any sense, will cause
you to stop and think.
The
final new Amazon service that I didn’t mention is Mechanical Turk, which is,
simply put, a computer interface onto human services. This one has been around
for a while and never got much attention from me until I heard the Podcast. Interestingly,
the site castingwords.com, which produces Podcast transcriptions, farms out
their work via Mechanical Turk. The combination - digital input in (MP3);
digital input out (electronic transcript); virtual computing; virtual workforce
– that’s pretty radical. There are some other great uses for this service mentioned
on the Podcast as well.
The Podcast is absolutely worth a listen. And if this
sort of thing piques your interest, you’re not alone. The queue to get into the
EC2 beta program is a few months long. If you’re even remotely interested, get
in line now.
One of my original intents of registering the beckshome.com domain name was to publish photos of my new baby son or daughter. That was two years and two daughters ago and, until this weekend, photos were nowhere to be found on my blog. I host my blog on the Windows platform and had no desire/time to do any of the following: (a) buy a separate package for image management; (b) cobble together an ASP.NET solution to manage my photos; (c) switch blogging software to a tool like Community Server that has integrated photo management. Furthermore, I already manage my photos on Flickr and I’m more than happy with the service, user experience, and the cost-benefit. What I really needed was a way to integrate my existing Flickr photos into my current .NET-based blog (DasBlog). The pursuit of this goal is what this blog entry is all about.
Being a regular blog reader, what I’ve seen a lot of out there are the Flickr badges. These badges, available in either HTML or Flash versions (like the one below), are pretty slick and can be found pretty much everywhere on the Web. The problem with these badges is that they only offer the opportunity for shallow integration. Click on the badge and bye-bye blog, you’re zipped off to Flickr’s site to look at the photos. Since I aspired to achieve a bit deeper integration, I needed a different approach.
Next thing that I looked into was programmatic access to the Flickr API or a pre-existing solution that I could use wholesale or reproduce with little effort on my part. The Great Flickr Tools Collection has a vast assortment of very interesting tools – none of which quite seemed to meet my needs. I checked out the Flickr.NET API Library, which was written about in a Coding4Fun post and can be found for download here. It’s very well done and, although it probably won’t be the last time I mention this API in my blog, it will be the last time I mention it in this posting.
What I eventually stumbled on was a simple and elegant solution that got me exactly what I wanted by embedding the Flickr slideshow viewer into a custom page on my existing blog. Paul Stamatiou has an excellent post on his blog on how to do just that. By using an iframe and setting some API attributes you can get this up and running very quickly; qualifying this as a super easy hack that just works. Note that only photos marked as public will be displayed.
With the Flickr slideshow viewer up and running, I only needed to add the ability to select between multiple photo groups and I was done. With the actual Flickr viewer taking care of all of the real AJAX work, all that was needed was a bit of light JavaScript to tie this all together. Below you will find the code that does all of the lifting.
<script type="text/javascript">
function changeSlideshow(url, title)
{
document.getElementById("SlideShow").src=url;
document.getElementById("Title").innerHTML=title;
return false;
}
</script>
Clicking on any of the photo group links / thumbnails makes a call to the above function passing the URL for the slideshow in the manner stipulated in Paul’s article for populating the slideshow viewer. The title is also passed so that the title of the page can be updated. You can see this at work on my new photopage. By viewing the page source, you can see the exact mechanism I used to make this work. If you’re have any questions, feel free to drop me a line.
I realize that the title of this blog post is something that one would probably not associate with a blog that purports to cover technology. Bear with me please and surf over to YouTube (or view below) to look at the video posted by the Pennsylvania Fish and Boat Commission. I think you will agree that the video is very well done. Much like the partnership between Google and the Pennsylvania Tourism Office that I blogged about a couple of months back, this posting to YouTube represents some signs of forward thinking, Web-based focus, and creativity on the part of state government.
Granted, with tourism and fishing, we are looking at revenue generating sectors of state government. You don’t yet see this sort of thing from Welfare service divisions. How long will it be though until other sectors of state government start looking at public Internet services as an alternate channel for communications with their constituents? The economics of these services surely works in their favor (that is, they’re free). It then becomes a question of what the best channel is to reach one’s constituents.
Face-to-face interaction, snail mail, and government sponsored portals will be around for a while to come, I surmise. But as usage of cell phones, email, inexpensive audio devices and collaborative community-based Internet services like YouTube continue to permeate through the layers of citizenry, state governments will not be able to ignore these viable communication mediums. The one question that remains is whether state governments are prepared to engage in the two way dialog and deal with the power shift that these new communication vehicles will invariably bring.
The innovation engine at Yahoo is heating up, looking to get
Yahoo back in the race with the “Big Boys”, rivals Google and Microsoft. In an
environment categorized by copycat service offerings and one-upmanship, Yahoo’s
offerings are refreshingly unique. I cover three of the most recent services
that I’ve been playing around with and that I think will prove entertaining to
my readers as well – Pipes, OmniFind Yahoo! Edition, and TagMaps.
- Pipes – No less a luminary than Tim
O’Reilly called Pipes “A milestone in the history of the Internet”. Pipes is a browser-based visual editor that
allows you to take input from one source and pipe it (in UNIX parlance) to another source. Along the way, you can
apply a series of filters and transformations to manipulate the data. The data
sources start and end as common feeds (RSS, RDF, etc). What you do with the
data between its input and output is constrained mostly by your imagination.

Yahoo! was certainly not first on
the scene with this idea. Dapper and others have preceded them in this regard.
What Pipes brings to the party that no one else does is a really cool visual
environment that allows you to trace the path of the data through the
transformations and filers, interactively debugging along the way based upon
the value of the successive outputs. It also has this cool reuse flavor to it,
where you can experiment with, tweak, learn from, and potentially improve or
fork off new versions of other peoples pipes or just reuse them in a black box
sense.
After you’ve read Tim O’Reilly’s
introduction, I encourage you to play around with Pipes. Although seeing is
believing, you’ll learn best by actually doing.
- OmniFind Yahoo! Edition – Product of a
nifty partnership with IBM, the
OmniFind Yahoo! Edition is an enterprisey search solution that is the baby
brother to IBM’s commercial
OmniFind enterprise product. Built on top of the open source Apache Lucene
search engine, OmniFind has the solid lineage necessary to be considered worthy
of the task.

The product is a very easy
install, whether on Windows or Linux, requiring very few steps to get the
product up and running. OmniFind returns search results against locally indexed
documents and the Internet, with the results being returned in the familiar
Yahoo! look and feel. For those interested, the UI can be styled to match a
particular site’s look and feel or you can go the direct route and work with
the exposed REST APIs.
With the pricetag (free) and
support for a couple hundred file types, there’s little not to like about
OmniFind. Search performance has proven to be very fast with a few thousand
documents. Indications are that the tool scales pretty well although the
indexing process can be quite processor intensive and there are a couple of
known issues with cleaning up very large temp files that could eat into your
available disk space.
- TagMaps – I stumbled onto this product a
couple of weeks ago while looking for some information about creating GeoRSS
feeds. TagMaps is another way of visualizing data (tags in this case) on maps.
I must confess that seeing tags on a map takes a bit of getting used to. I
found that the best way to indoctrinate myself was by using Trip Explorer

Trip Explorer is a mashup of
TagMaps and Yahoo! Travel users' public Trip
Plans. What’s cool about Trip Explorer is that the clustering of
tags reveals hidden tour gems that you might not otherwise find on a
traditional map mashup. These gems become more evident (and detailed) as you
progressively zoom in.
TagMaps is built upon Yahoo’s
Flash maps, which are very interesting in their own right and need to be
experienced if you haven’t yet had the chance. Aside from using Yahoo’s canned
Explorer TagMaps, of which Trip Explorer is one, you can create your own
TagMaps mashups. Simply create a GeoRSS feed or select an existing GeoRSS feed
that returns a set of weighted tags for a given lat/lon bounded box. Easier
said than done, I know. I’ll be writing more about how to do this in a coming
blog entry. Until then, give this a look.
The Technology and
Venture Capitalism Podcast on IT Conversations featured some interesting
guests who brought a lot of good ideas to the table. Phil Windley, the
moderator, got the guests to kick around the concept of patterns for
applications that are good prospective candidates for funding in the VC world. The
discussion started with the simple advertising-only model (a’la Google) and the
group then moved onto the Apple iTunes / iPod model.
The premise of the Apple discussion was that the combination
of offering digital media services (iTunes Store), a rich user management
interface (iTunes), and a non-traditional computing device offered a model that
might be increasingly followed in the future. The group referred to Tim O’Reilly’s
O’Reilly Radar presentation, in which
Tim cited hardware hacks as an important trend to watch in the future. They
also chatted a bit about the Chumby, a much-hyped hardware hack that is
available is being circulated in prototype mode to über-Alpha-geeks.
All of this talk got me thinking and putting together a
mental model. It brought me back to a McKinsey interview I had in the late
dot-com era where the interviewer asked me to draw out a value map for several
emerging digital media technologies. Granted, there were no iPods or Chumbies
back then but the value map visual seems to work just as well for these newer technologies
too. I’ve included a simple map of some representative technologies (circa
2006-2007) below.

In the diagram, the dollar signs [$$$] represent where the
primary value derivation occurs in the chain. If you buy into the Value == Services + Device equation,
TiVo and Apple are set to come out on top since they control both services and
devices. Brings to mind all types of questions around potential commoditization
of the services and devices as well as to what strategic leverage (aside from
high switching costs) these companies enjoy. Audible and MySpace own only the
services, having to rely upon complimentary products (MP3 players and the
browser, respectively) to deliver their services. The Chumby is in an
interestingly unique position, controlling only the device but not the
services. This makes me wonder what the long term value potential is for this
product. It would seem that, without very strong branding and product loyalty,
the Chumby would be exposed to all sorts of knock-offs. I guess time will tell.
All of this makes devices like the iPhone very
interesting in the future. With the combination of very strong branding and the
ability to integrate content from all of the major media channels, it would
seem that the iPhone is a market killer in an increasingly mobile society. With
all of that power in one place, you might want to keep an extra one or two
handy, just in case…
Try this on for size – the EPAct2005 is the Y2K of Y2K’07. No, this is not an anagram. No sooner is 2006 behind us and folks are already worried about “the next Y2K”, the Energy Policy Act of 2005. Between January 1st and January 3rd, I’ve received no fewer than 8 emails on this topic. These emails include everything from details about software and hardware that will require some form of remediation to EPAct2005-related business opportunities.

What is the Energy Policy Act of 2005 exactly, you ask. If you read the Wikipedia entry on EPA2005, you will get a face-full of legislative overload. What’s important to look at, at least if you’re in the IT industry, is the one section titled Change to daylight savings time:
“The bill amends the Uniform Time Act of 1966 by changing the start and end dates of daylight saving time starting in 2007. Clocks will be set ahead one hour on the second Sunday of March instead of the current first Sunday of April. Clocks will be set back one hour on the first Sunday in November, rather than the last Sunday of October. This will make electronic clocks that had pre-programmed dates for adjusting to daylight saving time obsolete and will require updates to computer operating systems. The date for the end of daylight saving time has the effect of increasing evening light on Halloween (October 31).”
“Will require updates to computer operating systems”. Ugh, that sounds both nebulous and uggy. The links below lead to the vendor specific remediation instructions.
From the links it doesn’t really look like things are so bad. What makes this a bit less containable than it appears at first glance is the pervasive nature of embedded devices, occasionally connected devices, and computing systems other than the ones with keyboards and monitors on them. Y2K turned out not to be so bad because it was a bit easier to quarantine the old iron running the offending code. With EPAct2005, getting to the desktops and big machines is only part of the battle. There are just so many other devices out there running on computers of some form that much is bound to slip through the cracks. Then again, your DVR and your kids’ robotic dog aren’t exactly air traffic control systems.
Following up on my This Digital Life post last month, a couple of folks have sent me emails asking if I had some recommendations around other Web 2.0 tools. In the sprit of a recent podcast that defined Web 2.0 as “really anything that’s cool online nowadays”, I decided to post some Web 2.0’ish tools that I highly recommend. Some of these tools I’ve been using for a year or more (a mighty long time in the Web 2.0 world) and some I’ve been using for just a couple of weeks. Most are, with the exception of Central Desktop, free services. Enjoy and let me know if you find these useful.
- scanR – Snap digital pictures of whiteboards or paper documents and upload them for processing to scanR. The images are cleaned up, PDFed, and sent back to you in an email. You can also upload images of business cards, which are then converted into vCards that can be imported into your favorite contact management program.
- Vyew – I’m a recent convert to Vyew and have been nothing but impressed with its features and ease of use. Think WebEx; but it’s better and it’s free.
- Zamzar – File conversion online. Format… you name it. Upload a file, identify the type of conversion you’re looking for and Zamzar quickly converts the file; returning the finished product to you via email. Zamzar supports over 200 conversion types. Some of my favorites are doc-to-pdf, ac3-to-mp3, and avi-to-flv.
- Mediamax – So now that you have all of this digital media, what do you do with it? Enter Mediamax. You get a whopping 25GB of storage for free and the pricing plans for more space are very reasonable. This includes sharing and hosting of digital audio and video and a Windows-based tool for file synchronization and automated backup.
- Google Calendar / Remember the Milk – With some recent integration efforts, this is a tool match made in heaven. The best calendaring tool combined with the best to-do list manager, all in one very intuitive UI. Although not combined, these tools both have great browser-based PDA versions as well.
- Central Desktop – The Cadillac of the tools listed here and, as mentioned earlier, the only one that does not have a perma-free option. This tool is simply so awesome that it warrants mention. Central Desktop is software as a service at its finest. Portal based functionality, project management, full text indexing and search of uploaded documents, Web meeting and audio conferencing capabilities, IM and Skype integration, version control, and the list goes on. It’s not as lightweight as Basecamp but it has all the features you wish for in Basecamp and is even more intuitive.
| |