|
About Andrew Choi
MIDI Programs
MIDI File Player (External Device)
MIDI Destination Pop-Up Button
MIDI File Player (Internal Synth)
MusicSequence Sample Code
MIDI File Writer
MIDI Name Document Parser
NameConfigSetup
Fish Creek MIDI Framework
MidnamUtility
SysExSenderX
Other Programs
FCBlogEditor
FCBlog and Patch
Chinese Checkers Program
jyut6 ping3 Cantonese Input Method
Cocoa Sample Programs
Syntax Coloring Using Flex
NSTextField and Undo
NSToolbar
Implementing File Import
Launch Application and Open URL
Saving Uncommitted Text Field Edits
Algorithms
Jazz Chord Analysis as Optimization
Optimal Line Breaking for Music
Optimal Chord Spacing
|
|
|
|
A blog where I will write mostly about programming in Cocoa and CoreMIDI, and experiences from my ports of Emacs and XEmacs to the Mac OS.
|
A Borderless Splash Screen that Fades Out
|
Friday November 19, 2004
I think a splash screen should be as unintrusive as possible. So I modified yesterdays splash screen demo to fade out the splash screen panel before it disappears from the screen. The result is a nice soft screen effect. The implementation makes use of the Cocoas ability to set the alpha value for windows. The rest of it is just programming a timer correctly.
The demo also shows how to use a borderless window (panel actually). This is quite easily achieved by subclassing. The interface builder actually handles NSWindow and NSPanel subclasses correctly by allowing views to be placed into them.
|
Nag Screen With Count Down
|
Thursday November 18, 2004
I wrote some code to display a nag screen. When an unregistered application is launched, a window is displayed to remind the user to register. It also inconveniences the user a little by enabling the button to dismiss it only after a short delay.
To provide feedback that something is going on, a message counting down the time is displayed above the disabled Continue button. When the count-down ends, the button can be clicked.
My demo program also shows how to display a splash screen. This is useful for displaying the user name for a registered copy of the application to discourage people from giving away their registration codes.
The splash screen is non-modal and floats above all other windows. It closes automatically after a predetermined amount of time.
Tuesday November 16, 2004
Im back to evaluating e-Commerce service providers. I read eSellerates Users Guide and played around with the ProjectBuilder/Objective-C sample application in their Mac SDK. I was also given a preview account by a very helpful eSellerate account executive (thanks Dan!) so I was able to run through their sites Getting Started Wizard to get an idea of how things are set up using their web interface and go through a few trial (mock) purchases. Heres a summary of my impression of eSellerate.
- eSellerate is highly recommended by shareware authors on mailing lists (see this search result at the Cocoabuilder archive, for example). People like them for their quick response, technical and customer support, different ways to access the store, ready-made license-key scheme, among other things.
- You can it set up so that the user can buy your application at the time it is installed, from within the application when its running, or at a web store. All these are supported by the various parts of the SDK.
- Their SDK and servers are also set up to support product activation. This allows the application to challenge the user to authenticate after it has been registered.
- Their SDK and servers also support checks for updated versions which can then be automatically fetched.
- The libraries in their SDK contain routines to support product activation, updates, various ways to buy the application, and of course to validate serial numbers. Understandably the source code isnt included. Nor is the serial number scheme explained. If ones main objective is to get products out to market without worrying too much about how copy protection mechanisms should work, and those offered by eSellerate fit ones requirements, eSellerate is a good way to go.
- Although they can be called from Cocoa, the integrated purchase routines use GUIs with a Carbon look and feel. These look out of place in a Cocoa application. (Though Ill only be using the web store.)
- eSellerates commission is slightly higher than Kagis at certain sales volumes.
As for me I dislike the idea of using a license-key scheme which I have no control over, especially when its also used by many other shareware applications. I also dont think product activation and updates are necessary for me for the time being (and in any case, as with license key scheme, I wont tie them to a certain e-Commerce service provider). I do consider so many shareware authors good recommendation of eSellerate an important factor. I was told that it is possible to use my own custom serial number type option. So basically I can use only their payment system but not any of their code, sort of what I was planning to do with any e-Commerce service provider anyway. Let me explore a little further and report back.
|
Search this blog with
Lists
Less-Known Facts About Emacs
Emacs Rants
Chinese Restaurants in Calgary
Calgary/Banff Tourist Attractions
C++ Reading List
Science Fiction Series
Top-10 Reason I Stopped Working on Emacs
Top-10 Types of Questions I Get About Emacs
10 Defining Moments as Programmer
Misc
Carbon XEmacs
Emacs for
Mac OS X
|