Lijit Search
 
I only post when I have something worthwhile to say, so it might be easiest to subscribe so that you automatically receive any new content.

Email RSS Twitter ESP

This is my personal blog and anything I write here in no way reflects the opinion of Cisco Systems, my employer. If it does, it is only by pure coincidence :) Nothing here constitutes investment advice either, so you can't sue me.

More about me here

View Jason Kolb's profile on LinkedIn

Popular Tags Recent Archives

    License

    • Creative Commons License

    Fun Stuff

    • The content on this site is provided without any warranty, express or implied. All opinions expressed on this site are those of the author and may contain errors or omissions. NO MATERIAL HERE CONSTITUTES INVESTMENT ADVICE. The author may have a position in any company or security mentioned herein. Actions you undertake as a consequence of any analysis, opinion or advertisement on this site are solely your responsibility.
     

    The Semantic Web 

    View comments 4 comment(s)

    I admit it… I thought I got the semantic Web before, but I didn’t really.  I really got it just recently.

    People have noticed that I haven’t blogged much (well, really not at all) for the past week. That's partly because I’ve been under some pretty tight deadlines at work lately, but also because I’ve also been feverishly working to fully grasp the semantic Web—not an easy task, for me at least.

    Now that I’ve emerged on the other side of that process, the semantic Web seems like a pretty uncomplicated concept.  But boy, let me tell you, trying to wrap my brain around it was quite a challenge. I always knew what it was about from a high level—RDF, triples, vocabularies and all of that. I could just never mentally translate those ideas into solutions for the problems I was working on. And it’s interesting, because I can plainly see the vision now and, more importantly, how it fits into real-world problems.  I also see why it has been utterly failing at gaining any kind of traction outside of academia.

    My little self-education process started when Kingsley Idehen invited me to a semantic Web get-together at MIT. We had emailed each other a few times before as a result of him finding my blog, and some posts I wrote about a year back about what is now being called data portability and distributed social networks. Since I’m now living in the Boston area, he invited me to MIT to meet in person and to get a sense of what the semantic Web ideas are truly about. The meeting was interesting, but I still came away unimpressed.

    I kept in contact with Kingsley, peppering him with rapid-fire questions about semantic Web technology, technical details, and how it applies to my real-world problems, and he patiently answered all of my Istock_000004474914xsmall_3 questions.  Thanks for the tutoring there man, appreciate it ;)  I thought I was pretty forward-thinking for writing about things like data portability and distributed social networks a year or two before they became hot stuff, but I now have to tip my hat to Kingsley and a few select members of the Semantic Web crowd and admit that they had this problem figured out back when I was still in college.

    Now that I understand it, I realize that the semantic Web is some very, very cool stuff. It includes many of the ideas that I’ve been writing about for a long time without fully realizing that they were encapsulated by semantic Web ideas. Many of the things that I’ve been wanting to do for a while—data portability, being able to use objects distributed across the Web, global object identifiers, distributing software across networks, and using converged online identities—are achievable by the semantic Web, and pretty much all of the details have already been worked out. It was an epiphany for me when I realized this, and I have to say I’m extremely happy about it because I had been thinking that all of this was a new trail that had to be blazed. Turns out, all the heavy lifting has already been done, it’s just never really been used much.

    I think the biggest problem the semantic Web is facing is the fact that most of the people who understand it come primarily from academia. Academia, to me, is plagued with a disease that I myself have suffered from my entire life—that is, the urge to build something just because it’s cool technologically, not because it’s useful in the real world. While something I built might impress the hell out of other computer geeks, and I’d be extremely proud of it, other people would look at it with mild interest and then quickly move on to something else, because they couldn’t see the value in it. I’d have to say that I owe a lot to the experience of building Latigent and to my former business partner Chris Crosby for helping me overcome that handicap. Having to build something with resale value in order to pay the bills this month has a way of grounding you in reality.  Having somebody else depending on you to build something of resale value, and remind you of that constantly, helps even more :)   I’d highly recommend every geek who thinks he’s hot stuff work closely with a sales-oriented person for a period of time if you really have a desire to make any money.

    Besides suffering from being sold by people who don't really understand the real-world problems that it could fix, the semantic Web is plagued by a layer of jargon and terms that takes a significant investment of time to work through. While I understand that it’s important to clearly define what you’re talking about, people who are pushing the semantic Web are generally not very good at dumbing it down enough so that it’s easily palatable. It took me a good week of pretty focused research and having somebody there to bounce questions off of before I really got it--and I like to think that I'm a pretty technical guy. Now that I get it, I’m sure that there’s a better way to package these concepts so that more people understand how they relate to the problems they’re facing. The straightforward concepts that underlie the idea of the semantic Web are so obfuscated by the terminology and the W3C standards that come up when you google them that the mental barrier to entry is just way too high right now. The fact is, people will not adopt semantic Web ideas until semantic Web ideas are the ones that get returned when they search for a solution to their problem. In order to get to that point a radical change in the way these concepts are sold is needed.  That, and people like Kingsley, Danny Ayers, Tim Berners-Lee and others who are out there tirelessly promoting it as a real-world solution to real-world problems.

    Kingsley has started calling the semantic Web the Linked Data Web, which is definitely a good step towards packing the idea in a more attractive way. I would personally prefer something more closely related to living, breathing objects (not literally, but in the sense that they can actually do things besides just being queried for data). I think that the semantic Web crowd is a little too focused on the data output side of things—all of the excitement seems to be around querying data, finding data, building a better Google, etc. That’s cool and all, but it seems to me that the real killer application for these ideas is allowing nodes on the Internet to find and then actually communicate with each other.  That key point almost seems lost in the shuffle to me. What is called the semantic Web today, with a nice healthy injection of service-oriented architecture, is going to be a revolution in computing. That's the bit that excites me—enabling an Internet where any node can communicate and interact with any other node on the network.

    I'm looking forward to continuing to learn more about the details that have been painstakingly worked out over the years on the semantic Web, and at some point actually getting an opportunity to put them into practice.  I now have no doubt that the next earth-shattering applications, the revolutions in the way we use computers and the Internet, are going to spring from this movement, and I'm pretty excited about that.  All it needs is a little sex appeal and it'll catch on like wildfire.

    The Decentralization Dance 

    View comments 2 comment(s)

    There’s been a pretty fascinating discussion going on in the blogosphere recently about the benefits and hazards of centralization on the Internet.  Three main hot button topics have come and have ignited the discussion:  TechMeme, TinyURL, and FaceBook.

    If you’re not familiar with TechMeme, it’s a site that aggregates blog posts around a particular topic (meme) and creates “conversations” around them.  It’s pretty popular among the Web 2.0 crowd andTechmeme many people—myself included—tend to use it as a tech newspaper.  It’s really handy in that regard, because you can see when there’s a popular topic that’s getting a lot of coverage without having to subscribe to thousands of feeds.

    On the other hand, the way TechMeme aggregates the posts is something of a mystery.  It’s unclear whose blogs are on its “reading” list (my blog is part of the mix, and I’m not exactly sure how it got there), and they seem to be giving a lot more traffic to the big corporate blogs such as CNN, CNET, and TechCrunch lately. People are complaining that this is killing genuinely new and innovative memes off the site, and I tend to agree.  It used to be an incredibly interesting site to read because you’d see all kinds of offbeat and obscure ideas that you would otherwise never have heard of.  Recently it’s been more along the lines of technology news commentary, which is a real shame.  I would almost rather see the site broken up into an “A List” and “B List” site, I’d probably pay much more attention to the “B List” version.  But the point is that the one site having the power to decide which blogs are important, and thereby which memes are important, seems to be hurting the diversity and egalitarianism that made blogs interesting in the first place.  It’s a single point of failure in the brainstorming business.

    And then there’s TinyURL.  Most people are probably familiar with it—but if you’re not it’s just a service Tinyurl that will take a long, obtuse URL and shorten it into a URL of about 15 characters.  It’s become more popular recently thanks to the micro-blogging phenomenon using sites like Twitter which let users post extremely small blog posts.  Usually the posts are limited to about 200 characters, so if you want to embed a link in your Twitter post, TinyURL is a handy little tool to help save space.

    The downside, as with TechMeme, is that TinyURL is a single point of failure.  It went down the other day, and all of a sudden many, many links stopped working.  It poses the question of whether using any single point on the Internet as a conduit for so much traffic is actually a good idea, even if it makes life a little easier.  (I also have questions about where the Google juice for TinyURL’s go, to TinyURL itself or the destination site.)

    And then there’s privacy—the big 500-lb gorilla hiding in the corner.  People are starting to have concerns about what Facebook and other social networks are doing with their data.  I’ve been blowing this horn for so long I’m starting to get tired, and the only way around this roadblock is to actually OWN OUR OWN DATA (duh).  IMO trying to fix the companies themselves is just a band-aid--just like tamed lion, even the most trustworthy companies can turn on you at any time ("Don't be evil" comes to mind here).  Of course, if you willingly give a company your data, they will use it to make the most money they can.  If you don't like it, you should rethink capitalism.  Don’t try to fix the companies, fix the freaking paradigm.  This is one area that needs decentralization in a bad way.

    What I think is interesting is to watch this dance back and forth between centralization and decentralization.  For every two steps we make towards decentralization, we take a step backwards towards centralization.  What starts out decentralized ends up centralizing for a time in the name of progress and convenience, until the centralized systems are shattered into a million pieces as necessity and self-preservation demands it.  Technology innovation tends to happen in one spot (company, site, community, etc), and shortly afterwards that one spot becomes a centralized hub for all activity around that innovation.  Until it’s not.

    This whole discussion leads to another fascinating topic, one that I think is going to be the defining trend in the next phase of Internet evolution:  personal Internet ownership.  It’s the ultimate level of decentralization, decentralizing the Internet so that it operates on the basis of each individual person, not relying on these central hubs we have today, like social networks and Old Media outlets.  Taking the Internet’s server network and turning it into a human network.

    Floundering Towards a Human Network 

    View comments 0 comment(s)

    Disclaimer:  Before I get a nastygram from Cisco HR or legal, the title of this post does NOT refer to Cisco in any way but rather the Internet/technology community in general.  I just think the term "human network" is a really great way to describe what the industry is stumbling towards.

    I know “the human network” is Cisco’s slogan, and there’s a lot of cynicism around it being marketing fluff.  However, I think that they actually have the right idea in making that the ideal (it was a brilliant slogan in my mind), because there’s no doubt in my mind that it’s the direction things are headed.

    The latest evidence that this is happening is the recent, awkward choice of Yahoo and Google to market their email services as social networks.  (And, what's with the "Inbox 2.0"?  This versioning everything is getting REALLY old at this point.  Personally I thought "next generation" worked perfectly well as a descriptive term.)  This is pretty obviously a desperate attempt to grasp at some social networking market share—not by competing toe-to-toe against the leaders on a level playing field, but by changing the name of the playing field.  While I think it’s ill-conceived and probably won’t do anything but add some features to their email platforms, they have hit on an interesting theme that I happen to have a particularly strong interest in.  And that theme is online identity convergence, aka the march towards a true Human Network.

    Back when I started my weblog, my very first posts centered the idea of taking email and making it your online identity, for single-sign on and personal identification.  Turns out that it doesn’t work very well in practice, but making your email address a central component of your online identity is, in fact, very important—even in what we think of as a typical social network like MySpace or FaceBook.  In fact, most social networks use their users’ email addresses as the ultimate key/validator/identifier for their individual users at the end of the day.  If you have to reset your password, you use your email address.  If someone wants to find you on the site, they usually have to use your email address.

    The point is that, by process of trial and error, the industry is slowly figuring out that each user is ultimately identified by a node on the network, whether that is an email address or a Web address.  I’m still convinced that everyone will be identified by a URI eventually (I went into a lot of detail on that in the past, if you’re not familiar with URI’s you probably should be), using email addresses as personal identifier is a step in that direction.

    When URI’s are used to identify individuals you get the ability to layer on all kinds of communications around that URI.  That includes email, Web, voice, instant messaging, presence, and all sorts of stuff.  XMPP is a great example of the capabilities that you can gain by identifying people using a URI.  The big bump in the road is that in order for this to truly work, I believe that service providers are going to have to give up ownership of their users' identities.  That’s a tough pill to swallow for them, as it completely eliminates any sort of vendor lock-in.  But it’s where things will inevitably end up sooner or later, and it’s interesting to see the contortions the industry is going thru on the way there.

    12 Web Trends to Watch 

    View comments 2 comment(s)

    Every once in a while I like to take a step back, survey the landscape, and take stock of the direction technology is moving.  It’s a fun exercise, and the feedback lets me know whether I have my head on straight or not.  So in the tradition of Wired’s Wired/Tired/Expired trends, here are my picks:

    Hot Trends

    Currently emerging trends that are catching on fast.

    #1 - Crowd Sourcing

    Crowd sourcing is getting a lot of press lately, primarily thanks to Wikipedia Wisdomofcrowds which is the best example and the shining superstar of crowd sourcing applications.  User generated content is huge, and if you can find a way to leverage your user base to create relevant content it’s money in the bank for you.  Other notable examples:  Amazon Mechanical Turk, Google Image Labeler, and Threadless.com.

    I should also note that I’m a huge fan of the wisdom of crowds, which is one of the reasons I’m so big on crowd sourcing.  The knowledge of masses of people has proved to be far more accurate than a small group of very smart people, which in my mind is one of the biggest reasons that Wikipedia has been so successful.  Related to crowd sourcing are prediction markets, which are hard to grasp for a lot of people but otherwise intensely interesting technology.

    #2 - Mobile Web

    The Mobile Web has been getting a lot of attention lately thanks to the iPhone.Iphonenytimescom   Ironically, although the iPhone was designed to make the normal everyday Web browsable without any changes, since its release there has been a proliferation of “iPhone compatible” sites which are sites specifically designed to be more readable on smaller screens.  If you don’t have an iPhone you must suffer with one of the old-school mobile Blackberry, Windows Mobile, or HTC browsers, all of which suck pretty badly in this day and age of AJAX.

    While the Mobile Web is certainly improving, devices still have some improvements to make, and the networks themselves need to speed up.  Scott Karp has a nice writeup of why the Mobile Web is still maturing on his blog.

    #3 - IPTV

    I’ve been anticipating the decline of Old Media for a while now.  I think it’s one of the most archaic and painful systems we still have to deal with today, not to mention an insidious way for the people who control it to manipulate public opinion and politics.

    Thankfully, IPTV is on the way.  More and more content providers are streaming their content directly from their Web sites, and Apple_tv televisions are progressively gaining the capability to connect directly to the Web thanks to products like Apple TV, the Xbox 360, and my new favorite company Cisco with their acquisition of Scientific Atlantic.  YouTube is creating a global pool of content that anyone can contribute to and consume from.  The Web is already creating waves as it breaks news and provides information ahead of Old Media, this is (thankfully) a serious threat to their business.

    Fading Fads

    These fads are currently still creating buzz, but my gut says they’re all hot air (l probably just sucked on the flame-mail firehose, oh well…):

    #4 - Virtual Worlds

    It’s possible I just don’t understand this… but then again neither do a lot of other people.  While virtual worlds like Second Life continue to generate a lot Second_life of buzz, the results speak for themselves—and they’re not saying good things.  The businesses are not anywhere near profitable, and the worlds are mostly empty places populated primarily by porn-hounds.

    My take is, if I want to play a game I’ll play a game.  If I want to find information, Google and the standard Web work just fine.  I’d rather not go finding and flying to a virtual kiosk somewhere.  I get the impression that this is the virtual reality of the 00’s—namely, a fad.

    #5 - Web Desktops/Operating Systems

    Web Desktops have been all the rage lately, and these companies have begun labeling themselves Web Operating Systems.  I always dislike it when someone takes a perfectly fine word like “operating system” and dilutes it to the point of uselessness; to me this is exactly what these companies are doing.  Google and Yahoo basically own the virtual desktop space (NetVibes seems to be doing alright as well), and there is no need for more entries in this marketplace, it is already saturated.  They make nice personalized home pages.  Relabeling your product a “Web OS” only serves to kill a perfectly useful word.

    #6 - Proprietary API’s

    I’m probably stepping into some hot water here, but I hate closed, proprietary API’s.  Anytime a company announces a new API (see SalesForce and, more recently, FaceBook and LinkedIn) they get applauded for being open.  To me this does not feel “open”, it feels more like an attempt to lock people into the system.  It's like buying a phone that only calls the company you bought it from, just doesn't make much sense to me.  If you actually sit down and take a look at these API’s you’ll see that they carefully pick and choose what they open up, and they typically try to keep most of the value locked up in their system.  A truly open API would open up some possibility for interoperability.  Instead of launching proprietary API’s that don’t work together, these companies should form an industry workgroup and hash out something that will work for everyone.  If they don’t, it will EVENTUALLY be their undoing.

    Promising Trends Looking for Traction

    These trends are extremely promising, just not popular. 

    #7 - RSS/ATOM

    So, so useful, but outside of the technology elites people just don’t get it.

    #8 - Universal Contact Lists

    One unified contact list (as opposed to a different contact list for every service you use) is one of the most useful things ever conceived.  Unfortunately, it’s just not here yet, so we’re stuck managing ten different accounts.  Hopefully that will fundamentally change soon, but in the meantime we have products like Plaxo that do a pretty bang-up job of synchronizing your lists.

    #9 - The Semantic Web

    Ah, the Semantic Web… it’s kind of like Green Energy—you always hear about it, it’s supposed to be a great thing, but you just don’t see it out there.  It also suffers from ambiguity, I take its meaning to be marked-up machine readable content.  I think it’s missing that one killer app that will make it more mainstream, but we will see.

    Creeping Onto the Radar—Tomorrow’s Trends

    These trends aren’t even really on the radar yet except in theoretical discussions by tech geeks, but I believe they’re the future.

    #10 - Message Ambiguity and Convergence

    The lines between different types of messages is blurring.  Witness the Grandcentral_inbox popularity microblogging (see Twitter and Pwnce), which is essentially just a hybrid text messages/blog post.  A message is a message is a message, and technology is starting to reflect that by allowing you to handle more messages in the same way.  Eventually you will have one universal inbox for voicemail, email, SMS, and instant messages—the iPhone and sites like GrandCentral are hinting towards that future.

    #11 - Online Identity Convergence/Consolidation and Protection

    Identity Online identities are becoming increasingly important.  What comes up when you Google yourself matters, a lot.  This is sure to become a big, talked-about issue soon, because theoretically your online identity can be stolen.  Parents should be advised to start protecting their kids’ online identities proactively, and monitor what their kids are putting on the Web, because it all goes on your permanent record.

    #12 - Personal Servers

    No, not a big heavy loud server in everyone’s basement (like the two I’m currently sitting next to), but a virtualized, personally-owned and -controlled online presence—an extension of yourself that can be reached directly over the Net.  Or, as someone smarter than myself recently called it--much more accurately--your online avatar. 

    So what do you think?  Agree/disagree/have other picks?

    The Future of Messaging 

    View comments 1 comment(s)

    It’s always fun to try to predict how technology will evolve in the future.  Sometimes we’re right and sometimes we’re wrong--but usually only in terms of timeframes.  Even the most outlandish predictions end up coming true eventually.

    (video from 1967)

    I believe that one of the milestones of the next phase of Internet evolution will be the mass realization that there is no fundamental difference between different types of messages, except for the way they are transmitted.  A message is a message is a message.  Emails, voicemails, phone calls, text messages, blog posts, podcasts, and instant messages—they are all just Stickynote packets of information at their core, after you strip away the chrome.  Programmers are very familiar with this concept, most other people are not—yet.

    This idea is making its way towards mass comprehension though, thanks to services like Twitter, GrandCentral, and the iPhone (ok, so the iPhone isn’t a service, just bear with me…).  These services blur the lines between instant messages, blog posts, and text messages by making them almost interchangeable.  They generate buzz solely for the reason that they allow people to use some types of messages in ways that were previously only available to other types of messages.  (For example, Twitter simply allows people to use blog posts in a way more traditionally associated with instant messaging and text messaging, and it’s generated an insane amount of hype.)

    The reason why I think this idea is so key to the next phase of Internet evolution is because there is so much value to be had from handling all types of messages in the same way.  The iPhone generated alot of buzz because it allows its users to manage their voicemails in the same way they manage their emails, using a visual inbox format (GrandCentral allows you to do the same thing, as I noted in my review earlier).  But ALL types of messages should be handled this way, in my opinion.  Then just marry a feed reader like Google Reader with this universal inbox system and they will make a baby that generates more buzz than you’ve ever seen--a true mobile identity platform.

    But the real reason this excites me is because as people begin to handle all forms of messages in the same way, using the same system, this will lead to a more cohesive and unified concept of online identity.  As messages start to be seen as more of a nebulous blob of information, and less of a “text message”, or “voicemail” or “email”, people will start to realize that they *should* be able to handle and manage them in an efficient manner, regardless of what type of message it is.  We're just reaching this point now with the recent evolution in voicemail handling systems.  This will eventually lead to a greater appreciation of and need for a universal message inbox, a unified contact list, and eventually a converged messaging identity.  They will realize that there is no good reason why they can’t use the same identifier/identity for all of these different types of messages .  A converged messaging identity turns every person on the network into a network node, resulting in a true network of human beings.

    I’ve been forecasting an eventual converged/consolidated online identity system for well over a year now, and I’m starting to see the first hints of it actually happening now with releases like Twitter, GrandCentral, and the iPhone.  I truly believe that it’s only a matter of time before people demand it, as their level of technological sophistication rises.  The bits and pieces of technology that are a part of this evolution are starting to float to the surface and gain visibility, if not mass acceptance.  Only time will tell how far off I am on the timing of these developments.

    The Internet is Dead and Boring? 

    View comments 1 comment(s)

    Mark Cuban recently wrote a post floating the idea that the Internet is dead and boring.  (He definitely get's an A+ in the provacative title department for that one...)  The gist of the post seems to be that the Internet is no longer producing exciting innovation and explosive disruption.  I generally like what Mark has to say, he's just technical enough to get a handle on what's going on without getting bogged down in technical minutae.  Although when he tries to predict when the next wave of innovation will arrive, I think he's slightly off the mark:

    "The days of the Internet creating explosively exciting ideas are dead. They are dead until bandwidth throughput to the home reaches far higher numbers than the vast majority of broadband users get today."

    Mark is looking at this from the perspective of a content provider--he wants to be able to deliver more and better Dallas Mavericks content to sports fans.  This requires bigger pipes--making the network fatter and more robust.  Which is a perfectly valid way of innovating and evolving the Internet.  But I don't think the list of possible ways to innovate stops there.  I would add to the list of ways to explosively change the Internet:

    • Making the pipes fatter (Mark's idea)
    • Extending the network to new places (the Internet does not yet extend to humans, although it will)
    • Adding layers of functionality that become part of the plumbing

    Mark also hints towards the last method there, which is to add another layer of utility to the Internet "platform".  But he does it by way of saying that the last wave of innovative applications (primarily social networks) happened because the Internet has stopped changing, thus providing a stable platform on which to build new applications.  This is true, and I would agree that finally stabilizing around a core set of dynamic HTML (as it was called in the olden days) has given rise to the new wave of Web 2.0 applications.  But that does NOT mean that platform innovation has to stop there.

    When I look into the future, I do see more bandwidth running to the house, enabling richer media applications and more entertainment variety.  It's inevitable, there's just too much value in delivering high definition media for it not to happen.  However, I also see an Internet that doesn't stop at the Web site, an Internet that extends out to the individual humans using the Internet, making them active participants in the network.  I can see much more utility resulting from this change than the added bandwidth, which I see as adding more entertainment value.  Coupled with a layer of more standardized functionality, it'll extend to the average person a rich Internet which can do many of the things that only technically-advanced enterprises and their closed networks can do right now.  Think Microsoft Exchange or Lotus Notes on a global scale, open, on the Internet... should be pretty cool.

    Online searchable instant messages: And, is privacy feasible? 

    View comments 1 comment(s)

    As I was going through my instant messenger archives this morning looking for a fax number, I realized that what I wanted more than anything else in the world at that particular moment was a Gmail-style searchable archive of my instant messenger conversations.  A full-text indexed search on the client would be a step in the right direction, but not as useful to me as an archive online like Gmail offers.  I realized that what I really wanted is an instant messaging client that uploads my conversations to a central server for indexing and searching from a Web interface.  Preferably, where I could search email and instant messages all in once place.  After all, a message is a message, an instant message is nothing more than a short email with less overhead.

    But that got me thinking about privacy concerns and hosted data.  I realized that I use Google mail services exclusively, and they have quite a bit of  my personal data.  Although I don't think Google would give up the data without a court order (I hope!), it still makes me slightly uneasy that one entity has that much of my personal information.  This probably wouldn't even have bothered me five years ago (and would probably be a very nice feature for corporations to assist with regulatory compliance), but with the boundaries of legal privacy continually eroding lately I am starting to believe that there will eventually be no privacy except for that which you yourself physically and/or legally own, exclusively.  This "war on tearism" and those darn "tearists" may be killing a lot of progress in the cross-fire here.

    The more I think about it, this is really one more HUGE reason for an eventual shift to personal servers, if they're not made illegal first (that was sarcasm, with a hint of nervousness there...).  If I legally own the computer or hard drive or database on which my personal data is stored, and particularly if I'm able to control the encryption of that data, I would feel much better about the safety and privacy of my data.

    Check out my insane build process 

    View comments 1 comment(s)

    This is kind of like part 2 to today's post on using a code generator, and an introduction (warning?) of sorts to the people who have expressed an interest in looking at the code for the stuff I've been playing with lately with object remoting with Web clients.

    The ONE drawback I've found to using a code generator is that it complicates the build process somewhat.  This is definitely not a bad thing though, because once you see what all goes into it and extrapolate that back to what it would take to do all of it by HAND, I think you'll realize why it's almost necessary for a project of this... not size, I think "novelty" is the word I'm looking for?

    So that said, here's my build process, try not to cringe.  And please, if you have any suggestions I'm all ears:

    1. I have a data model that I've been working on for the past year.  It's gotten pretty comprehensive over that time, and I don't have to modify it that often, but sometimes I do make changes to it.  When I do, this first step generates an updated SQL database script.
    2. The next step is to create the database that the code generator will use to generate my object model.  From this point forward pretty much everything is automated with a series of batch files.  The first one drops the existing database, runs the SQL script from step #1, and then runs a data population script that I had to write by hand to populate the database with some sample data and enumerator data.
    3. Next, I update the open source components that I'm using (NetTiers and Dojo) by way of command-line SVN updates from a batch file.  This ensures that I'm always running the latest version with all the fixes and features.
    4. Since I've had to customize some of the NetTiers templates and apply my own fixes (they don't seem to be very good at incorporating fixes that I provide over there sadly), I keep a copy of the directory structure with my customized files in it.  This next step copies those customized files over the ones that were retrieved from SVN so my changes are still applied.
    5. Once the database is ready and the NetTiers templates are updated, the next step actually goes and generates the code in the form of a C# object model.
    6. I also keep a copy of the generated object model directory structure where I store any changes that I make by hand to the generated files, including custom business rules and object methods.  After the code generation is done, any files from this tree are copied over the generated output.
    7. At this point, all of the changes that I've made manually have been applied and I can build the output.  But wait, we're not done yet :)
    8. Once the object model is built, I have yet another set of templates that generate the Web client files using reflection against the compiled object model.  At the moment this consists of a Javascript script and 3 XSLT files for each object, which I described in my post on how objects should appear on the client.
    9. Optionally, I can at this point run the generated unit tests and generate documentation from the object model as well.

    So that's it, 9 easy steps :)  You can see why I've been hesitant to share this with other people, just because trying to get somebody else involved before step 8 or so would involve so much setup on their end and explanation on my part that it's just not worth it.  However now that I don't have to go through this process very often I'm ready to start sharing the output.  I'll also share the batch files and build process with the masochistic people out there as well.  Trac and SVN to follow...

    Idea #7: Personal servers will change the face of computing 

    View comments 1 comment(s)

    This idea isn't a tip or suggestion, it's actually an idea I've been mulling over the past few months.  When I look a few years down the road it just makes sense to me that eventually everyone will have a personal server.  It may very well be a shared and hosted server, but it will be a server that individual people own and operate nonetheless.

    Project_blackdog_2_1

    There are a few reasons I think this is going to happen:

    1. The desktop of course, is dying, but that doesn't mean that people won't still want to own and keep their personal data themselves.  I really do think that the current crop of Web 2.0 companies that store customer's data on their servers are just a stopgap measure.  I also want to keep all my data in one place--right now I have a tendancy to forget which site I used to create something and I lose track of it.
    2. Personal servers will aggregate not only files and data, but communication as well.  They will combine email, IM, and phone communication in one central location.  One address, one place to go to find you.  Mine will be located right here, at jasonkolb.com.
    3. They open up the possibility of carrying your personal server, or an extension of it, with you on your physical person.  The reason this is so exciting is because it enables biometric authentication that doesn't require shipping your biometric data to a third party (which I think is a terrible idea).  Just look at products like the Blackdog personal server and you'll see what I'm talking about.  I would assume that down the road this type of technology will be built into your phone/Blackberry.

    I did a whole series of posts relating to this topic while back (the series actually isn't finished yet, I'm waiting to have a working proof of concept to publish the last post, which is already written).  Whether you agree with the idea of personal servers or not, it definitely doesn't hurt to think about it and consider the ramifications.

    Part of the 60 Ideas in 60 Days series.  Click here for the rest of the ideas.

    Idea #1: Get your own domain name 

    View comments 1 comment(s)

    I've posted about this before, but if you don't have your own domain name, go get one now!  If you're hitching a free ride on blogger.com, typepad.com, or any other domain that you don't own, you're doing yourself a huge disservice in the long run.  Eventually you'll want to leave them, and all your traffic will end up going to your host instead of moving with you.   Only $7.95 USD a year claims your piece of the Internet and makes sure that no one else will snag it first.  If you can get your last name, even better (I wish my email address was jason@kolb.com, but somebody grabbed the domain pretty early in the game).

    Part of the 60 Ideas in 60 Days series.