8 Oct 2007 - permalink
These last couple of weeks have been very exciting and quite hectic. Having just launched the music site Tape5.dk, we’re now thinking about marketing and future plans for the site. The launch itself was rather quiet as we have told only people close to the project about it - we’re still waiting for a few more deals with the labels to come through. Never the less it was a great feeling to flick the switch on a project underway for more than two years - it is now no longer a concept in development but an actual product we can tell the world about.
Being deeply involved for so long in a project you are bound to learn a lesson or two about management. A few things to keep in mind:
- Keep things simple. Even if it can be tempting to add new features, stay focused on the core value of the idea.
- Don’t spend too much time perfecting. A great idea will work without bells and whistles. No one expects a version 1.0 to do everything.
- Stick to deadlines if at all possible. Learn from mistakes and allocate more time the next time but accept a basic implementation for the first iteration. You can always refactor.
Although I believe we’ve done a reasonable job of keeping focused and dedicated to ship, it is something I will definitely be aware of in future projects. Having someone outside the inner circle of development review the plans and set the deadlines could be a great way of keeping up to speed. It would be someone you’d be hard pressed to disappoint (much like the client in financed projects) and, if possible, someone to motivate when the core team has run out of steam.
Speaking of future projects and following my post about searching for interesting projects, I was approached by the entrepreneurial Morten Wulff about the possibility to join a network of talented people to share and implement new business ideas. I’ve met a few people already and am very excited about the possibilites!
Also I’ve spoken with a couple of people about my Wii idea and they all share my enthusiasm about the possibilities, encouraging me to move forward. I’ll be writing down some of the details and ideas for approaching this over the next few weeks and then get started with a simple prototype.
7 Sep 2007 - permalink
I’ve always liked the fall. In the crisp and colder air everything smells of more, and with it comes memories of new adventures. Fall is when the semester starts again, when you find yourself submerged in projects. It is also the time of year when we left for 4 months in London last year. This year is no different.
Workwise, I am considering a change of scenery from working remotely for a British company. The absence of colleagues near me is becoming a missed part of work. Though rather busy at my current job, I am on the lookout for interesting positions near Copenhagen. By interesting I mean being part of building and shaping great ideas, applying and growing my technical knowledge. Where are the innovative (web) companies in Denmark?
The music site Tape5.dk, which Andreas and I have been developing for the last two years, is finally ready for launch this fall. We are currently finishing off any remaining development and closing the first series of deals with record labels. Soon the daunting task of marketing (on a very limited budget) will follow. October 1st is the launch date and, needless to say, we are very excited.
With Tape5 soon ready, I’ve begun thinking about my next spare time project. I always end up having a few of these at a time. I won’t tell much about it just yet, but it does involve a Wii, some internet and a lot of fun.
17 Aug 2007 - permalink
Today 25 years ago, on August 17 1982, the world’s first compact disk was produced by Philips. Later that year the first CD player went on sale in Japan.
25 years is a long time in technology. In 1982 when the CD was introduced, there was no public internet and mobile phones had only just appeared. Computers had between 800KB and 5MB of storage and memory was below 1MB, making today’s standards a +1000-fold increase (Moore’s Law has been surprisingly accurate so far. The law states that the power of computers per unit cost doubles every two years, so we should now have computers ~4096 (2^12) times more powerful than in 1982). It was before the first Macintosh was introduced, so computers didn’t have a visual interface. It sure is a long time.
The introduction of the CD and huge success (Philips estimate that more than 200 billion CDs have been sold to date) marked the beginning of the transition from analog to digital technology. While the Laserdisc preceded the CD, it was much larger, used mainly for video and never gained widespread adoption. The success of the music CD paved the way for the CD-ROM, recordable CDs, DVDs and recently HD-DVDs and Blu-ray discs. In a way, that beginning was also the beginning of the disruptive change that the creative industry is going through, with the music indutry in the front line. That the internet happened along the way only made change happen even faster.
The CD standard (known as “Red Book”) was co-developed by Philips and Sony and I believe this joint effort contributed in no small amount to the success of the format. It stands as a great example of why open standards are a good thing.
Read Philip’s official press release.
14 Aug 2007 - permalink
I’ve never noticed it before so I can’t tell you how long it has been in Mac OS X. If you have a Mac with ambient light sensor (I only tested on two MacBook Pros running 10.4.10), go to the System Preferences and select the Displays icon. The bottom of the window will reveal a surprising animation:
The ever experimenting interface builders at Apple have created a special kind of slider for adjusting the brightness to visually convey that the ambient light sensor is active and that the brightness (and slider) will adapt to the environment. Such a good idea even if the implementation is not that clear, particularly since you’ve probably never seen this control before.
7 Aug 2007 - permalink
I keep a set of bookmarks in my Dock (on Mac OS X) for stuff that I come across and find interesting but am unable to process at that time. That list grows over time and then, when some threshold is crossed, I take the time to go through them and decide their further fate.
One such bookmark was an article by Clay Shirky about the nature of groups, specifically in an online context. I have long forgotten when or how I came across it, but I finally found the time to read the rather lengthy text (at least for an online post).
Called A Group Is Its Own Worst Enemy, I found the article to be an insightful view on groups and the dynamics of those in general and in particular when formed online.
Shirky has a number of interesting points and rather than trying to summarize them (and no doubt miss important pieces), I’ll highly recommend reading it if a subset of the following holds true for you:
- Enjoy learning new
- Enjoy reading well written thoughts
- Are interested in people
- Work with, build or otherwise use social software
Should cover pretty much anyone :)
I hadn’t previously heard of Clay Shirky but Wikipedia reveals that he is, in fact, a well known authority on social-technological interactions and has written a number of books.
1 Aug 2007 - permalink
From security update 2007-007
released today by Apple:
PHP
CVE-ID: CVE-2007-1001, CVE-2007-1287, CVE-2007-1460, CVE-2007-1461,
CVE-2007-1484, CVE-2007-1521, CVE-2007-1583, CVE-2007-1711,
CVE-2007-1717
Available for: Mac OS X v10.3.9, Mac OS X Server v10.3.9,
Mac OS X v10.4.10, Mac OS X Server v10.4.10
Impact: Multiple vulnerabilities in PHP 4.4.4
Description: PHP is updated to version 4.4.7 to address several
vulnerabilities. Further information is available via the PHP web
site at http://www.php.net/
I say update to PHP5 already instead of patching a version that was surpassed 3 years ago. It’s been so long that PHP4 has been
declared end of life and the
GoPHP5 project is gaining traction.
I know Apple probably won’t upgrade in a minor OS version bump, but here’s hoping they’ll include PHP 5.2 in Leopard. Until then, I’ll continue to compile PHP5 myself (or grab the PHP binary from Marc Liyanage). Keeping third party software up to date is a big step towards a secure environment.
20 Jul 2007 - permalink
Timezones in web applications are often dealt with the same way as character sets. Either incorrectly or ignored. The case of unicode is improving slowly as developers discover the need for international language support.
The problem with not handling timezones correctly is not apparent in the usual case of the webserver and the database server being in the same timezone. A lot of PHP code passes the task of timestamps on to MySQL, e.g. by calling NOW()
on inserting or updating records. It is nessesary to know in what timezone the timestamps are stored to process them correctly.
Often a specific timezone is assumed for displaying date and time. This could very well be incorrect for a large number of visitors. If the database server is in yet another timezone, things begin to get out of sync.
MySQL’s handling of timezones is - obviously - separate from that of PHP. Along with the fact that the MySQL timezone can only be changed by users with SUPER
privileges, this means that MySQL cannot be relied on for creation of timestamps in correct timezone. In other words, the usual call to NOW()
is not an option.
PHP 5.1 introduced the date_default_timezone_set()
method for setting the timezone PHP will use for functions like date()
(or alternatively the date.timezone
php.ini directive). This allows for a flexible and consistent way of creating timestamps in the correct timezone form within PHP. One user in London might start a thread while a response comes from New York. To handle this consistently and make sure both users see local time and the correct timespan between the posts, use date_default_timezone_set()
to create the timestamps from PHP in a fixed timezone like GMT.
Time for an example to illustrate the practical use of this. I created a simple class Timer
for dealing with these operations. The methods will be called statically as there is no need to instantiate the class.
class Timer
{
static function DatetimeInGMT() {
return date("Y-m-d H:i:s", time()-date("Z",time()));
}
static function GMTDatetimeToLocal($datetime) {
$time = strtotime($datetime);
return date("Y-m-d H:i:s", $time+date("Z",$time));
}
}
Timer::DatetimeInGMT()
produces a timestamp in GMT. I use it instead of MySQL’s NOW()
because it calculates the time relative to the timezone set in PHP rather than that of MySQL.
When reading the timestamp back in to PHP, another function call is needed to convert it back to whatever timezone PHP is in at that time (it might be a different user viewing with another timezone setting). That’s the job of Timer::GMTDatetimeToLocal($datetime)
.
These two very simple functions and a correct setting of PHP’s timezone will ensure that dates are stored in a consistent way and displayed correctly.
22 Jun 2007 - permalink
My thoughts on the Microsoft Surface were generally positive and I see it (or rather the technology behind) as a step towards ubiquitous computing. Sarcastic Gamer, however, felt the need for a parody.
Hilarious!
(via John Gruber)
13 Jun 2007 - permalink
Steve Jobs held his anticipated keynote for the WWDC 2007 in San Francisco two days ago. Apple has put up a stream of the keynote for the interested. During that keynote, Steve talked about and demoed 10 new features in the version 10.5 of Mac OS X called Leopard.
I’m gonna go over some of them with a few thoughts.
-
New Desktop - a consistent GUI, a semi-transparent menubar a new Dock with Stacks
The consistent GUI brings with it the playlist type of sidebar that iTunes first introduced and Mail also uses. This is no doubt due to the fact that, according to Steve, 500 million Windows users have downloaded iTunes - they (and practically all Mac users) already know how to use it.
A semi-transparent menubar seems like an odd decision, particularly to long time Mac users. It could help keep focus on the current task (as will the added depth to the active window). However, the menubar is still the only indication of the active application it seems and that will confuse some users. To switchers the change will make their new Mac look more like Windows and ensure association of the Dock with the missing Task bar. I’d have preferred the menubar to fade up on mouseover.
The stacks in the Dock is a great idea and really adds to the useability of folders in the Dock and the addition of a stack for downloaded content is great (for those new to the platform). I’d love to have stacks elsewhere, on the Desktop for instance, but I doubt it.
The 3d effect with reflections in the Dock is useless but help sell computers and, I suppose, make the UI look more ’live’ - important when you’re competing with Vista.
-
New Finder
Using the aforementioned playlist from iTunes is a welcomed improvement over the hackish implementation that is the current Finder sidebar.
Including default smart folders is a smart move - something even Vista has. I hope Spotlight 2.0 will bring vastly improved creation of smart folders.
The column view preview, unfortunately, does not seem to include the ability to set Spotlight keywords - something I’ve missed from day one. Of course, this might change come October. I hope the Save dialogs have this option as well.
I’d really like to see a scaling slider in the lower left corner of Finder windows for changing icon sizes like iPhoto scales photos.
Coverflow in Finder looks good and is very nice for browsing photos or just anything recognizable in small. It would, however, seem useless for browsing text heavy documents.
-
Quicklook is just plain cool
-
Time Machine
Even though I’ve recently automated backup to a remote server, having a built in solution with history will benefit all. I wonder how fast it will be browsing/searching back through time though. The rumored addition of the ZFS filesystem would help in this regard.
Another thing yet to be seen is how well it behaves on portables where the backup drive might not be connected at all times.
-
Mail
Bringing RSS feeds to Mail makes perfect sense to me. It is very much like a web version of newsletters. Data detection (though hardly new, Apple once had something called Apple Data Detectors that did the same) is a very nice addition and something I expect to be system wide.
I have no intention of using the HTML templates. Much like text documents (.txt or .rtf over .doc), I prefer mail as plain as possible.
-
Core Animation
GPU accellerated animations in every program is sure to bring some GUI experiments. It is the next step of Quartz Extreme and it will be interesting to see how developers - and Apple - put this to use in the future. I’m sure iPhoto, for instance, could benefit from it when dealing with massive amounts of photos.
That was my take on some of the stuff we’ll see in the Leopard. Please share your thoughts in the comments - there is still a long time till October…
1 Jun 2007 - permalink
I just came across Richard Sweeney’s paper scultures exploring fractal form in a very fragile yet tangible form. They are among the most beautiful things I’ve seen in quite some time.
Remarkable pieces of art, some have a very organic feel to them, others a minimalistic approach to architectural forms and others still are purely geometric. What they all have in common is that, in a pleasingly playful way, only the essense remain, something I am absolutely drawn to. Remarkable!
As much as I enjoy looking at the photos of these paper sculptures, I would love to see them up close to truly appreciate the depth and curvature of these.