Monday, January 28, 2008

5 Ways to Contribute to Open Source Projects Without Coding

Maybe you've seen many good Open Source projects that are no longer maintained. One of the many reasons for that may be lack of contribution. In fact, there are many one-man projects out there. Most of any program's users are just that, users, not developers. Nevertheless, average users still can contribute to Open Source programs to make them better.

I made a search for ways to contribute before writing this and I didn't find much. However, I found two very good articles: "How to Contribute to Open Source Without Coding" and "HOWTO Pay for Free Software". These articles explain how to contribute to Open Source. I summarize the information in this post, with a little info added by me.
  1. Contribute quality: help to make a better project, better looking and with new features
    • Submit bug reports
    • Suggest new features and options
    • Suggest ways to improve the framework (maybe comparing it to similar OS or comercial projects)
    • Submit some artwork (icons, backgrounds, logos) to use in the program
    • Correct spelling and grammar mistakes in documentation
    • Help maintain a web site for an Open Source project

  2. Contribute documentation: Some Open Source projects have a poor or insufficient documentation
    • Help write good documentation
    • Translate the documentation (and program text) into another language
    • Read existing documentation, follow the examples, and make corrections
    • Create diagrams, screen-shots, and graphics for documentation
    • Develop spelling and grammar style conventions for documentors
    • Build a glossary of technical terms (so non geek people can understand)
    • Convert documentation into more useful formats (i.e. DocBook)

  3. Contribute support: everybody need it at least once. Let programmer do their work while you help other people
    • Answer questions on forums, mailing lists or IRC channels
    • Contribute to (or start) an online support group
    • Help other people learn how to use the program (or programming library)
    • Write HOWTOS and post them in related forums or your own blog (you can find more info in "How To Write a Good Howto" post)

  4. Contribute money: many Open Source projects have a donate button or a shop where to buy related products, but there are other ways to contribute money
    • Send a developer, project or company some money
    • Buy a Free Software product, or associated products
    • Hire Free Software developers
    • Contribute hardware
    • Contribute bandwidth
    • Advertise in their web site if they show ads
    • Buy products from companies that support Free Software

  5. Contribute publicity: If the project gets popular there will be more people wanting to contribute
    • Package the application for a particular Linux distro (or other OS)
    • Convince people to chose Open Source products when possible
    • Write reviews
    • Write about new ways of using an Open Source program

  6. Contribute appreciation: it's an extra way to contribute but may be the most important
    • Express your appreciation to developers (through email or forum post)
    • Send the programmers post cards
    • Give a project or developer a gift (some have wish lists for this)
    • Be polite when reporting bugs or asking for new features; developers has no obligation to do it after all
Although most of the list is self-explanatory I plan to post more in depth info in the future.

Finally, this list is in no way complete. You can read the mentioned articles for more information or add more tips in the comments.

Sunday, January 20, 2008

Emacs: Comment Commands

Comment Commands
----------------

The comment commands in this table insert, kill and align comments.
They are described in this section and following sections.

`M-;'
Insert or realign comment on current line; alternatively, comment
or uncomment the region (`comment-dwim').

`C-u M-;'
Kill comment on current line (`comment-kill').

`C-x ;'
Set comment column (`comment-set-column').

`C-M-j'
Like followed by inserting and aligning a comment
(`comment-indent-new-line').

`M-x comment-region'
Add or remove comment delimiters on all the lines in the region.

The command to create or align a comment is `M-;' (`comment-dwim').
The word "dwim" is an acronym for "Do What I Mean"; it indicates that
this command can be used for many different jobs relating to comments,
depending on the situation where you use it.

If there is no comment already on the line, `M-;' inserts a new
comment, aligned at a specific column called the "comment column". The
new comment begins with the string Emacs thinks comments should start
with (the value of `comment-start'; see below). Point is after that
string, so you can insert the text of the comment right away. If the
major mode has specified a string to terminate comments, `M-;' inserts
that too, to keep the syntax valid.

If the text of the line extends past the comment column, then the
comment start string is indented to a suitable boundary (usually, at
least one space is inserted).

You can also use `M-;' to align an existing comment. If a line
already contains the comment-start string, `M-;' reindents it to the
conventional alignment and moves point after it. (Exception: comments
starting in column 0 are not moved.) Even when an existing comment is
properly aligned, `M-;' is still useful for moving directly to the
start of the text inside the comment.

`C-u M-;' kills any comment on the current line, along with the
whitespace before it. To reinsert the comment on another line, move to
the end of that line, do `C-y', and then do `M-;' to realign it.

Note that `C-u M-;' is not a distinct key; it is `M-;'
(`comment-dwim') with a prefix argument. That command is programmed so
that when it receives a prefix argument it calls `comment-kill'.
However, `comment-kill' is a valid command in its own right, and you
can bind it directly to a key if you wish.

`M-;' does two other jobs when used with an active region in
Transient Mark mode (Note: Transient Mark). Then it either adds or
removes comment delimiters on each line of the region. (If every line
is a comment, it removes comment delimiters from each; otherwise, it
adds comment delimiters to each.) If you are not using Transient Mark
mode, then you should use the commands `comment-region' and
`uncomment-region' to do these jobs (Note: Multi-Line Comments). A
prefix argument used in these circumstances specifies how many comment
delimiters to add or how many to delete.

Some major modes have special rules for indenting certain kinds of
comments in certain contexts. For example, in Lisp code, comments which
start with two semicolons are indented as if they were lines of code,
instead of at the comment column. Comments which start with three
semicolons are supposed to start at the left margin. Emacs understands
these conventions by indenting a double-semicolon comment using ,
and by not changing the indentation of a triple-semicolon comment at
all.

;; This function is just an example
;;; Here either two or three semicolons are appropriate.
(defun foo (x)
;;; And now, the first part of the function:
;; The following line adds one.
(1+ x)) ; This line adds one.

In C code, a comment preceded on its line by nothing but whitespace
is indented like a line of code.

Friday, January 18, 2008

How to Install Compiz in Debian

Compiz is a compositing window manager that uses 3D graphics acceleration via OpenGL. It provides various new graphical effects and features on any desktop environment, including Gnome and KDE.

Compiz Features

Easily extendible through plugins.

A growing, friendly community of users.

Increases productivity and enjoyment.

Impress your family and friends.

Compiz is actively developed.

Requirements

The bare minimum is 3D capable Graphic’s card and atleast 512 MB of ram.

Install Compiz in Debian

#apt-get install compiz

this will install compiz along with its dependencies.

Configuring Compiz

Now you need to manually edit the /etc/X11/xorg.conf file

#emacs /etc/X11/xorg.conf

then added these two lines under the “Screen” section

Option “XAANoOffscreenPixmaps”
Option “AddARGBGLXVisuals” “true”

then added these lines under “Device”

Option “AllowGLXWithComposite” “true”
Option “RenderAccel” “true”

added one line under “Server Layout”

Option “AIGLX” “on”

Finally at the end of the file add these lines

Section “Extensions”
Option “Composite” “Enable”
EndSection

After making the following chages you need to save and exit the file.

Add “compiz –replace” to “Desktop -> Preferences -> Sessions -> Startup Programs”.

Now restart the Xserver, Better is to restart the whole system.

After you login you will directly be in a compizified environment.

Note:

“comiz –replace” i.e.

compiz{space}{minus}{minus}replace

replace {space} with blank space
and {minus} with “-”

this command is used to replace the windows manager with compiz.

if you find problems using compiz or if you are stuck,

type

“metacity –replace” for GNOME

“kwin –replace” for KDE

and you will get your default windows manager back.

in BERYL and now COMPIZ FUSION this can be done by taskbar icon.

Sunday, December 30, 2007

Apple - iPhone

iPhone is a multimedia, Internet-enabled mobile phone designed and marketed by Apple Inc. It has a multi-touch screen with virtual keyboard and buttons. The iPhone's functions include those of a camera phone and a portable media player ("iPod"), in addition to text messaging and visual voicemail. It also offers Internet services including e-mail, web browsing, and local Wi-Fi connectivity. It is a quad-band mobile phone that uses the GSM standard, hence has international capability. It supports the Enhanced Data Rates for GSM Evolution (EDGE) data technology.

Following the success of iPod, Apple announced the iPhone in January 2007. The announcement was preceded by rumors and speculations that circulated for several months. The iPhone was introduced, first in the United States on June 29, 2007 with much media frenzy and then in the United Kingdom, Germany and France in November 2007. It was named Time magazine's Invention of the Year in 2007. A new version of Apple's iPhone is expected to be introduced in 2008 that is capable of operating on faster 3G cellular networks.


History

The genesis of the iPhone began with Apple CEO Steve Jobs' direction that Apple engineers investigate touch-screens. At the time he had been considering having Apple work on tablet PCs.

Comments made by Jobs in April 2003 at the "D: All Things Digital" executive conference expressed his belief that tablet PCs and traditional PDAs were not good choices as high-demand markets for Apple to enter, despite many requests made to him that Apple create another PDA. He did believe that cell phones were going to become important devices for portable information access.

On January 9, 2007, Jobs announced the iPhone at the Macworld convention, receiving substantial media attention, and on June 11, 2007 announced at the Apple's Worldwide Developer's Conference that the iPhone would support third-party applications using the Safari engine on the device. Third-parties would create the Web 2.0 applications and users would access them via the Internet. On October 17, 2007 Apple announced that an iPhone software development kit would be made available in February 2008, allowing developers to create native applications that take full advantage of the iPhone's application programming interface.

On July 25, 2007 Apple announced in their 2007 Q3 sales report and conference call that they sold 270,000 iPhones in the first 30 hours on launch weekend. AT&T reported 146,000 iPhones activated in the same time period. Apple anticipated selling their millionth iPhone in the first full quarter of availability, and anticipates selling 10 million iPhones by the end of their 2008 fiscal year. On September 10, 2007, Apple announced sales of 1 million iPhones. This was followed by Apple's 2007 fourth quarter earnings announcement on October 22, 2007 which put total iPhone sales at 1.39 million with 1.12 million sold that quarter.

On November 21, 2007, T-Mobile announced it would sell the phone "unlocked" and without a T-Mobile contract, caused by a preliminary injunction against T-Mobile put in place by their competitor Vodafone. In Germany, a company is not allowed to lock the SIM card to itself. On December 4, 2007, a German court decided to grant T-Mobile exclusive rights to sell the iPhone with the SIM card locked, overturning the temporary injunction.In addition, T-Mobile will unlock the iPhone at the termination of a customer's contract.

The iPhone normally prevents access to its media player and web features unless it has also been activated as a phone with an authorized carrier. On July 3, 2007, Jon Lech Johansen reported on his blog that he had successfully bypassed this requirement and unlocked the iPhone's other features with a combination of custom software and modification of the iTunes binary. He published the software and offsets for others to use.

Features

The iPhone allows conferencing, call holding, call merging, caller ID, and integration with other cellular network features and iPhone functions. For example, a playing song fades out when the user receives a call. Once the call is ended the music fades back in. Voice dialing is not supported by the iPhone.

The iPhone includes a Visual Voicemail feature allowing users to view a list of current voicemail messages on-screen without having to call into their voicemail. Unlike most other systems, messages can be listened to and deleted in a non-chronological order by choosing any message from an on-screen list. AT&T, O2, T-Mobile and Orange modified their voicemail infrastructure to accommodate this new feature designed by Apple. A lawsuit has been filed against Apple and AT&T by a company called Klausner Technologies claiming the iPhone's Visual Voicemail feature infringes two patents.

A ringtone feature, introduced in the United States on September 5, 2007, but not yet available in all countries where the iPhone has been released, allows users to create custom ringtones from their purchased iTunes music for an additional fee, the same price of a song. The ringtones can be from 3 to 30 seconds in length of any part of a song, can include fading in and out, can pause from half a second to five seconds when looped, and never expire. All customizing can be done in iTunes, and the synced ringtones can also be used for alarms on the iPhone. Custom ringtones can also be created using Apple's GarageBand software 4.1.1 or later (available only on Mac OS X).

Apple has released a video explaining many of iPhone's features through a series of demonstrations.

Multimedia

Cover Flow on the iPhone.
Cover Flow on the iPhone.

The layout of the music library differs from previous iPods, with the sections divided more clearly alphabetically, and with a larger font. Similar to previous iPods, the iPhone can sort its media library by songs, artists, albums, videos, playlists, genres, composers, podcasts, audiobooks, and compilations. Cover Flow, like that on iTunes, shows the different album covers in a scroll-through photo library. Scrolling is achieved by swiping a finger across the screen.

Like the fifth generation iPods introduced in 2005, the iPhone can play video, allowing users to watch TV shows and films. Unlike other image-related content, video on the iPhone plays only in the landscape orientation, when the phone is turned sideways. Double tapping switches between wide-screen and fullscreen video playback.

The iPhone allows users to purchase and download songs from the iTunes Store directly to their iPhone over Wi-Fi, but not over the cellular data network.

Web connectivity

Wikipedia on the iPhone's Safari web browser.
Wikipedia on the iPhone's Safari web browser.

The iPhone is able to access the World Wide Web via a modified version of the Safari web browser when connected to a Wi-Fi or an EDGE network. It is not able to utilize AT&T's 3G or AT&T's HSDPA network in the U.S.. Steve Jobs has stated 3G would need to become more widespread and much more energy efficient before it's included in the iPhone.By default, the iPhone will ask to join newly discovered Wi-Fi networks and prompt for the password when required, while also supporting manually joining closed Wi-Fi networks. When Wi-Fi is active, it will automatically switch from the EDGE network to any nearby previously approved Wi-Fi network.

Before the launch, some reviewers found the EDGE network "excruciatingly slow," with the iPhone taking as long as 100 seconds to download the Yahoo! home page for the first time. Immediately before the launch the observed speed of the network increased to almost 200 kbit/s. This is probably due to the new "Fine EDGE" upgrades AT&T had been making to their network prior to the launch.

The EDGE network benefits iPhone users by providing greater availability than 3G, as 3G continues its expansion to most major cities in the United States. Most countries outside the United States have very little EDGE infrastructure in place. For example, the United Kingdom's EDGE infrastructure amounts to less than 30 percent.[citation needed] As a result, many users outside major cities will have to browse the Internet on GPRS, a much slower protocol.

The web browser displays full web pages as opposed to simplified pages as on most non-smartphones. The iPhone does not support Flash or Java technology. Web pages may be viewed in portrait or landscape mode and supports automatic zooming by pinching together or spreading apart fingertips on the screen, or by double-tapping text or images.

Apple developed an iPhone application for accessing Google's maps service in map or satellite form, a list of search results, or directions between two locations, while providing optional real-time traffic information. During the product's announcement, Jobs demonstrated this feature by searching for nearby Starbucks locations and then placing a prank call to one with a single tap. Though Flash isn't supported in Safari on the iPhone, Apple also developed a separate application to view YouTube videos on the iPhone.

E-mail

The iPhone also features an e-mail program that supports HTML e-mail, which enables the user to embed photos in an e-mail message. PDF, Microsoft Word, and Microsoft Excel attachments to mail messages can be viewed on the phone. Yahoo! is currently the only e-mail provider offering a free Push-IMAP e-mail service similar to that on a BlackBerry for the iPhone;[citation needed] IMAP and POP3 mail standards are also supported, including Microsoft Exchange[39] and Kerio MailServer. There is currently no search support.[citation needed] The iPhone will sync e-mail account settings over from Apple's own Mail application, Microsoft Outlook, and Microsoft Entourage, or manually configured using the device's Settings tool. With the correct settings, the e-mail program can check many IMAP or POP3-enabled web based accounts such as Gmail, .Mac mail, and AOL.[41]

Others

The iPhone features a built in 2.0 megapixel camera, without a flash, located on the back for still digital photos, but does not support video recording. It also includes software that allows the user to upload, view, and e-mail photos. The user zooms in and out of photos by "unpinching" and "pinching" them through the multi-touch interface. The software interacts with iPhoto on the Mac and Photoshop in Windows.

The built-in Bluetooth 2.x+EDR supports wireless earpieces (which requires the HSP profile), but notably does not support stereo audio (requires A2DP), laptop tethering (requires DUN and SPP), or the OBEX file transfer protocol (requires FTP, GOEP, and OPP).

Text messages are presented chronologically in a mailbox format similar to Mail, which places all text from recipients together with replies. Text messages are displayed in speech bubbles (similar to iChat) under each recipient's name. The iPhone does not support message forwarding, drafts, delivery reports, instant messaging, MMS, multi-recipient SMS, or copy/cut/paste capability.

Interface

The display responds to three sensors: a proximity sensor that shuts off the display and touchscreen when the iPhone is brought near the face to save battery power and to prevent spurious inputs from the user's face and ears, an ambient light sensor that adjusts the display brightness which in turn saves battery power, and a 3-axis accelerometer, which senses the orientation of the phone and changes the screen accordingly. Photo browsing, web browsing, and music playing support both upright and left or right widescreen orientations, while videos play in only one widescreen orientation.

A single "home" hardware button below the display brings up the main menu. Subselections are made via the touchscreen. The iPhone utilizes a full-paged display, with context-specific submenus at the top and/or bottom of each page, sometimes depending on screen orientation. Detail pages display the equivalent of a "Back" button to go up one menu.

The iPhone has three physical switches on its sides: wake/sleep, volume up/down, and ringer on/off. All other multimedia and phone operations are done via the touch screen.

The iPhone interface enables the user to move the content itself up or down by a touch-drag motion of the finger, much as one would freely slide or flick a playing card across a table with a finger. Similarly, scrolling through a long list in a menu works as if the list is pasted on the outer surface of a wheel: the wheel can be "spun" by sliding a finger over the display from bottom to top (or vice versa). In either case, the object continues to move based on the flicking motion of the finger, slowly decelerating as if affected by friction. In this way, the interface simulates the physics of 3D objects, giving it a real world feel.

The photo album and web page magnifications are examples of multi-touch sensing. It is possible to zoom in and out of web pages and photos by placing two fingers (e.g. thumb and forefinger) on the screen and spreading them farther apart or closer together, as if stretching or squeezing the image. As can be expected from multi-touch sensing, the two fingers don't have to be from the same hand.

Text input

Virtual keyboard on the touchscreen.
Virtual keyboard on the touchscreen.

For text input, the device implements a virtual keyboard on the touchscreen. It has automatic spell checking and correction, predictive word capabilities, and a dynamic dictionary that learns new words. The predictive word capabilities have been integrated with the dynamic virtual keyboard so that users will not have to be extremely accurate when typing—i.e. touching the edges of the desired letter or nearby letters on the keyboard will be predictively corrected when possible. The keys are somewhat larger and spaced further apart when in landscape mode, currently only available using the Safari. Not focusing more on texting has been considered a chief weakness of the iPhone, while at the same time the virtual keyboard is a bold step and a worthwhile risk.

David Pogue of The New York Times and Walt Mossberg of The Wall Street Journal both tested the iPhone for two weeks and found learning to use it initially difficult, although eventually usable. Pogue stated use was "frustrating" at first, but "once you stop stressing about each individual letter and just plow ahead, speed and accuracy pick up considerably." After five days of use, Mossberg "was able to type on it as quickly and accurately as he could on the Palm Treo he has used for years," and considered the keyboard a "nonissue." Both found that the typo-correcting feature of the iPhone was the key to using the virtual keyboard successfully.

Hardware

Rear view
Rear view

According to The Wall Street Journal, the iPhone is manufactured on contract in the Longhua, Shenzhen factory of the Taiwanese company Hon Hai. Conditions for workers at the factory have been a matter of controversy.

Touch screen

The 3.5 in liquid crystal display (320×480 px at 160 ppi) HVGA touch screen topped with optical-quality, scratch-resistant glass is specifically created for use with a finger, or multiple fingers for multi-touch sensing. Because the screen is a capacitive touch screen, no stylus is needed, nor can one be used. Bare skin is a requirement; users wearing gloves would have to remove them to use the touchpad, unless they are wearing electrically conductive gloves.

The user interface also features other visual effects, such as horizontally sliding sub-selections and co-selections from right and left, vertically sliding system menus from the bottom (e.g. favorites, keyboard), and menus and widgets that turn around to allow settings to be configured on their back sides.

Audio

The iPhone's headphones are similar to those of current iPods, but also incorporate a microphone. Calls can be answered and ended by squeezing a bud, toggling the microphone. The 3.5 mm TRS connector for the headphones is located on the top left corner (as seen from front upright). Wireless earpieces that use Bluetooth technology to communicate with the iPhone are sold separately. The headphone socket on the iPhone is recessed into the casing, making it incompatible with some headphones without the use of an adapter.

The loudspeaker is used both for handsfree operations and media playback, but does not support voice recording.

With the iPhone firmware update 1.1.1, released in late September 2007, video can be output from the headset jack using a three-way jack plug. Component video at up to 576i and stereo audio can also be output from the dock connector using the Apple Component AV Cable.

Battery

The iPhone features a built-in rechargeable battery that is not intended to be user-replaceable, similar to existing iPods. If the battery prematurely reaches the end of its life time, the phone can be returned to Apple and replaced for free while still in warranty, one year at purchase and extended to two years with AppleCare. The cost of having Apple provide a new battery and replace it when the iPhone is out of warranty is US$79 and US$6.95 for shipping.

The battery is stated to be capable of providing up to seven hours of video, six hours of web browsing, or eight hours of talk time (depending on configuration). The battery life for music playing is stated to be 24 hours. The battery also allows for up to 250 hours of standby time. Apple's site says that the battery life "is designed to retain up to 80% of its original capacity after 400 full charge and discharge cycles," which turns out to be the same as for the iPod batteries. When the battery reaches only 80% capacity, it would be providing approximately 5.6 hours of video, 4.8 hours of web browsing, 6.4 hours of talk time, or 19.2 hours of music playing, depending on configuration.

The Foundation for Taxpayer and Consumer Rights, a consumer advocate group, has sent a complaint to Apple and AT&T over the fee that consumers have to pay to get the battery replaced. Though the battery replacement service and its pricing was not made known to buyers until the day the product was launched, similar service had been well established for the iPods by Apple and various third party service providers.

The iPhone's SIM card slot having been ejected.
The iPhone's SIM card slot having been ejected.
SIM card

The SIM card is located in a slot at the top of the device, and the device is activated through iTunes. The iPhone does not contain a memory card slot.

The iPhone, like many other phones on contract, are locked to a service provider, such as AT&T, Orange or T-Mobile.

Software

An optimized version of the OS X operating system (without unnecessary components) runs on the iPhone, although differences between the operating system running on Macs and the iPhone have not been officially explained in detail. The iPhone's version of OS X includes the software component "Core Animation" from Mac OS X v10.5 which is responsible for the smooth animations used in its user interface. The operating system takes up considerably less than half a GB of the device's total 8 GB storage. It will be capable of supporting bundled and future applications from Apple.

The iPhone is managed with iTunes version 7.3 or later, which is compatible with Mac OS X version 10.4.10 or later, and 32-bit Windows XP or Vista.

The iPhone's CPU is an ARM-based processor instead of the x86 and PowerPC processors used in Apple's computers. This means applications can not simply be copied from Mac OS X and have to be written and compiled specifically for the iPhone. Additionally, the Safari web browser supports web applications written with AJAX, which, by design, are platform agnostic applications.

Applications

A photo on the iPhone.
A photo on the iPhone.

There are several applications located on the "Home" screen: Text (SMS messaging), Calendar, Photos, Camera, YouTube, Stocks, Maps (Google Maps), Weather, Clock, Calculator, Notes, Settings, and iTunes. Four other applications delineate the iPhone's main purposes: Phone, Mail, Safari, and iPod.

The YouTube application streams videos over Wi-Fi and/or EDGE after encoding them using QuickTime's H.264 codec, to which YouTube has converted about 10,000 videos. They are expected to convert the entire catalog by the third quarter of 2007. As a result, the YouTube application on iPhone can currently only view a certain selection of videos from the site. Also, because YouTube displays videos using Flash, the iPhone can only view videos through the YouTube application as opposed to accessing the YouTube website using Safari.

At WWDC 2007 on June 11, 2007 Apple announced that the iPhone will support third-party "applications" via the Safari web browser that share the look and feel of the iPhone interface. The applications must be created in Ajax or JavaScript to maintain device security. The iPhone cannot officially install full programs from anyone but Apple, although Steve Jobs has hinted that future third-party applications are in development. Dozens of homebrew applications are now available, although they are completely unsupported by Apple. Such applications could be broken by any software update, but Apple will not design software updates specifically to break native applications other than applications that perform SIM unlocking.

On October 17, 2007, Steve Jobs, in an open letter posted to Apple's "Hot News" weblog, announced that a software development kit (SDK) would be made available to third-party developers in February 2008. Due to security concerns and Jobs' praise of Nokia's digital signature system, it is suggested that Apple will adopt a similar method. The SDK will also allow application development for the iPod touch.

Software updates

Apple provides updates to the iPhone's operating system through iTunes, in a similar fashion to the way that iPods are updated, and touts this as an advantage compared to other cell phones. Security patches as well as new and improved features, such as a mobile chat client, Flash support, and voice recording, may be released in this fashion.

The first iPhone software update, 1.0.1, was released on July 31, 2007[71] to patch an exploit, discovered on July 23, 2007. It allowed hackers to take complete control of the iPhone via Wi-Fi connection or by luring a person to a website with that included malicious code. Once the hacker had control of the iPhone they could download the entire content of the iPhone, make phone calls, or turn the phone into a covert listening device.

The first full update, 1.1.1, was released on September 27, 2007. In addition to the iTunes Wi-Fi Music Store, this update also adds home button shortcuts and other features previously released in the iPod touch. The update significantly changed the iPhone's software and improved stability of its applications. Unsurprisingly, such significant changes also made it incompatible with previous unsupported hacks for modifying the system software or installing third party applications.

The updates that have been released are:

1.0.1 - July 31, 2007
1.0.2 - August 21, 2007
  • Fixed Bugs
1.1.1 - September 27, 2007
  • iTunes Wi-Fi Music Store
  • Louder speakerphone and receiver volume
  • Home button double-click shortcut to phone favorites or music controls
  • Spacebar double-tap shortcut to intelligently insert period and space
  • Mail attachments are viewable in portrait and landscape modes
  • Stocks and cities in Stocks and Weather can be reordered
  • Apple Bluetooth Headset battery status in the Status Bar
  • Support for TV out
  • Preferences to turn off EDGE/GPRS when roaming internationally
  • New Passcode lock time intervals
  • Adjustable alert volume
1.1.2 - November 12, 2007
  • Battery charge level shown in iTunes
  • International language & keyboard support
  • Patched the TIFF exploit
  • Adds custom ringtone field
  • Fixed Bugs

Specifications

Size comparison between a first generation iPod nano, the iPhone, and a fourth generation iPod, from top to bottom.
Size comparison between a first generation iPod nano, the iPhone, and a fourth generation iPod, from top to bottom.

The specifications as listed on Apple's website are:

  • Screen size: 8.9 cm (3.5 in)
  • Screen resolution: 320×480 pixels at 160 ppi
  • Input method: Multi-touch screen interface (the "Home" button is the iPhone's only physical front panel button)
  • Operating System: OS X
  • Storage: 8 GB flash memory (originally: 4 or 8 GB choice)
  • Quad band GSM (GSM 850, GSM 900, GSM 1800, GSM 1900)
  • Wi-Fi (802.11g), EDGE and Bluetooth 2.0 with EDR
  • 2 megapixel camera
  • Built-in rechargeable, non-removable battery with up to 8 hours of talk, 6 hours of Internet use, 7 hours of video playback, and up to 24 hours of audio playback, lasting over 250 hours on standby.
  • Size: 115×61×11.6 mm (4.5×2.4×0.46 in)
  • Weight: 135 g (4.8 oz)
  • Digital SAR of 0.974 W/kg

An analysis of the iPhone's firmware has revealed that the main Samsung chip (designated S5L8900) contains an ARM 1176 processor, together with a PowerVR MBX 3D graphics co-processor.

Intellectual property

Apple has filed more than 300 patents related to the technology behind the iPhone.

LG Electronics claimed the iPhone's design was copied from the LG Prada. Woo-Young Kwak, head of LG Mobile Handset R&D Center, said at a press conference, “We consider that Apple copied Prada phone after the design was unveiled when it was presented in the iF Design Award and won the prize in September 2006.”

On September 3, 1993, Infogear filed for the U.S. trademark "I PHONE" and on March 20, 1996 applied for the trademark "IPhone". "I Phone" was registered in March 1998, and "IPhone" was registered in 1999. Since then, the I PHONE mark has been abandoned. Infogear's trademarks cover "communications terminals comprising computer hardware and software providing integrated telephone, data communications and personal computer functions" (1993 filing), and "computer hardware and software for providing integrated telephone communication with computerized global information networks" (1996 filing). Infogear released a telephone with an integrated web browser under the name iPhone in 1998. In 2000, Infogear won an infringement claim against the owners of the iphones.com domain name.In June 2000, Cisco Systems acquired Infogear, including the iPhone trademark. On December 18, 2006 they released a range of re-branded Voice over IP (VoIP) sets under the name iPhone.

In October 2002, Apple applied for the "iPhone" trademark in the United Kingdom, Australia, Singapore, and the European Union. A Canadian application followed in October 2004 and a New Zealand application in September 2006. As of October 2006 only the Singapore and Australian applications had been granted. In September 2006, a company called Ocean Telecom Services applied for an "iPhone" trademark in the United States, United Kingdom and Hong Kong, following a filing in Trinidad and Tobago. As the Ocean Telecom trademark applications use exactly the same wording as Apple's New Zealand application, it is assumed that Ocean Telecom is applying on behalf of Apple. The Canadian application was opposed in August 2005 by a Canadian company called Comwave who themselves applied for the trademark three months later. Comwave have been selling VoIP devices called iPhone since 2004.

Shortly after Steve Jobs' January 9, 2007 announcement that Apple would be selling a product called iPhone in June 2007, Cisco issued a statement that it had been negotiating trademark licensing with Apple and expected Apple to agree to the final documents that had been submitted the night before. On January 10, 2007 Cisco announced it had filed a lawsuit against Apple over the infringement of the trademark iPhone, seeking an injunction in federal court to prohibit Apple from using the name. More recently, Cisco claimed that the trademark lawsuit was a "minor skirmish" that was not about money, but about interoperability.

On February 2, 2007, Apple and Cisco announced that they had agreed to temporarily suspend litigation while they hold settlement talks, and subsequently announced on February 20, 2007 that they had reached an agreement. Both companies will be allowed to use the "iPhone" name in exchange for "exploring interoperability" between their security, consumer, and business communications products.

The iPhone's touch interface has been compared by some media to the HTC Touch, which also features a touchscreen designed for fingers, although it can also be used with a stylus and lacks multi-touch. Another product that has been compared to the iPhone is the MyOrigo MyDevice, which was released in 2003, and like the iPhone, featured a touchscreen and accelerometer.


iPhone's missing features:

  1. Third party support. Apple is making the iPhone a walled garden without allowing third party applications to be installed. Apple claims that it's for security reasons but I think that they'll eventually bow to public pressure and release an SDK and allow certain "blessed" applications in. Besides, there's always the "browser hole."
  2. Browser plug-ins/Flash/Javascript. This is still up in the air, but Apple is staying mum on exactly which plug-ins the "Safari" browser will support. I think that dropping Javascript and/or Flash is a deal-breaker.
  3. Carrier choice. Being locked to Cingular with a 2-year contract is a bit of a bummer. What ever happened to it being carrier-free?
  4. Phone and data price plans. This worries me a lot. I hope that Cingular doesn't take advantage of early adopters with crazy-expensive price plans.
  5. Removable battery. This is a huge potential problem in emergency situations and when traveling. The only upside is that all iPod 30-pin dock connector accessories will work.
  6. 3G. Apple and Cingular opted for EDGE networking in iPhone, which isn't 3G. I've gotten spoiled by Verizon's EVDO speeds, so EDGE is a big step backward. My understanding is that they didn't opt for Cingular's faster HSDPA networking because it would have added too much thickness. iPhone 2 anyone?
  7. iChat. One glaring omission in all the iPhone hoopla was iChat. Steve took the time to demo SMS (which looked like iChat) but where was Apple's venerable chat client?
  8. Front facing camera. Although I don't really care about the 2MP camera on the back of the camera, I was disappointing that there wasn't a camera on the front. It would be perfect for video chatting (see #7), which although limited by the iPhone's lack of 3G (see #6), would work great over WiFi.
  9. Calendar Data input. Just like on the iPod, the calendar is read-only and must be synced from a Mac. iPhone has a keyboard, why doesn't Apple make the calendar accept input? Update: In his NYT blog David Pogue notes: "Calendar program isn’t finished yet, but I did see an "add new event" icon on the placeholder graphic." It appears that Apple is moving toward allowing real data entry into the iPhone (at least in the calendar app.) Let's hope that they do the same thing for both Address Book and iTunes.
  10. Over The Air (OTA) downloads from the iTunes Store. It stands to reason that Apple would want to sell music over the air (why wouldn't they?) but I've heard that it's a contractual limitation. Apple has to amend their agreements with all of the labels to allows for OTA distribution.
  11. Wireless syncing. iPhone can only be synced with a cable and can't be synced via WiFi or Bluetooth. This is unacceptable. iPhone has three radios and should be able to be synced with all three. WiFi and BT minimally, then OTA to Dot-Mac for bonus points.
  12. Office support. The early word is that iPhone won't be able to open Word and Excel documents (although it will be able to open PDF). I hope that this will change and by launch and iPhone will support iWork '07 mobile, which in turn, will open Word and Excel files.
  13. Microsoft Exchange support. This is not a big deal for me, but it will be for enterprise customers. Without it, Apple can't hope to unseat the cult of BlackBerry.


Thursday, December 27, 2007

Howto install Firefox 3 Beta 2 in Ubuntu 7.10

Firefox 3 Beta 2 is a developer preview release of Mozilla’s next generation Firefox browser and is being made available for testing purposes only.

These beta releases are targeted to Web developers and our testing community to gain feedback before advancing to the next stage in the release process. The final version of Firefox 3 will be released when we qualify the product as fully ready for our users.

Firefox 3 Features

Firefox 3 is based on the new Gecko 1.9 Web rendering platform, which has been under development for the past 28 months and includes nearly 2 million lines of code changes, fixing more than 11,000 issues. Gecko 1.9 includes some major re-architecting for performance, stability, correctness, and code simplification and sustainability. Firefox 3 has been built on top of this new platform resulting in a more secure, easier to use, more personal product with a lot under the hood to offer website and Firefox add-on developers.

More Features check here

Installing Firefox3.0 beta2 in ubuntu

Preparing your system

sudo apt-get install libstdc++5

Now you need to take backup of your old firefox prferences

sudo cp -R ~/.mozilla ~/.mozillabackup

Now you need to download firefox 3.0b2 from here

Now you have firefox-3.0b2.tar.bz2 file

Unzip the .tar.bz2 file in /opt directory using the following command

sudo tar -C /opt -jxvf firefox-3.0b2.tar.bz2

Now you need to link the plugins using the following command

cd /opt/firefox/plugins/

sudo ln -s /usr/lib/mozilla-firefox/plugins/* .

Now you need to create a link to your new firefox launcher using the following command

sudo dpkg-divert --divert /usr/bin/firefox.ubuntu --rename /usr/bin/firefox

sudo ln -s /opt/firefox/firefox /usr/bin/firefox

sudo dpkg-divert --divert /usr/bin/mozilla-firefox.ubuntu --rename /usr/bin/mozilla-firefox

sudo ln -s /opt/firefox/firefox /usr/bin/mozilla-firefox

Installation of firefox 3.0b2 is completed.

Thursday, November 22, 2007

Memory test - Firefox 2.0.0.9 vs Firefox 3.0 b 1

Does Firefox 3.0 beta 1 do a better job of handling memory than earlier versions? In a test put Firefox 3.0 beta up against Firefox 2.0.0.9 in a series of tests.

Before I go any further, a few disclaimers and notes. First off, I’ve carried out this test on a single system running Windows Vista Home Premium on which Firefox had not been previously installed. The system has 2GB of RAM. Both Firefox 2.0.0.9 and Firefox 3.0 b 1 were installed fresh using a standard install. For each test I visited the same web pages and did my best to make the browsing the same on both versions.

OK, with that out of the way, on with the tests. I simulated three different browsing scenarios:

  • Loading a five pages into the browser
  • Loading a single page and leaving the browser for 10 minutes
  • Loading 12 pages into the browser and wait 5 minutes

Here are the results:

Firefox 2.0.0.9

  • The memory test - Firefox 2.0.0.9 vs Firefox 3.0 b 1Loading a five pages into the browser - 35,640KB (img)
  • Loading a single page and leaving the browser for 10 minutes - 47,852KB (img)
  • Loading 12 pages into the browser and wait 5 minutes - 103,180KB (img)

Firefox 3.0 b 1

  • Loading a five pages into the browser - 38,644KB (img)
  • Loading a single page and leaving the browser for 10 minutes - 63,764KB (img)
  • Loading 12 pages into the browser and wait 5 minutes - 62,312KB (img)

Check out the complete screenshot gallery.

Just to give us a baseline, I repeated the 12 page test using Internet Explorer 7 and found that the browser used 89,756KB (img), more than Firefox 3.0 beta 1 but substantially less than Firefox 2.0.0.9.

This is interesting. Initially it seemed that Firefox 3.0 beta 1 was consuming more memory than 2.0.0.9, but during the twelve page test I started seeing what I’ve been seeing before - spiraling memory consumption when the browser is under significant load. I’m certain that if the browser had been left open longer, memory usage would have continued to rise. I didn’t see much signs of Firefox 3.0 beta 1 doing this. Certainly based on this test and from using Firefox 3.0 beta 1 today, I do think that things have significantly improved.

Anyone else taken Firefox 3.0 beta 1 for a spin? Any thoughts, feelings or observations?

Sunday, November 4, 2007

Firefox 2.0 and various plugins on Debian Etch

Howto: Install Firefox 2.0 and various plugins on Debian Etch

I don't know if anyone is interested, but I found that Debian Etch comes with Firefox 1.5 rather that Firefox 2.0. There has been some talk about Firefox 2.0 rendering pages faster and generally working better than Firefox 1.5. It took me some time to figure out everything needed to get Firefox 2.0 and various plugins installed and running. Here's how I did it.

Bookmark this page

We are going to need some additional repositories other than the basic ones used by a fresh Debian Etch Install. Start your Root Terminal and give roots password. Gnome users click Applications - Accessories - "Root Terminal". You should now have a nice pretty white window that says Terminal at the top.

I found a very easy to use editor for novices, it has a complete menu of all available options. To install this editor type:

Code:
debian:/# apt-get install ee
now we are going to edit our sources.list

Code:
debian:/# ee /etc/apt/sources.list
The important parts are in bold:

Quote:
#
deb http://ftp.us.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.us.debian.org/debian/ etch main contrib non-free

#
# Debian Multimedia Repositories
#

deb http://www.debian-multimedia.org etch main
Now update apt

Code:
debian:/# apt-get update
Now that our sources.list has the required repos lets start with Firefox 2.0.

Firefox 2.0 depends on libstdc++5

Code:
debian:/# apt-get install libstdc++5

Firefox 2.0 may be available from the debian unstable repo as Iceweasel. However, I elected to go with the official Firefox 2.0. I am in the US and speak English so I use the en-US version of Firefox. Other versions can be found at ftp://ftp.mozilla.org/pub/mozilla.or....0/linux-i686/ pick your locale and substitute into the following code:

Code:
debian:/# cd /tmp
debian:/# wget ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/2.0/linux-i686/en-US/firefox-2.0.tar.gz
Now we need to unpack the archive:

Code:
debian:/# cd /opt
debian:/# tar -zxvf /tmp/firefox-2.0.tar.gz
I have seen some warnings that some Firefox 1.5 plugins (namely totem) are supposed to mess with Firefox 2.0. I have not found this to be the case. I have found that some plugins in the Firefox 1.5 directory are simlinks that break if you just copy the files over to the 2.0 directory. Aside from that, dpkg will still install your plugins to the old 1.5 directory. So let's recycle all those plugins from the previous Firefox 1.5 install. We are going to create a symbolic link from the installed Firefox 1.5 plugins directory to our new Firefox 2.0 plugins directory.

Code:
debian:/# cd /opt/firefox
debian:/# rm -R plugins
debian:/# ln -s /usr/lib/firefox/plugins /opt/firefox
Now we need to tell debian where to find the new Firefox 2.0

Code:
debian:/# ln -sf /opt/firefox/firefox /usr/bin/firefox
debian:/# ln -sf /opt/firefox/firefox /usr/bin/mozilla-firefox
debian:/# ln -sf /opt/firefox/firefox /usr/bin/mozilla
That is all there is to installing Firefox 2.0. You should now be able to click on your Firefox panel icon and find that firefox 2.0 is up and running.

Now let's install some standard plugins.

Sun's Java

Type the following command to install Java from debians contrib repo. You will be asked to accept Sun's license agreement.
Code:
debian:/# apt-get install sun-java5-jre sun-java5-fonts sun-java5-plugin
According to Sun's website (https://jdk-distros.dev.java.net/debian.html) "...you may need to choose the Sun JRE as the default with:"

Code:
debian:/# update-java-alternatives --set java-1.5.0-sun
After the install is done, you will need to restart Firefox and test the plugin here -> http://java.com/en/download/installed.jsp

When I tested mine the plugin didn't work so I created a link from Sun's Java plugin to Firefox's plugin dir.

Code:
debian:/# ln -s /usr/lib/jvm/java-1.5.0-sun/jre/plugin/i386/ns7/libjavaplugin_oji.so /usr/lib/firefox/plugins/libjavaplugin_oji.so
Now restart Firefox and retest here -> http://java.com/en/download/installed.jsp

Adobe's Flash Player 9

Now lets install Flash player 9. This install has been made painless by a package thats available in either the contrib or non-free repos.

Code:
debian:/# apt-get install flashplugin-nonfree
Restart Firefox and test Flash here -> http://www.adobe.com/go/tn_15507 You should see a version number in the 9,0,21,78 range.

Adobe Acrobat Reader

There is an official Adobe Acrobat plugin for firefox in either the Debian contrib or non-free repos. You can install it using:

Code:
debian:/# apt-get install acroread acroread-escript acroread-plugins mozilla-acroread
Restart your browser and test the plugin here -> http://www.opa.ca.gov/help/pdf/testpage.pdf

Mplayer and mp3 stuff

If your like me, you get tired of going to sites and finding out that you can't view or listen to some video or music file because they used a format thats not open source. Debian-multimedia.org has fixed this for us. If you followed this howto exactly the repository is already setup. Simply do the following:

Code:
debian:/# apt-get install mplayer mplayer-skin-blue mozilla-mplayer w32codecs mplayer-doc
Restart Firefox and test the plugin with your favorite multimedia site. If you want to see every plugin you now have available to you then type
Code:
about:plugin
in the Firefox url bar.

Optional Firefox Configuration

I don't like having to manually select urls in the url bar to navigate to a different site. I also like having the tab bar up all the time. I don't like the bookmarks bar up all the time. And all those security warnings talking about entering and leaving encrypted pages really don't make any sense to me. Also, by default Firefox doesn't use http.pipelining. pipelining allows the browser to use more available bandwidth to download pages quicker. If you agree with all of the above then you can fix it by following all of the following instructions:

Bookmarks toolbar

Click View - Toolbars - "Bookmarks Toolbar"

Tab bar

Click Edit - Preferences - Tabs - "Always show the tab bar"

DOM Inspector

I don't know what it does, except slow down Firefox. But there is an addon running by default called DOM Inspector. The Description says that it "Inspects the structure and properties of a window and its contents." You can turn it off by clicking Tools - "Add-ons" under the heading "DOM Inspector" click Disable. Voila, Firefox is now a lot faster (at least on my old eMachine).

Urlbar, pipelining, security warnings

Now we are going to get into the actual Firefox Configuration. In the Firefox url bar type about:config

urlbar

In the Filter bar type urlbar. The second item listed should be browser.urlbar.clickSelectsAll. Under the Value column right click on false then click toggle. The value field should now say true.

pipelining

In the Filter bar type pipelining. The first line will say network.http.pipelining right click on false and click toggle. Now the third line will say network.http.proxy.pipelining right click on false and click toggle.

security warnings
In the Filter bar type security.ui. The only option is security.ui.enable. Right click on true and click toggle.

Restart Firefox for all the new settings to take effect. Now you are rid of all the annoying things that cause people to not use firefox. Hopefully you will get as much enjoyment from all the new features and plugins as I do. Enjoy using Firefox 2.0.