I'm a Web Developer and Entrepreneur out of Washington DC.

Look Mom, I’m on TechCrunch!

Posted: August 21st, 2008 | Author: Zvi | Filed under: Development, Post Graduation, Social Media, Tech | Tags: | 5 Comments »

JESS3 has been working on a not-so-secret project for C-SPAN in the past few weeks.

TechCrunch, the best tech blog out there, just reported on it. C-SPAN is still ironing out some last issues, but IT’S ALIVE!

Read it.

A very big moment!

Much more to come about it later.


FireRift – What I’ve Been Waiting For

Posted: August 13th, 2008 | Author: Zvi | Filed under: Development, Geekery, Tech | Tags: | 4 Comments »

Being a web designer and developer, the CMS I choose for a client is a huge issue. I wrote a little bit about it before. However, sometimes you just can’t find a CMS that will work for that particular project, and, barring changing the architecture of the site to fit in the mold, you’re left writing your own system for displaying and updating content, which, sadly, I’ve had to do a number of times.

I read an article today about FireRift – this seems exactly what I was looking for out of a content management system.

Firerift is a Template Independent CMS. That means you design and/or
develop how you want, and then plug Firerift into the portions of the
site where you want it to manage that content. Firerift will scour your
code looking for any Firerift Code Snippets and convert them into the
corresponding function.

Really looking forward to this, as should any frustrated web developer.


AppInADay Round 1: FriendCompare

Posted: August 12th, 2008 | Author: Zvi | Filed under: Development, Social Media | Tags: | 7 Comments »

Stemming out of an heated conversation about who knows what, an idea was born. Jesse and I decided to hold off client projects for one day (just one, calm down!) and set out to build an entire Facebook application from scratch. We had tossed around different ideas in the week before, but by the time we set marker to whiteboard on Monday morning, we had locked down an idea – Facebook friend-based statistics. Jesse is a huge fan of data visualizations, and I like discovering information and patterns out of existing data that I didn’t realize.

So we started from scratch, and by the end of the day, we had the wireframes, full design and a functional version. Jesse was blogging during the day about it.

And now, it’s a full app! Say hello to FriendCompare! We still have a LOT more we want to do with this – even at 1 AM the next morning, Jesse and I were on the phone brainstorming on different things we could do. However, we had to cut it off somewhere!

Development-wise, the application didn’t turn out to be as easy as we thought it would be :-( . Hence why, for the past week, among with working with all our clients, I’ve been working like crazy to get it out.

Some Development Notes:

  • Having all the information about the users – their friends, events they attend, education information, is AWESOME – and digging out the interesting nuggets of data poses a really cool challenge.
  • FQL, Facebook’s own version of SQL – the language used to access information from just about every modern day database – gives you access to what you think would be a great wealth of today, but also poses HUGE roadblocks, besides the privacy restrictions. You would think that for a statistics application, you would need lots of standard SQL functions like COUNTs and JOINs, but as Facebook had neither, we were left pulling huge amounts of data down onto our server and analyzing it there. This makes any good web developer cringe in pain.
  • Additionally, Facebook’s API is horribly slow. If you try to make more than a couple FQL/API calls, Facebook starts timing out, rendering the application useless.
  • Enter Preload FQL. Rather than you calling the API from your server, you can specify ahead of time what information you’ll need from the Facebook databases, so when Facebook calls your application, all the data you need is already there. However, developing in that method tripled the amount of time necessary.
  • We needed a LOT of different pieces of information, so bearing in mind all the above issues, it took a lot more than a day’s work to get it done.

So, in hindsight, maybe this particular idea wasn’t the best to try and tackle in a day. We were offered an existing codebase, however I turned that down, as it seemed a better decision at the time to write from scratch.

Thanks to everyone who helped out, including Eric and Jay from Lookery! Not to mention all the people who blogged about it and sent messages of support, and our clients for letting us take the day off!


Rebuilding ZviBand.com Part I: The Feed

Posted: July 21st, 2008 | Author: Zvi | Filed under: Development, Geekery, Social Media, Tech | No Comments »

In order to better establish a web presence for myself, I am rebuilding my own website. I have big ideas for this, displaying my writings, past and present, my interests, my friends, my work, and also as an living technical showcase for my abilities.

One feature I wanted to have is a display of whatever I am up to in the online world. I wanted, to start out with, aggregate my Flickr, Tumblr, blog, Twitter, and Facebook accounts. In the future, I may add more.

I played with a few different tools for this to run off of, including FriendFeed. In the end, I decided on building my own with Yahoo! Pipes, both as an exercise, and in order to closely control how it works. Yahoo Pipes can be powerful, but at the same time cumbersome to work with.

It took a lot of tinkering around, but I finally got it to work :-)

Then I made a minor variation to it, to show the one most recent item out of each. This way I can show them all together, if I choose to.

I plan on modifying these pipes so you can customize it for yourself at some point in the near future.


Learning Expression Engine

Posted: July 13th, 2008 | Author: Zvi | Filed under: Development, Geekery, Tech | 2 Comments »

Out of desire to learn something new, and in part due to specific needs on upcoming client engagements, I sat down and plowed my way through Expression Engine. After about five or six hours of slugging through Michael Boyink’s amazing tutorial, I’m feelin’ a bit like Neo (youtube video below)


Having started out hacking out sites in phpNuke way back in the day, then b2 (the predecessor to WordPress, that’s how old school I am), and moving to mainly WordPress and a little bit of Drupal, not to mention numerous homebrewed solutions for client sites, I had a laundry list of things I was looking for.

Here’s what is awesome.

  • Custom Field Groups – When you are building a site, most pages have more than one block of text. It’ll have some content boxes on the side, intro text, images, etc. While, say, WordPress, is only really is suitable for having a title and a main body of text, in EE you can build sets of content, and assign them to specific template pages. This makes it ridiculously easy to build out and administer complex pages.
  • Separation of content and display. ExpressionEngine handles organization and entry of the content. The template, when called, pulls any content it requires from the database. Most content management systems work vice versa, where templates are called to display specific pieces of content.
  • PHP-less templates. I had gotten used to telling my web designers to avoid touching anything between <? and ?> . EE uses template tags that resemble Smarty. And, in my opinion, is easier for a non-developer to understand.
  • Minimal need for plug-ins. Because it has so much built in, there isn’t that much need for them.
  • There are a ton of other suprises – you’ll really only learn if you work your way through the tutorial.

But:

  • It’s not free. You can download a free version to learn off of, but if you want it for commercial use, it’s $250 bucks. It seems pricey, but for what you are getting in the short and long run, it’s a drop in the bucket.
  • Building a site in EE relies heavily on wiring things up in the control panel (the tutorial spends 75% of the time in there), which can be confusing and often mind-numbing.
  • Because of that, it’s hard to rely directly develop the design and the site together. The design should be set and all CSS/HTML completed before you even think about firing this up.
  • While, yes, it can run blogs, it was built as a general-purpose CMS. If your site is primarily a blog, I would still recommend using WordPress or MovableType.

Mindy over at Viget has a great write-up of switching from WordPress to ExpressionEngine. She points out some of the same issues, and gave some great pieces of advices for those used to WordPress.

Looking to start out in ExpressionEngine? Download the core edition, and then pop over to Boyink’s tutorial. It’s a whopping 17 chapters, with a lot of repetition, but it is worth it to really lock down the cycle of building templates, weblogs, field groups, etc.


The Facebook Flea Market, or Why Diversification is the Only Free Lunch

Posted: March 19th, 2008 | Author: Zvi | Filed under: Development, Entrepreneurship, Social Media | 2 Comments »

Facebook applications are awesome – and a good number of developers and agencies have committed to themselves full time to developing applications for themselves and for clients. We all see huge potential for being able to interact with users on such a personal level, so easily. Relying on other services is a big component of this generation of web applications in general. The ability to import and export data out of other services freely using publicly available APIs really lit a fire among coders, hackers, and entrepreneurs. I’ve used other people’s APIs to create a few things of my own (including a bunch of FB apps).

The problem is, it’s not yours.

* You’re running your business on other people’s property – They can kick you out an any time, for any reason (or none whatsoever).

* When it goes down, you go down – I’ve encountered periods of extreme frustration when something goes down (say, the Facebook Platform), and thus, your application breaks or disappears altogether. Good programming and redundancy can mitigate that **some** of the time, but otherwise, you’re stuck whining “it’s not me!”

* Who says they’ll stick around? – Similar to above. Unless they are an established and stable company (and what company is in the current economic state), they have to be concerned with their own profitability. Who says they won’t go belly up, leaving you SOL?

* You have no control – A slight change in the way things work can throw everything off-kilter for you, and you have no control over that. That happened to me last week, and, as responsive as they may have been, I still had no technical ability to stop it or change it back. You just deal with it.

* There are no guarantees, and no responsibility – You’re using a free service, most of the time with no SLA. While they may have you agree to something, there’s nothing on their end.

* You are just a feature – All too often, I’ve seen things that rely so heavily on external systems that it’s really nothing more than a nice little feature, a tool that helps someone use the primary service.

* You are replaceable – If you really are just a feature, who says you can’t be replaced. Everyone was yammering about social.im a few weeks back – so much for that. (there’s a rumor that they were acquired by the big blue giant, but I highly doubt it).

I’m not saying that you shouldn’t ever develop an application that relies on any external system. But you shouldn’t put all your eggs in one basket – diversification is the only free lunch.


I Made a Fire Eagle Application

Posted: March 8th, 2008 | Author: Zvi | Filed under: Development, Geekery, SkeevisArts, Social Media | 4 Comments »

Late last year I mentioned that Yahoo was coming out with it’s own location management platform. They launched it last week in private beta. At this point – it really is just that, a platform. Very few applications exist. Seth Levine was kind enough to send me an invite.

I wrote a quick application using Fire Eagle. Birdwatcher shows recent location updates on a nice pretty map (using the Yahoo Maps API, of course…).

The bummer is that I can’t get a feed of recent updates platform-wide that twitter offers, even if I’m not displaying any identifying information. So if you want your updates to be added, click the “Add yourself” link in the top right corner and the application will start showing your locations as you add them.

I see location as an upcoming feature in online interaction. As our technology usage grows more transparent and better integrated in our lives, including while mobile, where we are will play a role.

My ideal application is something that will automatically update itself on my location, and notify me if my friends are near me. From the screenshots on Fire Eagle’s site, it looks like they are planning a Facebook application that will do that. If they don’t come up with something soon I may do it myself…

I’ll eventually post up the source code for BirdWatcher, so others can see how it works + improve.

Some Overall Thoughts

  • The geocoder is pretty robust. Just like Google Maps, you can type in a lot of crap and it’ll figure it out.
  • The platform isn’t that stable yet. Was down for a while today.
  • Don’t launch a platform with a total of zero demo applications (other than a very basic walkthrough).
  • Don’t launch a platform with incomplete libraries (the PHP api had about half of the functions, and didn’t fully work).
  • Fire Eagle is touted as heavily privacy focused – in face it’s about the same as Facebook. Once you grant permission to an application, they can see and do whatever they like.

UPDATE: I encountered some issues with the API yesterday, but they are resolved now.

UPDATE 2: Yeah, they changed their API around. Thanks for telling me… NOT. What has two thumbs and is really annoyed right now? THIS GUY. The app is broken right now. Fire Eagle is taking a ride on the FailBoat.


WhyGoSolo Facebook Application

Posted: February 11th, 2008 | Author: Zvi | Filed under: DC, Development, SkeevisArts, Social Media | 1 Comment »

I made the WhyGoSolo Facebook Application, which just launched. If you join WhyGoSolo, you can have any events you create or sign up for show up on Facebook automatically, so you and your Facebook friends can know what you are up to.

We’re planning on adding a lot more functionality to it in the future. Our main focus is bringing what happens on the main site into Facebook.

If you haven’t heard of WhyGoSolo, they’ve built a social network targeted solely towards offline meetups – NOT FOR DATING! So if you have an extra ticket for a show, are new in town, or want to find someone to go golfing with you (my personal use case), you can post a listing on WhyGoSolo and connect with someone who will do it with you.

I’ve come to know the founder, Ann Bernard, and her CTO, Keith Casey really well over the past couple months – they are both amazing people and an inspiration for any entrepreneur. I really want to see them and WhyGoSolo succeed like everyone knows it can. They also blog everything.


Idea: Picket Fence Project

Posted: February 10th, 2008 | Author: Zvi | Filed under: Development, Geekery, Ideas, Social Media, Tech | 2 Comments »

I’m thinking about starting an open source project, based on a need I see. I’m working on fleshing out the idea a little bit more, and recruiting some local PHP developers I know to help me. I don’t have time for this, but who does?

One of the great things about developing third-party applications on Facebook and other platforms is that everything related to user authentication is handled for you.

$user_id = $facebook->require_login();

All a developer has to do is toss in that one line of code, and all user authentication is handled for you.

When building web applications, I’ve spent way too much time dealing with user authentication, profile registration, logging in, logging out, etc. There are lots of tutorials for this, but in the end, you always have to figure it out yourself.

I want to start an open source project that will create a dead-simple user management system, so all a developer has to do is call one line of code, and everything else will be taken care of for them.  I’m calling it the Picket Fence Project.

I also want it to be easily configurable, and it to allow you to log in (optionally) with:

  • OpenID - which is way too complicated to implement on your lonesome
  • Facebook - If they can log in with their Facebook account, great
  • Anything else – whatever other auth systems become available.

Of course, if this is already out there, great. Just tell me :-)

And if you are a PHP rockstar with some extra cycles, let me know.


Check DC Metro Times Online and On Your Cell! Metro Times Relaunches As GetMetroTimes.com

Posted: December 30th, 2007 | Author: Zvi | Filed under: DC, Development, SkeevisArts, Tech | No Comments »

After considering it for a while, I decided to give my DC Metro Times checker it’s very own website! Everyone welcome getmetrotimes.com !

GetMetroTimes.com is a FREE service that allows you to quickly and easily check when the next metro train is arriving at your nearest station. You can check it online, or on your cell phone with just a quick text message! We charge you absolutely nothing, however your provider may charge you normal text messaging rates.

Additionally, I made some backend improvements to handle a wider array of queries. For example, to get the station info for College Park, you could type in coll, cOllEGe, collegepark, college park, collegepa, and similar variations. Have fun, and let me know if you break it!

FYI: Metro currently offers an online station monitor, as well as a WAP site, and Justin told us about an iPhone specific site. I created this because no service is currently offered that does this via text message, and it solves a real pain myself and many others have! Enjoy!