Archive for May, 2006

Are you preparing a presentation?

If so - then your basic resource should be the Presentation Zen Blog!

And especially read these tips here.

You'd be amazed how much these "small" things mean (and how thin a boundary between a good presentation and a boring monologue is!)

Comments

The future’s bright

It seems like the maket forces in the UK are more and more favorable for the e-commerce than high street shopping - and that is a good news, there’s still plenty of opportunity to invade the web with your online shop and start building a customer base - there’s a long way before the market gets saturated, and I think the growth accelerates every year.

But the question is - if we know more and more people will want to buy goods online, and want to sell it to them - why won’t the high street suppliers handle the e-commerce side of thing themselves, completely eliminating the “middle man”? That might be a danger for all the small online shops that spring each day, and if it comes to our market sector (web development) - that might mean a decline in number of potential customers interesting in opening their own online shops - who needs another online grocery if Tesco.com delivers your stuff to your doorstep?

I think we’ll see a lot of consolidation in the e-commerce sector now, so we really live in very interesting times.

But in spite of all the consolidation that goes on I still see a lot of opportunities for niche companies to really bloom and blossom - hence the future’s bright.

Comments

New generation of computer games

Have you seen The Spore?
I must say, after I first saw the video - my jaw dropped.
This isn't a revolutionarily beatufil game - but the gameplay and the sheer amount of detail your computer stores while playing it is just awesome!

I've never even thought about anything like it in my life, games were always limited to a "genre" - car racing, city building, flying airplanes, boxing etc.

This one is different - it allows you to be a "small god" for your race of creatures, create them, control them, and modify them (by a controlled evolution) as you go. You start on a cellular level, then go through all stages of a creature's life, then you advance to the tribe, town, nation, planet, and eventually - interstellar travel!

What makes it so cool is the fact that decisions made in the early stages of your game are actually propagated throughout the game - if your creatures will have 3 legs - they'll be driving 3-legged cars!

Another thing which is just brilliant about that is the online gameplay - you're never sure what you'll encounter on other planets - these are not planets generated by your computer - they're actual games of other players, downloaded from the Internet!

I am not an avid gamer myself, but I can't wait to see that in action!

Another game worth mentioning is Second Life. I'm not sure if the word "game" still applies to it - basically what it is is a whole world that Internet players/gamers live in, spend time, meet up with other people, and even - what makes it remarkable - invest and conduct business!

How on Earth would someone want to buy a "property" in a digital world of a game?

Don't ask me - but there are such people.

And to make matters worse - they use normal, physical currency! Insane!

(I know, in XXI century there isn't a thing called "physical currency", all the transactions are conducted by computers anyway ;)

I'm absolutely thrilled for the new possibilities that this new wave of games brings, but I'm also very concerned about people which don't do very well in physical life - that they'll become addicts of these virtual worlds.

Internet addiction is a serious thing, and this kind of entertainment certainly makes the numbers grow amazingly fast.

Really, having Today's technology on the doorstep it isn't so hard to be totally alienated socially and don't have any physical friends to talk to. Scary.

Comments

Productivity tip #4 - Embrace new technologies

No, you don't have to be on top of every news that comes into your RSS reader every day.

You don't have to be proficient in all new technologies that appear daily.

But you can at least try, and I think you should try.

Not to know it "all" but at least know the advantages and disadvantages of each solution, e.g. using Object-Relational Mapping as an alternative to Stored Procedures in MS SQL which return DataSets.

To know the difference between various coding techniques - will you want to develop each "page" of your application by copying the code from the previous ones, or will you embrace the Custom Controls mechanism built in into ASP.Net? Will you mix HTML with PHP code, or maybe you'll invest your time in learning how to properly use template engines?

All these things might seem like a hassle and a waste of time - because you already know HOW to do something. And that fact itself - "know how" - if not taken lightly - might badly damage your attitude towards learning new skills and technologies.

You might be good at "doing websites", but if you won't be interested in "the greener grass on the other side" you'll always be doing just that - what you "know how".

Sorry guys, but the technology world now runs as crazy, before I managed to use Ruby on Rails for my first project we already have the second version of the framework ready, and some companies are springing up which specialize solely in that technology! Awesome!

And scary, at the same time.

So, what will you start learning Today?

Comments

Productivity tip #3 - never trust your ISP

Don’t take this literally - ISPs are great when they don’t cause you any problems, but no matter how good yours is - try to have the latest backups of your data/system/code in your own network, and preferrably - on a physical media.
You never know when you’re going to need that.

Even if you use code versioning tool - because not only versioned code can be at stake.

You might have some data on the live servers which you can’t reproduce, whether it being user information, some images that you’ve uploaded using the CMS, or maybe recent transactions.

I strongly recommend automating this backup process for the sake of peace of mind, because even if your ISP does provide backups, it won’t always be quick to recover something from them - the more control you have over your information the better.

And as history shows - not every ISP includes backups in their offer.

The automatic backups of data stored in other networks aren’t so easy to achieve on Windows platform, but on Unix/Linux it shouldn’t be a problem as long as you have enabled the SSH access to your accounts - few scripts should do the trick.

Obviously this might be a huge security hole, but you just have to weigh the pros and cons.

Comments

MicroISV considered harmful?

I was wondering Today, whether the MicroISV model of developing software is a good thing for the Software market sector, or the contrary - after all, when solving A Problem can take one person few months, and they can charge Little Money for it - that means, that other people/companies lose the opportunity to solve the same problem in a similar way - and charge more.
I think this might result in a canibalisation of the sector to some extent.

While it's obviously a perfect business model for independent specialists, the bigger picture of software industry might suffer from little, but disruptive startups aiming to solve small problems accurately. The microISV can agree to smaller revenue stream (and that leads to smaller prices) than a "proper" company, so that could mean a shift from office-based collaboration to online-placed collaboration.

What I'm not sure about is:
Is there a constant set of problems for software to solve?

Or maybe the requirements for software evolve every other day, and new problems and needs of people in the market are created?

I hope that's the latter.

Anyway, keep your eyes open for the software industrialisation trend and small, but disruptive competitors from the microISV field.

Comments

Productivity tip #2 - multi-environments config file

Use "smart" config files.

Did you ever had the problem of overwriting by accident your configuration file (whether it is web.config or config.php or any other) on a server (staging/live), and suddenly realising… Ooooops, I thinik I've just broken the system…?

If not - congratulations to you, you can stop reading ;)

But if you still have this kind problems - here comes the solution.

It is - a smart config file.

Implementation is quite simple:

  • Find some environment variable that differentiates your environments
  • Make note of the values of that variable on your environments
  • Define all the possible values of your connection strings etc in one file divided for sections for each environment
  • Alter the procedure that reads these variables to take the current environment into account
  • And last but not least - also define the LIVE section as a "default" one. This is crucial for systems that might experience some configuration changes (and most of systems are subject to that)

Sample PHP code:

<?php
    $config["mycomputer"]["connectionstring"] = "//value local";
    $config["www.mywebsite.com"]["connectionstring"] = "//value live";
    $config["mytestserver"]["connectionstring"] = "//value test";
?>

In Asp.Net for example you can use Custom Configuration Sections, you'll find the appropriate classes in MSDN.

But what exactly does this give you?

The peace of mind, that you can always transfer all the files to another host and you won't break the whole site/system.

Comments

Interesting website about… Software as a commodity

I’ve found Today this website/blog http://softwareindustrialization.com/.

While this doesn’t answer “how to make software as defined as other engineering disciplines” it gives a good insight into the issue.

The good thing is:

We don’t have to worry about being replaced by software-writing robots anytime soon :)

Comments

Software as a commodity?

I was wondering Today - when will we refer to "websites" as to the "thing" you can "buy", which is ready and waiting for you somewhere.

Even Today, we can buy website templates, we have Open Source CMS engines - so what exactly is missing here, to be able to change the minds of the masses?

Not that I want to do this, it's obviously much more lucrative to develop custom-made applications and systems (and websites/designs) than be equalled by the market with other players.

What happened with Microsoft as the main supplier of Operating Systems was a nicely defined contract with hardware suppliers, what resulted in an initial market share on a market which was growing explosively - is the same thing possible in terms of Webdesign / Web development services?

I have to confess, I'm not sure - what do YOU think?

Is there any missing link, or is it just a matter of time? After all, my blog at Wordpress is completely free…

Comments

61mpg Toyota - and it isn’t even a hybrid!

It might not be large or super-quick, but it's darn efficient.
Toyota Aygo does 61 miles to the gallon, twice better than mine Peugeot 306! I seriously considered upgrading the car, the savings on petrol would go to the finance of the new car - and after the finance period they would be net savings, which is nice.

Anyway, that result is even better than the Hybrid Toyota Prius - which is a nice thing.

But the question is - since manufacturers finally started to care about fuel efficiency and started to produce even more effective cars - maybe it's worth to wait some more time until a 100-150mpg models show up on the market?

There's a German company which already started building a sports car doing 150mpg!

Comments

« Previous entries ·