Nov.22, 2011
Continuing my foray into CSS extension tools, I decided to look into LESS, since there was a StackOverflow post that claimed more people used LESS than SASS. That probably means that most people just include the less.js in their HTML pages and off they go. But woe betide you, if you decide you should run the compiler on your local machine to generate regular CSS! lesscss.org describes how to run it on a server, but I couldn’t figure out how to get the lessc executable easily, so I had to install node and npm to get the executable.
It was a lot more difficult to get a compiler going in Windows, and I’m not sure if my roundabout way of doing it is ideal.
The following needs to be installed:
- Git (I just used the mysysGit that was somewhere in the plugins directory of Aptana3, which requires git to be included when installed)
- Node
- npm
- After the first two are installed, make sure to add the bin directories to the PATH environment variable of your system.
- Make sure you run the following git commands in the directory where you want npm to be installed (inside the node directory). Reference
git config --system http.sslcainfo /bin/curl-ca-bundle.crt git clone --recursive git://github.com/isaacs/npm.git cd npm node cli.js install npm -gf
- $ npm install less
- Find lessc.exe and you can now compile .less files into regular .css via command line as described on lesscss.org
$lessc styles.less
This works:C:\node\node_modules\less\bin>node lessc test.less
Nov.03, 2011
After reading the SASS CSS homepage, and then the following:
I simply could not understand how to install SASS. Surely there was more to it than:
- installing Ruby with the Windows installer
- running the commands posted on the above sites (eg. “gem install sass”)
Like, wasn’t there a step missing in there somewhere about downloading SASS/Rails/HAML before running those commands??
Apparently not.

I was so floored. There’s some magic happening there. I’ve not been so impressed with a language intepreter/compiler install since WampServer…
:O
Oct.26, 2011
Android and Monetization: Allen Lau, Wattpad
iTunes app store = 66% paid apps
Anroid market = 66% free apps, far more difficult to make money through monetizing on Android due to billing issues (more cumbersome than one-click iTunes purchase).
Better to provide free app in marketplace, and charge for premium features, through in-app sales, rather than having both free and non-free app which will split ranking across multiple apps in marketplace.
strategy is to get users hooked first with free app, then make them “pay for their addiction”
Tackling the Challenge of App Discovery: Gary Yentin
319,000+ apps in Android marketplace
450,000+ apps in iPhone app store
- Bloggers are your friends
- Try UK market
- Xmas season starts Nov. 1st. Get the marketing out there early
- Target user group with mobile advertising (time of day/week)
- app store description is usually the first p.o.c. and very important.
Oct.26, 2011
Incorporate Catalyst in Android Apps: Vishal Arora, Rogers
Leveraging Roger’s Wireless cloud services. eg. Enable one-click purchasing.
Client – Rogers Network – Server
CTN = Customer Telephon Number
Catalyst: Location, Billing, SMS APIs; making capabilities available to your apps
Free to dev. but Pay-per-use of transaction model
Location API Find the Location of ANY Rogers Phone Number (Roger’s takes care of Customer’s Privacy) Can use instead of GPS location. More feature rich than just Google location API.
Android and the Azure Cloud: Atley Hunter, Microsoft
Why Phone + Cloud?
Cross device.
Platform as a service. Dont have to worry about scalability, O/S patching.
Hosting payment: Utility billing = scales to usage.
Identity
custom, 3rd party one-login
Storage
SQL Azure, relational DB managed as a service
Windows Azure Tables, non-relational, massive scale-out
Windows Azure Blobs
Services
Web Role – IIS
WorkerRole – background process
Windows Azure Toolkit for Android http://bit.ly/qG5twZ
Android Tips and Tricks: Joe Lallouz, Hashable
Hashable: Lightweight CRM, save & remember people who you meet.
Naming conventions. No nested directories in res folder ![]()
make resources easier to find. eg. icon_<image name>
Design for:
Screen Densities & multiple sizes
Orientation switching
Touch Input
Dashboard style navigation
Action Bar Design Pattern
back button (people don’t know to press the softkey on the phone?)
refresh buttons
overflow button (people don’t know to press the softkey on the phone?)
ViewPager
swiping
Honeycomb forward -> ViewPropertyAnimator
animation. think jQuery animtations
Intents
Register intent filters in the manifest!
To open your app natively to bring people into your app more often.
ContentProviders
Sharing data outside your application
Create maintainable api for other apps
Use managed cursor loaders
Fragments
Reporting with Flurry, Acra
automatic error reporting
Use SDK Tools: logcat, layoutopt, hierarchyviewer, Monkey, Strict Mode
Design for offline
Leave the UI thread alone
Beta test on the market
Register company package – put it up on marketplace to hold the name
* Always assume your task can be interrupted
* Battery life
Watch the Google I/O videos
Drag down to refresh = Custom components, google it on github
Oct.26, 2011
Mobile versus Native: Chris Saunders, Shopify
+ Offline storage
Cache Manifest:
state files needed to cache to be available when no internet connection.
Can trick the browser into downloading new version of manifest version
<html manifest=”"> attribute
Use JS to detect when manifest has changed
Twitter web app sticky menu bar done through javascript.
+ 37 signals web app
Example:
Tools
Batman.js MVC framework (written in CoffeeScript compiles into JS…)
+ rendering HTML adds additional attributes to DOM
Skeleton CSS: 960 grid, responsive design for multiple resolutions
View = HTML
Flex Framework Development: Matthew Fabb, StickerYou
(PhoneGap acq.) can now compile SWFs to run on all mobile platforms.
Apple iOS can run AIR applications.
Android both Flash & AIR; Chrome OS & Google TV support Flash only.
Future: BBX supports both, Windows Phone ?
Air 3 -> Air Native Extensions (ANE) = Native code can be combined with an AIR app
AIR app to access any API
=> ANE file is compiled separate then compiled into AIR app
ANE can be bundled into hardware
Flash Builder 4.6 will have built in ANE support
Captive Runtime = AIR runtime can be packaged inside of an AIR app. Android doesn’t have to download runtime separately.
Building for Air 3.01 will be integrated in FB 4.6.
Future of AIR
Photoshop Touch built in AIR
Flex (= open source framework for creating Flash applications)
CSS: can have dpi/OS specific styling/skinning
FB: design view for multiple devices
:debug on device through USB
NFC: Tapping Into The Future: Matthew Patience / Greg Carron (MobiCartel)
@pixeladdikt @MatthewPatience
NFC = Near Field Communication; proximity communication with the chip in your phone
tap/swipe NFC sticker
Current examples: Visa payWave, MasterCard paypass
Android 4.0 – APIs for NFC slowly integrated over time through the Android versions. First in 2.3
Android Beam application that does NDEF push.
NXP = hardware manufacturer for chips. used to be in feature phones (Japan)
Expected by 2015(?) 40% of all handsets will have NFC. Phone Manufacturers are pushing it out.
ISIS: loyalty programs, coupons
Google Wallet = App, put your CC’s in your device and choose your payment method
Google Offers = push discounts to your phone and use with Google Wallet
PayPal = touch phones to transfer money
Other Examples:
Grocery stores, text to speech
Transit systems
Medical history
Not only for mobile payments:
access control
accessory pairing = connecting two devices quickly/easily (eg. instead of bluetooth)
media sharing, smart posters
ordering systems, menus in restaurants
Adobe Air3 ANE plugins for NFC development
Open Accessory Developer Kit IOIO using Arduino
Q&A:
NFC standards are still being forged
How much content can you have in a tag? kbs, can write xml to it
Can buy tags online/customize them. NXP Tag Writer can erase/write to each tag.
Tags can have specific URI to open a specific app.
Recent Comments