DevelopmentNow Blog
 Tuesday, February 10, 2009

NuSoap is a very popular framework to make SOAP web services in PHP, but what about REST? Here's a list of PHP REST Frameworks or starter kits to kickstart your web service mojo.

 

Web
February 10, 2009    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Thursday, November 20, 2008

For a while the main Joomla! social networking plugin was Community Builder, which we've used for a large Joomla-based social network. CB is ok but fell short in some areas, and it was necessary to stitch together a number of other plugins to get a full SNS featureset. However, JomSocial was just released today (by Azrul, the makers of JomComment and other fine components) and looks to be a strong viable alternative to CB for building an open source social network. We're looking forward to working with JomSocial in the coming months and will relate our experiences as we get more in-depth. In the meantime, if you're looking to build an open source social network or add social media capabilities to your existing Joomla! site, feel free to contact us.

November 20, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Wednesday, October 22, 2008

I was talking iPhone webapps last night with some other developers & the discussion turned to Javascript debugging. Thanksfully, most mobile web apps don't use a lot of javascript (mainly because they should be simple apps & mobile devices don't have the horsepower to do tons of javascript). But still, I rooted around and this post from Christopher Hill about enabling javascript debugging in Safari with Drosera. However, it only works in the Mac version of Safari, and you should grab the nightly build to boot.

If you're testing on Windows, you can get by with Firebug/Firefox for heavy & initial debugging, and then using Safari's Developer tools (enabled in the Preferences->Advanced dialog) and Safari's javascript console to echo out debug statements using javascript code like this:

if(window.console) {
        window.console.log("some debugging text");
    } 
mobile | Web
October 22, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Thursday, August 21, 2008

We've gotten some good feedback about our new design, and as part of our ongoing redesign we rolled out an iPhone version of our web site. If you're looking to make a mobile version of your web site, contact us.

iPhone | mobile | Web
August 21, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Friday, August 08, 2008

We use jQuery a lot here, and love it. Great JS lib, lots of handy plugins. But part of the problem is finding good plugins. :)

I enjoy AjaxRain on occasion, but lately it's just too much information & it gets slower and harder to find what I'm looking for.

So I stumbled across a few posts on noupe.com showing today off some attractive jQuery plugins, with handy screenshots, descriptions, and project links. Granted, the posts are a few months old, but still a great resource. I've already eyed a few to use for an upcoming social media photography site.

And instead of bookmarking those links, I figured they'd be good for quick Friday blog post.

http://www.noupe.com/jquery/50-amazing-jquery-examples-part1.html

http://www.noupe.com/ajax/45-fresh-out-of-the-oven-jquery-plugins.html

http://www.noupe.com/ajax/37-more-shocking-jquery-plugins.html

 

Web
August 8, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Thursday, March 27, 2008

Yeah so this isn't brand new. But the jQuery Cheat Sheet is for version 1.2, at least. Visual jQuery (which I still use a lot) is only for jQuery 1.1. I sure hope someone doesn't come out with a Visual jQuery clone for jQuery 1.2.X ... :)

March 27, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Tuesday, January 15, 2008

So I ran across a 7-month-old blog post from Guy Kawasaki on how Truemors.com cost him around $12,000 to launch.

Basically, it's a straightforward site where people can submit news, rumors, buzz, etc. It's a modified version of WordPress, allowing anonymous posting, and it's nice looking. A few thoughts based on the article:

  • Note how even though the post is "old", the message is still relevant.
  • Note how 30-40% of his costs were on legal fees (!)
  • Note how he didn't have to spend a ton of money on development -- he whipped together a simple, easy, user-generated content (UGC) web site by modifying existing packages. That's what we do for building social networks, and it saves our clients a ton of money.
  • Note how he didn't do a big up-front plan -- he just did it. Then again, the cost was so low that it probably wasn't worth doing a large business plan.
  • Note how the site took off due to his contacts and connections (and a bit of luck?), not due to any killer feature.

 

Web
January 15, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Wednesday, January 02, 2008

Happy New Year folks. And, here's an interesting link to some Joomla! 1.5 performance testing. I find it interesting because

  1. Joomla! 1.5 beta 2 was slower than good ol' Joomla! 1.0.13 RC
  2. There were discussions of a number of PHP caching techniques which can be applied to any PHP system

The caching techniques covered were "file caching" (which sounded like filebased output buffering aka Cache_Lite_Output to me), Alternative PHP Cache (APC), eAccelerator and Memcache. xcache was mentioned in the comments but not tested.

So if you're interested in a quick overview & comparison of some PHP cachine techniques, go ahead and read the article ... I found it interesting that despite memcache's reputation, its performance fell behind other caching methods.

Linux | Web
January 2, 2008    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Thursday, November 29, 2007

When search results are displayed on Google, the descriptive text below the page title is called the snippet. See example below:

 

Matt Cutts from Google recently videotaped a bunch of impromptu tech-oriented videos (I think he stole the idea from me <g>), one of which was how Google comes up with the snippet. Hint: it's not always your meta description tag, and sometimes it's even your DMOZ description! :/

You can view the video, or view notes courtesy of Eric Enge. I personally prefer to skim notes in 2 minutes instead of watching a 10 minute video, but that's just me...

Web
November 29, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Wednesday, November 28, 2007

I recently ran across three Facebook application generators that allow you to quickly generate a Facebook app from your existing Clearspring widgets, Widgetbox widgets, or Dapps (content feeds).

Clearspring's Facebook App Generator

Widgetbox's App Accelerator 

Dapper's Facebook App Maker 

Building a Widget inside an existing framework can be helpful for developers, as you can leverage existing APIs and distribution channels.

Thx to Mashable for the info. ;)

Web
November 28, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [1]



 Saturday, August 25, 2007

You may have seen Web 2.0 Creatr, but if you have a copy of Photoshop, you can create your own logo. The many following links show you how:

Logos

link
link
link
link
link
link
link
link
link
link

Web 2.0 Page Header

link
link

Web 2.0 Buttons

link
link

I apologize for the bare-bones link list. :)

Web
August 25, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Monday, August 13, 2007

One of the nice things about open source is you can build a site/web app quickly with it. But the downside is if you go with the vanilla install and only spend an hour or two customizing it, you don't have much to differentiate yourself from other sites using the same open source product.

For example, I've heard people complain about WordPress (open source blogging platform), saying that the sites you can make with it "all look like WordPress sites." I think that's true if you go with the same themes everyone else does. But with a little effort, your site can look totally unique.

When Mashable ran an article yesterday about Pligg being for sale, Pete Cashmore mentioned that "we get around 3 Pligg-powered sites submitted to Mashable every day." Obviously I don't see 3 Pligg-site reviews each day, so it means that most of them are turned down.

I asked Pete in the comments how he decides which ones (if any) to write about.

Me: Pete, out of curiosity, since there are so many submissions, how do you decide which ones to write about? Are most of the submissions vanilla installs with an hour or two of customization, and thus you write about the ones that are truly novel, or significantly enhanced, or are backed by an actual business/management unit?

Pete: Just answered your own question. ;)

Granted, my question was a bit leading, but I at least wanted some confirmation, correction, and/or elaboration.

August 13, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Thursday, August 09, 2007

 Sk*rt is a new (well, since may 07) social bookmarking site branded as a "Digg for women," allowing users to submit, rate, and comment stories & links in a variety of categories. It definitely has it's own bright, welcoming feel, as opposed to more tech-heavy sites like Digg, Slashdot, etc.

An interesting point is that Sk*rt is powered by Pligg, an open source Digg clone. Leveraging existing software allowed Sk*rt to get up & running very quickly, because instead of writing a lot of software, they could instead configure & rebrand Pligg.

skirt.PngHowever, Sk*rt has to make their source code available under Pligg's Affero license. They may not need to provide everything they've written, but certainly any modifications to Pligg's codebase would need to be provided, and I wonder if they would also need to open source their Pligg template, design, and any other addons.

Once again we see software as a commodity, and at least for Sk*rt (for now), their competitive advantage isn't their code. Instead it's their design, branding, marketing, content, user base, financials, and management.

After all, if all that mattered were code & features, the slew of Digg & MySpace clones would have already come to the forefront.

August 9, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Wednesday, August 08, 2007

Below are some web sites where you can browse cool web designs, get free templates, and/or find a designer.

Good to get ideas on looks, colors, etc.

Web
August 8, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [2]



 Monday, May 21, 2007

An interesting case study over at the CakePHP site about Mingle2, a dating site built in "66.5 Hours."

What I liked about the case study was the developer talked about techniques he used to flesh out features and manage scope. IMO scope control is your most powerful weapon in getting something developed quickly -- many projects can get bogged down with small details that aren't as important yet end up taking a lot of time.

I believe there was a quote I read once, something like "the first 80% of a project takes 80% of the time, and the other 20% takes the other 80% of the time." Or other variants of the 80/20 rule, like "20% of the effort is spent on 80% of the features," etc.

Feel free to make up your own quote, using the numbers "80" and "20," that basically means you can deliver a subset of features significantly faster than an entire set of features, so to develop sites quickly, you should select a good subset of features and build those.

Since the case study is about a dating site, I should probably point out that the developer is single, which gives him more time to put towards startups. I only mention this because Paul Graham blatantly said he "wouldn't advise anyone with a family to start a startup" and "to start startups when you're young." (point #9 in Why to Not Not Start a Startup)

So all you Web 2.0 barons out there -- ditch your significant others for the time being & crank out that web site. Once you're rich from getting acquired by Google, you can try to convince your lost love to come back with expensive reconciliation gifts.

Wait...how did this "rapid development" post turn from scope management to dumping girlfriends? Man, blogs are funny.

Web
May 21, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Sunday, May 20, 2007

I was writing on a Startupping thread about scalability and figured I could reproduce some of what I wrote here. The topic was about planning and dealing with having to scale web sites as traffic increases. I pasted on some of my responses & added some headings that give a frame of reference to what I'm babbling about. Again, the below is personal experience and opinion, and there's a lot of information on the web to supplement (and I'm sure in some cases contradict) what I refer to, below.

Planning to Scale

In my previous life at a big dot-com, we actually started thinking about multiple servers right away, in order to provide uptime/redundancy & zero-downtime code deployment. We learned along the way, did a lot of research, and/or hired good people with experience. It's always good to have good people. We also hired a few specialty consultants for a few hours of suggestions, and worked with hosting providers who had other big clients, so that we could benefit from their experience.

We started out using software load balancing, moved to hardware load balancers, & eventually to round robin DNS between two large server farms (which had their own hardware load balancers, redundant everything, etc).

We had issues with scaling whenever we hit a specific wall, e.g. when we hit bandwidth & server limits for routers, firewalls, & data centers. We had issues when we hit certain technology limits. We also had issues if we got slashdotted, but that happens. One year we were unexpectedly linked to by a very large, prominent ad on the home page of a top 5 site, so our traffic levels went through the roof, we all got called at 4am, and we stayed pretty busy ensuring things kept running.

A few things we did

  • We used a managed hosting provider who could prep & deliver new servers quickly, to help us with scaling quickly. Managed hosting also meant the provider could help out with monitoring, troubleshooting, setup, and solving problems. So e.g. if you lose a PSU at 2am, you don't have to drive down to a colo and swap it out.
  • We did regular load & performance testing so we knew how many servers we'd need for certain traffic levels. We also did profiling to pinpoint bottlenecks, optimize certain parts of the site, etc.
  • We worked closely with our marketing team, so that we knew about upcoming media blitzes. We kept alerts on blogs & news sites to watch for links, & we kept an eye on our traffic.
  • We had monitors on our servers, so that if traffic/bandwidth/cpu started climbing unexpectedly high, we were alerted & could react before it was too late.
  • We looked at our traffic history so that we knew what times, days, & seasons were popular for our site.
  • We designed our software for easy deployment & replication, & streamlined our server setup process so that once a new server was ready, we could add it into the farm quickly.
  • We consciously built out our site to handle a certain load level, e.g. 3x last year's peak or whatever (3x is a made up example). You obviously need to handle spikes, but being ready & able to handle an "infinite" level of traffic isn't cost-effective, especially when you're young & trying to spend wisely.
  • We planned for & expected scalability & multiple boxes right away.
  • We had remote access to servers, reports, & monitoring tools, so that if a crisis occurred in the off hours, we could contact staff & not wait for them to get into the office.
  • We had names, functions, & phone numbers of key staff printed up on a laminated card (business card size) & given out to a number of staff, so that people could quickly contact others in case of an emergency.
  • We bought staff donuts or pizza or food. It was a cheap way to say thank you & made them feel appreciated & more willing to not complain (too much) when getting calls in the wee hours.

In hindsight, maybe we could have gotten away with spending less time thinking about scalability (or maybe not), but that would have increased our risk of disaster/embarrassment/etc, and potentially made for more painful & frequent firefighting. So there's the tradeoff. Just like other things in business, you can spent extra time and money up front to be more prepared for business growth, or you can wait until later and possibly pay more and feel more pain.

How do you know what load your site should handle? Should it be 3x last year's peak?

There's no magic number. We typically used 2x previous peak as a starting point only, and worked from there based on various factors. We put a good amount of thought into measuring our server performance and determining the traffic we expected and/or wanted to be able to handle, because it translated directly into how many servers we rented and thus how much money we spent on hardware. The load/server number really depends on your budget, your expected growth (including what your marketing team has up their sleeve), your risk/downtime tolerance (including SLAs or clients you have to maintain), and how fast you can scale. I mean, if you started out very small last year, and your marketing department is going to buy a superbowl ad this year, your traffic is going to be 100x last year's mark, not 3x.

So since capacity costs money (and unused capacity gets noticed), you have to plan it out a bit. If you just follow the rule of thumb and buy/rent enough equipment for twice last year's peak (or whatever), then that means most of the time your web servers are running at 1-15% capacity. And unless you have a lot of money, that means you might have management or investors asking you "hey, how come we spend so much money on servers when they're only running at 10%?" We mitigated that issue somewhat by having some servers keep busy performing "non-essential" functions (internal reports, data crunching, load testing, QA, etc) that could be curtailed during a crisis where we need every drop of CPU.

The whole "running at 10% cpu 90% of the time" issue one reason why expandable services like CDNs (content delivery networks), S3, & EC2 are intriguing, b/c in theory they allow you to scale some aspects of your service on demand without having a lot of extra horsepower & bandwidth sitting around unused. Or why VPSes are kinda interesting since you can potentially do some really quick deployments.

Another thing we planned from early on -- we planned to have our images & static files (css, js, etc) running on a separate domain, which allowed us to serve up static files using CDNs or other sources of cheap, fast bandwidth. That also helped us not max out router/datacenter bandwidth (at least not for a while), since images/css/etc are often a large portion of your outbound bandwidth.

Any must-have tools for performance analysis and dealing with traffic?

We were on a Windows platform, so it was tools like Web Application Stress Tool, LoadRunner, and Visual Studio Enterprise Architect's stress/load tool, among others. And of course you'll also want some sort of web analytics package (AWStats, google analystics, webtrends, etc) to tell you what typical user behavior is, what your most popular pages are, etc. Because your tests should mirror typical user behavior if possible. You'll also need performance monitoring tools like PerfMon, etc, so you can see how your servers perform under various loads. So you figure out the page activity levels for a given number of users, max requests per second, max/avg response time, cpu load, how high cpu/ram/disk can go before your performance & user experience starts to drop. There may be better/other tools today, and I don't know what platform you're targeting, but those can get you started. I think it's ok to start with simple tools. We used Excel a good amount, too, to map, graph, and view performance test data.

For monitoring, we used the tools that our hosting provider had (we had managed hosting), but we also had a simple script that ran every X minutes, tried downloading a page, tried executing a database query, checked cpu/ram/etc, & blasted out an email if things seemed wrong. We also wrote our web site to log errors & send out emails if for example, database queries were timing out, or if code started getting bad errors like "out of memory". There are also a number of third party apps & sites that can monitor your site or servers every X minutes & send you alerts -- some will check your serevrs remotely (e.g. Gomez, Webmetrics), while others can install on your servers. I can't think of any installed apps offhand to recommend, but I'm sure you can find something workable w/ some research.

When you start having scaling issues, does your staff spend all their time on scaling instead of development?

If you don't hire any additional staff & don't outsource any work, then yes, as your site gets bigger and your company grows, there's going to be more work to do, and your initial team will probably be spending more time on support/scalability/firefighting/misc tasks.

For us, as the site got more popular, more time needed to be spent on performance/scalability/uptime issues. But we still had features to develop. So we hired more people to keep up with increasing workload.

A supplementary route would be to go with a higher-level hosting provider (e.g. Rackspace) & pay them to help you scale out, and/or hire short term scalability consultants who can give you suggestions, etc. If your app can already scale horizontally, that helps, b/c then you have the luxury of having a choice: either spend time making your app faster, or money buying new servers. Or both.

Another suggestion: if you're starting out very small & cheap, you could start with a VPS on a single server, since you can quickly move that VPS to a bigger/faster machine before you need to scale to multiple machines. Once you go multi-server, you may even want to stick w/ VPSes, since the additional ease of backups/migrations/deployment might make up for the performance hit. Since virtualization technology is getting better all the time, the performance impact of running VPSes is smaller than you'd think (e.g. Xen is supposedly only a 5% hit). 

How quickly you can scale make a big difference in terms of the time you spend on capacity planning and actually scaling your site. Akamai also has some neat stuff (although it can be expensive) that allows them to serve up dynamic pages on their CDN, which in turn reduces the load on your main servers & prevents you from having to set up extra servers as quickly. Think of it like a front-end cache/reverse proxy type thing. Other CDNs might have similar offerings. There are also accelerators (both hardware, or software like Squid) that do similar stuff, although setting up your own front-end cache w/ stuff like Squid means you're losing one of the big benefits of CDNs, namely that they do the scaling instead of you.

 

Hosting | Other | Web
May 20, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Friday, May 18, 2007

FYI I started up a new VSN on Ning called GeekBuddy. You can find it at geekbuddy.ning.com. I built it mostly to learn more about the Ning platform, since I think it'll be a viable candidate for people & organizations who want a straightforward, attractive, hosted social network. You can even request the source code (as I have) & make direct modifications. I'll post more thoughts on Ning as I work with it more, but for the time being, if you want to join the GeekBuddy network and say hello, that would be awesome. :)

There are at least two things about Ning that make it not right for everyone, though:

  1. It's a hosted solution, which means you don't have full control over performance, uptime, and upgrade schedule.
  2. You can't 100% remove all Ning.com branding (although you can remove a lot of it). So you don't have a fully-encapsulated user experience, and people will know you used Ning to make your site (which isn't necessarily bad).

For point #2, I think some people worry competitors will see that they used Ning & quickly crank out a clone. I don't think it's as much of an issue as one would think -- for example, no one has that concern about putting a forum on their web site, even though forum software is (now) easy to install.

If your competitors are smart, they probably already know about Ning or some other quick SNS solution. And since software is becoming increasingly commoditized, the way you beat your competitors isn't going to be the software -- it'll be things like your capital, partnerships, content, creativity, marketing, and any customizations you've made to the platform.

Of course, it would be better if your competitors didn't find out about how easy it was to make a social network, but anyhow...

May 18, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Tuesday, May 01, 2007

I've been doing some work with full-text searching in MySQL lately & came across a few solutions that could really use a wiki. So I wanted to recommend a free, hosted wiki solution, but the only one I've used is Wikispaces (which IME is slow & annoying). But I learned/read about a few others, so here's a short list of free, hosted wikis, in case your community needs a wiki, but you don't want to bother with installing/hosting one yourself:

There are many others, of course -- wikipedia has a big list of wikifarms showing which ones are free. The biggest risk in using a third party wiki IMO is that they have your data, and if it's a free plan and/or a small company, what guarantee do you have that your content won't go "poof" one day & disappear? Oddwiki (one place you can get a free wiki) even tells you

"Nothing is permanent. Use at your own risk. We plan to delete all wikis that were not edited in 180 days"

Heh. So, that's one reason I'd go with a bigger provider if you don't feel like installing your own wiki (which is pretty easy to do if you have a server you can install one on).

 

Hosting | Web
May 1, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Friday, February 16, 2007
FYI, TinyMCE is a nice little editor that makes it super easy to turn a regular textbox into a WYSIWYG HTML editor.

You can play with a demo and see how to install it.

I haven't looked into how to extend it, but if you have a number of textboxes containing editable HTML, you owe it to yourself & your users to bolt something on like TinyMCE.

FWIW I've also worked extensively with FreeTextBox, and while it's nice, installation is a bit more involved, and progress on it seems to have slowed. Plus it's not totally free open source, and the HTML output isn't very XHTML (unless you buy the non-free version).

TinyMCE is cool because it's a literal bolt-on that you can include w/o touching your ASP/ASP.NET/PHP code if you don't want to.

To be fair, another really popular WYGIWYG editor is FCKeditor. I haven't used it, but I've heard it's the bees knees.

And lastly, there's a new potentially-hip WYSIWYM (What You See Is What You Mean) editor cll WYMEditor that I mentioned a while back. Their goal is to keep the outputted XHTML simple, since oftentimes users can paste or SHIFT-click their way to producing crappy HTML that "looks" good to the eye but is horrible (e.g. extra breaks, inline styles) for CMS systems.
Code | Tools | Web
February 16, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



I've been playing more with jQuery lately and enjoying it. It's small, quick, cross-browser, CSS-compliant, and won't conflict with any other javascript libraries (including ASP.NET AJAX). There are also a number of easy-to-use plugins that offer some nice almost-turnkey functionality w/ a few lines of javascript (e.g. tabs!).

There are other powerful javascript libraries, like prototype, script.aculo.us (which uses prototype), dojo, mootools, and a bunch of others.

It's tough keeping on top of everything in web development, since there are new tools and widgets all the time. Spend too much time checking out what's new and you never learn anything in depth or get anything built. Spend too little time learning what's new, and you miss out on huge timesavers and risk getting outmanuevered by speedy web 2.x competitors. So I try to maintain a balance, and drink a lot of coffee. :)
Code | Web
February 16, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Tuesday, February 13, 2007

One day, a friend asks you if you could help them make a simple web site. Your friend said it would be great if it could include things like a blog, photo gallery, maybe an online calendar. Maybe your friend's in a band and wants to have a mailing list and an online calendar. Or they're a budding artist and want a photo gallery to show off their work. Pretty understandable requests, and pretty common features (nowadays).

However, you have a dilemma. Your friend doesn't have a ton of cash, and you don't have a ton of time. While you could build all those features from scratch, that could take a while. You want to make sure that you don't undertake a project that could spiral from hours into days of work. But you don't want to send your friend packing, and there's got to be a lot of free or almost-free stuff out there that you can stick together, right?

Yep, there sure is. Here are some things that I found or used before:

  • Use Google Apps for Domains. It provides everything a basic site could need -- email, calendar, a page editor, and some attractive (albeit a bit generic) page templates allowing someone to build a site in a WYSIWYG way. I didn't see a way to upload a custom page template, but you can edit the HTML of the page "sections" in order to embed stuff like YouTube videos or whatever. I like WYSIWYG editors because it means that you can make your friend work on & enhance the site, instead of you having to make every tweak. Note that you can use Google Apps just for email and calendar -- you don't have to use it for web pages if you don't want to.
  • Use a cheap web host. The cheapest I've found is E-rice, but it's very no-frills. GoDaddy has basic plans for $3+/mo that include PHP, MySQL, email, and a number of ready-to-install apps (blogs, forums, CMSes, photo galleries, etc.) for Linux or Windows hosting plans (Linux has way more freebies). Dreamhost is a bit more expensive and also offers one-click installs for blogs, CMSes, wikis, photo galleries, etc. The free add-on apps available for GoDaddy and Dreamhost accounts are nice, because if you want to include those features later on, you don't have to mess with installation. If you're trying to decide between Linux and Windows, I'd suggest going with Linux/PHP plans, since there's a lot of free/open source PHP code out there that you could include in the site later. And PHP is fun. :) 
  • Use a blogging service like Blogger or Wordpress or Typepad. They offer lots of templates (althoguh you can make your own), you can have them on your own domain, they often offer embeddable widgets, and they're cheap or free. Great for a basic personal or family site. Plus, a blog-driven site means that your friend is in control of the content, which is a good thing. :)
  • If you don't want to use a pre-existing blog template, you can use open source web templates from oswd or OpenWebDesign. Some require attribution, but all are free. Andreas Viklund also linked to some open source templates here and here.
  • You can include free stock art from stock.xchng or flickr. For stock.xchng, all the stock art is free, although some photos require you get the author's permission and/or provide attribution. Note that stock.xchng often includes non-free samples from Stockxpert.com in the search results, so be careful where you click. For "free" stock art on flickr: 1) do a search, 2) click "advanced search", 3) check "only search within creative commons-licensed photos", and 4) re-perform the search. You'll see photos on flickr available under the Creative Commons license, which means you must try to obtain permission and provide attribution (e.g. a link somewhere on your site saying "city photos courtesy of Mike Smith"). There's also a "stock" group in flickr where you can find photos.
  • For photo galleries, you can include widgets & links from flickr. Photobucket has a nice photo album widget that makes it easy to add a photo album to your site. Or you could pay $40-60/year for a clicker, more integrated photo gallery from SmugMug. Or use any number of open source photo galleries (DreamHost & GoDaddy offer one-click installs if you have Linux hosting).
  • You can use Google Calendar to track and share online events (good for band, bar, etc web sites), and embed it into your site. If you're using Google Apps, embedding it is as easy and clicking the "add widget" link. Otherwise you have to go through a few more steps, but it's still easy. 30 boxes is another very nice online calendar, and they have a nice "Share" button in the upper left that makes embedding your calendar in your web site a snap (click "Add to Blog"). Nitpick to 30 boxes: maybe rename that link from "Add to Blog" to "Add to Blog / Web Site" ?
  • You can run a simple mailing list/discussion group using Google Groups or Yahoo Groups. Google Groups has added some neat new features lately.
  • You can find other easy-to-embed widgets (e.g. local weather, latest news, games, a clock(?) )for your web site at WidgetBox or Google Gadgets. Like this weather thingy:

So there's the high level bullet point deal. Now you can help your friends and neighbors put together some basic sites while minimizing the risk of it becoming an ongoing project.

Code | Web
February 13, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Wednesday, January 31, 2007

Ok, I'm not a designer, I'm a developer. So tips that are new to me are often old hat to my designer friends.

Nonetheless, I put tips out in hopes that they'll be as helpful to me as they are to other non-designer developers who are still often called upon to put together a simple site that still looks decent.

So, I was looking into rounded corners today. You know, the cool hip rounded stuff you see on every Web 2.0 site. So I found Smiley Cat's CSS Rounded Corners Roundup, a big list of rounded corners techniques. What I liked is that many of them had online generators, so I could type in some parameters (color, size, roundedness) and be given the exact HTML, CSS, and images I need to pull off my cool rounded corners effect.

For example, I got this from roundedcornr.com:

 

So, I was looking into rounded corners today. You know, the cool hip rounded stuff you see on every Web 2.0 site. So I found Smiley Cat's CSS Rounded Corners Roundup, a big list of rounded corners techniques. What I liked is that many of them had online generators, so I could type in some parameters (color, size, roundedness) and be given the exact HTML, CSS, and images I need to pull off my cool rounded corners effect.

I also ran across a javascript/css-only version called Nifty Corners Cube. Since it only uses CSS and javascript to give rounded corners to DIVs, no images are needed, and the latest version of NiftyCorners lets you do other stuff like rounded menu tabs, or complex layouts.

Code | Web
January 31, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Wednesday, January 24, 2007

Programmable Web posted a blog about tools to create mashups. For example, Dapper and OpenKapow make it easy to create web services based on scraped web sites.

And, I made a new category called Web. :)

Web
January 24, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Tuesday, January 23, 2007

Smashing Magazine came up with a link-list post called 53 CSS Techniques You Couldn't Live Without. It links to cool CSS effects that are easy enough to add to your web applications. Developers (like me) are notorious for being, hmm, spartan when it comes to design, so ready-to-go script that lets me jazz up my pages is welcome. Plus, Smashing included little screenshots of the effects, so you don't have to click through to see what they're like (though a few of the screenshots don't really explain the effect well [I'm talking to you, Link Thumbnail]). Anyhow, here's images of a few:

CSS Teaser Box
CSS Teaser Box

CSS Ratings Selector

 

ASP.NET | Code | Web
January 23, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Sunday, January 21, 2007

I was reading TechCrunch today and noticed an article about booBox, a lightbox product that allows Amazon affiliates to incorporate cool web-2.0 "popups" with Amazon.com products into their site. I often read about startups on TechCrunch, and sometimes I think to myself "man, I wish I had thought of that" or "man, I could do something like that."

Well, today the barrier to entry was so low that I came up with a competing product in under an hour. And not only that, but I'm offering three times the options! And did I mention it was free? So I give you ... the DevelopmentNow Amazon GreyBox!

For demo and code, go here.

This is a real life example of what I was getting at in my Social Networking for Sale post -- with rapid development techniques, open source software, and the huge availability of turnkey widgets, code samples, and solutions, product development is becoming increasingly commoditized, allowing the easy output of "close enough clones." A previous employer had experience with a competitor whose product was "close enough" to be a real competitive threat, and so winning clients was less about the actual product than the strength of the team, marketing, PR, customer service, existing client list, and sales power.

So do I think that I'll be a serious competitor for booBox? Probably not, unless I put together a hip-looking web site, send out press releases, work the conferences, etc. And competing with them wasn't really the point. Rather, since Mike Arrington gave booBox "an early thumbs up" and said it "may be quick acquisition bait for Amazon or eBay," it seems there's potential gold even for quickly-developed apps.

Granted, I were serious (or smart?), I probably should have said my product took weeks/months to develop, not minutes/hours. And instead of using my product to prove a point on the commoditization of software in a little-read blog, I should have instead used it to go for either some web 2.0 notoriety and/or a quick-hit acquisition. But ah well. :)

booBox

booBox

DevelopmentNow's Amazon GreyBox

product link

mini link

related products

January 21, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Monday, January 15, 2007

Well, I may have to start up a social networking category. I ran across Shuzak, a "social network for geeks." While the idea of niche-based social networks (or vertical social networks: VSNs) isn't a stunner, it doesn't seem very common yet. I'm sure we'll see many more in the upcoming year.

Shuzak seems interesting, but at first blush it feels less like a targeted MySpace and more like a BBS with extended user profiles. Like a custom Zoints Local app. I do like the fact that they're not just a generic social network, though ... they have a few features specific to their theme (e.g. syntactical code highlighting, mathematical equation formatting). I could maybe see this taking off in a university, allowing professors to set up private, invitation-only "classroom social networks" to allow their students to collaborate on projects, exchange notes, ask questions, etc. There ya go, Shuzak, I just gave you your in. :) Ofc, you probably already thought of that.

Anyhow, when one (like me) talks about a social network being a BBS with better profiles, is that a bad thing? How exactly does one define a social network? Is it features, e.g. profiles, groups, and buddy lists? Or is it purpose, e.g. exchange ideas, send messages, meet people? And if it's purpose, does that purpose have to be intentional (e.g. using eHarmony to find dates), or can it be incidental, as with the countless friendships forged in MMORPGs? Could you argue that other, existing sites that are centered around communication (forums, social bookmarking sites that allow comments) are social networks, too? Mashable sure did by mentioning Digg as a techie social network.

I will say, though, that looking enough "like MySpace or Facebook" will probably make it easier to get funded.

January 15, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Sunday, January 14, 2007

As I mentioned in Social Networking for Sale, I believe social networking software/sites (SNS) will become pretty commoditized in 2007. It's already pretty cheap & easy to get your own community site.

For example, there's Scuttle, open source social bookmarking software. If you need social networking software (a la MySpace), you can find it for free/open source with Alicia (aka PHPizabi) or AroundMe or osDate or Yogurt or Dolphin.

If you want a fancier MySpace clone you can spend $300 or so for phpFox or Handshakes or BuddyZone or webNetwork or Elgg Spaces or SocialEngine or a dozen others. 

There are also hosted, turnkey solutions like PeopleAggregator, Me.com, NingPringo, KickApps, and others, which offer plans ranging from free to paid.

There's also a social networking addon for vBulletin called Zoints Local -- plug it into your existing vBulletin site and bingo! instant "community."

And of course there are "community" addons for CMS+ platforms such as phpNuke, Joomla (Community Builder), Drupal, etc. allowing you to truly build your own SNS. One could also do it by hand using Rails or some other rapid dev platform.

No matter which option you choose, you have a number of customization options, not all of which require a programmer.

The point of all those links is to reinforce the fact that there's already a slew of cheap starting points for a social community site for would-be MySpace topplers. I figure there will eventually be a number of vertical social networks (VSNs) for gamers, hobbyists, flyfishermen, cheerleaders, etc. Maybe they'll be within MySpace, or maybe third party sites. Better yet would be if VSNs could integrate with people's existing social networks elsewhere on MySpace, Facebook, LinkedIn, etc, so that you don't have to abandon your friends, profile, and blog posts to tap into a more targeted community. People would be more likely to join a new social network if they didn't have to reupload all their photos, reanswer all their profile questions, etc.

PHPizabi Alicia

 

Boonex Dolphin
dolphin.png

OSDate
osdate.png

Zoints Local
Zoints Local

January 14, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [2]



 Thursday, January 04, 2007

I've been talking with different clients about building social networking sites. What I'm hearing more is the interest in specialized or vertical social networks (VSNs). Then what I hear is "so, how much would it cost to build a web 2.0 social network for <insert niche here>?" The answer is: it's getting cheaper all the time. The second, less-expected answer? That cheaper-to-build social networking sites isn't necessarily good news for would-be MySpace killers.

Interestingly, I noticed that mashable had a link indicating that ruduzu, the "anti-social networking site", is for sale. The winning bidder gets all the code, the existing community (all 273 of 'em), and one year of hosting. So far the bid is up to $3,800 with 15 days to go, so it's possible that potential MySpace killers can get their very own social site for well under $10,000!

I do think that plug & play social networking features (social widgets?) might be more popular in 2007. TechCrunch already talked about a comment system that could be quickly embedded in any site. I blogged about Plaxo's Address Book Widget making it easy to add all your buddies to a new social web site (and I wouldn't mind being able to import actual buddies from other social networks, too). So I'm sure we'll see other widgets (instant photo gallery! instant blog! instant buddy list!) this year, along with a huge crop of rapidly developed (and probably rapidly abandoned) "web 2.0" sites.

Thus comes my real point -- I think the base technology is becoming more of a commodity. I believe it's getting easier than ever to develop software and web sites, and developers are more reluctant to reinvent the wheel. Which IMO means two things

  • the barrier to entry for crappy "me too!" sites will continue to get lower
  • the differentiators will be (as in the past):
    • continual improvement & innovation
    • ability to raise and manage capital
    • ability to market and make deals
    • ability to serve up interesting content 
    • hard, continued work

So in 2007, if you wanted to knock out a quick & dirty MySpace clone in a few weeks, you probably could. You could make a Google Maps mashup in under a week. Maybe even build a deli.cio.us knockoff in a few days.

But if you want those sites to be something other than resume fodder, expect to put in some hard time. The days of "build it and they will come" are gone. If they ever existed at all.

January 4, 2007    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]



 Wednesday, November 29, 2006

Maybe you've seen some of the new cool web sites that automatically let you import people from your Outlook, Yahoo, Gmail, or other contact lists. That way your users don't have to remember or type in their friend's email addresses ... they just pick from an imported list.

Well I noticed that Plaxo has an Address Book Widget you can embed in your site that allows your site visitors to import contacts from Yahoo, etc. It would probably take you under an hour to implement on your site.

widget screenshot

FYI, the widget is free, but it contains a link to Plaxo.com.

ASP.NET | Code | Web
November 29, 2006    Bookmark to Digg or other social bookmarking
#    Disclaimer  |  Comments [0]