So you and your mate decide to spend the day programming your
new pet project. As you do. You agree a time and place. You turn up
ready to go. But you're not ready to go. Why? Because you haven't
thought about the practicalities. You've been too busy with your
day job.
Well, maybe you'd do better, but Jon and I made the most basic of errors. But
despite this we had a great day - productive and enjoyable. So I
thought I'd share a report on the day that you might find amusing,
but also might help you if you decide to do something similar. It's
basic as hell - but it's the little things that get ya!
1. Bring the power supply for your laptop (this one's mine -
still can't believe I did this!). Thankfully there was another Dell
laptop at the office that I could steal for the day. Schoolboy
error number one.
2. Ensure that the power works in the room you'll be working
in.
3. If there is a codebase in a repository somewhere already,
then make sure each team member has logged in and has downloaded
the latest codebase in preparation to hit the ground running. I'd
logged in and changed my avatar - but hadn't changed my password,
so I was locked out. Schoolboy error number two. Also, there is a
difference between being able to log in and being able to download
the code, depending on the granularity of the security settings of
the system you're using.
4. Have plenty of refreshments on hand, and know how everyone
takes their tea. A very important one this, and thankfully Jon was
on it, plenty of tea flowing all day. (I know, real developers
drink coffee, but we're just pretending to be geeks).
5. Ensure your codebase builds and is stable - no last-minute
changes! The last thing you want is to be tweaking it while the
other members of the team twiddle their thumbs while you fix your
mistakes. Bring new code by all means, but don't commit until
you're sure it's going to work - at least then you won't stop
others from getting on with it. Basic SVN best practices.
6. Make sure you're using the database you think you are, and
have the latest version online on your server (if you are running a
demo site like we were). Messing about downloading database
publishing wizards and the like is just more time wasted.
7. Have all of the tools you're going to need installed and
working on your laptop. Make sure you have enough disk space free
for the tools you'll need too (schoolboy error number three).
8. Have your usernames/passwords/connection strings/etc
somewhere central that everyone can access them. Using a forgotten
password link while everyone sits around waiting for the email to
arrive is not very productive.
9. Factor in time for excited tweeting.
Timeline
09.30 - 10.00 Fun with power cables and SVN - WASTE.
10.00 - 11.00 Architecture chat.
11.00 - 12.00 Database issues, getting latest database onto the
server, installing database publishing wizard and worrying about
twindling disk space - WASTE.
12.00 - 13.00 Let the real work begin! Creating Umbraco document
types, getting existing code onto server, getting site finally
finally working. Started on user controls.
13.00 - 14.00 Excellent slap-up lunch. We deserve it.
14.00 - 16.30 Awesome burst of creation. Site grows and grows.
Not much said, lots of tea drank.
16:30 User signup live and tested on live site! Can browse to
members, their blogs and galleries, etc.
16:30 - 17:30 Testing, more development and wrap-up.
Completed
Member sign up, sign in.
Browse your blogs and image galleries.
Upload images.
Create blog entries.
Add comments to all content.
Summary
So we've created the bare bones of a social networking platform
based on Umbraco in a matter of hours. This is a testament to
Umbraco's ease of use rather than our programming prowess that's
for sure. It shows you how much is possible with Umbraco in a short
time - imagine if we'd actually been organised! We have a second
day of SocialFront development planned for later in the month and
hopefully we'll be releasing the lot before the end of the year. As
I said in the Introduction to SocialFront we are hoping to
provide the foundation for Umbraco developers to build on, and
we're hoping that folk will get involved. Having both worked on a
number of large social networking sites, and with Jon's extensive
experience with the existing systems out there, and knowing what
the Umbraco community is like, we are confident that we are
starting the development of a system to rival the best of the
paid-for social networking platforms out there. We have plenty of
ideas for future development, but first step is to get the code out
the door so people can see it and use it and get involved. Watch
this space!