Creating Third Party Extensions for Developer Tools

by Arnaud on November 2, 2012 Comments Off on Creating Third Party Extensions for Developer Tools

by Monte Goulding 

Monte Goulding lives on a small farm in Tasmania, Australia where he built a straw bale house. When not working at M E R Goulding – Software development he enjoys spending time with the family, pretending to be a farmer, mountain bike riding, diving for and eating abalone.

_____________________________________________________________________________________________

Developing third-party extensions for a developer tool is a challenging business to run.  The market is an unknown size and only a small percentage are involved in mailing lists and user groups so it’s very difficult to make people aware of what you provide.

However, I’ve long believed that a proliferation of third party extensions can make a platform like LiveCode shine.  It can also be very fulfilling because you are creating tools used by people in a community you are involved in.  Your code is used in a wide array of apps all over the world and it’s really great when you find out what someone has achieved with it.

The flip side of that is developers rightly expect responsive support and well maintained extensions.  It’s difficult to strike the right balance between sharing with your community and the business aspects of doing so and I know of many great potential extensions that aren’t shared as a result.  

The business model for mergExt has evolved over the past year in an effort to find the right balance.  Product development is usually 50-70% funded by the community that need an external or feature developed so they can implement their app.  The rest of the funding (including for support and long term maintenance) comes from product sales. The whole concept is to create a win-win-win situation for the community and platform, the client that needs the feature implemented and my business.

Other times product development happens because I identify a great feature that I think users will love and I get a strong urge to spend a rainy weekend implementing it and sharing it with my fellow LiveCoders.

With roughly a billion users worldwide Facebook has become one of the most important marketing tools ever.  When iOS 6 by Apple was announced, I asked the community which features they would most like to see developed into an external.  Facebook lead the poll by a long way.  When I got my hands on a beta version I could see why.  Both the Social framework and the UIActivityViewController made sharing content on social networks a breeze.  

The next rainy weekend I targeted the UIActivityViewController which has great bang for buck in terms of what you get for the amount of code you need to write.  As with everything else in LiveCode it had to be done in a way that made it super easy to use.  I added it to my mergPop external with the mergPopActivity command.  With a single command LiveCode iOS apps could now share data to Facebook, Twitter, Messages, Mail and more. A simple script like this:

on touchEnd
mergPopActivity “This is the best app ever”,,appStoreURL
end touchEnd

Presents this to the user:

Creating-Third-Party-Extensions-for-Developer-Tools-1

From there the user can choose whichever service they want to use to share your message. The addition to mergPop (one of my most popular releases) was very well received, however, it wasn’t long before Jaime Stuart from EuroTalk asked to be able to post to Facebook without going via mergPopActivity. He wanted to have a facebook button rather than a share button.  I had already looked at the Social framework but at the time I was in the midst of resolving some lingering issues resulting from the changes to iOS externals required by LiveCode 5.5.2.  

Once resolved I set to work implementing mergSocial as a natural successor to the existing mergTweet external that was based on the iOS 5 Twitter framework.  Once again it had to be super easy to use so even someone using LiveCode for the first time could see it’s easy to share on social networks. I ended up implementing one function to check if a service is available and another to present the dialog for the user to send a post.  It’s so simple to post to Facebook Objective-C coders will get jealous:

on touchEnd
mergSocial “facebook”,“Hello mergExt!”,picOfMyLittleGirl,”http://mergext.com”
end touchEnd

Presents this to the user:

 Creating-Third-Party-Extensions-for-Developer-Tools-2

From there the user can cancel, edit the message and post.  

For more information, visit http://goulding.ws/ or http://www.facebook.com/mergoulding

read more
ArnaudCreating Third Party Extensions for Developer Tools

Robotics, Research and Apps: Reporting from FIRST LEGO League

by Arnaud on October 19, 2012 Comments Off on Robotics, Research and Apps: Reporting from FIRST LEGO League

 

by Jarren Harkema

Jarren Harkema is a home-schooled high school student who won his LiveCode license by entering a coding competition with RunRev. He is now sharing his passion for coding with his peers by mentoring The Sharks, a home-schooled FIRST LEGO League Team from Michigan.

—————-

I’m standing by a 4×8 foot table made of 2x4s and plywood.  On the table is a colorful mat with lines, patterns, and a home base.  Strewn about the mat is a wide variety of LEGO models.  Bowling pins are set up in one corner, stair steps leading up to a rocking platform sits in the middle.  A LEGO stove sits to one side, burners showing on. 

These models, along with ten others, are being scrutinized and discussed by 8 middle school students.  “Well, we could put the blue quilts out on their mark first, then complete similarity, then send the dog back to base.”  Says one team member.  “Yea!  Then we could grab the broken chair on the way back!”  Says another.  What are these kids discussing, and why am I watching?  They are The Sharks, a homeschooled FIRST LEGO League Team from Michigan,and I am their mentor.

FIRST-LEGO-Group

Front to back, left to right: Trey, Cole, Brennan, Jamin, Abby, Ryan, Ashly, Alex

FIRST stands for “For Inspiration and Recognition of Science and Technology” and was founded by Segway inventor Dean Kamen.  FIRST LEGO League (aka FLL) is a science and technology competition for elementary and middle school students ranging from 9-14 years old.  Last year alone there were over 18,000 teams from all over the world.  During that year, The Sharks were honored to win the Michigan state competition, and asked to represent Michigan at the world championship in St. Louis, MO.  Only 80 teams out of that 18,000 were invited.

FLL is comprised of 3 sections, the Robot Game, the Research Project, and Core Values, also known as teamwork.  Each year there is a theme that encompasses the research project and robot game.  Themes have ranged from how to conserve energy, to making transportation safer and easier, to keeping food safe from contamination.  This year’s theme is all about making the lives of seniors better.  Teams are challenged to build and program a robot out of LEGO to complete challenges on a table to earn points.  Each challenge relates to senior living/challenges, such as physical therapy, or needing the use of a service dog.  Teams have from the beginning of September, to the middle of November to build and program their robot to complete as many missions as possible. 

So far, The Sharks have achieved 235 of a possible 723.  This year The Sharks have also implemented LiveCode.  We have created a scoring app which allows teams to quickly time, score, save, and share their robot score!  Due to the speedy nature of LiveCode, we were able to get the app up and running within 3 days of the challenge announcement.  We are using this as a fundraiser to pay for tournament fees and the like.

However, the robot game is only a third of challenge.  Another part of the challenge involves a research project.  The goal for this year is to find a problem seniors face today, and come up with an innovative solution.  Each team must find a “senior partner” who will help them learn more about senior life, and problems they have.  Once they narrow their problem down, teams must find an expert in the field who is currently working on the problem.  The teams will then take this information, formulate their own innovative solution, and present it to those who it would benefit. Currently The Sharks have found that falling is a big problem, and are going to research preventative solutions.

The last third of the challenge is Core Values.  On the FLL website, The FLL Core Values are described as “The cornerstones of the FLL program.  They are among the fundamental elements that distinguish FLL from other programs of its kind.  By embracing the Core Values, participants learn that friendly competition and mutual gain are not separate goals, and that helping one another is the foundation of teamwork.”  The teams learn that teamwork is what holds the other two parts of the challenge together.

FIRST-LEGO-Group-Work

The Sharks and Jarren in the black “innovate, don’t imitated” shirt.


FIRST
 LEGO League
is a big commitment, but has huge rewards.  Students will gain knowledge and experience in science, technology, communications, research, and presentation.  FLL not only gets kids excited about science and technology, but provides the life skills essential for making the world a better place.

If you would like to learn more about The Sharks, or FIRST in general, visit www.paradiseteams.org, or www.firstlegoleague.org.  To check out our app, go to http://itunes.com/apps/fllseniorsolutionsscorekeeper.

 

 

read more
ArnaudRobotics, Research and Apps: Reporting from FIRST LEGO League

App Developers and Developer Tools: Tell Us What You Use

by Arnaud on October 11, 2012 Comments Off on App Developers and Developer Tools: Tell Us What You Use

Market trends are vitally important for app developers, and for companies like RunRev that provide developer tools for app developers to use.  We need to provide the right tools for you to use today, tomorrow, next week and next year.  Since it takes time to update software, provide new features or support new platforms, we need some kind of crystal ball that will help us predict the future, stay ahead of the curve and anticipate what you are going to want in a few months’ time.

We call this crystal ball “market surveys”.  They may be an annoying interruption to your day, or you may greet them eagerly as a way to express your views and expectations, but either way, if you’re an app developer it’s well worth taking a few minutes to fill them out.  Like voting, this is your chance to make your voice heard, and influence the providers of important aspects of your life – namely the creators of the developer tools you use every day.

Vision Mobile Banner resized 600Because we believe this is important, we are again sponsoring the latest survey launched by Vision Mobile, Developer Economics 2013.

Developer Economics 2013 focuses on the best practices for the tools, services and APIs that app developers use to build, market and monetize their apps. Take the survey, have your say on your favourite tools and win prizes, including an iPhone 5 and a Samsung Galaxy SIII.  The survey will soon be available in Chinese, Russian, German, French, Spanish and Korean.

 

A service economy develops around app ecosystems

The mobile development landscape has undergone a massive transformation since the early days of the iOS and Android platforms.  In the early stages developers faced a limited supply of tools and services to assist them with crossing platforms, beautifying the UI, bridging fragmentation, integrating with ad networks or analysing user behaviour.  They had to create most of the building blocks from scratch using their own means.

As mobile application development continues its growth from 100,000s to millions of apps, the rush for gold has sparked a rush for spades.  Across the developer journey, there is now a tool for (almost) every developer need, from app testing to ratings management.  The app economy is evolving towards a service economy where app developers can pick from a range of developer tools and services to assist them along the plan – develop – market journey.  But best practices are yet far from clear.

Third-party developer services, ranging from user analytics, location APIs, bug-tracking tools, app-store optimisation services, and cross-promotion networks are, today, vying for mindshare among app developers.  Developer Economics 2013 aims to identify the most popular developer services among these and measure their Developer Mindshare.  Furthermore this survey aims to understand the reasons developers choose the services they do and how they rate them across a range of key performance indicators (KPIs), such as reliability, availability across platforms and ease of integration within an app.

 

Which tool should you use and which one should you trust?

These sectors are becoming increasingly crowded with new entrants while merger and acquisition activity is changing the landscape almost on a monthly basis.  The tools and services benchmarked in this survey are becoming the building blocks of modern apps and Developer Economics 2013 aims to establish best practices for the key developer tools sectors across the developer journey.

Developers are often at a loss when it comes to selecting the right tool or partner among the hundreds of services available to them.  Cost is just one variable in the selection process but quite often, it is not the most crucial.  The reliability of a service, the regional reach, key metrics (such as eCPM or fill rates), as well as the flexibility to adapt to the developer’s needs are sometimes more important than cost, particularly when developers invest time, money and resources to integrate a third-party service with their apps.

Developer Economics 2013 aims to assist app developers with the selection process by benchmarking a number of third-party tools and services across a range of KPIs.

As a developer tools vendor, RunRev is keenly interested in this research.  The results of this study and others like it will feed into future decisions about the direction we should take with LiveCode.

If you are a developer your input into this research is very valuable to us and we’d like to invite you to take the survey.

read more
ArnaudApp Developers and Developer Tools: Tell Us What You Use

Six Reasons Why Computer Science Education is Failing Students

by Arnaud on October 10, 2012 Comments Off on Six Reasons Why Computer Science Education is Failing Students

Six Reasons Why Computer Science Education is Failing StudentsComputer science education is under threat. Secondary school computer science courses in the USA have decreased in number by 17% since 2005, with advanced placement courses decreasing by a massive 33%. Here in Scotland it is a similar story. 8% of schools no longer have dedicated computing teachers, there is just one teacher training college available and those teachers that leave are often not being replaced. Computing is the only STEM subject (science, technology, engineering and mathematics) that has seen a decline in student numbers over the past 20 years.

This might all make perfect sense if the tech sector was doing badly. But computers, smartphones and tablets are not exactly on their way out. The industry is thriving. It is the shining light in an otherwise challenging economy. In almost every field of endeavor, from healthcare to aerospace to finance, computers play a pivotal role. And it is set to continue shining: the sector is projected to grow faster than all but five industries by 2020. It has the highest average salary of any growing industry. In the USA we will add 800,000 new tech sector jobs by 2018, a growth rate of 21% which is more than double that of all occupations in the USA. The mobile apps market is due to grow to $101 billon USD by 2017.

Decline in Computer Science Uptake

Here at RunRev we work with teachers from around the globe to help them teach computer science effectively.  I’ve spoken to dozens of teachers over the past few weeks alone.  And I personally started this business after having the right inspiration in high school, something that included exposure to a wide range of tools, teaching and opportunities.  So I know from personal experience what the potential upside can be when we do get this right.  And how important it is that we do.

Here are 6 reasons I think computer science education is failing our students:

1. Parents don’t value the subject.

There is a widespread misperception that computer science education is about learning how to use a computer.  Today’s generation of students has of course learned how to use a computer, smartphone or tablet from a very young age.  By the time they get to school they are often more fluent in using technology than their parents.  With this perception of the subject, it’s hardly surprising then that some parents don’t push their children to take computer studies.  But of course good computer science education should be about understanding how computers work, how to create software and how to apply critical thinking skills in the context of technology.  Using Facebook is not the same as creating a new social network, any more than learning how to turn the microwave on is the same as understanding how to construct a meal from scratch.  Going below the surface is what education is all about.

2. Head teachers don’t promote the subject.

Head teachers often misunderstand the value of computing.  They have a similar perception as parents, that the subject is about teaching students how to use a computer.  Given that this is not a popular subject, they prioritize resources for those subjects that are more popular.  Computing gets squeezed from the schedules.  It often has significantly less time allocated to it than other sciences (“pure” science courses get 4x as much time in many schools here in Scotland).  It also gets squeezed when it comes to ensuring there are sufficiently flexible IT arrangements to allow the subject to be taught correctly.  In one school I spoke to, the computing infrastructure is locked down so that teachers are unable to install their own software, yet installing software is an actual part of the curriculum.

Six Reasons Why Computer Science Education is Failing Students 3a

3. There is a lack of investment.

Unlike subjects like maths, the tech industry moves fast and in order to keep teaching relevant, departments need to move with the times.  That means upgrading computers and software on a regular basis.  It also extends to training (CPD).  Some of the teachers I spoke to here in Scotland told me they have had only one day of CPD since 2004.  Computing departments struggle to get access to enough machines to teach with, let alone the latest kit.  Some departments have a total budget per year of £300 ($500).  That’s barely enough for photocopying,
let alone any relevant new technology.

4. Teachers lack the skills to create exciting courses.

The natural consequence of not investing in training is that teachers know little about programming.  Yet they are being asked to teach programming.  This can result in worksheet teaching: dry, boring and inflexible lessons.  Worksheets may not get updated very often and often teach using a tool that is 10 or even 20 years out of date.  They lack the skills and therefore the confidence to update their lessons or go beyond the worksheet.  Even if they do get updated, it is unlikely they teach programming for the devices that are so relevant to today’s generation: tablets and smartphones.  This all adds up to teaching that is not engaging and simply results in students dropping the subject.

5. It’s a victim of its own success.

The difference in average salary between a computing teacher and a computer programmer working in industry is substantial.  A computing teacher gets just over half as much on average.  So teaching salaries are in competition with those available for working directly in industry.  Of course this gap isn’t unique to computing, but the software industry is perhaps more accessible for those that want to make that leap and has such a demand for jobs that it is easier to jump ship in this industry than in some others.  Strong investment in teaching and training would go a long way to making the profession more attractive.

Six Reasons Why Computer Science Education is Failing Students 46. Poor tools get chosen.

Up to about age 13 there are some excellent tools in widespread use, most notable among them being the free and popular Scratch from MIT and MIT App Investor  However students outgrow Scratch by around age 13 and schools often don’t make a good choice of language for the next phase in a child’s education.  Many traditional programing languages such as JavaScript or C++ are completely inappropriate for this age group.  Students struggle to understand what they are learning and often spend their lessons searching for a missing symbol.  The current generation of students use smartphones and so selecting a tool that allows them to create their own apps is another great opportunity to make learning directly relevant to them.  Our own LiveCode platform provides a handy solution to these issues by allowing students to create their own mobile apps using a programming language that is close to English.

I firmly believe that a strengthening computer science education program has to be one of the most obvious and cost effective things we can do to ensure future economic prosperity.  Israel has the highest rate of startup per capita anywhere and that in part stems from its strong computer science education program.  Estonia, another country with both a strong tech sector and economy, recently announced a plan to expand teaching of computer science to all primary school children.  Do we want to be left in the dust by these countries, or left unable to compete with the growing economies of India and China?  What is it going to take to get computer science education moved up the agenda in the USA and here in the UK?

Here in Scotland we have a new curriculum coming in, the Curriculum for Excellence (CfE).  This represents a big opportunity to teach computing in a new and exciting way.  Unfortunately the feedback I’ve received from teachers so far has been that it is being rushed in, with the minimum of resources and a great deal of confusion as to what exactly is going to be required.  In England and Wales, the education secretary has torn up the curriculum and so teachers who have never taught programming before are now being asked to teach it.  This represents both opportunity and the risk that we will get more of the same.  In the USA initiatives such as Computing in the Core and Girls who Code are both working to promote better computer science education.  Let’s all work together to ensure that history does not repeat itself and that we create the outstanding computer science education programs our students deserve.

I’d welcome your comments on how we can improve computer science education.  Thanks for reading.  Stay tuned for more on this subject soon.

RunRev are the makers of the LiveCode platform. LiveCode doubles engagement and uptake of computer science courses in those schools that have adopted it.

read more
ArnaudSix Reasons Why Computer Science Education is Failing Students

LiveCode 5.5

by Ben Beaumont on March 23, 2012 No comments

This version brings you the all new field, with it’s exciting new text handling abilities and Unicode improvements, and no less than 15 new features on Android, and 8 for iOS, largely bringing these two platforms into line with each other.

To help you get to grips with the new features, we’ve created a series of new lessons. Take a look at how to style paragraphs, using the “flagged” property, displaying a table, or hierarchical list support.

For mobile there is a lesson on using custom URL schemes, and you can check out local notifications in this newsletter.

For a detailed discussion of the new Field features, please see this newsletter article.

Text Messaging for iOS and Android
Text messaging has been a much requested feature we’ve now added for you. Here’s how it works:

Use the command mobileComposeTextMessage to launch the default text messaging app.

mobileComposeTextMessage recipients, [body]

The recipients is a comma separated list of phone numbers you want the message to be sent to. The optional body is the content of the message you wish to be sent. Note that once you’ve called the mobileComposeTextMessage command you have no more control over what the user does with the message – they are free to modify it and the addresses as they see fit.

Upon completion of a compose request, the result is set to one of the following:

  • sent – the text was sent successfully
  • cancel – the text was not sent, and the user elected not to save it for later
  • failed – the text could not be sent
  • false – the device does not have text messaging functionality

You can determine if the device has the text messaging client configured using the function
mobileCanComposeTextMessage(). This returns true if the client is configured.

Mobile Features Added
New features on both iOS and Android include:

  • Rotation sensor
  • Local notifications
  • Custom URL schemes
  • Text messaging
  • Vibration
  • Busy indicators

Features new to Android that iOS already supports include:

  • Native browser control
  • Modal pick wheel support
  • Date picker support
  • GPS
  • Compass
  • Multi-channel sound
  • Beep
  • Custom fonts
  • Idle Timer configuration
  • Localisation calls

Important: The file format in this release has changed to allow us to better support the new field and unicode features. This means that if you wish to retain compatiblity with older versions of LiveCode, you must save your projects by choosing “Save As… legacy format” in the File/save menu.

read more
Ben BeaumontLiveCode 5.5