[[start]]
 
If you like my work, please consider donating!

About

Below is some information about Sapphire. If you would like to skip straight to the releases, please scroll down to the next section, or simply use the table of contents.

Background

Sapphire is a new ROM designed currently for the Motorola_DROID. It is the product of a desire to improve upon the many ROMs that are out there, most of which simply pull files from an existing android install, modify the files, and then push them back. Although this works and is great for releasing bleeding edge technology, it often is riddled with bugs and generally unstable. Also, this method of development greatly reduces the amount of amazing features that could be implemented if source were used.

What makes Sapphire Different?

There are many things that set Sapphire aside from the other ROMs that are currently out there.

Completely Built from Source

While most ROMs are not technically development releases but rather hacks and tweaks based on an official (or leaked) update.zip, Sapphire is completely built from AOSP source, with minor additions. What does this mean? This means that Sapphire can support features that require a much lower level of modifications, such as additions to android framework classes and alteration of basic android features.

Does Not Rely on Cyanogen or Koush's Build/Vendor/Device Setup

At the time of Sapphire's conception, every Motorola DROID ROM that was being built from source was based on Cyanogen's Build Setup. The goal of Sapphire-0.1.0 was to create a new build setup, built from the ground up on top of AOSP, which did not rely on any of Cyanogen or Koush's vendor or device setups. This was a fantastic success, and now Sapphire is free to build and grow without the constraints of using another's build, vendor, or device setup.

I want to express that while there is nothing wrong with Cyanogen or Koush's vendor or device setups (and they are actually quite good), using them constitutes simply modifying their ROMs, and not actually building a new one. Sapphire was an attempt to add a third, common vendor setup to the mix, that was original and not wholly based on the other two.

Although I did rebuild the build/vendor/device setup from scratch, I want to point out that Cyanogen and Koush's work was invaluable in determining what needed to be added and what was required to get a build working. A special thanks goes out to them for all of their hard work.

Open-Source Approach to Building

Sapphire is being designed to be as open as possible. The idea for Android was to make an open platform, and that's what I want to keep it. For that reason, much of Sapphire's internals will be described in various documentation sources, for others to follow. The goal is for nobody to ever again have to go through the digging I had to in order to break apart the android build setup. This documentation will be posted by me as well as some others who have helped me along the way. This information can be found on my generic android wiki site: CVPCS Android Wiki

New Approach to Feature Requests and Bug Reports

Sapphire will be maintained using the tried-and-true method of bug reports which has been helping maintain open source projects for years now. The reason I have went with this option is that, although it is something that people may have to get used to, it will help everyone out in the end. Using bug tracking software allows users to easily see if others have had the same problems they have, allow users to see if I have read their bug report and whether I am currently working on fixing it, as well as view any updates. As someone who used to be on the user side instead of the dev side, I know how frustrating it can be to sift through a 100 page MONSTER THREAD on a forum, trying to see if your problem has already been solved. Well no more!

Fewer Changes to Android System Core

Sapphire is built with the following in mind: Don't modify Android if you don't have to. Now what does this mean? It means that before I make a change to the Android system core framework or native libraries, I will first ensure that I have explored my options and guaranteed that such a modification is the only way to implement a feature.

I prefer to add things to android rather than modify it. The main reason for this? It ensures that updating from one release of Android on AOSP to another is relatively seamless, as there are only minor modifications to the actual code being pulled from AOSP. What does this mean to you? It means that updates to Sapphire will be released faster.

Releases

Below you will find any and all releases that have been made regarding Sapphire. To view the CHANGELOG, download the update.zip, or read general information about the ROM itself, click on the links for the various releases.

IRC Channel

Sapphire now has its very own IRC channel on Freenode!

Stop in some time and say hi, ask for help, or just generally hang out!

Connection Info
Server irc.freenode.net
Port 6667
Channel #cvpcs

Documentation

Below you will find any and all documentation related to the various releases of Sapphire. These will be updated when time is permitting.

I will NOT be documenting things that I find too generic, as I simply do not have the time (i.e. how to use android). The below documentation will be essentially a user guide for how to make use of the various features that are added to Sapphire.

Bugs / Feature Requests

If you notice any bugs and/or would like to request a feature to be added to Sapphire, please report them to my dedicated bugzilla bug tracker, the link to which is provided below.

Although I do post Sapphire on some forums, I do not guarantee support on them. It is physically impossible for me (at this time) to guarantee that I can monitor all of the threads that may appear regarding Sapphire. For that reason, I have created the bug tracker below. If you find a bug and want to guarantee that I will see it and work on it, as well as give you feedback, enter it into bugzilla!

You wil be required to sign up for an account to use the bug tracker, but fear not, you only need to give an email and confirm it. This is needed so that bugs can be assigned to their issuers, as well as so that you may be notified when a bug is fixed or has its status updated (all around a good thing).

CVPCS Sapphire Bugzilla Bug Tracker

Special Thanks

Below are some special thanks I want to give to some of the many people who helped me on this project:

  • Todd (sniffle): for helping me from the beginning to present on this project, and never tiring of my constant talk over it
  • Evan (mayh3m): for helping me test EVERYTHING about my ROM, and the continual data/system wipes he no doubt had to endure
  • Corey (synik4l): for supporting me in this project as well as getting me in touch with many of the android developers
  • Pete (pete): for answering some of my questions and putting me in touch with several people
  • Koush: for his willingness to help me with bug fixes, as well as for all of the wonderful work he's done
  • Cyanogen: for all of his hard work that served as a guide to help me figure out the android build process
 
start.txt · Last modified: 2010/09/02 15:52 by Austen Dicken
 
Except where otherwise noted, content on this wiki is licensed under the following license:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki