Skip to content

Archive

Category: Proprietary software

There has been far too much iPhone related news lately but I feel as though I should at least weigh in with my thoughts on the new iPhone OS. I have been running iOS 4 on my iPhone 3GS since it was officially released about a week ago. Rather than write a lengthy review I figured I would simply add my short comments about the major new features. This should, hopefully, result in a very quick and informative review.

Multitasking


This is the big new feature and honestly the one that you’ll forget about the quickest. What do I mean by this? The multitasking implementation in iOS 4 is so seamless that the new double-tap on the home button paradigm works far better as a quick app switcher than as a task manager. Don’t read this as a negative however; all user interfaces should strive to do as good of a job at ‘hiding’ such a fundamental change to the OS by building it into a user-centric design. Do all the apps on my phone multitask? Heck no, but I couldn’t even tell you which do and which don’t and that right there is the real genius behind this design.

Folders


Far from perfect, folders are a welcome change to the iPhone experience. I was able to cut down the number of app screens on my device from about 10 to only 2. My only real complaint about folders is the fixed limit to the number of apps you can put in each, a maximum of 12 per folder. I would almost prefer to have the option to put all of my games in a single folder and then scroll through them as a list instead.

Wallpaper


The background wallpaper is a nice addition. It’s obviously nothing groundbreaking but it does add a nice personalized feel to the phone. This ‘feature’ will not work on the older 3G model because of the slower hardware. If that statement sounds ridiculous to you then you obviously haven’t played with the update enough to notice the new animations. iOS 4 literally vomits animation at you every chance it gets.

Mail


By far the best part of the upgrade, mail saw the addition of a unified inbox (where all of your accounts can filter into one place) and e-mail threading. I have four e-mail accounts on my device and switching between their individual inboxes was always a pain. But now with the unified inbox I can quickly get all of my updates and respond to all of the messages very quickly. Threaded e-mail is also awesome and is something sorely missing from many other phones and even desktop clients. Once you start using a threaded e-mail client, like Gmail or Thunderbird, it is very hard to go back to the old way of doing things. Now I don’t have to! I only encountered one issue with the new mail app. The first time I ran the app it seemed liked it was indexing all my stored mail which really slowed the app down. Since then however it works like a charm.

Photo and Camera

On an unrelated note I REALLY need to clean my phone's camera lens

There is now a 5x digital zoom for the camera which is so easy to operate a child could use it. Simply tap on the screen and the control appears as a slider at the bottom. Sliding it to the right zooms in, to the left zooms out. Simple, easy, elegant. It’s just a shame that digital zoom sucks too much to be really useful.

Adding focus to the video camera is also nice but this feature might be put to better use on the new iPhone 4G hardware where the video camera is actually worth using.

A new tab for a geo-tagged map overlay has also been added to the photo app which will show you where you took each picture. It’s neat but not really something I think I’ll be using often.

iPod

The iPod app user interface got a bit of an overhaul and it now shows more information in a much more streamlined and effective way. It also lets you manage playlists (beyond the simple ‘on-the-go’ ones) right on the device itself. Music playback has always been one of the great strengths of this platform and its nice to see Apple hasn’t forgotten where their success has come from.

Others

E-mail attachments can now be set up to be opened by any application, third-party or otherwise. This should make the e-mail experience far more flexible and help enterprise deployments open home-grown data sources. I’m also hoping to see a PGP application take advantage of this soon.

Calendar has had a couple of improvements but the biggest change is the addition of full support for .ics calendar entries. This has been a missing feature from day one and it is nice to see that the ability is finally here.

iBooks has been added the the iPhone which should help people who want to read a page or two on the bus to school or work. Other than that I just don’t see this as such a big deal. Afterall who would want to read a whole book on a device as small as a phone?

In both Spotlight (the device wide search) and Safari Wikipedia and your selected search engine will offer suggestions for what you are trying to find. While this feature is nice it does slow down the search results slightly as it tries to retrieve suggestions from the web in real time. If it becomes too annoying you can turn it off.

iOS 4 also brought some much needed security improvements including the option for a full text password (no longer just a 4-digit one) and full device encryption. Again this is a feature that was missing since the launch of the iPhone for no really good reason.

Spellcheck has also been added which offers some nice suggestions when the auto-complete isn’t quite sure what you meant to type. It works in a similar way to copy & paste which makes it instantly accessible to anyone used to the phone.

A slew of enterprise features were added as well but seeing as I’m not in charge of any enterprise deployments most of these additions were lost on me.

Overall

Overall the iOS 4 feels faster in general but not without some slowdown in specific cases, such as mail above. Even with these oddities the update allows you to be much more productive than ever before and so on the whole it is still faster in almost every practical use case. As a computer science graduate I am far more interested in the addition of APIs and tweaks under the hood and from everything I have read or experienced it all looks very good.

Conclusion

The iOS 4, while not completely revolutionary in any way, is a strong evolutionary upgrade and well worth your time. Just be warned that if you are upgrading your 3G it may take a while.

Update size: 378MiB
Time to install: about 10 minutes to update + phone restart + 10KiB carrier update + phone backup ~= 15 minutes total

As a long time Windows user I have had my fair share of dull, gray toolbars, buttons and controls. Prior to Windows Vista, Microsoft’s first real attempt to pretty up the system – sorry XP, making the taskbar blue just doesn’t cut it – I even looked to Mac OSX with some jealousy.

Flash forward to The Linux Experiment and I have been introduced to a whole new set of environment graphics. Some of them are quite beautiful and some are just… plain ugly. On the plus side, the nice thing about Linux is it’s ability to customize just about every detail, including how my desktop looks. But is there really any excuse for some of the horrible themes, colour choices (*cough* Ubuntu *cough*), and graphics that are still present in Linux today? Surely there are some artists out there in the open source community that could be let loose on these problems? Come on people, I know you can do better!

With some ‘leaked’ information about Microsoft’s plan to include brand new IA-128 computer processor architecture in their next version of Windows (8 & 9) it got me thinking about the need for 128-bit CPUs. What’s the point?

Memory Addressing

This is often cited as the reason for needing to increase the number of bits in a CPU. With a 32bit register you can address approximately 2^32 bytes of RAM, or about 4GiB system wide. Windows itself imposes a limit of 2GiB of RAM for user processes and about 3.12GiB for total RAM, which is why there is a such a push to 64bit architecture. 64bit versions of Windows allow you to address far more memory. Except, this isn’t really true.

Physical Address Extension

PAE is an old technique used to address more memory than you should be able to, up to 64GiB on 32bit CPUs. It is similar to bank switching in that it uses the addressing register to split up your total memory into different banks of space which it can then switch into allowing you to access the full memory. There are a number of reasons why this is efficient and safe, and in fact Windows already does it. This is why the 32bit version of Windows server can address a full 4GiB of RAM even though the 32bit consumer version cannot. Well actually you can force it to do that as well.

How much memory do you really need?

Let’s assume that 32bit architecture, without PAE, only lets you access half of what it should be able to, 2GiB of RAM. That means that the maximum amount of RAM you could access in a 64bit architecture would be (2^64 / 2). This equates to 8,388,608 TiB of RAM that you would still be able to access. Most computers being sold today come equipped with 2GiB of RAM total, or 2.3*(10^-10) % of just half of the total addressing space allowed for with 64bit architecture.

Speed improvements

The next argument for increasing the bit size of the architecture is to get speed improvements. By increasing the length of every register you no long have to straddle registers when you are dealing with large numbers. For example, if you are doing math using a 64bit number on a 32bit CPU you will need to use two registers to fit the whole number. On a 64bit CPU you just need one, thus freeing up the second register for something else.

Certainly moving to 128bit CPUs will also improve speeds? Well… sort of. You see a lot of the large number math instructions that a CPU can do already make use of specialized 128bit registers inside of existing 32bit CPUs. I highly doubt there will be a large need for 256bit data types moving forward (super big long unsigned int?), so most of the real speed improvements you will see on a 128bit CPU will be when you are using 128bit numbers.

Another issue is existing software. The vast majority of software currently available are 32bit programs, meaning that they will see very little speed increases on 64bit or 128bit CPUs. In fact 64bit software is only now starting to become common place, with many applications still lacking true 64bit support.

Yes, 128bit registers will be beneficial for some computations such as encryption (128bit-256bit keys) and hash algorithms (some of the SHA-3 candidates keep an internal state of 512-1024bits) but so will the addition of specific instruction sets to make use of the existing hardware.

Progress moves forward

I don’t mean to rain on the 128bit architecture parade, I just merely mean to point out that what has been said so far about it really isn’t that different from what we already have. One day I do expect 128bit CPUs to replace 64bit ones, just as they are now slowly replacing 32bit CPUs. In the mean time I would much rather have additional registers or more hardware functionality because they will actually be taken advantage of.

232

I just finished up a quick post over on The Linux Experiment about how to share one keyboard and mouse among multiple computers using software, in this case a Windows Vista desktop and a Fedora 11 laptop.

Check it out here: Setting up some Synergy

Some friends and I have decided to give Linux a run for its money. Most of us are experienced Window’s users so we figured making the transition to Linux would be 1) a good thing for the resumé and 2) a pretty easy switch. Boy were we ever wrong about #2… #1 is still debatable ;)

The basic premise is this:

  1. Is Linux really a practical desktop computer for the masses?
  2. Can someone really make the switch from the far more popular proprietary operating systems and applications to the free and open source alternatives?

The experiment is govern more or less by the following two rules:

  1. You must use Linux as your primary computing platform for 4 months
  2. You cannot use a distribution of Linux that you are familiar with or have used in the past

Follow us through the highs and lows of getting everything working just right, as we learn new things, and share our user experiences!

www.thelinuxexperiment.com