Blog of Leonid Mamchenkov

You just stepped in a pile of posts.

Entries for the ‘Web work’ Category

Skype – the master of parallel universes

For reasons that I totally don’t understand, many companies choose Skype as a standard communication application.  I’d understood such a decision if they were using voice or video calls.  But they don’t.  Chat only.  And pretty much everyone knows how horrible Skype is for chats.  It’s slow, often losing offline messages, its history management is horrible, etc, etc, etc.  But today’s post is not about that.

It’s about parallel universes.  And how Skype is the master of them.  Consider my example from this morning.   I came to work, logged in to Skype, saw who is online and started chatting with one of the co-workers.  In the meantime, a guy next to me was doing exactly the same thing – came in, logged in to Skype, saw who is online, and started chatting with another co-worker.  But the interesting bit was that we couldn’t see each other online.  If we tried to send messages or files to each other, they’d fail complaining that the other party is offline.  The same was true for those co-workers with who we were chatting, they couldn’t see the other half of the office, which was online, chatting, and couldn’t see the first half of the office.

Is there any other explanation except that Skype managed to create at least two separate, parallel universes and signed in half of our office into one universe, and the second half of the office into another universe?  I can’t think of one…

Google Calendar wishlist

Google Calendar team recently ran a survey, asking users what is it that they like and dislike about the product and how to make it better.  Of course, I submitted my opinions, but, as always, better thoughts come after the action has been already taken.  Here is my two items wishlist for Google Calendar.

  1. [Update: not true anymore, see comments] SMS notifications for additional calendars.  Google Calendar only supports SMS notifications for your primary calendar.  But if you want to have a separate calendar for work and personal life, then you’ll have to choose which of these will send you messages to the phone.
  2. Related events.  Quite often I get into a situation where I need two related entries in the calendar.  For example, I might have a birthday party event and shopping for presents, or a beer session at the pub and table reservation.  Having just one event and a tonne of reminders for it doesn’t really work.  Having two events however makes it more difficult to manage them.  If the party was rescheduled, I’ll need to update my calendar to reflect the change, but I’ll also need to find and update the related event.  It would be so much more convenient if I could just relate one event to another and when I move one (a couple of days later, for example), the related event would reschedule itself as well.

What are the features that you want to see Google Calendar?

Email is not dead

There’s been a lot of shouting recently about how dead the email is.  Facebook, Twitter, instant messaging, and what not – all were named killers of email.  What a load of crap, I think.

Firstly, those who think that X can kill email, are probably misusing email themselves.  Email is awesome for email.  For other ways to communicate you already have chats, forums, mailing lists, blogs, social networks, and so on and so forth.

Secondly … nevermind.  What I really wanted to say was that today I hit to edgy cases in my email usage.  Both of them in one day – that’s rather weird.  First, I noticed that my 7.5 GB Gmail storage is at 91% utilization.  That’s a lot of email.  Worried that I might run out one of these days, I cleaned up and reorganized some of the archives, dropping disk space utilization to 64%.  Second (again, I know), if you think that I am just another pack rat and I store tonnes of useless stuff, you’re probably right.  But, right or wrong, today I was asked to find some emails from 2010, 2009, and 2008.  As early as I could get on that specific discussion.  Not every day that I get request like that, but I was rather glad that I could satisfy it.

Thirdly (yes, I decided to continue), there is this really silly corporate world.  In there, people still uses faxes.  They still use emails.  And they just started getting used to Skype.  So it will take them a really long time to get off the email.

So, for all those of you who think that email is about to die, get off the pipe.  There is a huge world out there, and you should go out and experience it.  Over and out.

Backupify – your ultimate backup solution for the cloud

backupify

I have just learned about a really awesome service – Backupify.  This a really simple yet extremely useful web application for those of us who use plenty of web services.  Backupify, as you have probably guessed from the name of it, does backups.  It can backup your data from a whole lot of services – Gmail, Flickr, Delicious, Facebook, Twitter, and so on, and so forth.  Backups are stored at Amazon’s S3 service.  And you have an option of using your own S3 subscription if you have one.  I don’t so I chose to use the one from Backupify.

As I said, the service is extremely easy to use.  You just register for an account and then specify which of your online profiles should be backed up.  There are options for daily and weekly backups and email notifications.  Support for more services is in the works too.  And the best part of it is that if you register today (before December 31, 2009), you’ll have a free account forever!

But if you were late for the free cheese, I’m sure the usefulness of such a service is beyond a few bucks that they will ask you for later on.  Strongly recommended!

Miro – king of online video tools

My online video experience until very recently was limited to watching clips directly on YouTube and Google Video, and downloading episodes of Diggnation once in a while.  There are of course more places and worthy video podcasts on the Web, but I just didn’t have the right tool, and I didn’t bother enough.  But all of that had changed.  A few days ago I stumbled upon Miro.

Miro

So, what’s Miro?  Miro is a cross-platform (works on Linux, Mac, and Windows) application for downloading and watching online videos.  It has a really simple and straightforward interface and does a lot of magic by itself.  You just search for things that you are interested in – either by keyword or by category – review the list of results, subscribe to shows that you like and Miro automatically downloads them to your computer.  You can watch those shows any time later.  Even when you are not connected to the Internet (such as on the airplane for example).

You can search through downloads, sort them in a number of ways, etc.  After you have seen the video, you can either delete it or keep it.  If you do nothing about it, Miro will keep it on your computer for a few days (defaults to 5), and then will delete it to save some space.

Miro also comes with a built-in video player, so you don’t need any external ones installed.  On Linux, Miro supports two back-ends – gstreamer and xine.  I had a problem with gstreamer not playing any audio, so I switched to xine and everything is working nicely now.  As an extra bonus, Miro’s video player remembers your last position for every video you played.  So if you just stop the playback and decide to continue later, you won’t have to fast forward – Miro will just automatically start playing from the point where you stopped.

Miro supports a number of sites for video downloads.  With YouTube, for example, it downloads a high definition (HD) version of the video by default, if its available.  Also, torrent sites are supported and Miro handles them automatically as well.

Miro is such a simple and useful tool that it changes the way you see online videos.  For example, before Miro I could only handle just a few podcasts, but now I am subscribed to dozens.  It’s like an RSS aggregator for online video.  It’ll make you want watch more videos.  And it will make it extremely easy to do.

Obviously, I can go on and on about how wonderful it is, but instead of listening to me, you should get Miro and give it a try.  Let me know in the comments if you liked it at all.

Google Suggest for different countries

In a discussion slightly related to yesterday’s post, Sanjay sent me screenshots of Google Suggest for the same query in Google.com and Google India .

Google.com search

Google.com search

Can you see the difference?  Now I wonder if Internet is the explanation (or one of them) for the India’s population growth in recent years.

Google India search

Google India search

On privacy

Blogoscoped quotes Google executives on the issue of privacy.

Eric Schmidt:

“If you have something that you don’t want anyone to know, maybe you shouldn’t be doing it in the first place.” Eric goes on to say, “But if you really need that kind of privacy, the reality is that search engines – including Google – do retain this information for some time. And it’s important, for example, that we’re all subject in the United States to the Patriot Act… it is possible that that information could be made available to the authorities.”

Marissa Mayer:

“I really feel that the virtual world follows the physical world … There’s very few things you can do anonymously in the physical world. I think that over time, on the internet, there will be less anonymity. And I actually think that’s good; I think it creates, you know, more accountability, people acting more responsibly.”

And here is a quote from law #9 – Absolute anonymity isn’t practical, in real life or on the Web – from Microsoft’s own 10 immutable laws of security:

All human interaction involves exchanging data of some kind. If someone weaves enough of that data together, they can identify you. Think about all the information that a person can glean in just a short conversation with you. In one glance, they can gauge your height, weight, and approximate age. Your accent will probably tell them what country you’re from, and may even tell them what region of the country. If you talk about anything other than the weather, you’ll probably tell them something about your family, your interests, where you live, and what you do for a living. It doesn’t take long for someone to collect enough information to figure out who you are. If you crave absolute anonymity, your best bet is to live in a cave and shun all human contact.

How a web design goes straight to hell

If you were, are, or ever will be involved in the process of creating new design for a site, you absolutely have to see this – Howe a web design goes straight to hell.  If you are not a professional (as in trained, with experience, and make your bread and butter with) web designer, you’ll have to believe the slides.  Because, that is exactly what happens each and every time.  If you are a professional web designer, than you would already know how that happens and what the story is about.  This is so true, it’s not even funny.

Webdesign madness

Build for the mobile

I just had a revelation. An enlightenment, if you will.  You know how it happens – you think about a solution to a problem for a really long time.  Then you don’t think about it anymore. At least not consciously.  But your brain is still crunching.  You can feel it.  But if the solution is still not found, then get used to that constant crunching and ignore it.  And then you even forget it. And then, some time after, there is a Big Bang.  A huge flash in your head.  And it’s not the solution to the problem yet.  But it’s a sign and a reminder that your brain is still working on something you have long forgotten you had to solve.  That’s what I just had.

Being involved with a lot of web development, I was trying to figure out how to go about all those mobile devices.  Mobile Internet user base is growing fast and even today it is so big that it can’t be ignored anymore.  Gladly, most mobile devices run full blown web browsers with CSS and JavaScript support.  Some can even do Flash.  So it’s not like web development for mobile devices is something completely different from web development for desktops.

And yet, there are differences.  For the near future, these are the differences that I can think about:

  • Mobile devices have smaller screens and that’s not going anywhere.  Even if supported resolutions get higher and higher, the physical size of the screen won’t match the desktop screen any time soon.
  • Mobile devices have handicapped input.  Flip-out QWERTY keyboards are quite usable now and handwriting recognition is getting better by the day.  But mobile device is not and probably will not be as convenient for input as desktop computers.
  • Mobile devices have less processing power.  They get more power, but while they do so, desktop clients do as well.  And so the difference is maintained.  With more and more functionality being pushed out into client side, processing power is an important issue.
  • Mobile devices have unstable connectivity and higher bandwidth costs.  Again, with all 3G networks expanding globally and more and more free WiFi hot-spots installed everywhere, the connectivity problem is getting partially solved.  But it’s not going to be solved completely any time soon (coverage, higher costs, battery life are just some of the reasons).

While there are probably other things you can put on that list above, even the ones I have there are enough to consider a different approaches when developing for mobiles.  And why should we consider them at all?  Well, here is an image that actually triggered that big flash in my mind that I spoke about earlier (shamelessly borrowed from Paul Kedrosky blog post).

Mobile Internet Graph

You (of course I mean “I”, “we”, “they”, and “you”) cannot ignore mobile devices anymore when building web sites and applications.  So, how should this problem be approached?  And now for that revelation, enlightenment that I mentioned earlier in the post:

Build for the mobile device first, then extend for the rest.

That’s not a new approach.  It’s something that has been used and recommend before.  It was just phrased differently.  It was along the lines of : limit resources in your development environment and you’ll get a much more efficient and resource aware application.  If a developer has only 512 MB of RAM on the machine he uses to write and test his code, chances of that application being much more effecient on a 4 GB server are higher than of application written on a 4 GB machine. ([*] citation needed)

If you build your web site or application for the mobile device, you’ll ensure most of these:

  • It works well with small screen sizes and lower resolutions.
  • It requires the minimum of input from the user.
  • It has exactly the right balance between client-side and server-side processing.
  • It supports a whole lot of browsers, even most of those browsers don’t exist on the desktop.
  • It has at least some optimization in terms of download size, client-side caching, etc.

And when your web project works on the mobile devices, it will be much easier for you to check for extra resources in the client’s browser (higher resolution, better browser, etc) and enhance behavior with more bells and whistles.  You’d probably won’t want to do this yourself anyway.

I think adding additional bells and whistles would be much simpler and faster, then removing and reorganizing things in the application that has been built for the desktop browser and now needs to support, or at least behave nicely with mobile browsers.

I would be very surprised if you actually read the post all the way down to here.  And just to thank you, I thought I should surprise you.  Most of the above post just came out from the top of my head, has no research, measurements, or supportive data.  It’s not even something I have discussed with someone else yet.  So, I suggest, you take it with the jar of salt, jar of pepper, and a pint-sized bottle of red hot chili sauce.

Google Public DNS announced

Google announced a Public DNS service, which is extremely easy to configure and which will improve your web browsing speed and security.  This service is not revolutionary however.  There were a few ones before, and the one that seems most popular these days is OpenDNS.  In case you wonder what’s the difference between OpenDNS and Google Public DNS, take a look at this Google Groups discussion.

From the end-user point of view:

Right now the difference is that Google Public DNS does not use any sort of redirection or display any ads. If a host (domain name, web address, etc…) doesn’t resolve, it will just fail. With OpenDNS, they hijack these failures and redirect you to a search page that displays ads and makes them money.

From the administrator or customer point view there are things like stats, control panels, and more – all in OpenDNS.  Google Public DNS seems to be focused differently. At least for now.

Update: Jason Kottke explains why Google did it.